sexta-feira, 2 de março de 2012

Modem Olivetti Olicard 155 no Ubuntu 12.04

No ano passado, escrevi um tutorial de como utilizar o modem Olivetti Olicard 155 no Ubuntu 10.04.

Além do Ubuntu 10.04, instalado em meu Note, uso este mesmo modem no Ubuntu 11.04 64 bits no micro de casa, o modem dá uma congelada de alguns segundos no momento do reconhecimento, mas fora isso funciona bem.

No Ubuntu 11.10, testei as duas versões 32 e 64 bits, em ambos o casos o modem funcionou diretamente do CD do Ubuntu, sem a necessidade de alterar nada no sistema.

Bom, mas o caso é que acompanhando o desenvolvimento do Ubuntu 12. 04, que sai agora em abril, resolvi testar a versão Alpha2, que aliás está muito estável e bem acabada, o pessoal da Canonical está de parabéns, principalmente por ser uma versão de testes ainda tão nova.

Conectei o modem e aguardei alguns instantes e nada aconteceu, dei uma olhada no lsusb

$ lsusb | grep Olivetti
e o resultado foi: Bus 001 Device 007: ID 0b3c:c004 Olivetti Techcenter

O modem havia sido reconhecido corretamente, então adicionei o mesmo arquivo que utilizo no Ubuntu 10.04 e que funciona nele:

$ sudo gedit /etc/udev/rules.d/14-olicardmodules.rules

copiei e colei o texto abaixo:
SYSFS{idVendor}=="0b3c",SYSFS{idProduct}=="c004",RUN+="/sbin/modprobe usbserial vendor=0x0b3c product=0xc004"
KERNEL==”ttyUSB[23]“,ACTION==”add”,SYSFS{idVendor}==”0b3c”,SYSFS{idProduct}==”c004″,RUN+=”/bin/sleep 2″
Depois de salvo, reconectei o modem, mas mesmo assim não funcionou.

Para confirmar se o NetworkManager estava funcionando corretamente, testei com meu celular, que sempre foi reconhecido sem problemas nos Ubuntu's e o celular foi ativado como modem corretamente.

Uma conferida no Visualizador de Logs do Sistema, foi o suficiente para perceber que no momento que o arquivo da regra do udev foi salvo, o sistema levantou o seguinte erro:
unknown key 'SYSFS{idVendor}' in /etc/udev/rules.d/14-olicardmodules.rules:1

Ou seja a regra não estava sendo reconhecida, uma busca na documentação do udev resolveu o problema, a regra correta segue abaixo:

$ sudo gedit /etc/udev/rules.d/14-olicardmodules.rules

copie e cole:
ATTRS{idVendor}=="0b3c",ATTRS{idProduct}=="c004",RUN+="/sbin/modprobe usbserial vendor=0x0b3c product=0xc004"
KERNEL==”ttyUSB[23]“,ACTION==”add”,ATTRS{idVendor}==”0b3c”,ATTRS{idProduct}==”c004″,RUN+=”/bin/sleep 2″
Ao salvar o arquivo, não houve nenhum retorno de erro na regra e o modem foi ativado sem problemas.

Bom... é isto. No Ubuntu 12.04, pelo menos na versão Alpha, para utilizar o modem Olicard, temos que incluir o texto acima num arquivo de regras do udev.