FUG-BR / Grupo Brasileiro de Usuarios de FreeBSD - Configurando e usando MSM (VIVOZAP) no FreeBSD / PC-BSD.
 
08.07  
Inicio arrow Artigos arrow Configurando e usando MSM (VIVOZAP) no FreeBSD / PC-BSD.
Principal
Inicio
Noticias
Artigos
Regras da Lista
Assinar a Lista
Histrico da Lista
Forum
Keyserver
PC-BSD: Artigos
PC-BSD: Notcias
Galeria de Imagens
Contador Usurios FUG
FUGs Estaduais
Downloads
Enquetes
FAQ
Resumo do Site
Links
Pesquisar
Contato
Sobre a FUG-BR
RSS / Twitter
-
DOC-BR (FUG BR)
Introduo
Projeto DOC-BR
Handbook
FAQ Oficial
-
+ Noticias
Alertas de Seguranca
Alertas em Ports
BSD em Geral
DaemonNews (Ingles)
MyFreeBSD
Todas Categorias
-
Login
Nome de Usurio

Senha

Lembrar login
Esqueceu sua senha?
Sem conta? Crie uma


Configurando e usando MSM (VIVOZAP) no FreeBSD / PC-BSD. PDF Imprimir E-mail
Por P. Tracanelli (FreeBSD Brasil)   
02/08/2007

Kyocera EVDO (Qualcomm3)Recentemente um familiar, usuário de PC-BSD em seu laptop adquiriu um serviço com a operadora de telefonia Vivo. Não pouco feliz com o fato de ter na família um usuário de BSD como Desktop, com mais de 50 anos de idade e completamente alheio à tecnologia, a não ser no quesito "usuário final", fui compelido (intimado) a configurar o tal VivoZap no laptop em questão, e como se não bastasse, quis compartilhar com seus outros amigos de trabalho, durante o almoço. Então além de fazer o PC-BSD atuar como servidor DHCP, o primeiro detalhe ainda tinha que ser estudado.

Pois bem, segue então as instruções necessárias para configurar e usar MSM em seu FreeBSD/PC-BSD, conseguindo de fato algo realmente próximo de mobilidade de dados em seu laptop, sem depender de GPRS ou estar perto de uma zona WiFi. Para seguir essas instruções no PC-BSD, o primeiro passo é sincronizar os fontes, com csup -g -L 2 -h cvsup2.freebsd.org /usr/share/examples/cvsup/stable-supfile. Todas as outras instruções são exatamente iguais, para FreeBSD e PC-BSD.

Leia o artigo completo para configurar e usar MSM (VIVOZAP) no FreeBSD.

Configurando e usando MSM (VIVOZAP) no FreeBSD.

Vivozap é uma implementação de uma tecnologia intríseca a tecnologia CDMA, chamada MSM (Mobile Station Modem). O MSM essencialmente faz a modulação da informação analógica, recebida pela tecnologia móvel CDMA, comum a aparelhos celulares da VIVO, a maior operadora CDMA do país. Assim sendo, a tecnologia MSM no país ficou conhecida pelo nome comercial que a VIVO deu à seu produto, Vivo Zap.

Todavia, as instruções aqui dispostas podem ser utilizadas na configuração de MSM de forma geral, com pequenas modificações noa configuração do ppp.

Note que é importante esclarecer algumas considerações técnicas e comerciais sobre a abordagem da tecnologia MSM. De acordo com a Vivo, o produto Vivo Zap 3G trabalha com velocidades de 2.4Mbps. De fato essa taxa pode ser alcançada com alguns produtos MSM, da Qualcomm e também os AirPrime, usados por operadoras como a Verizon. Todavia, as taxas mais comuns dos aparelhos chegam no máximo a 500Kbit/s, e é com essa taxa máxima que você deve contar normalmente, especialmente se utilizar produtos Qualcomm.

Descobrindo qual seu modem MSM.

Para saber qual device você tem em mãos, utilize o usbdevs com o argumento -v:

usbdevs -v

Você encontrará uma linha similar a essa:

addr 126: full speed, power 100 mA, config 1, Qualcomm CDMA MSM Modem (0x17da), Qualcomm(0x0c88), rev 0.01

Observe com especial atenção os valores em hexadecimal, o primeiro valor representa o identificador do produto, enquanto o segundo representa o fabricante do produto.

Adicionando suporte ao seu MSM no FreeBSD

