Este é um problema que até agora ninguém da Apple.SE poderia me ajudar, então estou Só vou dar uma chance para perguntar de uma forma diferente por aqui. (Espero que eu esteja usando o site SE correto ... ou isso é melhor no SuperUser? Ou no StackOverflow? A multidão de sites SE está me confundindo.)
Para encurtar a história, há um problema com um dispositivo sendo listado duas vezes com o mesmo nome de porta de hardware que está causando muitos problemas desde os utilitários de configuração do OS X (ambos os networksetup
) depende do método SCNetworkInterfaceRef
_SCNetworkInterfaceCreateWithEntity
, que tenta obter uma interface pelo seu nome, mas aplica-se se a matriz matching_interfaces
contiver mais de um dispositivo.
A emissão de networksetup -listallhardwareports
retorna a seguinte saída:
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
O culpado neste caso é a interface usbmodem
. Enquanto
ls /dev | grep usbmodem
lista as duas entidades por nomes separados (o número do segundo muda ao reiniciar)
cu.usbmodem
cu.usbmodem5
tty.usbmodem
tty.usbmodem5
o utilitário de configuração de rede está apontando o problema - o mesmo nome de porta de hardware sendo usado duas vezes.
Todos os métodos que dependem da implementação do configd
falha ao anexar a mensagem
more than one interface matches usbmodem
para o log do sistema, e é por isso que não consigo usar meu modem WWAN.
Acho que ter uma maneira de renomear / excluir o segundo nome de porta de hardware pode resolver o problema, mas não sei o suficiente sobre as implementações subjacentes - não sei qual arquivo ou serviço é responsável por criar a lista de portas de hardware em primeiro lugar, mas talvez um dos gurus do * NIX saiba alguma coisa sobre isso, levando em consideração que o OS X compartilha parte de sua base de código com o BSD.