Como adiciono suporte para um dispositivo WWAN ainda não suportado no OS X?

Como adiciono suporte para um dispositivo WWAN ainda não suportado no OS X?

O meu grande objetivo é fazer com que minha máquina OS X suporte meu dongle Huawei E1550 sem instalar nenhum driver de terceiros.

O fato é que AppleWWANSupport*.kext e toda a infraestrutura WWAN são um dos códigos mais desleixados já criados pela Apple. Folheando seu Info.plist, pode-se ver facilmente que eles pretendem oferecer suporte a quase todas as principais marcas de modem celular (exceto provavelmente ZTE), mas quando você conecta um dongle Huawei que é "suportado", nada acontece - pelo menos o driver CDC informa que nenhuma configuração válida foi encontrada.

Até agora, modifiquei CellPhoneHelper.kext/Contents/Info.plist para reconhecer o dongle como um dispositivo WWAN real e adicionei uma seção para ele em /Library/Modem Scripts/WWAN.ccl. Os resultados são:

  • O ícone WWAN aparece na barra de menu quando eu conecto o dongle
  • Os arquivos do dispositivo aparecem para que eu possa realmente conversar com o modem
  • O System Profiler lista o modem como um dispositivo WWAN e o consulta com precisão

O que não funciona:

  • O ícone WWAN fica parado em "Inicializando..."
  • Consequentemente, a interface WWAN não aparece e não pode ser configurada

...que é o objetivo de tudo.

O Huawei E1550 possui quatro endpoints: um deles é “modem” (0), outro “diagnóstico” (1), ainda outro é chamado de “PCUI” (2) e há mais um para dados de voz (5). Suspeito que os atribuí incorretamente e o OS X usa os errados, sendo assim incapaz de ver se o modem funciona, muito menos de preparar uma interface.

A porta que aparentemente é "Dados" (modem?) Responde apenas a comandos e não fornece respostas a, digamos, solicitações USSD. Aquele marcado como "Diag" é silencioso, não sei dizer para que serve. A porta "PCUI" aceita comandos AT, responde a eles e emite mensagens de nível de sinal e outras mensagens de status em intervalos regulares sem ser pesquisada por eles.

O OS X conhece quatro endpoints que acabam sendo /dev/wwan (dados, modem, muito raramente portas diferentes), /dev/wwanCNTL (controle) e /dev/wwanCMD (comando).

Então a grande questão é:como combiná-los corretamente?

Outra grande questão é, me chame de estúpido, masqual é a diferença entre uma porta de controle e uma porta de comando no contexto de dispositivos WWAN (GSM/UMTS)?

Além disso, links para folhas de dados e outras informações sobre o Huawei E1550, também conhecido como Huawei Datacard (ven:dev = 0x12d1:0x1001) são imensamente bem-vindos.

Responder1

Eu tentei uma abordagem semelhante.

Eu editei /System/Library/Extensions/IOSerialFamily.kext/Contents/PlugIns/AppleWWANSupport.kext/Contents/Info.plist /System/Library/Extensions/CellPhoneHelper.kext/Contents/Info.plist

e obtive resultados semelhantes, mas ignorei a seção /Library/Modem Scripts/WWAN.ccl.

Acredito que todos os três precisam ser "emparelhados" corretamente, e acho que você ainda precisa do script do modem huawei fornecido por eles.

Estou curioso para saber como você reuniu tantas informações sobre os portos e tal. Alguma dica?

Eu uso o meu (e176) com os drivers huawei, mas conecto através da interface normal do modem. O software "Mobile Connect" é uma porcaria e leva uma eternidade para conectar, mas eu o mantenho por perto quando preciso de informações extras (e o uso para desativar a solicitação de PIN!)

Tentarei novamente editando todos os arquivos e criando as entradas apropriadas... mas no final me pergunto se isso terá alguma vantagem. Só faria sentido para mim se ele se conectasse muito mais rápido (digamos, menos de 5 segundos), além de talvez oferecer informações extras na barra de menu.

Aliás, no Ubuntu 12.10, parece funcionar dessa maneira. Há um item de menu e um medidor de intensidade de sinal surpreendentemente semelhantes, sem mencionar que ele se conecta em menos de 3 segundos!!!

Pesquisando, também descobri que /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBMergeNub.kext/Contents/Info.plist tem uma entrada para um "Huawei Mobile", mas o ID do produto e o ID do fornecedor não correspondem meu. Eu mudei, mas nada a relatar ainda. Ainda tenho que tentar editar os outros arquivos :-(

Não entendo, porém, se a Apple possui drivers e uma estrutura configurada para modems e telefones, por que, neste caso, a Huawei não "se conecta" a ele. Eles desenvolveram uma infraestrutura completa e separada para seus dispositivos. Eles não sabem sobre o AppleWWANSupport? ou a Apple os deixou de fora?

informação relacionada