Modem 3G ZTE MF622 com Operadora Vivo, no Debian Lenny
Colaboração: Bruno Buys
Data de Publicação: 15 de Novembro de 2009
Esse modem é detectado como unidade de disco, porque tem uma memória flash
gravada com o instalador de drivers do sistema proprietário. É necessário
desmontá-lo como unidade usb e remontá-lo como modem, para fazê-lo
funcionar. Mas depois de pronto, tudo isso será feito automaticamente.
Tenha o wvdial instalado, para fazer a conexão. Além dele,
você precisará também do usb_modeswitch. Esse último ainda
não está disponível para o Lenny (somente Squeeze e Sid, veja
http://packages.debian.org/search?keywords=usb-modeswitch). Mas é bem simples
de consegui-lo.
Obtendo o usb_modeswitch:
O site do programa está em
http://www.draisberghof.de/usb_modeswitch/. O download direto dele está em
http://www.draisberghof.de/usb_modeswitch/usb_modeswitch-1.0.5.tar.bz2. Baixe-o
e descompacte. Na pasta criada você verá os arquivos para compilação do
programa. Mas também há o binário já pronto. Vou pegar esse atalho e usar
o binário pronto, simplesmente copiando-o para /usr/sbin/usb_modeswitch.
como root:
cp usb_modeswitch-1.0.5/usb_modeswitch /usr/sbin/usb_modeswitch
Feito isso, agora pegue este arquivo: http://christiano.blog.br/static/15-zte-mf622.txt
É um arquivo texto de regras para o udev. Salve-o em
/etc/udev/rules.d/15-zte-mf622.rules. Repare que este arquivo tem uma linha
que faz rodar o usb_modeswitch:
RUN+="/usr/local/sbin/usb_modeswitch -d 1 -v 0x19d2 -p 0x2000 -V 0x19d2 -P 0x0001"
Edite-a para ficar de acordo com o caminho do seu usb_modeswitch:
RUN+="/usr/sbin/usb_modeswitch -d 1 -v 0x19d2 -p 0x2000 -V 0x19d2 -P 0x0001"
Ou, se preferir, deixe este arquivo intacto e lá em cima, copie o usb_modeswitch para /usr/local/sbin/usb_modeswitch:
cp usb_modeswitch-1.0.5/usb_modeswitch /usr/local/sbin/usb_modeswitch
O que importa é este arquivo indicar o caminho correto do programa.
O udev precisa ser reiniciado para carregar as novas regras:
/etc/init.d/udev restart
(reiniciar a máquina tem o mesmo efeito)
Agooora podemos plugar o modem na máquina. Fazendo isso, você verá essas linhas no seu dmesg:
[ 66.272113] usb 1-1: new full speed USB device using uhci_hcd and address 4
[ 66.432173] usb 1-1: New USB device found, idVendor=19d2, idProduct=0001
[ 66.432190] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 66.432202] usb 1-1: Product: ZTE CDMA Technologies MSM
[ 66.432211] usb 1-1: Manufacturer: Qualcomm, Incorporated
[ 66.432474] usb 1-1: configuration #1 chosen from 1 choice
[ 66.437217] usbserial_generic 1-1:1.0: GSM modem (1-port) converter detected
[ 66.437419] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0
[ 66.441292] usbserial_generic 1-1:1.1: GSM modem (1-port) converter detected
[ 66.441505] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1
[ 66.444937] usbserial_generic 1-1:1.2: GSM modem (1-port) converter detected
[ 66.445179] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB2
Não sei bem porque aparecem tantos dispositivos ttyUSB*, mas de qualquer
forma, o que você vai usar é o /dev/ttyUSB0. Se aparecerem linhas como essas,
do usb_modeswitch, não se preocupe:
[ 44.476654] usb 1-1: usbfs: process 4511 (usb_modeswitch) did not claim interface 0 before use
E aqui está o meu /etc/wvdial.conf
que funciona com a Vivo:
[Dialer Defaults]
Modem = /dev/ttyUSB0
ISDN = off
Modem Type = GSM Modem
Baud = 460800
Init = ATZ
Init2 = AT+CFUN=1
Init3 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init4 = AT+CGDCONT=1,"IP","zap.vivo.com.br"
Init5 =
Init6 =
Init7 =
Init8 =
Init9 =
Phone = *99#
Phone1 =
Phone2 =
Phone3 =
Phone4 =
Dial Prefix =
Dial Attempts = 1
Dial Command = ATM1L3DT
Ask Password = off
Password = vivo
Username = vivo
Auto Reconnect = off
Abort on Busy = off
Carrier Check = on
Check Def Route = on
Abort on No Dialtone = on
Stupid Mode = off
Idle Seconds = 0
Auto DNS = on
Com tudo isso pronto, é só você plugar o modem na máquina, abrir um console, virar root e fazer:
$ wvdial
Você verá a saída do wvdial:
boson:/home/bruno# wvdial
—> WvDial: Internet dialer version 1.60
—> Cannot get information for serial port.
—> Initializing modem.
—> Sending: ATZ
ATZ
OK
—> Sending: AT+CFUN=1
AT+CFUN=1
OK
—> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
—> Sending: AT+CGDCONT=1,"IP","zap.vivo.com.br"
AT+CGDCONT=1,"IP","zap.vivo.com.br"
OK
—> Modem initialized.
—> Sending: ATM1L3DT*99#
—> Waiting for carrier.
ATM1L3DT*99#
CONNECT
—> Carrier detected. Waiting for prompt.
—> Don't know what to do! Starting pppd and hoping for the best.
—> Starting pppd at Sun Nov 8 10:50:56 2009
—> Pid of pppd: 5203
—> Using interface ppp0
—> local IP address XXX.XXX.XXX.XXX
—> remote IP address XXX.XXX.XXX.XXX
—> primary DNS address XXX.XXX.XXX.XXX
—> secondary DNS address XXX.XXX.XXX.XXX
(IP's removidos por segurança)
Quando ele chega nessa linha:
—> Carrier detected. Waiting for prompt.
fica esperando o prompt e demora uns instantes. Se você modificar o parâmetro
Stupid Mode = off
para
Stupid Mode = 1
Ele não espera nada e sai iniciando o pppd.
E é isso aí.
Considerações
Os serviços de links 3G são uma boa opção para quem precisa de mobilidade. Mas
quando começaram a ser oferecidos, uma enxurrada de posts, tutoriais e
blogs encheram a internet de protestos, reclamações, reviews, etc, sobre
esses serviços. Muitos usuários indignados protestaram pela má qualidade
do serviço. É preciso ter em mente que o 3G usa ondas de rádio para se
comunicar, e, como tal, pode ter áreas de sombra, áreas com muitos usuários
logados na mesma estação, dias de chuva, coisas assim. Do mesmo modo que o
próprio serviço de telefonia celular. E também lembrar que muitos dos posts
indignados podem ser de gente tenta usar o 3G em computadores com o sistema
proprietário instalado com versão pirata, com vírus, spies, adware e outras
pragas. Se o problemas deles for de drivers, isso não afeta em nada o uso
com software livre.
Antes de se convencer de que o serviço não presta, o melhor que você pode
fazer é checar você mesmo. Converse com pessoas conhecidas que usam o serviço,
e de preferência com software livre. Não dá para confiar em usuário do sistema
proprietário, porque as ferramentas de lá não permitem quase nenhum diagnóstico
de nada. Elas são feitas para clicar OK e conectar. Se não funcionam, isso
pode não significar nada para quem usa software livre. Procure ver também
se o serviço tem boa cobertura nas principais áreas que você frequenta.
Sobre o Modem 3G
Em algum momento do futuro, as operadoras devem parar com essa roubalheira de
vender modem por R$ 200 ou 300 (Anatel, cadê você??). Quando a NET começou
a fornecer o Virtua, os cable modems eram alugados por um valor bem alto,
ou você podia comprá-los, tipo por uns R$ 600,00. Hoje em dia a NET fornece o
cable em comodato e o leva de volta se você quiser cancelar o serviço. É assim
que deve ser. Ninguém quer ter um cable modem. O que se quer é a internet,
e o cable é um mal necessário.
Você não precisa comprar o modem 3G que as operadoras oferecem. Se o atendente
der motivos espertinhos para você comprar o modem dele, não aceite. Os modems
das operadoras são CAROS. Excetuando o preço do modem, as ofertas de serviços
3G estão começando a ficar com preços razoáveis. O plano que eu assinei na
Vivo é de 250Mb mensais, por R$ 50,00. Ainda um pouco caro para tão pouco
tráfego, mas cabe no meu bolso.
Ao assinar um plano 3G você pode levar o seu modem e pedir ao atendente que
habilite-o. E você pode comprar modems de amigos que trocaram, no mercado
livre, etc. São muito mais baratos. Mas antes de comprar um modem, convém
perguntar na operadora desejada quais modems eles indicam.
Pelo Menos na Vivo, se você levar o seu modem, fica livre do período de
fidelidade. Para mim, isso foi BEEEEM legal.
Uma última coisa: se o atendente não souber nada sobre software livre, ou se
disser que não há suporte para GNU/Linux, não se preocupe. Há suporte sim,
dado pelo próprio kernel.