|
[29/08]
:. Resumo do dia [29/08] :. Google revela loja online de aplicativos para Android [29/08] :. LyX, editor de textos para trabalhos acadêmicos ou especiais [29/08] :. Intel revela novo ultraportátil para países pobres [29/08] :. Debian anuncia LiveCDs oficiais [29/08] :. AMD: plataforma AM3 estreará em março de 2009 [29/08] :. Toshiba exibe tecnologia de 'digitalização em 3D' [28/08] :. Resumo do dia [28/08] :. Processadores AMD de 45 nm serão lançados em janeiro de 2009 [28/08] :. Nvidia SLI funcionará nativamente com chipsets Intel X58 [28/08] :. Microsoft atualiza WGA: agora mais severo com Windows pirata [28/08] :. Mozilla desenvolve plugin para Firefox trabalhar com mashups [28/08] :. Dell adiciona PCs e notebooks baratos à linha Vostro [27/08] :. Publicado Internet Explorer 8 beta 2 [27/08] :. Resumo do dia :. Mais noticias » |
"Pelo que eu entendi nas minha leituras, a configuração da porta serial é uma configuração de hardware, certo? Me corrija se tiver errado. Ou seja a configuração da porta serial ficaria gravada em algum chip na placa de modem. Certo? Nós podemos dividir os modems em quatro tipos. Os Legacy ISA, os mais antigos ainda configurados via jumper, os ISA plug-and-play, os Hardmodems PCI e os softmodems PCI. Para acessar o modem, o sistema operacional precisa saber de basicamente duas coisas: Qual é a porta serial usada pelo modem e qual é o endereço de IRQ usado por ele. Nos modems legacy ISA isso era bem previsível, pois você simplesmente configurava os jumpers de acordo com os endereços que queria que o modem utilizasse. Na hora de instalar você simplesmente dizia que tinha um modem na COM2, IRQ 4 por exemplo e ele funcionava. O chato era que de vez em quando o modem entrava em conflito com as portas seriais da placa mãe, mas nada que uma olhada rápida no setup não pudesse resolver :-) O próximo passo foram os modems ISA plug-and-play. Eles continuam funcionando da mesma forma, mas agora a definição da com e IRQ usada pelo modem é feita pelo BIOS durante o boot. Ele verifica quais endereços estão ocupados pelas portas seriais e outros dispositivos e tenta jogar o modem em endereços livres, evitando conflitos. Estas informações vão para o ESCD, que é uma tabela com todos os dispositivos plug-and-play instalados no PC e seus respectivos endereços que pode ser consultada pelo sistema operacional. Como você não sabe mais com certeza em qual COM e IRQ o modem está disponível, você pode ou deixar o sistema operacional tentar detectá-lo sozinho ou simplesmente ir chutando várias combinações até achar o modem. Isso não chega a ser muito trabalhoso pois existem apenas quatro possibilidades: COM1, COM2,COM3 e COM4 no Windows e /dev/ttyS0, /dev/ttyS1, /dev/ttyS2 e /dev/ttyS3 no Linux. Nos hardmodems PCI o esquema se mantém mais ou menos inalterado. A diferença principal é que as quatro primeiras portas seriais são reservadas para dispositivos ISA então o modem será encontrado nas portas COM5, COM6, COM7 ou COM8 no Windows e /dev/ttyI0, /dev/ttyI1, /dev/ttyI2 e /dev/ttyI3 (ou /dev/ttyS4, /dev/ttyS5, /dev/ttyS6 e /dev/ttyS7 que são análogas a estas) no Linux. Muda o endereço mas não muda o procedimento. O jeito mais fácil para configurar o modem caso ele não seja detectado automaticamente é simplesmente abrir o KPPP e ir chutando o endereço até encontrar o modem, continuam existindo apenas quatro possibilidades. O endereço /dev/modem é apenas um atalho que vai teoricamente apontar para a localização correta do modem. Algumas distribuições vão dectectar o modem durante a instalação e configurá-lo pra você mas isso nem sempre acontece. Na maioria dos casos você teria que criá-lo manualmente, mas de qualquer forma antes você precisaria saber em qual porta o modem está :-) ![]() Os softmodems já são animais mais complicados. Neles não existe mais uma porta serial, mas apenas um endereço de hardware onde o modem é contatactado. A porta serial é emulada via software, não estamos mais falando de um endereço como "/dev/ttyS5" mas sim de um software que possui um endereço próprio. O sistema cria um dispositivo apontando para o software como se ele fosse uma porta serial e envia para ele os comandos AT para controlar o modem. O software "traduz" estes comandos para as instruções entendidas pelo modem, além de cuidar de tarefas como correção de erro e controle de fluxo. Ao instalar os drivers do modem, além do software de controle será criado este dispositivo de comunicação. Ao contrário das portas COM ele não possui um endereço disponível, por ser qualquer coisa. Ao instalar um modem Lucent no Linux por exemplo, o script de instalação cria um dispositivo /dev/ttyLT0 e em seguida o link /dev/modem apontando para ele. Isso torna o acesso ao modem mais ou menos transparente para o usuário, pois ele não vai precisar descobrir aonde o modem está, simplesmente abrir o KPPP e discar. Se o driver instalado for mesmo o correto as dificuldades acabam por aqui. No Windows o tal software de comunicação é um arquivo .exe instalado em algum lugar no sistema e no Linux ele é um módulo do Kernel carregado durante o boot. Este módulo precisa ser compilado para o Kernel que está instalado no seu sistema, é por isso que um pacote com drivers para o Mandrake 8.2 não funciona no 9.0 por exemplo. Você precisa baixar um pacote feita especialmente para a distribuição que estiver utilizando ou então baixar o arquivo .tar.gz genérico, onde o módulo será compilado na sua máquina durante a instalação. Em geral o script de instalação cuida de quase tudo. Mas, se você tiver curiosidade em saber o que ele realmente faz, vai ter que descer um pouquinho mais :) Eu me deparei com este problema quando comecei a incluir drivers para vários softmodems no Kurumin. Eu não podia simplesmente instalar o modem por vias normais, pois era necessário fornecer suporte a mais de um modem ao mesmo tempo. Outro problema era como ativar os modems com o sistema rodando direto do CD, onde não é possível copiar nem deletar arquivos. Eu cheguei a uma solução um pouco suja mas que funciona. A "instalação" dos modems é feita em duas etapas. A primeira é compilar os módulos e copiá-los para a pasta /lib/modules do sistema, antes de fechar o CD, de modo que eles fiquem disponíveis. A segunda parte da instalação é feita com o sistema rodando, quando o usuário clica num dos ícones que ativam suporte aos modems. Ao clicar no "Habilitar suporte a PC-Tel Onboard (M810, M812, M817)" são executados basicamente estes comandos: mknod -m 666 /dev/ttySL0 c 212 0 ln -sf /dev/ttySL0 /dev/modem insmod slmdm country=BRAZIL insmod slamrmo Isto é mais ou menos o que o script de instalação do modem faz. Por isso serve como um bom exemplo para entender o processo de instalação. A primeira linha, "mknod -m 666 /dev/ttySL0 c 212 0" cria o dispositivo "/dev/ttySL0" que aponta para o endereço do software de controle do modem (c 212 0). O que interessa mesmo neste caso é o "c 212 0", o dispositivo poderia ter qualquer nome, um /dev/bin-laden iria fazer exatamente a mesma coisa. O " ln -sf /dev/ttySL0 /dev/modem" é que coloca as coisas no lugar. Agora nós criamos o atalho /dev/modem, apontando para o dispositivo anteriormente criado. Finalmente é carregado o software de controle do modem, representado pelos módulos slmdm e slamrmo. Todos os scripts de instalação de drivers de softmodems seguem mais ou menos esta seqüência: compilar os módulos (ou instalar módulos já compilados incluídos no pacote), criar o dispositivo do modem apontando para o software de controle, criar o /dev/modem apontando para este dispositivo e, finalmente, carregar os módulos. Os erros podem surgir em qualquer uma destas etapas mas o mais comum é o usuário tentar instalar um pacote com módulos compilados para uma distribuição diferente da que está usando ou tentar instalar drivers incompatíveis com o modem que está usando. Outra coisa que acontece muito é o /dev/modem ser criado com permissões "seguras" que não permitem que o seu login de usuário utilize o modem. É o velho problema "modem funciona só como root". Neste caso é só abrir um terminal logado como root e usar o comando: chmod 666 /dev/modem
» Gostou do texto? Veja nossos livros impressos
|