Figura
PROJETO MESSIAS
Você com menos dor de cabeça!
Figura
Página inicial
Projeto SM/
Messias
O que é?
Download
FAQ
Instalação
Projeto
Profeta
O que é?
Download
FAQ
Instalação
Mercury Messenger
Pacote DEB

Tutoriais
Outros

Contato

Valid HTML 4.01 Transitional

TUTORIAL E DRIVER SMARTLINK

Por 
Alarcon F. Carvalhedo Fernandes


Introdução

Resolvi escrever este artigo para compartilhar minhas experiências com este driver de ativação de modems para Linux chamado de Smartilink por considerá-lo um ótimo driver para quem usa conexão discada via softmodems. Considero esse um grande driver por três motivos que são eles:

- Serve para distribuições Linux que usam kernels das séries 2.4 e 2.6;
- É o driver utilizado por uma grande variedades de modems;
- É o que mais rápidamente sofre novas atualizções.

Por estes e outros motivos é que chamo este driver de "driver coringa", pois como já informado acima ele serve para inúmeros modems e portanto se o usuário não sabe qual é o seu tipo de modem é uma boa escolha começar tentando por esse driver.

Dito estas considerações iniciais sobre o driver Smartlink, passarei agora a falar sobre os passos para a instalação manual deste driver para a forma original de utilização do mesmo. Posteriormente falarei de outra forma de utilização deste driver que é para o caso de problemas em alguns sistemas e o módulo ALSA.

Passos para instalação Manual (forma Original) 

A primeira medida é fazer o download do driver da smartlink que se encontra no link abaixo:

http://linmodems.technion.ac.il/packages/smartlink/slmodem-2.9.11-20051101.tar.gz

De posse do driver abra um terminal (K > Konsole -Terminal do KDE) e descompacte o arquivo baixado no link acima:

$ tar -zxvf slmodem-2.9.11-20051101.tar.gz

Entre na pasta criada após a descompactação:

$ cd slmodem-2.9.11-20051101

Já no interior da pasta dê os comandos para a compilação:

$ make
$ su
Password: (sua senha root)
# make install

Aguarde alguns segundos para o processo de compilação terminar.

Terminado o processo anterior e ainda como root dê os comandos.

# modprobe slamr
# slmodemd --country=BRAZIL --perm=0666 /dev/slamr0

Será mostrado uma mensagem para você finalizar clicando nos botões Ctrl+C no seu teclado. Por favor faça isso para finalizar!!!

agora vamos linkar o dispositivo do modem :

# rm -f /dev/modem
# ln -sf /dev/ttySL0 /dev/modem

Finalizado o processo de compilação e ativação do modem é preciso agora editar ou criar um arquivo especial responsável por iniciar o modem no boot.

Este próximo passo é o mais complicado por que varia de distribuição para distribuição Linux. Vou falar especificamente do Kurumin, mas em outras distribuições os comandos são os mesmos e só o local de colocá-los é que muda. Por exemplo, no Conectiva, Slackware e Fedora esses comandos devem ser colocados no final do arquivo rc.local.

Com o terminal ainda aberto dê os comandos:

# echo '#!/bin/sh' >> /etc/init.d/kurumin-modem
# echo 'modprobe slamr' >> /etc/init.d/kurumin-modem
# echo 'slmodemd --country=BRAZIL --perm=0666 /dev/slamr0 &' >> /etc/init.d/kurumin-modem
# chmod +x /etc/init.d/kurumin-modem
# ln -sf /etc/init.d/ativar-modem /etc/rc5.d/S98kurumin-modem

Bem estes passos criam dois arquivos especiais , o kurumin-modem e o link para ele chamado de S98kurumin-modem, que são os responsáveis para a ativação do modem no boot, além de dar permissão de execução para o kurumin-modem é claro.

Por fim reinicie seu sistema para que as mudanças tenham efeito e configure o discador kppp conforme suas necessidades.

