(M)  s i s t e m a   o p e r a c i o n a l   m a g n u x   l i n u x ~/ · documentação · suporte · sobre

  Página seguinte Página anterior Índice

377. Placa Ethernet não é detectada na inicialização.

Geralmente a razão disto é que as pessoas não estão usando um kernel que tenha suporte para sua placa. Para um kernel modular, geralmente significa que o módulo exigido não foi requisitado para carga, ou que o endereço I/O precisa ser especificado como uma opção de módulo.

Se você estiver usando um kernel com base modular, como aqueles instalados pela maioria das distribuições Linux, então tente e use o utilitário da configuração para a distribuição para selecionar o módulo para sua placa. Para as placas ISA, é uma boa idéia determinar o endereço I/O da placa e acrescentá-lo como opção (exemplo: io=0x340) se o utilitário da configuração pedir alguma opção. Se não houver nenhum utilitário de configuração, então você terá que acrescentar o nome do módulo correto (e opções) para /etc/conf.modules -- veja man modprobe para maiores detalhes.

Se você estiver usando um kernel pré-compilado que faz parte do conjunto de distribuição, então verifique a documentação para ver qual kernel você instalou, e se foi montado com suporte para sua placa particular. Se não faz parte, então suas opções são tentar e conseguir uma que tenha suporte para sua placa, ou montar você mesmo.

Usualmente é sábio compilar seu próprio kernel somente com os controladores que você precisa, pois isto diminui o tamanho do kernel (poupando sua preciosa RAM para as aplicações) e reduz o número de testes e dispositivos que podem prejudicar um hardware sensível. Compilar um kernel não é complicado como parece. Você apenas terá que responder sim ou não para uma porção de questões sobre que programas de controle você quer, e ele faz o resto.

A próxima causa principal é ter outro dispositivo usando parte do espaço de I/O que sua placa precisa. A maioria das placas tem tamanho de espaço de I/O igual a 16 ou 32 bytes. Se sua placa estiver configurada para 0x300 e 32 bytes de espaço de I/O, então o programa de controle usará 0x300-0x31f. Se qualquer outro programa de controle de dispositivo tiver registrado pelo menos uma porta dentro desta faixa, o teste não será feito neste endereço e o programa de controle irá continuar silenciosamente para o próximo endereço a ser testado. Então depois da inicialização, execute cat /proc/ioports e verifique se todo o espaço de I/O que sua placa precisa está vaga.

Um outro problema é ter sua placa chaveada para um endereço i/o que não é testado por padrão. Existe uma lista Endereços Testados para cada placa neste documento. Mesmo que a configuração de I/O de sua placa não esteja na lista de endereços testados, você pode fornecer isto na inicialização com o comando ether= como descrito em Passando os Argumentos da Ethernet para o Kernel. O programa de controle modular pode fazer uso da opção io= especificar um endereço que não esteja testado por padrão.


Página seguinte Página anterior Índice