Claro G3 - Modem MD300 - Ubuntu

Para quem é marinheiro de Primeira viagem,

No Windows funciona normalmente após instalar o discador que vem no CD do modem.

Mas infelizmente o fabricante não oferece suporte para Linux, então, resta á fazer uma boa pesquisa.

Depois de quebrar muito a cabeça atrás de uma solução para usar o Claro 3G com o Modem MD300 da Sony Ericsson, no Ubuntu 8.04, reuni várias fontes e resolvi montar um passo-a-passo mais detalhado para quem não é muito acostumado com linux.

Graças ao poder do software Livre, em pesquisas encontrei grandes caras que tinha a solução.

Segui principalmente essas postagens de blogs e sitios.

http://laudecioliveira.org/blog/?p=70

http://gutocarvalho.net/mediawiki/index.php/Instalando_e_configurando_CLARO_3G_no_Ubuntu


http://astor.linuxmasters.info/blog/archives/41


http://www.urubatan.com.br/claro3g_linux_tutorial_101/


O Modem MD300 precisa da conexão de rádio, ativa, e um discador para efetuar a conexão, o Ubuntu reconhece ele como se fosse um Pendive e desconsidera a conexão, para corrigir isso criaremos uma regras no /etc/udev/ para alterar a identificação do modem, e editaremos o /etc/wvdial.conf, que é o discador que vem no Ubuntu, para concretizar a conexão.


Abrindo o console:

Aplicações>>Acessórios>>Consola

ou no teclado: Alt+F2 e no Executar Aplicações: gnome-terminal

Primeiro precisamos identificar os códigos de modelo e fabricante do modem


Liste todos os dispositivos USB que estão espetados na máquina

No console
lsusb

A resposta será parecida com essa
Bus 005 Device 001: ID 0000:0000
Bus 004 Device 002: ID 0fce:d0cf Sony Ericsson Mobile Communications AB
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000


identificar o código do fabricante

No console
sudo lsusb -v|grep -i vendor

localize a resposta parecida com essa:
idVendor 0x0000 idVendor 0x0fce Sony Ericsson Mobile Communications AB bInterfaceProtocol 255 Vendor specific bInterfaceProtocol 255 Vendor specific idVendor 0x0000 idVendor 0x0000 idVendor 0x0000
o que vai nos interessar é o código do fabricante "0fce"

identificar o código do modelo

No console:
sudo lsusb -v|grep -i product

a resposta será parecida com essa:
idProduct 0x0000 iProduct 2 EHCI Host Controller idProduct 0xd0cf iProduct 2 Sony Ericsson MD300 idProduct 0x0000 iProduct 2 UHCI Host Controller idProduct 0x0000 iProduct 2 UHCI Host Controller idProduct 0x0000 iProduct 2 UHCI Host Controller idProduct 0x6545 iProduct 2 DataTraveler 2.0 idProduct 0x0000 iProduct 2 UHCI Host Controller

o que nos interessar é o código do modelo "d0cf ".

Agora precisa criar uma regra para o Udev (a montagem e identificação dos dispositivos), para que monte o modem como conexão e não como pendrive, para isso vamos criar o arquivos 50-md300modem.rules em /etc/udev/rules.d/ para isso:

Utilizei o GEDIT como editor de texto mas sinta-se a vontade para utilizar o editor que se familiarize melhor.
No console execute o comando:

sudo gedit /etc/udev/rules.d/50-md300modem.rules



