Índice das dicas

Instalando o modem PC-Tel PCI (HSP,Micromodem) no Kernel 2.6

Por Carlos E. Morimoto em 13 de abril de 2006 às 15h14

0
O driver para modems Pctel PCI (HSP, Micromodem) foi portado para o Kernel 2.6 apenas em agosto de 2005. Ele pode ser baixado no:
Enquanto escrevo, a versão mais atual é o arquivo: pctel-0.9.7-9-rht-4c.tar.gz.
Para instalá-lo, baixe, descompacte o arquivo e acesse a pasta pctel-0.9.7-9-rht-4/src/ e rode o comando "./configure -manual", como root:

$ tar -zxvf pctel-0.9.7-9-rht-4.tar.gz
$ cd pctel-0.9.7-9-rht-4/src/
$ su
# ./configure -manual

O instalador pergunta o chipset para o qual será gerado o módulo, responda "pct789", que é o usado no PC-Tel Micromodem. Os outros módulos ainda não funcionam no Kernel 2.6 nesta versão do driver, se você tem um Pc-Tel onboard numa M748 por exemplo, que usa a opção cm8738, vai precisar esperar mais um pouco. Os outros tipos são atendidos pelo driver da Smartlink, por isso talvez nunca sejam portados.

please enter your hal type
choose one of: pct789, cm8738, i8xx, sis, via686a
hal type: pct789

Falta agora apenas compilar o módulo e concluir a instalação, usando os comandos make e make install. Como de praxe, você precisa ter os headers do Kernel e um conjunto básico de compiladores para que a instalação seja bem sucedida:

# make
# make install

No meu caso, a primeira tentativa voltou um erro numa função não declarada dentro de um dos arquivos, um erro simples, que pode ser corrigido sem muita dificuldade:

make[1]: Entering directory `/usr/src/kernel-headers-2.6.11-kanotix-7'
LD /home/kurumin/tmp/pctel-0.9.7-9-rht-4/src/built-in.o
CC [M] /home/kurumin/tmp/pctel-0.9.7-9-rht-4/src/linmodem-2.6.o

pctel-0.9.7-9-rht-4/src/linmodem-2.6.c:
In function`linmodem_config_port':?
pctel-0.9.7-9-rht-4/src/linmodem-2.6.c:1004: error:
`MCA_bus'undeclared
(first use in this function)

make[2]: ** [pctel-0.9.7-9-rht-4/src/linmodem-2.6.o] Erro 1
make[1]: ** [pctel-0.9.7-9-rht-4/src] Erro 2
make[1]: Leaving directory `/usr/src/kernel-headers-2.6.11'
make: ** [all] Erro 2

Como pode ver pela mensagem de erro, o instalador está reclamando de uma função chamada "MCA_bus", dentro do arquivo "linmodem-2.6.c". Abrindo o arquivo, e usando a função de procura do editor de texto, encontrei este trecho:

#ifdef CONFIG_MCA
/*
* Don't probe for MCA ports on non-MCA machines.
*/
if (p->port.flags & UPF_BOOT_ONLYMCA && !MCA_bus)
return;
#endif

Como esta é apenas uma função de verificação, nada essencial, você pode simplesmente apagar toda a função e salvar o arquivo. Isto fez o módulo passar a compilar sem erros, instalando os arquivos "linmodem.ko", "pctel.ko" e "pctel_hw.ko" dentro da pasta "/lib/modules/2.6.11/misc/".

Para ativar o modem é necessário carregar os três módulos e criar o link "/dev/modem" apontando para o dispositivo que será criado:

modprobe linmodem
modprobe pctel country_code=33
modprobe pctel_hw

rm -f /dev/modem
ln -sf /dev/ttyS_PCTEL0 /dev/modem
chmod 666 /dev/modem

Depois é só abrir o kppp, testar o modem e tentar discar. Para que o carregamento dos módulos seja feito automaticamente durante o boot, inclua os comandos no final do arquivo "/etc/init.d/bootmisc.sh" ou "/etc/rc.d/rc.local"

Sem comentáriosPor Carlos E. Morimoto. Revisado 13 de abril de 2006 às 15h14

Comentários