Instalando softmodems Conexant no Linux

Os modems Conexant também são bem suportados, talvez os melhores Linmodems atualmente. Eles podem ser encontrados tanto em versão PCI, quanto onboard em alguns modelos de placas da PC-Chips, ECS e alguns outros fabricantes e também em alguns dos Desknotes da linha E-Budye.

Estes drivers são “semi-abertos”, a Conexant disponibilizou um módulo binário, que controla as funções básicas do modem e o restante do driver passou a ser desenvolvido pela comunidade, de modo que a parte open-source é independente da parte proprietária.

A página do projeto é:

https://www.linuxant.com/drivers

Na página estão disponíveis dois drivers diferentes: HCF (controlerless) e HSF (softmodem). Os modems HSF são os “legítimos” softmodems, que servem apenas como uma interface com a linha telefônica, ao contrário dos HCF que ainda fazem a modulação dos dados e outras funções.

Os modems Conexant HSF (softmodem) são de longe os mais comuns, por serem mais simples e baratos. Pra ser sincero nunca vi um HCF à venda em lugar nenhum, por isso não vou aborda-los aqui, já que o processo de instalação é basicamente o mesmo dos HSF.

Na dúvida, você pode descobrir rapidamente o modelo do seu modem rodando o comando “lspci” (como root). Veja o que veio na sexta linha quando rodei no meu micro:

00:05.0 Communication controller: Conexant HSF 56k HSFi Modem (rev 01)

Na página de download você encontrará pacotes RPM prontos para o Mandrake, Red Hat e SuSe. Lembre-se que estes drivers são “amarrados” a uma versão específica do Kernel. Antes de baixar, rode o comando “uname -a” para verificar qual é a versão do Kernel da sua máquina e baixe o arquivo apropriado.

Na minha máquina (Mandrake 9.1) o “uname -a” retorna:

Linux localhost 2.4.21-0.13mdk #1

Então cliquei no link com os drivers para o Mandrake e baixei o arquivo:

hsflinmodem-5.03.27lnxtbeta03042700k2.4.21_0.13mdk-1mdk.i586.rpm

Com o arquivo em mãos, o próximo passo é instalá-lo usando o comando “rpm -i nome_do_arquivo”. Ele instalará os módulos necessários. Para concluir a instalação, execute o comando:

# hsfconfig

(como root)

Se você baixou o arquivo correto, já será capaz de conectar normalmente usando o kppp ou outro discador.

Este é o jeito mais fácil, mas cobre apenas as distribuições mais usadas. Se você usa Slackware, Conectiva, Debian, Kurumin, etc. vai precisar apelar para o plano “b”, que é baixar o pacote com o código fonte e compilar.

O arquivo está no final da página, “Generic packages with source”. Baixe o “TAR Archive” que serve para todas as distribuições.

Enquanto escrevo a versão atual era: hsflinmodem-5.03.27lnxtbeta03042700.tar.gz

Para instalá-lo você deve descompactar o arquivo e, dentro da pasta que será criada, executar o comando:

# make install

E, em seguida (ambos os comandos como root):

# hsfconfig

Para instalar esta versão em código fonte você precisa ter instalado o conjunto de pacotes de desenvolvimento da distribuição. Apenas o GCC não basta neste caso. Os pacotes de desenvolvimento (development) podem ser marcados durante a instalação.

No Kurumin o ícone para instalar os compiladores está no Iniciar> Instalar novos programas > Utilitários > Instalar Compiladores

Você deve ter instalado também o pacote “kernel-headers” incluído no CD (na dúvida aproveite para instalar também o kernel-source).

Ao instalar o pacote kernel-headers será criada uma pasta /usr/src/kernel-headers-2.x.x (o 2.x.x é a versão do Kernel). O problema é que o script de instalação não vai direto a esta pasta, ele tenta acessar um link para ela: /lib/modules/2.x.x/build.

Se este link estiver apontando para o local errado, o script irá até a parte de seleção do país e depois abortará acusando um erro. Este problema é fácil de resolver, basta apagar o link build antigo e criar outro apontando para a pasta correta.

Acesse a pasta /lib/modules/2.x.x (lembre-se, o 2.x.x é a versão do Kernel, varia de acordo com a distribuição 🙂

Apague o link antigo:

# rm -f build

Crie o novo:

# ln -s /usr/src/kernel-headers-2.x.x build

Pronto, isto deve ser suficiente para fazer seu modem funcionar. Boa navegação 🙂

A partir da versão 2.01 o Kurumin já virá com suporte a modems Conexant HSF direto do CD. Para que funcionasse, fiz o seguinte:

Fiz uma instalação normal dos drivers com o Kurumin rodando no HD, como descrevi aí em cima. Depois de testar essa instalação, fui copiando os arquivos utilizados pelo driver para dentro do CD-ROM, consultando o script de instalação. Foi preciso copiar:

  • Os arquivos inf’s na pasta /etc/hsf/0
  • Os arquivos hsfconfig, hsffirm2bin, hsfinf2bin e hsfstop na pasta /usr/sbin
  • Osmodulos hsfali.o, hsfengine.o, hsfosspec.o, hsfvia.o, hsfbasic2.o, hsfich.o, hsfserial.o e hsfyukon.o na pasta /lib/modules/2.4.20-xfs/misc/
  • Executar o comando “depmod -a” dentro do chroot para completar a instalação dos módulos.

Você pode ver que depois de instalado o driver tem basicamente três componentes. Os arquivos inf são arquivos de configuração divididos por país e por modelo de modem. Geralmente os drivers para softmodems, como os Lucent e os Pc-Tel instalam apenas dois módulos no Kernel, um para ativar a porta serial do modem e outro para cuidar das demais funções, mas no caso do Conexant são usados 7 módulos distintos, pois na verdade este chipset teve várias versões diferentes.

O arquivo hsfconfig é o “maestro” da orquestra, é ele quem detecta o modem instalado e carrega os arquivos inf e os módulos apropriados para ele. Foi só fazer algumas alterações e o script passou a rodar pacificamente do CD, sem tentar reinstalar tudo cada vez que é executado.

O ícone no iniciar chama o hsfconfig para que o modem seja configurado e depois abre o kppp para que você possa discar.

Ver Mais