O modem no gnu/linux

Iniciado por nq6, 10 de Fevereiro de 2008, 12:43

tópico anterior - próximo tópico

nq6

Entendendo um pouco sobre os modem no Linux

O modem é, provavelmente, o único componente dos PCs atuais que regrediu em relação à década passada. Antigamente, usávamos os famosos hardmodems, que são modems completos, que fazem todo o trabalho de modulação e correção de erros. Eles são controlados pelo sistema operacional através de comandos AT simples, entregando de volta os dados já devidamente processados.

Configurar um hardmodem é simples, pois você precisa apenas indicar a porta usada por ele na aba "dispositivo" do kppp e discar. Embora os hardmodems estejam praticamente extintos, ainda é possível encontrar alguns modems externos, que são ligados a uma das portas seriais do micro. Estes modems custam normalmente por volta de R$ 200, mas possuem uma qualidade muito boa. Se você tiver um micro antigo, é possível ainda usar um hardmodem ISA, que (usados) são muito baratos hoje em dia.

Os softmodems começaram a se popularizar por volta de 1999, a partir do ponto em que os micros passaram a vir com processadores poderosos o suficiente para manter o modem funcionando sem que houvesse uma degradação muito grande no desempenho.

A única vantagem dos softmodems é mesmo o fato de serem mais baratos. Eles são, na verdade, apenas uma interface entre o processador e a linha telefônica, gerando o sinal analógico que é transmitido através dela. Um software de controle que faz parte do driver fica encarregado de fazer todas as demais tarefas, usando o processador como burro de carga.

O grande problema dos softmodems no Linux é justamente o fato de serem componentes muito baratos. Os fabricantes vêem os modems como uma forma de commoditie, um tipo de dispositivo barato, vendido com margem reduzida de lucro, no qual não vale a pena fazer grandes investimentos. Muitas vezes não investem sequer em resolver os problemas do driver for Windows, quanto mais em desenvolver e dar suporte para uma versão Linux.

Desenvolver um driver para um softmodem é uma tarefa complexa, pois é preciso implementar via software todas as funções que o modem propriamente dito não executa, como a modulação do sinal, correção de erros e muito mais. Para você ter uma idéia, o módulo para uma placa de rede SiS900 tem 22 kbytes, enquanto que o módulo que dá suporte ao modem Intel 537EP tem 1.5 MB, mais de 60 vezes maior.

No final, temos uma situação em que os fabricantes têm pouco interesse em desenvolver um driver e não divulgam as especificações. Poucos desenvolvedores têm interesse em encarar o hérculeo trabalho de desenvolver um driver fazendo engenharia reversa simplesmente porque não acessam via modem e, para completar, cada vez mais gente acessa via banda larga, fazendo com que a demanda por drivers seja cada vez menor.

Mesmo assim, vários modems possuem suporte no Linux. Pesquisando um pouco, você pode comprar diretamente um modem compatível, evitando muita dor de cabeça. Se você tem em mãos um modem que não possui driver, não perca tempo com ele: venda ou troque com alguém que usa Windows e compre um modem suportado. A menos que você seja um ubber-geek e pretenda escrever o driver para ele, não há o que fazer.

Conexant HCF e HSF

Existe ainda um driver para os modems Conexant HCF e HSF. O Conexant HCF é um modem PCI que foi um dos mais comuns à venda por volta do final de 2001, mas depois deixou de ser produzido, pois era mais caro que os PC-Tel e Lucent. O Conexant HSF é um modem encontrado onboard em alguns modelos de notebooks e desknotes, mas não é tão comum quanto os PC-Tel, por exemplo. Estes drivers não são incluídos no Kurumin, pois são drivers comerciais (e pagos), desenvolvidos pela Linuxant, que desenvolve os drivers e dá suporte a eles, sem apoio do fabricante. Honestamente, não acho que vale a pena pagar US$ 19 pelo driver, nem estimular o desenvolvimento de drivers pagos, mas você pode baixar a versão demo (onde a conexão fica limitada a 14.4k) ou comprar o driver completo no http://www.linuxant.com.

Existe uma versão "GPL" do driver da Linuxant disponível no http://linmodems.technion.ac.il/packages/, que não possui a limitação, mas não tenho informações conclusivas sobre seu status legal.