Copie o código abaixo (ATENÇÃO AQUI, muito cuidado com esse código, perdi muito tempo, por ter simplesmente copiado cegamente os códigos e não revisei as aspas, que quando copiadas do HTML podem ser interpretadas pelo editor de texto, ai o código não funciona como deveria, então revise o código antes de sair, reescrevendo as aspas se necessário.
Existe um link na primeira referencia mencionada no inicio, que permite fazer o download do arquivo >> http://laudecioliveira.org/blog/wp-content/uploads/2008/09/50-md300modem.rules

ACTION!=”add”, GOTO=”3G_End” BUS==”usb”, SYSFS{idProduct}==”d0cf”, SYSFS{idVendor}==”0fce”, PROGRAM=”/bin/sh -c ‘echo 3 > /sys/%p/device/bConfigurationValue’” LABEL=”3G_End”

Observe onde estão os códigos que identificamos do fabricante e modelo.


Reiniciar o UDEV, para reorganizar os dispositivos e reidentificar o modem, agora como modem e não como memória.

No console execute:

sudo /etc/init.d/udev restart

Observe que agora o modem não foi montado como drive de memoria

configuração do /etc/wvdial.conf o discador que aciona o rádio e faz a conexão propriamente dita.

No console

sudo gedit /etc/wvdial.conf

e substitua o conteudo pelo seguinte:
[Dialer Defaults]
Init1 = ATZ
Init2 = AT+CFUN=1
Init3 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init4 = AT+CGDCONT=1,”IP”,”bandalarga.claro.com.br”
Modem Type = USB Modem
Baud = 460800
New PPPD = yes
Modem = /dev/ttyACM0
ISDN = 0
Phone = *99***1#
Password = claro
Username = claro

Não esqueça de revisar as aspas

A linha Init2 = AT+CFUN=1 faz com que o rádio esteja habilitado para efetuar a conexão, pois sem ele o modem efetua o procedimento de conexão e cai logo em seguida.

Atenção:
A linha Init2 = AT+CFUN=1 o número (1) no final é que diz qual a rede que estara usando então:

Init2 = AT+CFUN=1 #
(modo automático de busca por rede)
para Init2 = AT+CFUN=6 #( forçar conectar na rede 3G)
ou Init2 = AT+CFUN=5 #( forçar conectar na rede EDGE (rede 2.5G))
No meu caso estava usando o modo automático, mas como a rede EDGE é mais forte o modem sempre iniciava pela EDGE e ficava muito lento entao troquei o nímero 1 pelo 6 e proto esta tudo 3G com a velocidade que contratei e quase sempre bem mais velocidade.

Depois disso é só efetuar a conexão com qualque discador, supondo que ainda não temos internet vamos usar o mesmo que configuramos acima o WVDIAL

No console

sudo wvdial

a resposta será essa

–> 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”,”bandalarga.claro.com.br”
AT+CGDCONT=1,”IP”,”bandalarga.claro.com.br”
OK
–> Modem initialized.
–> Sending: ATDT*99***1#
–> Waiting for carrier.
ATDT*99***1#
~[7f]}#@!}!}!} }9}#}%B#}%}(}”}’}”}”}&} } } } }%}&X*}3cD7~
CONNECT
–> Carrier detected. Waiting for prompt.
~[7f]}#@!}!}”} }9}#}%B#}%}(}”}’}”}”}&} } } } }%}&X*}3c[08]Z~
–> PPP negotiation detected.
–> Starting pppd at Fri Sep 19 15:15:02 2008
–> Pid of pppd: 7005
–> Using interface ppp0
–> pppd: ��d[08]
–> pppd: ��d[08]
–> pppd: ��d[08]
–> pppd: ��d[08]
–> pppd: ��d[08]
–> pppd: ��d[08]
–> pppd: ��d[08]
–> pppd: ��d[08]
–> pppd: ��d[08]
–> local IP address 189.92.146.211
–> pppd: ��d[08]
–> remote IP address 10.64.64.64
–> pppd: ��d[08]
–> primary DNS address 200.169.117.22
–> pppd: ��d[08]
–> secondary DNS address 200.169.119.22
–> pppd: ��d[08]



GNOME PPP
Outra opção é utilizar o discador Gnome PPP que já está nos repositórios do Ubuntu

No console
sudo aptitude install gnome-ppp

e pronto está lá: Aplicações>>Internet>>GNOME PPP

Só precisa informar o usuário, senha e o número do telefone , o mesmo que está no código do Wvdial

O usuário e senha é: claro
O número do telefone é: *99***1#


em Configurações temos três Abas na primeira configura o modem altere o tipo para Modem USB e clic em detectar:


Click botão Sequencias de Inicialização e na janela que abre coloque na ordem as linhas do init que colocamos no wvdial e ele fará os passos automáticos.

Na aba Rede não fiz nenhuma alteração, a menos que tenha um ip estático.


Na aba Opções marque o campo minimizar mostrar na área de notificação, isso vai minimizar a janela do discador e colocar um ícone no painel.

Agora é só abrir o FireFox e navegar algumas vezes ele mantem a página como offline, mas é somente ir no Menu Arquivo e desmarcar a opção Modo Offline.

Se isso acontecer muito frequente existe um comentário abaixo do post de referência http://laudecioliveira.org/blog/?p=70 que explica como mudar o código, existe dois comentários o primeiro faltou um pedaço mas o segundo está completo.

Eu particularmente não precisei fazer isso, desmarquei a primeira vez no Menu do Firefox e sempre carregou normalmente.

Nenhum comentário: