¿Cómo agrego soporte para un dispositivo WWAN que aún no es compatible con OS X?

¿Cómo agrego soporte para un dispositivo WWAN que aún no es compatible con OS X?

Mi gran objetivo es hacer que mi máquina OS X sea compatible con mi dongle Huawei E1550 sin instalar ningún controlador de terceros.

El hecho es que AppleWWANSupport*.kext y toda la infraestructura WWAN es una de las piezas de código más descuidadas jamás creadas por Apple. Al hojear su Info.plist, uno puede ver fácilmente que su objetivo es admitir casi todas las marcas principales de módems celulares (excepto probablemente ZTE), pero cuando conecta un dongle de Huawei que es "compatible", no sucede nada, al menos el controlador CDC. dice que no se encontró ninguna configuración válida.

Hasta ahora, modifiqué CellPhoneHelper.kext/Contents/Info.plist para reconocer el dongle como un dispositivo WWAN real y agregué una sección en /Library/Modem Scripts/WWAN.ccl. Los resultados son:

  • El ícono WWAN aparece en la barra de menú cuando conecto el dongle
  • Los archivos del dispositivo aparecen para que pueda hablar con el módem
  • El perfilador del sistema enumera el módem como un dispositivo WWAN y lo consulta con precisión

Qué no funciona:

  • El ícono de WWAN simplemente permanece atrapado en "Inicializando..."
  • En consecuencia, la interfaz WWAN no aparece y no se puede configurar.

...que es el punto de todo esto.

El Huawei E1550 tiene cuatro endpoints: uno de ellos es "módem" (0), otro de "diagnóstico" (1), otro más se llama "PCUI" (2) y hay uno más para datos de voz (5). Sospecho que los asigno mal y OS X usa los incorrectos, por lo que no puede ver que el módem funciona y mucho menos preparar una interfaz.

El puerto que aparentemente es "Datos" (¿módem?) sólo responde a comandos y no proporciona respuestas a, digamos, solicitudes de USSD. El que está marcado como "Diag" no dice nada, realmente no puedo decir para qué sirve. El puerto "PCUI" acepta comandos AT, responde a ellos y emite mensajes de nivel de señal y otros mensajes de estado a intervalos regulares sin ser sondeado.

OS X conoce cuatro puntos finales que finalmente terminan siendo /dev/wwan (datos, módem, muy raramente puertos diferentes), /dev/wwanCNTL (control) y /dev/wwanCMD (comando).

Entonces la gran pregunta es,¿Cómo combinarlos correctamente?

Otra gran pregunta es: llámame estúpido pero¿Cuál es la diferencia entre un puerto de control y un puerto de comando en el contexto de dispositivos WWAN (GSM/UMTS)?

Además, los enlaces a hojas de datos y otra información similar sobre Huawei E1550, también conocida como Huawei Datacard (ven:dev = 0x12d1:0x1001), son inmensamente bienvenidos.

Respuesta1

He probado un enfoque similar.

He editado /System/Library/Extensions/IOSerialFamily.kext/Contents/PlugIns/AppleWWANSupport.kext/Contents/Info.plist /System/Library/Extensions/CellPhoneHelper.kext/Contents/Info.plist

y obtuve resultados similares, pero había pasado por alto la sección /Library/Modem Scripts/WWAN.ccl.

Creo que los tres deben estar "emparejados" correctamente, además creo que todavía necesitas el script del módem Huawei que te proporcionan.

Tengo curiosidad por saber cómo reuniste tanta información sobre los puertos y demás. ¿Algun consejo?

Yo uso el mío (e176) con los controladores de Huawei, pero me conecto a través de la interfaz de módem normal. El software "Mobile Connect" es una mierda y tarda una eternidad en conectarse, pero lo mantengo cuando necesito información adicional (¡y lo usé para desactivar la solicitud de PIN!)

Lo intentaré nuevamente editando todos los archivos y creando las entradas apropiadas... pero al final me pregunto si será de alguna ventaja. Solo tendría sentido para mí si se conecta mucho más rápido (digamos, menos de 5 segundos) y tal vez ofrezca información adicional desde la barra de menú.

Por cierto, en Ubuntu 12.10, parece funcionar de esta manera. Hay un elemento de menú y un medidor de intensidad de señal sorprendentemente similares, ¡sin mencionar que se conecta en menos de 3 segundos!

Buscando también encontré que /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBMergeNub.kext/Contents/Info.plist tiene una entrada para un "Huawei Mobile" pero la identificación del producto y la identificación del proveedor no coinciden mío. Lo he cambiado, pero aún no hay nada que informar. Todavía tengo que intentar editar los otros archivos :-(

Sin embargo, no entiendo, si Apple tiene controladores y una configuración de marco para módems y teléfonos, por qué, en este caso, Huawei no se "conecta" a él. Han desarrollado una infraestructura completa e independiente para sus dispositivos. ¿No conocen AppleWWANSupport? ¿O Apple los ha dejado fuera de esto?

información relacionada