Os Winmodems da US Robotics não possuem suporte no Linux, são uma espécie de peso de papel de luxo. Entretanto, alguns modelos de Winmodems não usam chipset da US Robotics, mas sim um chipset da Conexant, que funciona com o driver para modems Conexant HSF.

Os modems Motorola não possuem um bom suporte no Linux. O fabricante patrocina o desenvolvimento de um driver proprietário, que é mais um exemplo de incompetência que de boa vontade. Ele dá suporte a apenas umas poucas versões do Kernel e não pode ser adaptado para outras. Existe uma receita disponível na web para fazê-lo funcionar em versões antigas do Kernel (dá série 2.4), que envolve modificar o código fonte de dois módulos e recompilar tudo para que o driver funcione. Existe ainda uma versão disponível no site da Motorola que, em teoria, dá suporte ao Mandrake 10, mas na prática simplesmente não funciona.

Se você dá valor ao seu tempo, recomendo que troque seu Motorola por um modem melhor suportado, ao invés de ficar perdendo seu tempo fazendo gambiarras para tentar fazê-lo funcionar no Linux.

O melhor lugar para garimpar drivers e baixar novas versões é o repositório do Linmodems, que você acessa através do http://linmodems.technion.ac.il/packages/.

Driver da Smartlink

A Smartlink é um fabricante de modems com chipset PC-Tel. Os drivers desenvolvidos por eles possuem uma boa qualidade e são os drivers "oficiais" para todo tipo de modem com chipset PC-Tel, tanto onboard, quanto em versão PCI.

A lista de modems suportados por este driver inclui:

a) Quase todos os modems PC-Tel onboard, incluindo os das placas M810, M812, etc. da PC-Chips e de vários notebooks. O driver permite usar a placa de som onboard ao mesmo tempo que o modem.

b) Modems PCI com chipset PC-Tel recentes, como os LG-Netodragon. Estes modems possuem um chipset relativamente grande, com a marca "Smartlink" decalcada.

c) Alguns modems com chipset Intel. O driver da Smartlink era usado nestes casos como uma solução precária, até que a própria Intel lançou seus drivers.

Intel AC'97 e ATI IXP

Recentemente, começaram a surgir alguns drivers open-source para modems onboard, como uma derivação dos drivers para placas de som incluídos no Alsa. Até certo ponto, um modem tem uma função similar à de uma placa de som: ele transforma sinais digitais em sinais analógicos e vice-versa. Um modem inclui muitas funções adicionais, como modulação de dados, compressão e correção de erros, mas os desenvolvedores tem conseguido superar as dificuldades.


- Intel AC'97: As versões recentes do Kernel, a partir do 2.6.11, incluem o módulo "snd-intel8x0m", que dá suporte a modems Intel onboard, usados em notebooks de fabricação recente (como o HP NX6110), que não são compatíveis com o driver do Intel 537, e também aos modems onboard encontrados em placas mãe com chipset nForce, que apesar de não parecer, são bem similares.

- ATI IXP: Este é outro driver open-source, que faz parte do Alsa. Ele dá suporte aos modems onboard encontrados em notebooks com o chipset ATI IXP, como o Toshiba A70. Ele é carregado através do driver "snd-atiixp-modem".

Estão disponíveis também os drivers "snd-via82xxx-modem" (que dão suporte aos modems onboard encontrados em placas mãe recentes, com chipset Via) e também o "snd-ali5451-modem" (ainda em estágio primário de desenvolvimento) que visa oferecer suporte aos modems encontrados em placas com chipset ALI 5451.

Todos estes drivers funcionam em conjunto com o driver da Smartlink. Ao usá-los, procure uma versão com um Kernel recente, de preferência o 2.6.14 ou mais atual. Em versões anteriores estes drivers não eram estáveis, conflitavam com a placa de som ou simplesmente não funcionaram.

Intel 537 e 536

A Intel tem feito um trabalho razoável com relação ao suporte para seus modems no Linux. Existe suporte oficial também para as placas IPW2100 e IPW2200, usadas nos notebooks Intel Centrino e, de uma geral, para quase todos os chipsets e outros periféricos produzidos por eles.

Com relação aos modems, existem três drivers diferentes que podem ser usados sob o Kernel 2.6. Os dois drivers mais usados são o "intel-537EP" e o "intel-537", usados pelos modems Intel Ambient vendidos atualmente. Você pode diferenciar os dois usando o comando "lspci". O 537 aparece como "Intel Tigerjet" enquanto o 537ep aparece como "Intel Ambient".

