Softmodems no Kernel 2.6

Por:

Do Kernel 2.4 para o 2.6 aconteceram uma série de mudanças, que tornaram os drivers desenvolvidos para a série 2.4 incompatíveis com a nova versão.

O trabalho de conversão não é assim tão complicado, mas como estes são drivers proprietários, ficamos dependendo da boa vontade dos fabricantes em disponibilizarem versões atualizadas. Nos primeiros meses praticamente não haviam drivers de modems para o Kernel 2.6, mas hoje em dia a situação já é bem mais confortável.

O melhor lugar para baixar as versões atualizadas é o:

http://linmodems.technion.ac.il/packages/

A partir do Kurumin 4.0, já estou utilizando o Kernel 2.6 e as novas versões dos drivers. Você pode usa-lo para testar a compatibilidade com o seu modem antes de tentar instalá-lo em outras distribuições.

Os drivers da Smartlink foram os primeiros a serem portados. As versões recentes (do driver slmodem) compilam tanto no Kernel 2.4 quanto no 2.6. Logo depois vieram os drivers atualizados para modems Conexant HCF e HSF (disponíveis no http://www.linuxant.com) que também funcionam perfeitamente em ambas as versões.

No caso dos drivers da Intel, já estão disponíveis os drivers para modems 537 e 537EP, os arquivos:

http://linmodems.technion.ac.il/packages/Intel/537/intel-537-2.60.80.0.tgz
http://linmodems.technion.ac.il/packages/Intel/537/intel-537EP-2.60.80.0.tgz

Note que o “2.60” no nome dos arquivos indicam justamente a versão do Kernel para a qual eles foram desenvolvidos. Os passos de instalação continuam os mesmos.

Os drivers da Intel para modems 537 e 537EP possuem um pequeno problema a partir do Kernel 2.6.11 (em diante), onde o driver simplesmente não compila. Isto se aplica ao arquivo “intel-537EP-2.60.80.0“, que é a versão mais atual enquanto escrevo, isso deve ser corrigido em futuras versões do driver.

Para corrigir o problema, baixe e descompacte o arquivo, acesse a pasta que será criada e, antes de rodar os comandos “make 537” e “make install“, rode o comando:

$ sed -i -e ‘s/PM_SAVE_STATE/PM_SUSPEND_MEM/g’ coredrv/coredrv.c

Como você pode ver, ele faz uma pequena alteração no arquivo coredrv/coredrv.c, que resolve o problema. Depois disso, execute o comando “make 537” e o driver compilará normalmente.

Esta mesma dica serve também para o 536ep, o driver para os modems mais antigos, que foi o último a ser atualizado. Ele está disponível no:

http://linmodems.technion.ac.il/packages/Intel/536/intel-536EP-2.56.76.0.tgz

Por outro lado, ainda não saíram os drivers para modems 536 e Han antigos, assim como para os 537AA e 537EA, que são menos comuns. Estes ainda continuam funcionando apenas no Kernel 2.4.

O antigo driver para modems Lucent e Agere também já foi atualizado e pode ser baixado no http://linmodems.technion.ac.il/packages/ltmodem/kernel-2.6/

A versão atual do driver da Smartlink (slmodem) trabalha de uma forma um pouco diferente das antigas. Ao instalar, além dos módulos do kernel, copiados para a pasta /lib/modules/2.x.x/extra, é instalado um aplicativo de gerenciamento, o /usr/sbin/slmodemd, que cria uma pasta de logs, a /var/lib/slmodem.

Estes são os passos executados pelo ícone mágico do Kurumin, que mostram os passos para ativar o driver manualmente caso necessário:

A: Criar os dispositivos:

# mknod -m 600 /dev/slamr0 c 212 0 ; mknod -m 600 /dev/slamr1 c 212 1 ; mknod -m 600 /dev/slamr2 c 212 2 ; mknod -m 600/dev/slamr3 c 212 3

B: Carregar o módulo do modem:

# modprobe slamr

C: Ativar o slmodemd. Ele precisa ficar ativo, ao fechá-lo o modem deixa de funcionar, por isso o executamos incluindo o “&”:

# /usr/sbin/slmodemd –country=USA /dev/slamr0 &

D: Ao abrir o slmodemd é criado o dispositivo /dev/ttySL0. Crie o link /dev/modem apontando para ele:

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

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X