Dave Andersen portou do NetBSD para FreeBSD o driver para o modem MSM AirPrime PC5220, e as instruções de configuração desse, podem ser observada na página de Andersen, em:

http://www.cs.cmu.edu/~dga/dot/fbsd_pc5220/

Essa placa contudo não é muito comum no Brasil. Felizmente contudo, as instruções de controle desse driver são compatíveis com qualquer modem MSM, incluindo o que você provavelmente dispõe em mãos. Bastam modificações acerca dos identificadores (em hexadecimal) do fabricante (vendo) e do produto, adquiridos anteriormente na saída do usbdevs -v.

# cd /usr/src/sys/dev/usb/
# fetch http://www.cs.cmu.edu/~dga/dot/fbsd_pc5220/ugencom.c

Edite esse fonte, e na linha 183 do arquivo, edite-a, substituindo USB_VENDOR_AIRPRIME, USB_PRODUCT_AIRPRIME_PC5220, -1 por USB_VENDOR_QUALCOMM3, USB_PRODUCT_QUALCOMM3_CDMA_MSM, -1

O bloco ficará similar a:

ugencom_products [] = {
/* Evil hack! */
// { USB_VENDOR_AIRPRIME, USB_PRODUCT_AIRPRIME_PC5220, -1 },
{ USB_VENDOR_QUALCOMM3, USB_PRODUCT_QUALCOMM3_CDMA_MSM, -1 },

{ 0, 0 }
};

Agora edite o arquivo /usr/src/sys/dev/usb/usbdevs e ao final do arquivo crie um novo bloco de entradas como esse:

vendor QUALCOMM3 Qualcomm
product QUALCOMM3 CDMA_MSM CDMA Technologies MSM modem

Adeque essas entradas aos valores observados anteriormente pela saída do usbdevs -v. Por organização, adicione um comentário adequado à essa entrada, tal qual a entrada anterior. O final do seu arquivo ficará similar a:

/* Kyocera KPC650 & Qualcomm3 MMS Modems */
vendor QUALCOMM3 0x0c88 Qualcomm
product QUALCOMM3 CDMA_MSM 0x17da CDMA Technologies MSM modem

Informe o FreeBSD que o novo arquivo faz parte do kernel

Como indicado na página de Dave Andersen, liste o novo arquivo como parte do kernel, editando o arquivo /usr/src/sys/conf/files, e por volta da linha 1017, antes da entrada urio e após uplcom adicione a entrada apontando para o novo arquivo. O trecho da modificação ficará assim:

dev/usb/ums.c optional ums
dev/usb/uplcom.c optional uplcom ucom
dev/usb/ugencom.c optional ugencom ucom
dev/usb/urio.c optional urio

Se preferir use o pequeno patch provido por Andersen no site mencionado.

Recompile seu kernel

Edite seu arquivo de configuração de kernel, em /usr/src/sys//conf/, e nele, e nele adicione as entradas:

device ucom
device ugencom

Por exemplo:

echo "device ucom" >> /usr/src/sys/i386/conf/MK
echo "device ugencom" >> /usr/src/sys/i386/conf/MK

E recompile seu kernel:

cd /usr/src
make buildkernel KERNCONF=MK
make installkernel KERNCONF=MK

No próximo boot você poderá observar o dispositivo no probing do kernel, se ele estiver plugado durante o boot. Se não estiver, ao plugar, ele será reconhecido como dispositivo USB (apesar de ser PCMCIA). O dispositivo de controle será /dev/cuaU0 (primeiro USB serial, caso esse seja o único USB serial, se não for o único, o device será /dev/cuaU1 ou similar).

Configurando e iniciando a conexão MSM (VivoZap)

A conexão deve ser estabelecida usando protocolo ppp, então edite o /etc/ppp/ppp.conf e adicione:

vivozap:
set device /dev/cuaU0
set speed 230400
set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
\"\" AT OK-AT-OK ATE1Q0s7=60 OK \\dATDT\\T TIMEOUT 40 CONNECT"
set phone "#777"
set authname "@vivozap.com.br"
set authkey ""
set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
add default HISADDR
enable dns

Note que é importante manter set phone "#777". Com isso o ppp enviará OK "ATDT#777" no chat de negociação com a outra ponta. Se omitir, use OK "ATDT#777" no chat do ppp.conf(5) via set dial.

