2008-12-10

Alterando modo 3G/UMTS/HDSPA ou GSM/GPRS/EDGE no modem Huawei E226 no Linux

Após pesquisar bastante na internet, e não achar nada a respeito, decidi ler na fonte, acessei o sítio do órgão que normaliza o padrão 3G o Third Generation Partnership Project (3GPP), lá encontrei toda a lista de comandos AT para modems 3G, como o huawei e226, contudo nenhum dos comandos das normas fazem a mudança do modo de operação.

Manuais no site da 3GPP

Lendo um pouco mais, nos documentos mais recentes no link acima, descobri o comando AT+CLAC este comando lista todos os comandos de usuário do modem, assim já temos um bom começo, bastou acessar o modem através do programa cutecom (ou minicom) configurando para conectar na porta /dev/ttyUSB0 ou na /dev/ttyUSB1, e enviar o comando AT+CLAC, e uma lista com todos os comandos será exibida.

Pois é tinha a lista de comandos e nenhuma idéia de qual fazia a coisa, bom já sabia que eram as freqüências de operação do GSM/EDGE que estavam erradas, pois ao seta-las no windows com o driver/discador do fabricante Eu conseguia conectar perfeitamente em 2G.

Lendo mais os documentos da 3GPP, aprendi que os comandos AT aceitão os paramentros ? e =? como apresentado abaixo:
AT^HSDPA?
AT^HSDPA=?

O primeiro comando exibe as
configurações atuais para este comando e o segundo exibe o modo de
utilização e valores possíveis do comando.


Utilizando o comando AT+CLAC e olhando a lista de comando vi dois comandos muito promissores:
AT^FREQLOCK e AT^FREQPREF , eles setam a frequencia, mas não consegui nada utilizando eles, e também não há nenhuma documentação sobre eles, já que segundo a 3GPP os comandos com ^ e $ são parte da especificação de cada fabricante.

Utilizando o programa da Vodafone em modo de debug, verifiquei que o comando utilizado por este para trocar entre modo GSM e UMTS é o
AT^SYSCFG

De posse deste conhecimento, configurei o modem para operar em modo GSM nas freqüências corretas pelo Windows e testei no Linux utilizando o programa wvdial, já que o software da Vodafone usa um comando AT que não funciona, como funcionou, o resto ficou fácil, utilizei o comando
AT^SYSCFG? e pronto apareceu a configuração correta:
^SYSCFG:13,0,4400380,1,0

Fiz o mesmo para UMTS/3G e o resultado foi:
^SYSCFG:14,0,4400380,1,0

Agora basta usar o comando:

AT^SYSCFG=13,0,4400380,1,0 para GSM/EDGE/2G e
AT^SYSCFG=14,0,4400380,1,0 para UMTS/3G

Use AT^SYSCFG=2,2,3FFFFFFF,1,0 caso queira 3G preferido com todas as bandas.

2008-12-02

Usando modem huawei E226 - Claro 3G e outras!

Já possuo o modem da claro há cerca de um mês, neste período testei várias soluções para conectá-lo à internet, dentre estas:

1- wvdial, este programa é a base para a conexão 3G, EDGE e GPRS no Linux, pelo o que vi quase todos os outros programas carregam este em segundo plano.

2- pppconfig, kppp e gnome-ppp estes programas dão conta do serviço, contudo são limitados às mesmas funcionalidades do wvdial

3- network-manager do Ubuntu 8.10, quem já possui o intrepido, e um modem 3G/2G, com certeza já usou, bom cai no mesmo problema dos outros anteriores, destacando-se apenas o fato deste ter pré-configurado quase todas as operadoras do Brasil e do mundo, isso para usuários totalmente leigos é uma boa!

4- A melhor solução de todas é o vodafone-mobile-connect este programa feito em python resolve 5 (cinco) grandes problemas enfrentados por usuários 3G (versão 1.9.17 beta4 de 27/11/2008):



4.1- Interface gráfico com vários recurso, inclusive nível do sinal e modo de operação 3G/EDGE/GMS
4.2- Inteface para envio e recebimento de SMS.


4.3- Detecção do modelo do modem
4.4- Acaba com o problema do modem ficar sendo reconhecido como um storage. (pendrive ou gravadora)
4.5- Acaba com o problema de DNS da claro, mesmo aparcendo o IP errado no resolv.conf ele conecta na boa nos sites (ao menos aqui está funcionando bem).

O único recurso que este software não possui em relação ao similar para windows é a possibilidade de mudar a frequencia de operação, sei que é via algum comando AT que pode ser enviado diretamente à porta ttyUSB do modem, contudo não sei qual é. (se alguém souber avise!), isto é necessário para fazer o modo EDGE (2G/GSM) funcionar direito já que não conecta se estiver setado para as "todas as frequencias", devendo estar no modo 850,900,1800 e 2100MHz.

Além disso tive problemas com os pacotes que estão disponibilizados no site dos desenvolvedores:
Vodafone Mobile

Um dos pacote é para arquitetura LPIA (Low Power Intel Architecture) para processadores ATOM, e o outro tenta executar uns scripts incompatíveis com o Ubuntu 8.10, por esta razão fiz novas versões dos pacotes, para quem queira se aventurar:
usb-modeswitch_0.9.4-1_i386.deb
vodafone-mobile-connect_1.99.17-8_all.deb

Após baixar os pacotes acima, vá para a shell ou pelo nautilus mesmo e instale os programas se der erro de dependencias instale-as com o comando apt-get -f install e tente novamente.