Se o impedimento era só esse, a compilação deverá ocorrer sem problemas.
make
# make install
Alguns softmodems em alguns kernels ficam presos (grabbed) a outro driver. Para saber isso basta, após make install, comandar:
dmesg | grep slamr
Se a resposta incluir algo como:
slamr: device 10b9:5457 is grabbed by driver serial
ou
slamr: device 134d:2189 is grabbed by another driver
será preciso agora instalar o ungrab-winmodem-versão mais recente. Mas não é difícil: descompacta, entra no diretório, compila, instala e sobe o módulo (make && make install && modprobe ungrab-winmodem). Eu só tive esse problema com o kernel 2.6.23 ou .24, não me lembro bem. E preferi fazer upgrade do kernel.
Se não precisar do ungrab:
# modprobe slamr
# slmodemd -c BRAZIL /dev/slamr0 &
Ele dirá que criou a porta /dev/pts/2, link para /dev/ttySL0 ou algo parecido. Esse /dev/ttySL0 será usado pelo discador. Root ou o próprio programa poderá criar um link:
# ln -sf /dev/ttySL0 /dev/modem
KPPP (discador)
Numa das abas de configuração do kppp há um botão chamado Query modem, ele informará se o modem está ou não responsivo.
Kppp -- Configure... -- Modems -- New (se não criou ainda) -- OKs necessários -- Clica no nome da criatura -- Edit.. -- Modem name (batize-o) -- Modem device (escolha seu /dev/tty... ou /dev/modem) -- OK -- Edit... - Modem -- Query Modem...
Estando tudo certo, é só voltar dando OKs, configurar uma conta para a qual discar, colocar login e senha na tela inicial do Kppp e conectar.
Após o reboot
Todas as criações do modem em /dev serão perdidas e devem ser refeitas após cada boot. Primeiro verifica se o módulo foi carregado:
lsmod
Se não estiver o
slamr, deverá ser carregado a cada primeiro uso após reiniciar. O mesmo vale para
ungrab, sendo este sempre carregado primeiro. Se ocorrer do slamr ser carregado antes do ungrab, deverão ser descarregados e recarregados, na ordem certa, com:
# modprobe -r ungrab-winmodem
# modprobe -r slamr
# modprobe ungrab-winmodem
# modprobe slamr
No Slackware
Linux todos os comandos podem ser colocados no
/etc/rc.d/rc.local ou no último script de inicialização de qualquer distro:
modprobe -r ungrab-winmodem (se necessário)
modprobe -r slamr (se necessário)
modprobe ungrab-winmodem (se necessário)
modprobe slamr (se necessário)
mknod -m 600 /dev/slamr0 c 242 0
slmodemd -c BRAZIL /dev/slamr0 &
#ativando compressão de dados via modem
modprobe bsd_comp (se construído como módulo no kernel)
modprobe ppp_deflate (se construído como módulo no kernel)
Com isso o slmodemd será chamado a cada boot e bastará acionar o discador.
No diretório source do slmodem há scripts para vários tipos de distro, eles podem ser usados em vez dos aqui sugeridos.
Para qualquer distro, pode ser criado pelo root um script executável /usr/bin/script (chmod +x script) com todo o texto anterior e colocado para ser executado por todos.
Como tenho micro de usuário único, meu root não tem senha e criei
/usr/bin/modem, que processa todos os comandos e chama o Kppp:
#!/bin/bash
#
# /usr/bin/modem
#
#modprobe slamr (não preciso)
#
su -c 'mknod -m 600 /dev/slamr0 c 242 0'
su -c 'slmodemd -c BRAZIL /dev/slamr0 &'
kppp
#ativando compressão de dados via modem
#su -c 'modprobe bsd_comp'(não compilei)
#su -c 'modprobe ppp_deflate' (coloquei built in)
Esse script tem as permissões:
-rwxr-xr-x 1 root root
Com isso o modem só é ativado quando eu o chamo e não fica como um processo a mais correndo todo o tempo. Ele pode ser inclusive colocado no menu ou ter ícone na área de trabalho.