Configurando modem MF622 da Claro no Free BSD 8.0 e Open BSD 4.7
Autor: Ismael Oliveira | Publicado: 2012-06-23T05:24:00-07:00

Neste artigo mostro como configurar, no FreeBSD 8.0 e OpenBSD 4.7, o modem 3G da Claro MF622 para uso dos sistemas operacionais como desktop.

Introdução
Embora há muito tempo a configuração deste modem tenha deixado de ser problema no Linux, não fui capaz de encontrar uma só informação sobre a configuração deste no FreeBSD 8.0 e no OpenBSD 4.7.

Após muito procurar na rede como configurar o modem 3G MF622 da Claro sem sucesso, resolvi eu próprio configurá-lo por tentativa e erro, usando as informações que coletei ao longo das minhas buscas em diversos sítios, estudando man pages, lendo postagens em fóruns.

Após algumas semanas de fracassos e frustrações, os esforços foram recompensados. Meu desejo é de que este artigo contribua para que mais pessoas usem estes sistemas operacionais.

Não sou um expert no mundo BSD, ao contrário. Receberei com prazer quaisquer comentários e críticas que concorram para o meu aprendizado. Em ambos os sistemas operacionais foi usado neste artigo o kernel genérico, num sistema recém instalado, sem compilações de qualquer sorte.

Modem MF622 da Claro no FreeBSD 8.0
1) Modem MF622 da Claro no FreeBSD 8.0 (PCBSD 8.0 também):

Os passos que seguem devem ser feitos sempre como superusuário.

a) Crie e adicione os servidores de nome no arquivo resolv.conf:

Digite:

# vim /etc/resolv.conf

e inclua os servidores de nome no arquivo. Se não souber quais são os servidores de nome da Claro, adicione os servidores de nome do OpenDNS (que foi o que eu fiz e sugiro que você assim também proceda), de modo que o arquivo ficará com a seguinte aparência:&nbsp;Citação:
nameserver 208.67.222.222
nameserver 208.67.220.220
b) Adicione no arquivo loader.conf o módulo ucom, para que o modem possa ser reconhecido pelo sistema.Digite:# vim /boot/loader.confe adicione ao final do arquivo a linha:Citação:
enable_ucom="YES"
c) Para ter certeza que seu sistema aceita tráfego pelas interfaces, acrescente o seguinte comando no arquivo sysctl.conf:# vim /etc/sysctl.confe escreva nele:&nbsp;Citação:
net.inet.ip.forwarding=1
d) Agora vem a parte mais importante. Configurar o arquivo ppp.conf. A dificuldade está em determinar em que porta se encontra o modem USB.No FreeBSD o modem usb é reconhecido nas portas /dev/cuaU? ou nas /dev/ttyU?. Fiz a busca em 3 notebooks diferentes e, em todos eles, a porta encontrada foi a /dev/cuaU0.2. A porta correta pode ser encontrada deste modo:# cu -l /dev/cuaU0.0
ou
/dev/cuaU0.1Se a porta escolhida for a correta, aparecerá a palavra connected, se for a errada, link down. Quando o utilitário responder connected, digite ATI e deverá aparecer o nome do modem. Para sair do utilitário digite ~. (til e ponto). No meu exemplo, aconteceu deste modo:# cu -l /dev/cuaU0.2
Connected# ATI
Manufacturer: ZTE INCORPORATED
Model: MF622
Revision: CLAP671M3V1.0.0B02 CLAP671M3V1.0.0B05 1 [Jan 28 2008 16:00:00]
IMEI: 3565450184571
+GCAP: +CGSM, +DS, +ES
OK
# ~.
[EOT]Uma vez encontrada a porta correta, vá no arquivo ppp.conf e modifique-o:
# vim /etc/ppp/ppp.confe faça as edições necessárias de modo que o arquivo tenha a seguinte aparência:Citação:
#############################################
# PPP Sample Configuration File
# Originally written by Toshiharu OHNO
# Simplified 5/14/1999 by&nbsp;wself@cdrom.com
#
# See /usr/share/examples/ppp/ for some examples
#
# $FreeBSD: src/etc/ppp/ppp.conf,v 1.11.2.1.2.1 2009/10/25 01:10:29 kensmith Exp $
#############################################

default:
set log Phase Chat LCP IPCP CCP tun command
ident user-ppp VERSION (built COMPILATIONDATE)

# Ensure that "device" references the correct serial port
# for your modem. (cuau0 = COM1, cuau1 = COM2)
#
set device /dev/cuaU0.2

set speed 115200
set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
\"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT"
set timeout 180&nbsp;# 3 minute idle timer (the default)
#
# edit the next three lines and replace the items in caps with
# the values which have been assigned by your ISP.
#

set phone "*99#"
set authname "claro"
set authkey "claro"

