Ontem resolvi comprar o modem USB para usar conexão banda larga[bb]pela minha operadora de celular[bb]. Fui sem muito receio, pois já li vários relatos de compatibilidade entre esses modems e o Ubuntu. Depois de quase uma hora para ser atendido, chegou minha vez e por sorte, ainda tinha dois modems disponíveis (esse negócio deve estar vendendo como água). Depois de mais uma hora em burocracias e assinatura de vários documentos, saí da loja com o modem e fui correndo para casa testar o novo brinquedinho.

Quando pluguei o modem no notebook[bb], veio a primeira surpresa. O dispositivo foi reconhecido como uma unidade de disco e não como modem. No início achei que poderia ser problemas com o dispositivo, mas depois de algumas consultas no Google, verifiquei que esse é um procedimento normal. A explicação mais lógica é o fato de usuários Windows poderem instalar o seu driver quando o dispositivo é conectado pela primeira vez, mas de certa forma o dispositivo ignora usuários de outros sistemas operacionais. Junto com o Kit da Claro, vem um CD para instalação em Mac OSX, mas os usuários de GNU/Linux são totalmente ignorados.

Na hora fiquei um pouco decepcionado, mas depois de mais alguns minutos de consultas no Google, encontrei diversas receitas e fui testando sem sucesso a maioria. Até que cheguei na página de uma ferramenta chamada usb_modeswitch e nessa página, minha esperança de fazer o modem funcionar com sucesso no Ubuntu. De fato esse foi o caminho que deu certo e faz dest post uma prova (estou escrevendo esse post usando a conexão da Claro 3G).

Como o modem é reconhecido no sistema como uma unidade de disco, é necessário fazer uma manobra para desmontá-lo e montá-lo como um modem e dessa forma poder se conectar à internet[bb]. A instalação de alguns pacotes e uma pequena alteração no sistema é necessária para fazer tudo funcionar perfeitamente. Os passos que segui e deram certo foram o seguinte:

  1. Instale a libusb-dev em seu sistema (aptitude install libusb-dev);

  2. Baixe a última versão do usb_modeswitch aqui;

  3. Descompacte o pacote e compile seu conteúdo (execute o ./compile.sh);

  4. Copie o binário usb_modeswitch para /usr/local/sbin;

  5. Copie o usb_modeswitch.conf para /etc

  6. Edite o /etc/modeswitch.conf e procure pelo bloco do MFS622, descomente todo seu conteúdo (remova o “;” que aparece no início de cada linha). Comente ou apague todo o restante do arquivo, deixando apenas esse bloco. Se preferir, baixe o meu arquivo pronto aqui.

  7. Baixe esse arquivo e grave como /etc/udev/rules.d/15-zte-mf622.rules (esse arquivo é bastante útil, pois quando você espetar o modem na entrada USB, ele vai automaticamente desmontar o volume de disco e fazer o seu sistema reconhecer como um modem USB[bb]. É recomendado rebootar a máquina para continuar porque todo o udev é lido durante o boot da máquina).

  8. Configure e crie uma conta com a ferramenta pppconfig conforme a tela abaixo. No meu caso eu optei pelo pppconfig porque dessa forma consigo facilmente configurar uma conexão automática durante o boot da máquina, mas você pode testar com seu discador de preferência (gnome-ppp ou outro de sua preferência).

Finalmente é hora de testar a conexão, plugue o modem em seu computador[bb], fique monitorando via /var/log/messages se o dispositivo será reconhecido como unidade de disco. Se tudo der certo, dentro de uns 5 segundos vai aparecer no messages a mudança do dispositivo do disco para modem USB. Feito isso, basta digitar o comando pon claro e continuar monitorando se vai conectar com sucesso. No messages vai aparecer o momento em que a conexão for estabelecida e qual IP foi atribuído à sua conexão PPP.

Essa foi a via crucis que segui para fazer o modem funcionar perfeitamente no meu Ubuntu, provavelmente a mesma técnica sirva para outras distribuições. Depois disso você pode criar um ícone em sua área de trabalho para fazer o pon claro automaticamente. Para desconectar, basta um poff claro.

Uma dica: se por acaso não conseguir conexão, volte no pppconfig, edite a conexão claro, vá até o menu de opções avançadas e mude a string de inicialização de ATZ para apenas AT. Em vários outros artigos eu encontrei diversas strings, no meu caso funcionou apenas com a técnica explicada nesse post.

Alguns comentários sobre a conexão:

Eu esperava mais em termos de performance, mas a conexão quebra o galho em lugares que não tem outra alternativa. Notei uma certa instabilidade, como ficar alguns minutos sem sinal algum, mas o sinal vai voltando e a performance melhorando em ciclos. Acredito que o serviço ainda é novo e a rede está passando por diversos upgrades, pelo menos ter uma conexão assim é melhor que nada em locais onde não há alternativas.

Atualização

Se você usa ou planeja utilizar o Ubuntu 8.10 (Intrepid Ibex), as instruções são bem mais simples. Veja como configurar o ZTE NF622 no Ubuntu Intrepid.

Leia também: Como cancelar o recebimento de SMS publicitário da Claro