Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: screenshot do Ubuntu
Por wavemmx
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Artigo

Softmodem em Linux com dois kernels
Linux user
zoby
03/11/2008
Descreve-se como adaptar o programa de softmodem da Smart Link (R) para ser usado em Linux com dois ou mais kernels da série 2.6 e dois modens. A distribuição usada foi Slackware e provavelmente o método funciona em todas. Descrita apenas a adaptação e não a instalação básica em um kernel, esta é referenciada a outros textos. Palavras-chave: modem, softmodem, Linux, Slackware.
Por: Elias Zoby | Blog: http://concordancia.webs.com
[ Hits: 3767 ]
Conceito: 10.0   2 voto(s)2 voto(s)2 voto(s)2 voto(s)2 voto(s) + quero dar nota ao artigo

Softmodem no Linux

A última versão do Slackware Linux que permitiu o uso de kernel das séries linux-2.4 e 2.6 foi a 11. A partir da 12 apenas linux-2.6.xx podem ser usados. Pode-se instalar mais de um kernel 2.6 sem maiores complicações, bastando colocar as entradas para cada um deles no boot loader.

As únicas aplicações com problemas que conheço são as que compilam seus próprios módulos de kernel, como a de softmodem. Mas é possível fazê-la funcionar nos dois kernels, até mesmo com mais de um softmodem, pelo menos se eles usarem drivers Smart Link (slmodem), e talvez com outros também.

Quando uma aplicação constrói seus módulos ela os instalará em /lib/modules/`uname -r`.

O slmodem deve ser compilado uma vez, porém instalado em diretórios temporários em cada kernel separadamente. Visto que o ../drivers/Makefile tem instruções para desinstalar versões anteriores quando do make install, não sei se é possível fazer a instalação para dois kernels sem prévio empacotamento. O uso de pacotes pré-compilados facilita em muito o controle e desinstalação dos programas, essa é a maneira que sempre uso e será descrita aqui. Neste caso os módulos (drivers) serão instalados ao mesmo tempo, não havendo posterior para desinstalar o anterior.

Quem costuma fazer o make install direto pode descrever a forma adequada de fazê-lo para dois kernels, bem como a complicada desinstalação futura em caso de perda dos códigos fontes.

Todos os kernels Linux podem ser encontrados em: Kernel.org

A compilação de slmodem e instalação em um kernel, bem como a alteração necessária para superiores a linux-2.6.24.x, pode ser vista em outros locais:
Aqui será descrita a adaptação a dois, ou mais, kernels e modens.

Instalação do slmodem

Após desempacotado e compilado o slmodem-2.9.11.aammdd (ano mês dia) com:

$ tar zxvf slmodem-2.9.11.aammdd.tar.gz && cd slmodem-2.9.11.aammdd && make

Loga-se como root e faz-se a instalação num diretório temporário:

# make install DESTDIR=/onde/quiser

É imprescindível que a partir daqui o usuário tenha direitos de root, do contrário a instalação ficará incompleta.

Reinicia o sistema com o outro kernel, entra no diretório ../slmodem-2.9.11.aammdd já compilado e repete o make install com outro destino:

# make install DESTDIR=/outro/local

Escolhe uma das instalações para ser a base, prefiro a do kernel mais novo (2.6.27). Digamos que seja /onde/quiser. Entra na outra instalação e copia o diretório com a numeração do kernel (uname -r) que está em /outro/local/lib/modules. Digamos 2.6.22. Agora entra na instalação base, abre /onde/quiser/lib/modules e cola 2.6.22. O .../modules então conterá dois subdiretórios: 2.6.22 e 2.6.27.

Volta para /onde/quiser e comanda:

# makepkg slmodem-2.9.11-aammdd-i686-2kern.tgz

Isso com Slackware, outras distribuições tem outros comandos e formatos para nomes de pacotes.

Instala o pacote pelo procedimento normal, volta ao diretório slmodem-2.9.11.aammdd e comanda:

# modprobe slamr

ou reinicia o micro após colocar os devidos comandos no rc.local (Slack), nalgum outro script que seja executado na inicialização, ou mesmo em script próprio (ZOBY 2008).

Os comandos para uso do modem e do discador são os mesmos de quando se tem apenas um kernel.

Se houver mais de um modem, cada um será identificado por número, ficando /dev/slamr0, /dev/slamr1 etc. e essa numeração entrará nos comandos mknod após reboot:

# mknod -m 600 /dev/slamr0 c 242 0
# mknod -m 600 /dev/slamr1 c 242 1


bem como na chamada do slmodemd e configuração do discador, pois um usará /ttySL0, outro ttySL1...

Para saber qual a identificação do módulo de cada modem usa-se "dmesg | grep slamr".

Exemplo da saída em minha máquina com dois modens PCI:

$ dmesg |grep slamr
slamr: module license 'Smart Link Ltd.' taints kernel.
slamr: SmartLink AMRMO modem.
slamr: probe 2000:2800 SL2800 card...
slamr 0000:00:09.0: PCI INT A -> Link[LNKB] -> GSI 10 (level,
low) -> IRQ 10
slamr: slamr0 is SL2800 card.
slamr: probe 1106:3068 VIA3058 card...
slamr 0000:00:11.6: PCI INT C -> Link[LNKC] -> GSI 5 (level,
low) -> IRQ 5
slamr 0000:00:11.6: setting latency timer to 64
slamr: mc97 codec is SIL21
slamr: slamr1 is VIA3058 card.

Nota-se que o Smart Link é slamr0 e o VIA é slamr1 (após a instalação completa do slmodem), além disso são informados os IDs e chipsets.

Os comandos detalhados e configuração do discador podem ser vistos nos artigos supra citados, inclusive para os casos em que o modem é preso (grabbed) por outro driver.

Próxima página >>




Páginas do artigo
   1. Softmodem no Linux
   2. Observações, conclusão e referências

Outros artigos deste autor

Leitura recomendada

Comentários
[1] Comentário enviado por sniper em 04/11/2008 - 11:21h:

Gostei do seu artigo os modenzinhos são legais para quebrar a cabeça tentando configurar,
mas só por isso já que com o preço da banda larga hoje nao vale a pena ficar sofrendo com a conexão discada.
Parabéns.

sniper!


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.