Passos para instalação Manual (forma ALSA) 

Antes de iniciarmos os procedimentos para esse segundo caso cabe aqui uma explicação.

Muitos usuários após seguirem fielmente os passos anteriores continuavam com seus modems sem funcionar, então resolvi ler o README do driver da Smartlink para ver se poderia encontrar algo sobre o que estaria acontecendo com estes usuários. Descobrir algo que poderia ser a solução e que era sobre um problema entre alguns modems e os respectivos módulos de som do computador destes usuários.

O texto original do README do driver da Smartlink que fala sobre isso é este:

ALSA mode
=========

ALSA has the built-in modem drivers included in 'alsa-driver' >= 1.0.2

and in Linux kernel >= 2.6.5. Currently there is 'intel8x0m' (snd-intel8x0m)
modem driver, which supports ICH based AC97 modems (MC97).
Recent 'alsa-driver' (>=1.0.8) has also support for NVidia NForce, SiS 630
(snd-intel8x0m), VIA686 (snd-via82xx-modem) and ATI IXP (snd-atiixp-modem)
based modems.

1. Configure your kernel and enable ALSA and ICH based modem support
( 'Device Drivers' -> 'Sound' -> 'Advanced Linux Sound Architecture' ->
'PCI devices' -> 'Intel i8x0/MX440; AMD768/8111 modems' ) .

2. Build and install kernel and modules as usual (make , make modules_install,
etc.). ICH modem driver modem module name is 'snd-intel8x0m'
(if was configured as module).

3. Build application 'slmodemd' with ALSA support. For this in
slmodem-2.9.x dir:

$ cd modem

$ make SUPPORT_ALSA=1

This will build 'slmodemd' with ALSA support. If compilation is failed
review Makefile (near ALSA_SUPPORT condition) and define right library
and/or CFLAGS .

Note: For above you need ALSA library and header files installed.

4. Use option '--alsa' when running 'slmodemd' and ALSA conventional
device name ('hw:0' or 'hw:1' for instance). If modem support in
the kernel was enabled as module module 'snd-intel8x0m' should be loaded.

Note: Recent version of 'alsa-lib' (>= 1.0.6) has built-in "modem" device
name support ('modem:0', 'modem:1', etc). It is recommended to use
those names with modems (mandatory with ATI IXP modems).

Note: When using ALSA modem driver you don't need to load other
modules ('slamr').

Que de forma resumida diz o seguinte: Para distribuições Linux baseadas em kernels maiores ou iguais a 2.6.5. e o ALSA maior ou igual a 1.0.8 ocorre um conflito entre o slmodemd e o ALSA, pois ambos tentam usar o modem.

Este erro só ocorre para determinados computadores e suas respectivas placas de som, onde o ALSA carrega um destes módulos de som para o modem: snd-intel8x0m ou snd-atiixp-modem.

Por este motivo é que determinados usuários tem de fazer uma compilação do driver Smartlink de uma forma diferente para que o slmodemd deixe estes módulos já citados fazerem a sua parte eliminando assim o conflito.

Depois desta pequena explicação vamos fazer os procedimentos para ativação do modem para o caso ALSA.

Inicialmente o usuário deve observar se um dos módulos já citados está presente em seu sistema, ou seja, se ele tem o snd-intel8x0m ou snd-atiixp-modem ativado no seu computador. Para isso dê o comando:

$ lsmod

Observe se nas informações mostrada aparece um dos módulos citados acima e em caso positivo os procedimentos para sua compilação e ativação serão outros.

Sendo o seu caso o do ALSA, primeira medida é fazer o download do driver da smartlink que se encontra no link abaixo:

http://linmodems.technion.ac.il/packages/smartlink/slmodem-2.9.11-20051101.tar.gz

De posse do driver abra um terminal (K > Konsole -Terminal do KDE) e descompacte o arquivo baixado no link acima:

$ tar -zxvf slmodem-2.9.11-20051101.tar.gz

