Slackware + ZTE MF 626 + VIVO

slackwareDepois de muito sofrimento, madrugadas em claro (mas não perdidas), váaaaaarios tutoriais lidos, ajuda de amigos (valeu Diegão) e do pessoal do gus no FISL10, consegui colocar nos trilhos o rebelde modem zte mf 626 3G da vivo.

Entre as várias referências que li, vou me basear no post do Alexandre Catão, Fedora + ZTE MF 626 + OI. E como na Internet tudo se copia (com os devidos créditos é claro :p) e se adapta, vamos lá então.

A instalação foi realizada em um Notebook Itautec C4t8j W7650 Core 2 Duo T5550 1.83ghz 3Gb RAM, com Slackware Linux 12.2.

Vou procurar ser o mais direto possível, pois o tutorial que me baseei explica muito bem o conceito de cada programa.

Como instalei o Slackware full, o pacote libusb já está instalado.

Baixe o arquivo usb_modeswitch

Baixe o pacote wvdial

Baixe o pacote wvstreams

Abra um terminal. Transforme-se em super usuário. Vá para o diretório onde baixou os pacotes. Execute os comandos abaixo para instalar os programas.

# installpkg wvdial-1.56-noarch-1ztm.tgz

# installpkg wvstreams-4.2.2-i486-1ztm.tgz

# tar -xvjf usb_modeswitch-1.0.2.tar.bz2

# cd usb_modeswitch-1.0.2

# make install

Agora, vamos configurar o programa:

# vim /etc/usb_modeswitch.conf

O arquivo ficou como no exemplo abaixo. IMPORTANTE! As descrições dos modens e o autor devem ser descomentadas também.

#######################################
ZTE MF628+ (tested version from Telia / Sweden)
ZTE MF626
# ZTE MF636 (aka “Telstra / BigPond 7.2 Mobile Card”)
#
Contributor: Joakim Wennergren
DefaultVendor=  0×19d2
DefaultProduct= 0×2000
TargetVendor=   0×19d2
TargetProduct=  0×0031

# only for reference
MessageEndpoint=0×01

MessageContent=”55534243123456782000000080000 c85010101180101010101000000000000″

# if that command doesn’t work, try the other (“eject”)
MessageContent=”55534243123456780000000000000 61b000000030000000000000000000000″

Vamos adicionar uma regra no udev colando o trecho abaixo no arquivo /etc/udev/rules.d/15-zte-mf626.rules

ACTION!=”add”, GOTO=”ZTE_End”
# Is this the ZeroCD device?
SUBSYSTEM==”usb”, SYSFS{idProduct}==”2000″,
SYSFS{idVendor}==”19d2″, GOTO=”ZTE_ZeroCD”
# Is this the actual modem?
SUBSYSTEM==”usb”, SYSFS{idProduct}==”0031″,
SYSFS{idVendor}==”19d2″, GOTO=”ZTE_Modem”
LABEL=”ZTE_ZeroCD”
# This is the ZeroCD part of the card, remove
# the usb_storage kernel module so
# it does not get treated like a storage device
#RUN+=”/sbin/rmmod usb_storage”
RUN+=”/usr/sbin/usb_modeswitch -d 1 -v 0×19d2 -p 0×2000 -V 0×19d2 -P 0×0031″
LABEL=”ZTE_Modem”
# This is the Modem part of the card, let’s
# load usbserial with the correct vendor
# and product ID’s so we get our usb serial devices
RUN+=”/sbin/modprobe usbserial vendor=0×19d2 product=0×0031″,
# Make users belonging to the dialout group
# able to use the usb serial devices.
MODE=”660″, GROUP=”dialout”
#MODE=”660″, GROUP=”tty”
LABEL=”ZTE_End”

Vou pular o 4º passo no tutorial do Alexandre, que visa testar se o modem foi detectado. E ir para a parte, o pulo do gato, de automatização da detecção do modem.

Crie o arquivo /etc/udev/rules.d/45-hotplug.rules e cole o texto abaixo nele:

SUBSYSTEM==”usb”, SYSFS{idProduct}==”2000″, SYSFS{idVendor}==”19d2″, RUN+=”/sbin/modeswitch.sh”
SUBSYSTEM==”usb”, SYSFS{idProduct}==”0031″, SYSFS{idVendor}==”19d2″, RUN+=”/sbin/modeswitch-kmod.sh”

