Удаление / переименование сетевого сетевого порта в OS X / Darwin

Это проблема, которая до сих пор никому в Apple.SE не помогла мне, поэтому я просто собираюсь рассказать об этом в другой форме. (Надеюсь, я использую правильный сайт SE … или это лучше в SuperUser? Или в StackOverflow? Множество сайтов SE меня путают.)

Короче говоря, проблема состоит в том, что устройство дважды отображается с тем же именем аппаратного порта, что вызывает множество проблем, поскольку утилит конфигурации OS X (как системные настройки GUI, так и средства командной строки для networksetup инструмента) полагаются на метод SCNetworkInterfaceRef _SCNetworkInterfaceCreateWithEntity который пытается получить интерфейс по его имени, но дает поручения, если array matching_interfaces содержит более одного устройства.

Выдача networksetup -listallhardwareports возвращает следующий результат:

 Hardware Port: H5321 gw Device: usbmodem Ethernet Address: N/A Hardware Port: H5321 gw Device: usbmodem Ethernet Address: N/A Hardware Port: PCI Serial Adapter (22) Device: pci-serial22 Ethernet Address: N/A Hardware Port: H5321 gw Device: wwan Ethernet Address: N/A Hardware Port: Ethernet Device: en0 Ethernet Address: 28:d2:44:05:79:1c Hardware Port: H5321 gw Device: en1 Ethernet Address: 02:15:e0:ec:01:00 Hardware Port: 802.11n WLAN Adapter Device: en2 Ethernet Address: 00:87:23:7a:44:9d Hardware Port: Bluetooth PAN Device: en3 Ethernet Address: f4:b7:e2:e8:4f:78 

В этом случае виновником является интерфейс usbmodem . В то время как

ls /dev | grep usbmodem

перечисляет два объекта отдельными именами (номер второго изменяется после перезапуска)

 cu.usbmodem cu.usbmodem5 tty.usbmodem tty.usbmodem5 

утилита настройки сети указывает на проблему – то же имя аппаратного порта используется дважды.

Все методы, которые полагаются на реализацию configd добавить сообщение

 more than one interface matches usbmodem 

в системный журнал, поэтому я не могу использовать модем WWAN.

Я думаю, что способ переименовать / удалить второе имя аппаратного порта может решить проблему, но я не знаю достаточно о базовых реализациях – я не знаю, какой файл или служба отвечает за создание списка аппаратного порта в первом но, возможно, один из гуру * NIX знает об этом, принимая во внимание, что OS X разделяет часть своей базы кода с BSD.

Linux и Unix - лучшая ОС в мире.