você está aqui: Home  → Arquivo de Mensagens Programação Shell Linux: Inscrições Abertas

Tim-Web no Linux - Onda MSA501HS

Colaboração: Livio Assis

Data de Publicação: 03 de maio de 2008

Depois de me convencer a comprar o TimWeb para usar no notebook e ver vários sites com o "passo-a-passo" da instalação no Linux com o modem da Huawei, fui a uma loja Tim e fiz a compra do meu mini-modem, porém não tinha o famoso modem da Huawei e sim o modem da Onda Communication MSA501HS.

Bem, pensei que seria apenas fazer uma adaptação ou pequisar no google que acharia tudo "mastigado" ...

... Vai nessa !?!?!?! ...

Este modem é novo no Brasil, foi homologado pela Anatel no começo deste ano, a assistência técnica disse que o modem não é compatível com Linux e mesmo no Google não há referência do modem MSA501HS, consegui apenas algumas referências em sites extrangeiros.

O que me restou foi "RTFM" e "Do it yourself"

Fiquei algumas semanas varrendo a Net, pegando dicas com amigos e estudandos conceitos (udev, wvdial, DNS, ppp, entre outros) para entender como a coisa funcionaria no Linux ...

Agora que fiquei "manjando" um pouco do assunto, me arrisco a escrever o passo-a-passo da instalação do modem Onda Comunication no Linux:

Minha configuração:

  • OpenSuse10.3 (i586)
  • Notebook HpCompaq Presario V6225BR
  • Onda Communication MSA501HS USB

Seguem os passos necessários para instalação:

  1. Antes de plugar o modem na porta USB, crie como root uma regra (udev) para detecção do modem como Speed Driver (modem USB) e não como mídia de armazenamento (Storage):
    cd /etc/udev/rules.d/
    sudo vi 10-onda-msa501hs.rules
    
    #---------------------------------------------------------------------------#
    ACTION!="add", GOTO="ONDA_End"
    
    # Is this the ZeroCD device?
    SUBSYSTEM=="usb", SYSFS{idProduct}=="2000",
    SYSFS{idVendor}=="19d2", GOTO="ONDA_ZeroCD"
    
    # Is this the actual modem?
    SUBSYSTEM=="usb", SYSFS{idProduct}=="0001",
    SYSFS{idVendor}=="19d2", GOTO="ONDA_Modem"
    
    LABEL="ONDA_ZeroCD"
    # This is the ZeroCD part of the card, change
    # the usb_modeswitch kernel module to the
    # right vendor e product
    RUN+="/usr/sbin/usb_modeswitch -d 1 -v 0x19d2 -p 0x2000 -V 0x19d2 -P 0x0001"
    
    LABEL="ONDA_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=0x19d2 product=0x0001",
    MODE="660", GROUP="tty"
    
    LABEL="ONDA_End"
    #---------------------------------------------------------------------------#
    
    Observações

    • Utilizei o vi para criar o arquivo acima, porém utilize o editor de sua preferência.
    • O módulo usb_modeswitch deve estar disponível em /usr/sbin/

  2. Após a criação da regra acima, plugue o modem na porta USB e aguarde 30 segundos, pois é o tempo que o modem leva para trocar de Midia de Armezanamento (storage) para Speed Driver (modem USB).

    Para verificar se está tudo ocorrendo bem, como super-usuário (root), digite o seguinte comando antes de plugar o modem na porta USB:

    sudo tail -f /var/log/messages
    

    ps: Acompanhe o log de mensagem por cerca de 30 segundos para verificar a mudança do modem (Storage para Speed Driver)

    Para verificar que o driver está configurado corretamente digite:

    ls -la /dev/ttyUSB*
    

    Deverá aparecer algo como as três entradas abaixo:
    crw-rw---- 1 root uucp 188, 0 2008-04-07 18:48 ttyUSB0
    crw-rw---- 1 root uucp 188, 1 2008-04-07 18:48 ttyUSB1
    crw-rw---- 1 root uucp 188, 2 2008-04-07 18:48 ttyUSB2
    

  3. Configuração do discador

    Crie como root o arquivo abaixo:
    sudo vi /etc/wvdial.conf
    
    [Dialer tim]
    Init2 = ATZ
    Init3 = AT+CGDCONT=1,"ip","tim.br"
    Stupid Mode = 1
    ISDN = 0
    Phone = *99***1#
    Ask Password = 0
    Modem = /dev/ttyUSB0
    Username = tim
    Dial Command = ATD
    Password = tim
    Baud = 460800
    

  4. Em seguida, basta fazer a ligação ( com o PIN do Tim-Chip DESATIVADO ):

    sudo wvdial tim
    

    E se tudo estiver OK... deverá aparecer:
    —> WvDial: Internet dialer version 1.56 (abuild@mandelbrot)
    —> Cannot get information for serial port.
    —> Initializing modem.
    —> Sending: ATZ
    ATZ
    OK
    —> Sending: ATZ
    ATZ
    OK
    —> Sending: AT+CGDCONT=1,"IP","tim.br"
    AT+CGDCONT=1,"IP","tim.br"
    OK
    —> Modem initialized.
    —> Sending: ATD*99***1#
    —> Waiting for carrier.
    ATD*99***1#
    CONNECT
    —> Carrier detected.  Starting PPP immediately.
    —> Starting pppd at Mon Apr  7 19:45:26 2008
    —> Pid of pppd: 8963
    —> Using interface ppp0
    —> local  IP address 189.65.34.194
    —> remote IP address 10.64.64.64
    —> primary   DNS address 189.40.238.6
    —> secondary DNS address 189.40.238.7
    —> Script /etc/ppp/ip-up run successful
    —> Default route Ok.
    —> Nameserver (DNS) Ok.
    —> Connected... Press Ctrl-C to disconnect
    
    Caso o DNS falhar, irá aparecer algo assim...

    DSN failed e os números do IPs não encontrados
    

  5. Substitua os DNSs no arquivo /etc/resolv.conf por algum DNS válido, eu sugiro o openDNS:

    # sudo vi /etc/resolv.conf
    
    nameserver 208.67.222.222
    nameserver 208.67.220.220
    

  6. E desabilite o modo dinâmico do DNS (ppp) em:
    sudo vi /etc/sysconfig/network/config
    MODIFY_RESOLV_CONF_DYNAMICALLY="no"
    
    Para saber mais consulte o script /etc/ppp/ip-up

    Por fim, disque novamente e pronto!

    Ao invés de usar o wvdial, a conexão pode ser feita via kppp, criando uma conta com o número *99***1#, o modem /dev/ttyUSB0 e username=tim password=tim

A partir daqui, sempre que quiser conectar à internet você deve:

  1. Ligar a placa à porta USB e aguardar os tais 30 segundos +/-...
  2. Fazer a ligação (por wvdial, kppp, ou o que preferirem...)


Veja a relação completa dos artigos de Livio Assis