Crie o arquivo /sbin/modeswitch.sh e cole o texto abaixo nele:

#!/bin/sh
#exec 1<&- 2<&- 5<&- 7<&-
sh -c “sleep 4; /usr/sbin/usb_modeswitch” &
exit 0

Crie o arquivo /sbin/modeswitch-kmod.sh e cole o texto abaixo nele:

#!/bin/sh
/sbin/rmmod option
sh -c “sleep 4; /sbin/modprobe option” &
exit 0

Não esqueça de dar permissão de execução para os dois arquivos:

# chmod 766 /sbin/modeswitch*.sh

Reinicie o udev:

# /etc/rc.d/rc.udev restart

Plugue o modem e assim que a luz azul acender, execute os comandos abaixo para verificar se deu tudo certo. Demora em média uns 30 segundos o processo.

# lsusb | grep ONDA

O resultado deve ser parecido com este:

Bus 002 Device 006: ID 19d2:0031 ONDA Communication S.p.A.

Mas o teste matador deve ser feito em relação à criação dos dispositivos ttyUSB. Digite ls /dev/ttyUSB*

Se o resultado for esse: /dev/ttyUSB0  /dev/ttyUSB1  /dev/ttyUSB2. A parada funfou! Agora é hora de configurar a conexão.

Executando o wvdialconf o modem foi detectado em ttyUSB1, MAAAAAAAAAAS não sei o porque só funcionou em ttyUSB2, fica aqui a atenção. Abaixo segue o meu /etc/wvdial.conf

[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init5 = AT+CGDCONT=1,”IP”,”zap.vivo.com.br”
Modem Type = Analog Modem
ISDN = 0
New PPPD = yes
Phone = *99#
Modem = /dev/ttyUSB2
Username = vivo
Stupid Mode = 1
Password = vivo
Baud = 921600

Crie também o arquivo /etc/ppp/peers/wvdial

hide-password
noauth
debug
/dev/ttyUSB2
115200
defaultroute
noipdefault
user “vivo”
remotename vivo
persist
maxfail 0
ipparam
#name wvdial
usepeerdns

Mais uma dica (ATUALIZADA: Valeu Franco!), para usar o DNS da vivo que muda após cada conexão é preciso criar um link simbólico, substituindo o arquivo /etc/resolv.conf

# ln -sf /etc/ppp/resolv.conf /etc/resolv.conf

E para finalmente conectar e navegar na net digite como root wvdial.

Resumindo a história, este benedito pen-modem 3g funcionou no MAC de um amigo com instalador e tudo, no Windows, não cheguei a testar no Ubuntu, não foi por falta de insistência de amigos, mas queria ver até onde ia a minha paciência :) .

E repetindo o que gosto de falar: “Linux é Linux”, não importa a distribuição.

