TL; DR: El dispositivo de red aparece dos veces con el mismo nombre de puerto de hardware, por lo que el método interno que se supone devuelve un puntero a un dispositivo de red por su nombre. Es por eso que nada relacionado con este dispositivo funciona. ¿Cómo elimino o renombro la entrada duplicada?
POSICIÓN ORIGINAL: tengo un sistema que ejecuta OS X El Capitan 10.11.1 y me he encontrado con un problema sobre el que no puedo encontrar nada en Internet.
Estoy intentando conectarme a Internet a través de un módem WWAN Ericsson H5321gw.
Inicialmente, el dispositivo solo fue reconocido como un dispositivo USB, no como un dispositivo WWAN, sin embargo. Después de parchear el Info.plist en CellPhoneHelper.kext y IOSerialFamily.kext , el dispositivo se reconoce correctamente como un dispositivo WWAN, el icono WWAN aparece en la barra superior y al hacer clic en el icono, el operador también se reconoce correctamente. Sin embargo, el dispositivo no se conecta a Internet.
Tras la inspección de los registros del sistema, creo que encontré el problema, pero necesito una pista sobre cómo resolverlo.
Los comandos correctos se ejecutan a través del script de módem:
20:58:13 ccl: Apple Base Script.ccl Version 3.3
20:58:13 ccl: CCLWrite: AT
...
20:58:13 ccl: Waiting for connection
20:58:14 ccl: Connection established
20:58:17 ccl: CCLExit: 0
20:58:17 pppd: Connect: ppp0 <--> /dev/cu.usbmodem
pero luego la consola recibe spam con innumerables instancias de
20:58:17 com.apple.preference.network.remoteservice: more than one interface matches usbmodem
...
20:58:21 com.apple.preference.network.remoteservice: more than one interface matches usbmodem
que culmina en:
20:58:21 symptomsd: nw_interface_create_with_name netutil_ifname_to_ifindex(ppp0) failed
20:58:21 symptomsd: -[NWInterface initWithInterfaceName:] nw_interface_create_with_name(ppp0) failed
20:58:21 pppd: Connection terminated.
en el que el módem WWAN se desconecta nuevamente.
La emisión ls /dev | grep usbmodem
enumera dos archivos cada uno ( tty. y cu. ) para dos dispositivos, uno llamado usbmodem y el otro llamado usbmodem5 / usbmodem11 / etc, con el número cambiando al reiniciar el sistema.
El problema parece obvio: la conexión WWAN está establecida pero la conexión de ppp0 y usbmodem falla porque hay más de un dispositivo que coincide con la cadena usbmodem .
He encontrado el código que genera el mensaje de error en SCNetworkInterface pero no quiero jugar con la compilación de archivos del sistema (ni siquiera sabría cómo). Eliminar / renombrar los archivos en /dev
no solucionó el problema, el mensaje de error sigue siendo el mismo.
¿Hay alguna forma de eliminar esta ambigüedad de la coincidencia de cadenas fuera del sistema para que la conexión no falle?
ACTUALIZACIÓN: Los nombres de los archivos duplicados no parecen ser la causa, sino el síntoma del problema.
Probé diferentes valores para la asignación de la interfaz en CellPhoneHelper.kext , sin embargo, nada ha funcionado hasta ahora. O bien, la tarjeta WWAN está atascada en "Initializing ..." con networksetup -listallhardwareports
listando ningún dispositivo "usbmodem" o se parece a esto
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
así que de alguna manera hay dos entradas que van por el nombre del puerto de hardware usbmodem y no tengo idea de cómo solucionarlo, pero espero que alguno de ustedes pueda ayudarme.
El uso de uno de los enfoques de corrección habituales, como eliminar los archivos de configuración de red o emitir networksetup -detectnewhardware
, tampoco ha cambiado nada.
Las consultas relacionadas con cualquier detalle en el dispositivo ( networksetup -listallnetworkservices
por ejemplo) activan el mismo mensaje de registro "más de un dispositivo coincide" en la consola.