set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
add default HISADDR&nbsp;# Add a (sticky) default route
enable dns
allow users
Este arquivo é muito importante e é muito fácil de cometer erros nele. Se você não mantiver a endentação correta, erros ocorrerão! Aconselho você salvar o arquivo ppp.conf original com outro nome, de modo a poder recuperá-lo se algo der errado na edição, e tentar novamente.e) Desligue o computador e se o seu modem ainda não estiver na porta usb, coloque-o lá.Digite:
# shutdown -h nownão faça um reboot, desligue!f) Após desligar o computador, torne a ligá-lo. Registre-se como superusuário, cruze os dedos e digite:# ppp -ddial defaultDeve aparecer o seguinte na tela:&nbsp;Citação:
Loading /lib/libalias_cuseeme.so
Loading /lib/libalias_ftp.so
Loading /lib/libalias_irc.so
Loading /lib/libalias_nbt.so
Loading /lib/libalias_pptp.so
Loading /lib/libalias_skinny.so
Loading /lib/libalias_smedia.so
Working in ddial mode
Using interface: tun0
Se este for o caso, devemos estar conectados à internet. Faça o teste digitando:# ping&nbsp;&nbsp;www.hacker-arsenal.blogspot.come veja os pacotes sendo transmitidos...g) Atenção!!! Se você está usando o FreeBSD 8.0 RELEASE de 64 bits: no passo b, acrescente também a linha:&nbsp;Citação:
u3g_load="YES"
Por alguma razão este módulo não está no kernel, diferentemente do da versão de 32 bits.h) Lembretes finais: a velocidade de 115200 é apenas para teste. Se a conexão for bem sucedida, você deve configurar a o arquivo ppp.conf para velocidades adequadas ao seu caso. Por exemplo, a velocidade que utilizo no arquivo ppp.conf do meu notebook é de 460800.Caso você não tenha conseguido se conectar, verifique todos os passos cuidadosamente, em especial o d. E se ainda continuar com problemas, certifique-se que a causa não é a sua parede de fogo impedindo o tráfego. Neste caso, basta liberá-lo.&nbsp;Modem MF622 da Claro no OpenBSD 4.7No caso do OpenBSD, os passos são menos numerosos.a) O mesmo procedimento de acrescentar os servidores de nome visto acima.b) Faça como no passo c acima, para permitir tráfego entre as interfaces. Neste caso, basta editar o arquivo, removendo o sinal de comentário # no início da linha, deixando-a assim:&nbsp;Citação:
net.inet.ip.forwarding=1
c) Construir o arquivo&nbsp;ppp.conf: no OpenBSD, as portas correspondentes ao modem usb são do tipo idêntico. A exemplo do passo d, use o utilitário cu (de call UNIX) para localizar a porta do seu modem. Igualmente, nos 3 notebooks em que testei, a porta encontrada foi sempre a mesma:&nbsp;/dev/ttyU0.O arquivo, no meu caso ficou assim:&nbsp;Citação:
#############################################
# PPP Sample Configuration File
# Originally written by Toshiharu OHNO
# Simplified 5/14/1999 by&nbsp;wself@cdrom.com
#
# See /usr/share/examples/ppp/ for some examples
#
# $FreeBSD: src/etc/ppp/ppp.conf,v 1.11.2.1.2.1 2009/10/25 01:10:29 kensmith Exp $
#############################################

default:
set log Phase Chat LCP IPCP CCP tun command
ident user-ppp VERSION (built COMPILATIONDATE)

# Ensure that "device" references the correct serial port
# for your modem. (cuau0 = COM1, cuau1 = COM2)
#
set device /dev/ttyU0

set speed 115200
set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
\"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT"
set timeout 180&nbsp;# 3 minute idle timer (the default)

#
# edit the next three lines and replace the items in caps with
# the values which have been assigned by your ISP.
#

set phone "*99#"
set authname "claro"
set authkey "claro"

set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
add default HISADDR&nbsp;# Add a (sticky) default route
enable dns
allow users
Repare que a única diferença foi na linha set device&nbsp;/dev/ttyU0. Não é necessário configurar todos aqueles outros arquivos como&nbsp;/etc/ppp/peers/chat,/etc/ppp/pap-secrets, /etc/ppp/chap-secrets etc.&nbsp;Apenas o singelo&nbsp;/etc/ppp.conf.

d) Basta desligar o computador e, ao religá-lo, registre-se como superusuário e digite:

# ppp -ddial default

No meu caso, apareceu o seguinte aviso, após eu teclar enter:

usbsa0: this device is using CDC notify message in intr pipe.
Please send your dmesg to &lt;&nbsp;bug@openbsd.org&gt;, thanks.
usbsa0: intr buffer 0xa1 0x20 0x0 0x0 0x0 0x0 0x2
usbsa0: notify serial state len=2, data=0x03

Se este for o caso, ignore o aviso e teste a conexão digitando:

# ping&nbsp;www.hacker-arsenal.blogspot.com
e veja os pacotes sendo transmitidos...

Observação:&nbsp;Embora não tenha sido testado no openBSD 4.7 na arquitetura amd64, creio que o procedimento seja o mesmo.
Agradecimentos: WorldHacker