14 Responses to “Slackware + ZTE MF 626 + VIVO”

  1. Slackware + ZTE MF 626 + VIVO « Cafofo Web do Luiz Sanches Says:

    [...] Leia mais no blog do gus-pa [...]

  2. Otávio Souza Says:

    Eu tenho um modem desse, me deu um trabalhinho para colocar para funcionar, então andei pesquisando mais sobre ele e pelo que vi, ele possui um driver para Linux interno sim, uma versão (não)-modificada do módulo option (o módulo que conecta esses modems 3G genéricos, baseados no da empresa Option), chamado de zte, além do módulo, ainda tem uma interface gráfica.

    Os drivers estariam no “CD” do modem, mas os kerneis mais novos tem um pedaço de código que tratam esse dispositivo ZeroCD como “defeituoso”, fazendo assim com que ele não seja emulado.

    Pra minha surpresa, em um Ubuntu mais antigo, kernel 2.6.22, o ZeroCD foi reconhecido, eu pude instalar o driver do modem e o seu discador.

    O procedimento que o discador executa para que o modem seja reconhecido pelo sistema é um simples “eject /dev/”

    Após isso, o wvdial é utilizado normalmente.

    As informações estão ai, para quem quiser criar algo especifico, isso foi resultado de uma pesquisa que fiz em fóruns do Ubuntu, bugzilla do Fedora, Posts de outros blogs e olhando o “código-fonte” do discador (analise de “strings ZMC”)

    Uma opção para se livrar do usb_modeswitch e numa maquina windows, abrir o discador, deixar q ele transforme o modem em modem e dai então, usar o HyperTerminal na porta do modem e digitar: “AT+ZCDRUN=8″, assim o modem entra direto em modo modem =).

    Abraços a todos.

  3. Luciano Says:

    Tentei adaptar esse tutorial pro mandriva 2009.1 (os outros q achei na net nao funfaram) e tb nao funcionou.

    Instalei os pacotes via urpmi todo. OK
    Criei os arquivos e inseri as linhas onde foi mencionado OK
    apos inserir o modem, lsusb | grep ONDA tb achou, OK
    mas USBTTY falhou, nao criou os dispositivos

    pergunta pra serve os arquivos criados modeswitch se vc nao instrui a usa-los depois em nenhum lugar ?

    obrigado

  4. Jonathas Says:

    tá.. mas e cade o tutorial?

  5. Luiz Sanches Says:

    O tutorial que tirei como base é o link Fedora + ZTE MF 626 + OI, que está logo no início do post, fiz a adaptação para o Slackware.

  6. Adriel Says:

    Fiz no slack 13 rolou conctei e naveguei, apos um dia fui tentar novamete e o mesmo não funcionou mais ele diz que n existe /dev/ttyUSB alguem te algum sugestão. j´refiz a configuração

  7. lucasbitt Says:

    eae rapazeada, seguinte, ewvdial e wvstreams ta kebrado o link
    corrigeaeeee por favor

    valeu!

  8. Francisco Neto Says:

    Rapaz valeu mesmo as dicas,

    Utilizei seu tutorial para instalar um modem ZTE MF645 (MF628+) da Vivo com sucesso no Slackware64-current com kernel 2.6.32 , os únicos problemas foram ter que baixar os sources do WVSTREAMS e WVDIAL e compilar no meu laptop(galho fraquissimo!!).

    esse modem é lançamento e vem com receptor para TV digital , essa é próxima briga !!!

    Parabéns !!

    Valeu mesmo!!

    Francisco – Belém-PA

  9. Franco Says:

    Segui esse tutorial para instalar o modem ZTE MF 645 com receptor digital da VIVO no meu Slackare64-current com kernel 2.6.32.2 e tá funcionando perfeitamente. Tive apenas que baixar alguns sources e compilar, mas tudo tranquilo!!

    Parabéns pelo tuto !!!

  10. Franco Says:

    Só mais um detalhe , faça com que o /etc/resolv.conf seja um link sinbólico do resolv.conf encontrado no diretório do wvdial , visto que o DNS da vivo muda em cada conexão.

  11. Franco Says:

    Segui esse tutorial mas usando o modem ZTE MF 645 com recptor digital da Vivo no meu slackware64-current e está funcionando bem.

    só que para usar o DNS da vivo que muda após cada conexão é preciso fazer um ln -sf /etc/ppp/resolv.conf /etc/resolv.conf

    isso acaba o problema de DNS

  12. lsanches Says:

    Galera, valeu o feedback e as dicas. Atualizei o post. Estamos por aqui slackers!

    E entrem na lista de discussão para conversarmos mais.

  13. Luiz Almeida Says:

    Bom pessoal, um escritorio daqui da cidade comprou um modem da vivo e queria compartilhar a internet com os outros computadores..
    Lá vai a missão de instalar esse modem no servidor linux, MF 100 ou ZTE 626.
    Li esse tutorial que me ajudou em muito em criar um script, para que não haja problema na detecção, conexão, pois perderia muito tempo indo nesse escritorio toda vez que o modem parasse de funcionar.

    http://pastebin.com/m46b94e37

    Não sei muito de shellscript, mas fui estudando e testando.
    No meu caso ta dando certo.
    Peço pro usuário conectar o modem, ligar a maquina e pronto…
    Na inicialização ele tenta detectar e depois conectar.
    Se não da certo, ele tenta mais 4 vezes.
    Coloquei no cron de 5 em 5 minutos, e ele testa a conexão. Se ok, exit se não, ele tenta conectar denovo.

    Podem usar e modificar a vontade. Qualquer dica sobre o script é bem vinda.

  14. [gus@pará ~]#_ » Blog Archive » ZTE MF 100 + Script para detecção e conexão Says:

    [...] as informações do Luiz Sanches consegui configurar e fazer o compartilhamento, mas isso foi o de menos. Todo dia pela manhã o [...]

Leave a Reply