Configurando Sony Ericsson MD300 no Ubuntu

Algum tempo antes de me mudar pro Rio eu fiz um plano de internet 3G da Claro e acabei comprando o modem da Sony Ericsson modelo MD300, na loja mesmo testei no notebook deles e tudo funcionou como eu esperava, velocidade nota 10 e conexão estável, até hoje não tive problemas, a não ser é claro a compatibilidade do modem com o Ubuntu.

Sempre vi muita gente usando 3G no Mac e em Linux com o modem da Huawei – aquele branquinho clássico – e logo pensei: “Vou comprar um desses”. Mas não tinha este modelo disponível no dia em que comprei. Então os problemas começaram, o MD300, ao ser plugado no usb com o Ubuntu é montado como pen drive e não como modem, afinal de contas ele também é um pen drive. Mas este não é um si o problema, se vai montar como pen drive tanto faz, isso não tem problema, desde que também seja montado como dispositivo de modem, mas isso não acontece.

Pesquisei de todas as formas possíveis por algumas semanas e não encontrei nada que realmente fosse funcional. Tentei ndiswrapper, tentei iniciar uma VM com windows pra conectar o modem e fazer um proxy pro linux, tentei configurar o wvdial, tentei promessa, simpatia e raza braba mas nada fazia o bendito modem funcionar.

Até que achei há alguns dias no blog do Petry uma solução que ele usou e funcionou. Fiz a mesma coisa e não funcionou de cara pra mim, tive que fazer algumas coisas diferentes, então por isso vou descrever os passos da solução do Petry com o que eu tive que fazer a mais.

O primeiro e mais importante passo é dizer ao udev como montar o dispositivo corretamente, para isso crie uma regra conforme abaixo. Lembre-se que o nome do arquivo criado deve ser exatamente igual ao exemplo, inclusive o seu conteúdo, nada diferente.

jeveaux@keltir ~ $ sudo vi /etc/udev/rules.d/50-md300modem.rules

Copie o conteúdo abaixo neste arquivo (tome cuidado com as aspas simples e duplas ao copiar e colar, sugiro conferir pra ver se elas foram transportadas corretamente depois de colar, comigo geralmente elas ficam como ´ ao invés de ‘)

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"

Feito isso vamos reiniciar o udev

jeveaux@keltir ~ $ sudo /etc/init.d/udev restart

E na seqüência vamos instalar o gnome-ppp e wvdial

jeveaux@keltir ~ $ sudo apt-get -y install gnome-ppp wvdial

E agora vamos editar o .wvdial.conf do home do usuário (mais uma vez cuidado com as aspas, mesmo problema da regra do udev que citei acima)

jeveaux@keltir ~ $ vi .wvdial.conf

E então vamos colar este conteúdo no arquivo:

[Dialer Defaults]
Modem = /dev/ttyACM0
ISDN = off
Modem Type = USB Modem
Baud = 460800
Init = ATZ
Init2 = AT+CFUN=1
Init3 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init4 = AT+CGDCONT=1,"IP","bandalarga.claro.com.br"
Init5 =
Init6 =
Init7 =
Init8 =
Init9 =
Phone = *99***1#
Phone1 =
Phone2 =
Phone3 =
Phone4 =
Dial Prefix =
Dial Attempts = 1
Dial Command = ATM1L3DT
Ask Password = off
Password = claro
Username = claro
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
;Minimize = off
;Dock = off
;Do NOT edit this file by hand!

Agora basta plugar o modem, iniciar o gnome-ppp e conectar-se. Você pode fazer isso diretamente pelo console com o comando gnome-ppp ou através do menu Applications > Internet > gnome ppp.

Basicamente até aqui é o mesmo passo a passo descrito no blog do Petry, porém comigo, ao terminar estes passos a conexão simplesmente não era mantida. Mandava conectar, discava, conectava e caía. Para resolver este problema fiz os próximos passos. Não sou exatamente um expert em linux, então não sei explicar exatamente o porquê destes passos, mas foram eles que fizeram o meu gnome-ppp funcionar corretamente.

Aparentemente alguma coisa sobrenatural estava fazendo meu gnome-ppp carregar o arquivo /etc/wvdial.conf ao invés do ~/.wvdial.conf, então precisei colar o conteúdo do ~/.wvdial.conf no /etc/wvdial.conf também.

Depois disso me conectei diretamente com o wvdial.

jeveaux@keltir ~ $ wvdial

Aí sim a conexão foi realizada com sucesso e não caiu. Depois disso fechei o wvdial e voltei a usar o gnome-ppp, que não caiu nenhuma vez depois disso.

Agora é esperar o Ubuntu 8.10, pois segundo as informações no site o network-manager virá com suporte integrado a conexão 3G (GSM e CDMA). Tomara que não precise mais dessa lenga lenga.