segunda-feira, 4 de maio de 2009

Instalação do modem ZTE MF636 no Ubuntu 9.04

Bom gente, faz tempo que não posto um tutorial interessante por aqui né? Então, recentemente eu comprei um famigerado modem 3G da Brasil Telecom, que dia 17 vira Oi aqui no Tocantins. No windows ele funciona que é uma beleza, e não sofre mais de tantas instabilidades no sinal (quando para, é só balançar a mão na frente do modem ou levantar da cadeira que resolve hehehe). No entanto, é no Linux que esse bixo sempre pegou ... E é sobre esse tópico que pretenfo falar hoje.

Então, eu baixei esses dias o Ubuntu 9.04 pra instalar aqui na minha máquina. Ele ainda está muito cru, precisando de umas aparas, mas uma coisa eu notei hoje. Depois que eu reiniciei minha máquina, que estava conectada na internet, ele reconheceu milagrosamente meu modem, e eu consegui conectar-me do Ubuntu. Não sabia qual era a mágica, já que tinha tido tantos problemas com isso no 8.10 que já tinha desistido de tentar instalar. Foi aí que, estudando um pouco, descobri o grande problema: O tal do Mode Switch que o modem faz pra "facilitar" a vida do usuário Windows. E pensando em todas as pessoas que buscam desesperadas nos fórums sobre como instalar esse modem, eu resolvi criar esse tutorial mostrando um passo-a-passo que funcionou comigo várias vezes. ( P.S.: refiz duas vezes a instalação do ubuntu pra conferir).

Segue aí o material ...



Primeiro passo: instalar o usb_modeswitch.

A instalação é fácil. nada que um sudo aptitude install usb_modeswitch não resolva. No entanto, pra isso vc precisa de internet né? Fácil de resolver: baixe em outra máquina os pacotes a seguite e os instale com o gdebi (acho que é esse o nome):

http://mirrors.kernel.org/ubuntu/pool/main/libu/libusb/libusb-dev_0.1.12-12_i386.deb
http://www.draisberghof.de/usb_modeswitch/usb-modeswitch_0.9.5_i386.deb

P.S.: O primeiro arquivo é uma dependência do pacote usb_modeswitch.

Segundo Passo: Configurar o usb_modeswitch.

No terminal, digite o seguinte comando: sudo gedit /etc/usb_modeswitch.conf

No fim do arquivo que abrir, insira as seguintes linhas:
########################################################
# ZTE MF636
#

DefaultVendor= 0x19d2
DefaultProduct= 0x2000

TargetVendor= 0x19d2
TargetProduct= 0x0031

MessageEndpoint=0x01
MessageContent="55534243123456782000000080000c85010101180101010101000000000000"

Salve o arquivo e, ainda no terminal, digite o seguinte comando: /etc/udev/rules.d/15-zte-mf636.rules e insira as seguintes linhas:
ACTION!="add", GOTO="ZTE_End"
SUBSYSTEM=="usb", SYSFS{idProduct}=="2000",
SYSFS{idVendor}=="19d2", GOTO="ZTE_ZeroCD"
LABEL="ZTE_ZeroCD"
RUN+="/usr/sbin/usb_modeswitch"
LABEL="ZTE_End"

Salve e vá para o próximo passo.

Terceiro Passo: Instale o discador.

Se vc recebeu o CD de instalação da Brasil Telecom, futuramente Oi, ele com certeza virá com o software linux necessário.

Instale conforme as instruções do manual impresso que veio junto do modem. Ela mandou um script de instalação que tenta compilar o driver da zte, mas sem sucesso no kernel atual. Ela manda junto alguns drivers pré-compilados, mas para versões anteriores do Ubuntu. Então, não se importe com as mensagens de erro que aparecem. Caso você não encontrou no ou o CD, pegue esse programinha da VIVO:

http://www.aiko.com.br/telefonia_detalhes.asp?idProduto=80&sessao=suporte

Configure uma nova conexão, caso use esse último da vivo:
Nome: BrasilTelecom
Número de telefone: *99***1#
Usuário: brt
Senha: brt
APN: brt.br

Em todos os outros itens, deixe o primeiro selecionado.

Agora tente conectar. Aqui deu certo. Não sei fazer a conexão de outro modo, tentei pelo gnome-ppp e por wvdial, mas nao consegui. Talvez por pppconfig dê certo, mas daí não posso confirmar.


Terceiro Passo: Edite o arquivo /etc/wvdial.conf

Estava eu e meu colega de trabalho Ronaldo verificando como instalar o mesmo no Slackware e descobrimos uma coisa interessante. O discador da Brasil Telecom (e de todos que usam esse modem) utiliza o wvdial como discador ... Pensando nisso, fomos verificar o arquivo e as configurações de discagem estavam lá.

Com um simples comando sudo wvdial, com o wvdial.conf com essas configurações setadas, o mesmo conectou como em um passe de mágica hehehehe

Estou aqui postando o meu arquivo wvdial.conf, gerado pelo discador da Brasil Telecom. com ele eu consegui me conectar em UTMS/HSDPA/HSUPA sempre, ignorando GSM, GPRS e EDGE.
[Dialer Defaults]
Phone = *99***1#
Username = brt
Password = brt
Stupid Mode = 1
Dial Command = ATDT
Modem = /dev/ttyUSB2
Baud = 115200
Init = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ISDN = 0
Auto Reconnect = off
Modem Type = Analog Modem

Peguem aí e aproveitem ;)

Bom, é isso. Espero novamente ter ajudado quem têm problemas com esse modem. O Ronaldo, colega de trabalho brigou muito tempo com esse modem pra descobrir como fazê-o funcionar no Slackware e eu não sei se ele conseguiu. A grande vantagem do 9.04 é carregar o módulo do modem quando ele está nesse modo, e não no modo CD. Só que ele só carregou pq o windows fechou o programa da BrT antes dela voltar o modem para sua configuração original.

Com as configurações informadas, é só plugar o modem, verificar em qual porta tty ele foi montado e caso haja a necessidade, editar o arquivo wvdial.conf pra refletir a alteração. O discador faz isso automático, mas até agora não vi necessidade em mudar ele, pois o módulo sempre cria o dev em ttyUSB2.

Abração, e um bom dia pra todos!