Entre na pasta criada após a descompactação:

$ cd slmodem-2.9.11-20051101

Agora entre na subpasta modem da seguinte forma:

$ cd modem

Dentro desta pasta abra o arquivo Makefile do seguinte modo:

$ kwrite Makefile

Procure pela seguinte linha:

#SUPPORT_ALSA:=1

E retire o símbolo "#" que se encontra a sua esquerda para fazer com que esse passo seja executado na hora da compilação, pois do jeito que está ele será ignorado, ou seja, ele está desabilitado.

Ficaria assim:

SUPPORT_ALSA:=1

Salve e feche o arquivo. Agora volte para a pasta inicial, ou seja:

$ cd /home/kurumin/slmodem-2.9.11-20051101

Lembrando que /home/kurumin/ é onde você inicialmente descompactou seu driver baixado, portanto se foi em outro lugar mude aqui em cima ok.

Voltando a pasta slmodem-2.9.11-20051101 dê os comandos:

$ make
$ su
Password: (sua senha root)
# make install

Aguarde alguns segundos para o processo de compilação terminar.
Terminado o processo anterior e ainda como root dê os comandos.

# modprobe -r slamr
# slmodemd --country=BRAZIL --alsa --perm=0666 hw:1

Se o modulo encontrado no seu sistema for o snd-intel8x0m
Ou

# modprobe -r slamr
# slmodemd --country=BRAZIL --alsa --perm=0666 modem:0

Se o modulo encontrado no seu sistema for o snd-atiixp-modem

Será mostrado uma mensagem para você finalizar clicando nos botões Ctrl+C no seu teclado. Por favor faça isso para finalizar!!!
Agora vamos linkar o dispositivo do modem :

# rm -f /dev/modem
# ln -sf /devttySL0 /dev/modem

Finalizado o processo de compilação e ativação do modem é preciso agora editar ou criar um arquivo especial responsável por iniciar o modem no boot.

Este próximo passo é o mais complicado por que varia de distribuição para distribuição Linux. Vou falar especificamente do Kurumin, mas em outras distribuições os comandos são os mesmos e só o local de colocá-los é que muda. Por exemplo, no Conectiva, Slackware e Fedora esses comandos devem ser colocados no final do arquivo rc.local.

Com o terminal ainda aberto dê os comandos:

# echo '#!/bin/sh' >> /etc/init.d/kurumin-modem
# echo 'modprobe -r slamr' >> /etc/init.d/kurumin-modem
# echo 'slmodemd --country=BRAZIL --alsa --perm=0666 hw:1 &' >> /etc/init.d/kurumin-modem
# chmod +x /etc/init.d/kurumin-modem
# ln -sf /etc/init.d/ativar-modem /etc/rc5.d/S98kurumin-modem

Se o modulo encontrado no seu sistema for o snd-intel8x0m

Ou

# echo '#!/bin/sh' >> /etc/init.d/kurumin-modem
# echo 'modprobe -r slamr' >> /etc/init.d/kurumin-modem
# echo 'slmodemd --country=BRAZIL --alsa --perm=0666 modem:0 &' >> /etc/init.d/kurumin-modem
# chmod +x /etc/init.d/kurumin-modem
# ln -sf /etc/init.d/ativar-modem /etc/rc5.d/S98kurumin-modem

Se o modulo encontrado no seu sistema for o snd-atiixp-modem

Bem estes passos criam dois arquivos especiais , o kurumin-modem e o link para ele chamado de S98kurumin-modem, que são os responsáveis para a ativação do modem no boot, além de dar permissão de execução para o kurumin-modem é claro.

Por fim reinicie seu sistema para que as mudanças tenham efeito e configure o discador kppp conforme suas necessidades.

Ativação Automática para os dois Casos (Original e ALSA)

Bem pensando sempre em facilitar as coisas para o usuário final e ainda com poucas experiências com o Linux, eu fiz um Pacote Debian que automatiza todos esses passos para que o usuário tenha de dar apenas um comando, diminuindo assim os possíveis erros.

