Suporte a som (ALSA)
Não testei no kernel 2.6.26. Mas certamente precisa, no mínimo, das mesmas alterações de ../drivers/Makefile.
Primeiro verifica-se se tem
libasound2, geralmente sim, sem ela não funciona. Também os módulos no kernel, tanto faz built-in ou não. Lidos diretamente no /boot/config seção PCI devices, de acordo ao hardware, algo como:
CONFIG_SND_INTEL8X0M=m
CONFIG_SND_VIA82XX=m
CONFIG_SND_VIA82XX_MODEM=m
Ou pelo menuconfig:
cd /usr/src/linux (onde está o source de seu kernel)
make menuconfig (contando que o .config aqui é igual ao /boot/config, este é que vale) e vá até:
"Device Drivers" -> "Sound" -> "Advanced
Linux Sound Architecture" -> "PCI devices"
Ver se estão compilados os seguintes módulos, de acordo ao hardware: Intel i8x0/MX440; AMD768/8111; snd_via82xx_modem; snd-intel8x0m; snd-atiixp-modem;
snd-ali5451-modem. Em suma, os AC'97, MC'97 ou outro controlador de softmodem compatível. Se usar kernel fornecido pela distro, geralmente já estão. Problema ocorre mais se compilado pelo usuário ou numa distro pequena cujo desenvolvedor acha que todos têm banda larga.
Após compilar o kernel, poderá ser preciso fazer o ALSA funcionar (alsaconf, alsamixer, alsactl store etc).
Estando tudo certo com o som e descompactado o slmodem:
cd slmodem-2.9.11-20080817/modem ou drivers (parece que os desenvolvedores andaram se confundindo e já vi versões que dizem para entrar num ou noutro subdiretório, o meu funcionou no ../modem)
Para usar um source já compilado sem ALSA, faz-se "make clean" antes de começar:
make SUPPORT_ALSA=1
$ su
# make install SUPPORT_ALSA=1
Agora complica. Exemplo com chipset VIA:
# modprobe snd_via82xx_modem
# slmodemd -c BRAZIL --alsa modem:1 &
Outros modens usam modem:0; hw:0,1; hw:0,2 até 6. É mais fácil ir por tentativa e erro. Uma forma de investigar é:
# cat /proc/asound/pcm
Deve retornar algo como:
01-00: VIA 82XX modem : VIA 82XX modem : playback 1 : capture 1
00-01: VIA 8235 : VIA 8235 : playback 1 : capture 1
00-00: VIA 8235 : VIA 8235 : playback 4 : capture 1
Os primeiros quatro algarismos são determinantes.
Ocorre que os módulos para som no modem estavam blacklistados no meu Slackware Linux. Bastou comentá-los em /etc/modprobe.d/blacklist.
Tendo compilado e instalado certo, a dificuldade vai ser somente descobrir se usa modem:1, modem:0 etc. Ler a documentação do software dá alguma ajuda, embora contenha informações contraditórias, o que faz com que quase ninguém escape do tentativa-e-erro.
Quando estiver tudo certo, colocam-se os comandos, conforme a necessidade e de acordo à compilação do kernel e resposta do lsmod, no /etc/rc.local ou em outro script:
modprobe snd-via82xx (se não built in e nem carregado automaticamente)
modprobe snd-via82xx-modem (se não built in e nem carregado automaticamente)
slmodemd -c BRAZIL --alsa modem:1 &
#Ativando compressão de dados via modem, conforme o caso
modprobe bsd_comp (se compilado como módulo e não carregado automaticamente)
modprobe ppp_deflate (se compilado como módulo e não carregado automaticamente)