Os modems Ambient com chip TigerJet são os mais comuns, na dúvida experimente primeiro o driver "intel-537". Caso o KPPP trave no "Procurando Modem" ou ao tentar estabelecer a conexão, tente o "537EP".

Os dois drivers estão disponíveis no: http://linmodems.technion.ac.il/packages/Intel/537/ .

Lucent e Agere

Os modems Lucent estão entre os primeiros softmodems a serem suportados no Linux. O driver "ltmodem" está entre os melhor desenvolvidos, com atualizações freqüentes, incluindo adaptações necessárias para que o driver continue funcionando corretamente em novas versões do Kernel. O hardware em sí também é de boa qualidade, recebendo em geral, recomendações por parte dos usuários.

Se os modems Lucent originais ainda fossem fabricados, a pergunta "qual o melhor softmodem para usar no Linux?" teria uma resposta fácil. O problema é que eles deixaram de ser fabricados por volta do final de 2002, quando foram substituídos pelos modems SV92, SV92B e SV92P fabricados pela Agere, que são incompatíveis com o driver original. Neles, o driver é carregado normalmente e detecta o modem, mas não consegue abrir a linha, fazendo com que você fique num eterno "sem tom de discagem".

Modems com chipset Conexant

Os modems Conexant também são bem suportados. 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 PC-Chips.

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 Linuxant, de modo que a parte open-source é independente da parte proprietária.

A Linuxant, desenvolve os drivers e dá suporte a eles, sem apoio do fabricante. O problema é que o driver é vendido por US$ 19, com a opção de uma versão de demonstração limitada a 14.4k. O driver pode ser baixado no: http://www.linuxant.com/drivers/hsf/full/downloads.php .

Para instalar, descompacte o arquivo e, dentro da pasta, execute os comandos:

# make install
# hsfconfig

O primeiro faz a instalação do driver e o segundo detecta o modem instalado, compila o módulo e faz a configuração necessária. É nesta parte que você precisa fornecer a chave de instalação, obtida ao comprar o driver. Sem a chave o driver funciona em modo "demo", com a velocidade limitada a 14.4k.

Embora o driver seja de boa qualidade, o valor só é justificável para quem tem um notebook com o modem onboard e realmente o usa. Para quem tem um desktop, sai mais barato trocar o modem por um dos modelos suportados.

Por causa da limitação, estes drivers não são incluídos nas versões recentes do Kurumin. Acesso discado já é lento, a 14.4 então, é melhor nem perder tempo ;).

Fonte: http://www.guiadohardware.net/
http://nq6.blogspot.com/
Linux ubuntu & Afins - Um blog com muitas dicas, perfeito para quem está começando.

Hqxriven

CitarOs modems Motorola não possuem um bom suporte no Linux. O fabricante patrocina o desenvolvimento de um driver proprietário, que é mais um exemplo de incompetência que de boa vontade. Ele dá suporte a apenas umas poucas versões do Kernel e não pode ser adaptado para outras. Existe uma receita disponível na web para fazê-lo funcionar em versões antigas do Kernel (dá série 2.4), que envolve modificar o código fonte de dois módulos e recompilar tudo para que o driver funcione. Existe ainda uma versão disponível no site da Motorola que, em teoria, dá suporte ao Mandrake 10, mas na prática simplesmente não funciona.

Se você dá valor ao seu tempo, recomendo que troque seu Motorola por um modem melhor suportado, ao invés de ficar perdendo seu tempo fazendo gambiarras para tentar fazê-lo funcionar no Linux.

Opa esse artigo já está precisando de atualizações...

Eu uso o modem motorola no Kubuntu, Debian etch, kurumin 7, Sidux e mais algumas distribuições e o driver que eu uso é o smartlink!!!

A imagem abaixo é do kernel slash1 com o modem funcionando!!!



Dependendo da id dele o driver smartlink funciona perfeitamente!!!
Sem distro Linux fixa - Kernel Omnislash
Meu objetivo nesse fórum é ajudar. Sou um mero humano mas desejo sempre aprender e melhorar em tudo o que faço em minha vida. Então, por favor, quando eu postar me notifique depois