O Pacote Debian se chama smartlink-full-v1.deb e como o nome diz, serve para os dois caso (Original e ALSA). Baixe-o em:

http://prdownloads.sourceforge.net/projeto-messias/smartlink-full-v1.deb?download

Para instalar o Pacote abra um terminal e entre na pasta onde você colocou o pacote baixado e dê o comando:

$ sudo dpkg -i --force-all smartlink-full-v1.deb

Ele inicialmente verifica qual é o caso para cada usuário e compila o driver conforme o caso além de fazer os outros passos necessários para a ativação do modem durante o boot. Como um Plus ele também configura o kppp da maneira mais padrão possível, ou seja, que funciona em 90% dos casos criando apenas uma conta e se você tiver mais de um provedor de acesso deverá fazer as outras configurações de conta da forma manual.

A configuração do kppp durante o processo de instalação do pacote vai fazer algumas perguntas básicas para você, portanto responda corretamente e são as seguintes:
Qual o nome do usuário para onde vai ser feitas as configurações ( o kurumin é o padrão);
Qual o nome para a Conta (Geralmente o nome do seu provedor);
Qual é o número do telefone do provedor a ser discado;
Qual é o nome de usuário do provedor;
Qual a senha de acesso do provedor;
Qual o tipo de tom do seu telefone (Tom ou Pulso).

Por fim vai ser criado também em sua área de trabalho ou Desktop um ícone de um telefone em vermelho com o nome "Discador" que é o kppp (como usuário). Você deve sempre usar o kppp como usuário, por segurança, por isso criei um ícone no desktop do kppp como usuário para se evitar e escolher o kppp como root nas opções do menu K. :-)

Modems que usam o driver da Smartlink

É sempre muito complicado falar em nomes de tipos de modems por que esta questão não é bem resolvida, ou seja, não há uma uniformidade quando o assunto é o nome de identificação do modem. Vou dar um pequeno exemplo, o modem que tem estas IDs 134d:2189 é reconhecido em alguns casos, no Windows, como sendo um Intel 537EP e no Linux como sendo um HDP56 Micromodem além de ter outras denominações também. No driver da Smartlink mais recente, que passou a dá suporte para este modem PC-Tel, ele denomina este modem como sendo um HSP1688 PCI Modem.

Por esse motivo acho eu que a forma mais segura de identificação do tipo de modem são pelas suas IDs que neste caso são sempre as mesmas independentes do Sistema Operacional em uso ou nome dado ao modem. As IDs são compostas por duas partes de 4 dígitos cada uma, separados por 2 pontos no qual a primeira parte indica o Vendedor e a segunda parte indica o Dispositivo, ou seja, sendo xxxx:yyyy as IDs de um modem, a ID do vendedor seria xxxx e a ID do dispositivo seria yyyy.

Para saber como identificar as IDs do seu modem pelo Linux veja as informações constantes sobre o Projeto Profeta que lá mostra como obter tais informações e para finalizar segue abaixo todas as IDs dos modems suportados pelo Driver da Smarlink até o presente momento:

1022:7446 10de:01c1 10de:00d9 4005:0308 10b9:5450 10b9:5451 10b9:5457 10b9:5459 10b9:545a 1131:3400 10ec:8197 1055:9178 1039:7013 1039:7018 1106:3068 8086:2416 8086:2426 8086:2446 8086:2486 8086:24c6 8086:24d6 8086:7196 2000:2800 163c:3052 10a5:3052 2003:8800 163c:5459 10a5:5459 1002:434d 134d:2189

Artigo escrito por Alarcon F. C. Fernandes

Usuário Kurumin Linux

Document made with Nvu Júlio César Bessa Monqueiro - Alarcon Fernandes
Ícones Nuvola por David Vignoni (david@icon-king.com)
2005 © Todos os direitos reservados