Outra consideração fundamental: caso não tenha costume de usar ppp no FreeBSD note que todas as entradas após o label da conexão ppp (nesse caso o label) é vivozap: tem um espaço. Portanto vivozap: no ppp.conf(5) não tem espaço algum no início da linha e todas as outras entradas tem.

Conectando-se manualmente

A partir desse momento gasta digitar, na mão

ppp -ddial vivozap

Ou se preferir, entre no console ppp com o comando ppp

# ppp
Working in interactive mode
Using interface: tun0
ppp ON claire> dial vivozap

Conectando-se automaticamente

Caso deseje iniciar a conexão MMS de seu laptop automaticamente após o boot, sempre que precisar se conectar (por demanda) configure o /etc/rc.conf iniciando o ppp em modo "demand dial", adicionando:

ppp_enable="YES"
ppp_mode="ddial"
ppp_profile="vivozap"

Finalmente, se por algum motivo quiser servir (compartilhar) a conexão com mais alguma estação, configure o modo nat builtin do ppp também:
ppp_nat="YES"

Considerações finais

Lembre-se, essa configuração servirá tanto para os dispositivos PCMCIA da Qualcomm quantos Kyocera (que usam o chipset da Qualcomm), que de fato são os mais comuns. Se você suepeitar que a operadora ofereça mais velocidade de transmissão, reajuste a taxa de comunicação serial modificando o parâmetro

set speed XXX

do ppp.conf(5). Apenas tenha em mente que o valor da velocidade deve ser sempre múltiplo de 115200. No exemplo estamos usando 115200*2.

Boa sorte.

Comentrios
comentrio
Por Guilherme em 03/08/2007 08:25:54
Parabns, muito bom e muito bem explicado
Por Daniel Bristot em 03/08/2007 11:53:33
o0 boa
FUNCIONA!
Por Evandro Arejo em 04/08/2007 14:07:24
segui o passo-a-passo e coloquei no FreeBSD 
to escrevendo agora esse post direto do vivozap3g 
muito bom agradeco demais pelo texto ai de cima veio bem a acalhar 
mas o meu usbdevs -v nao funfou antes dos patch nao so apareceu depois mas eram os mesmo coisin hexadecimal ai entao funcionou acho que deve ser o mesmo em toda plaquinha que a vivo vende  
muito bom de novo e obrigado pelo how to bem dito seja o vo ou pai ou seja la quem for q usa pcbsd e mandou voce por vivozap hahaha
hahahahaha =)
Por P. Tracanelli em 06/08/2007 15:53:01
otimo, valeu o feedback, fico feliz que mais um fique online de MSM; eu pensaria eu mesmo em ter um MSM ou TIM Web ou qualquer coisa q o valha, pra mobilidade, se tivesse um laptop com mais de 3 horas de bateria hehe; uma pena q "mobilidade" tenha pouca autonomia... 
o parente era tio... =P
tim web
Por Igor Tanigushi em 03/11/2007 00:19:05
O mesmo funciona em tim web placa gc 86 ericsson pcmcia? 
otima materia, tem muita gente que sofre com isso... 
abraos
vivo zap lento
Por edivan em 08/11/2007 13:09:06
ola!! tenho um servico vivo zap e nao estou nem um pouco satisfeito. pois a conexao esta proxima de uma linha discada, no maximo a 90kbps, e downloads de no max. 17kbps, minha conexao e feita atraves de um nokia 6265 black que suporta o servico zap. porque isso acontesse? existe alguma configurao que melhore isso, desde ja agradeo!!!!!


Comente!*
Nome:
E-mail
Homepage
Ttulo:
Comentrio:

Cdigo:* Code

ltima Atualizao ( 08/08/2007 )
 
< Anterior   Prximo >
FUG-BR - Espalhando BSD
Dicas Rpidas:
O portsclean(1) é uma ferramenta que limpa todo o diretório work/ do ports(7). Além de liberar espaço em disco ele é capaz de remover arquivos antigos que não possuem referência no /usr/ports/distfiles.

#portsclean -C
Limpa o diretorio work/

#portsclean -D

Limpa o diretorio distfiles/

#portsclean -i
Modo interativo, pergunta se você quer remover o arquivo

Recomendado
#portsclean -CDi
 






Wallpapers
Sua Opiniao
Online:
Ns temos 19 visitantes online


Devil Store - Sua loja BSD
FreeBSD Brasil LTDA

FUG-BR: Desde 1999, espalhando BSD pelo Brasil.