(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

356. SOCORRO - Isto não funciona!

ethernet,problemas Ok, não entre em pânico. Esta seção o levará através do processo de conseguir que as coisas funcionem, mesmo que você não tenha nenhum conhecimento prévio em Linux ou hardware Ethernet.

A primeira coisa que você precisa fazer é descobrir qual o modelo de sua placa de maneira a determinar se o Linux tem um programa de controle para esta placa em particular. Placas diferentes tipicamente são controladas de maneiras diferentes pelo computador, e o programa de controle Linux (se existir um) contém informações de controle num formato que permite ao Linux usar a placa.

Se você não tiver nenhum manual ou algo do tipo que lhe diga alguma coisa sobre o modelo da placa então você poderá ver a seção de ajuda em placas misteriosas ( Identificando uma Placa Desconhecida), ou apenas tentar um kernel com quase todos os programas de controle incluídos e esperar que um destes reconheça sua placa.

Agora que você sabe que tipo de placa você tem, leia os detalhes de sua placa na seção específica sobre placas ( Informações Específicas a Vendedor/Fabricante/Modelo), que relaciona em ordem alfabética os fabricantes de placa, número de modelos individuais e se tem um programa de controle Linux ou não. Se estiver relacionado como Não Suportado, você pode desistir por aqui. Se você não encontrar sua placa nesta lista, então veja se seu manual indica sua placa como sendo compatível com outro tipo conhecido de placa. Por exemplo, existem centenas, senão milhares de placas diferentes feitas para serem compatíveis com o projeto da Novell NE2000 original.

Supondo que você tenha descoberto que sua placa tem um programa de controle Linux, agora você precisa buscar no CD-ROM ou no meio a partir de onde você instalou, e encontrar a lista de kernels pré-compilados disponíveis. O kernel é o núcleo do sistema operacional que é carregado na inicialização, e contém o programa de controle para as várias partes do hardware, entre outras coisas. Dependendo de quem fez o CD-ROM, podem haver apenas alguns poucos kernels pré-compilados e um monte de programa de controle no formato de módulos menores separados, ou podem haver um monte de kernels, cobrindo uma vasta combinação de programas de controle incluídos.

A maioria das distribuições Linux navegam agora com um monte de pequenos módulos que são os vários programas de controle. Os módulos necessários são tipicamente carregados no processo de inicialização, ou por exigência quando um programa de controle é necessário para acessar um dispositivo específico. Você precisará anexar este módulo ao kernel depois que este tiver inicializado. Veja as informações que vieram com sua distribuição sobre a instalação e o uso dos módulos, junto com a seção de módulos deste documento ( Usando os Programa de Controle da Ethernet como Módulos).

Se você não encontrou um kernel pré-compilado com seu programa de controle nem uma forma de módulo do programa de controle, é provável que você tenha uma placa tipicamente incomum, e você terá que compilar seu próprio kernel com aquele programa de controle incluído. Uma vez que seu Linux esteja instalado, compilar um kernel padrão não é difícil. Você deve responder sim ou não para o que você quer que o kernel contenha e então mandá-lo compilar. Existe um Como Fazer Kernel que poderá ajudá-lo com isto.

Neste ponto você deve de alguma maneira ter conseguido inicializar o kernel com seu programa de controle incluído, ou estar carregando-o como um módulo. Mais ou menos metade dos problemas que as pessoas têm são relacionados com o fato de não ter carregado o programa de controle de uma maneira ou de outra. Agora você deve ter tudo funcionando.

Se ainda não funcionar, então você precisa verificar se o kernel está mesmo detectando sua placa. Para fazer isto, você precisa digitar dmesg | more quando se conectar logo após a inicialização do sistema e a carga de todos os módulos. Isto lhe permitirá ver todas as mensagens que o kernel mostrou na tela durante o processo de inicialização. Se a placa foi detectada, você deve ver na lista uma mensagem mostrada pelo programa de controle que começa com eth0, menciona o nome do programa de controle e os parâmetros de hardware (interrupção, porta de I/O, etc.) configurados. Se você não vir uma mensagem como esta, então o programa de controle não detectou sua placa, e é por isso que nada funciona. Veja o FAQ ( A seção FAQ) para o que fazer se sua placa não foi detectada. Se você tem uma placa compatível com NE2000, existem dicas específicas para que a placa seja detectada na seção FAQ também.

Se a placa foi detectada, mas a mensagem de detecção reporta algum tipo de erro, como um conflito de recursos, então o programa de controle provavelmente não inicializou corretamente e a placa ainda não será usável. A maioria dos erros mais comuns deste tipo também estão relacionados na seção FAQ, junto com uma solução.

Se a mensagem de detecção parece ok, então certifique-se de que os recursos da placa reportados pelo programa de controle são iguais aos que foram configurados fisicamente pela placa (quer seja por pequenas chaves pretas na placa, ou por um utilitário fornecido pelo fabricante da placa), e eles devem combinar exatamente. Por exemplo, se você tem uma placa de chaves ou configurada para IRQ 15 e o programa de controle reporta IRQ 10 nas mensagens de inicialização, não vai funcionar. A seção FAQ discute os casos mais comuns de programas de controle detectando incorretamente a informação de configuração de várias placas.

Neste ponto, você conseguiu ter sua placa detectada com todos os parâmetros corretos, e provavelmente tudo está funcionando. Se não estiver, ou você tem um erro de configuração no software, ou um erro de configuração no hardware. Um erro de configuração no software é não configurar os endereços de rede corretos para os comandos ifconfig e route. Os detalhes de como fazer isto estão completamente descritos no Como Fazer NET2 e no Guia do Administrador de Rede, os quais provavelmente vieram no seu CD-ROM da distribuição.

Um erro de configuração no hardware é quando algum tipo de conflito de recursos ou configuração errada que o programa de controle não detecta na inicialização e não deixa a placa funcionar corretamente. (1) Você recebe uma mensagem de erro quando ifconfig tenta abrir o dispositivo para uso, como ``SIOCSFFLAGS: Tente outra vez''. (2) O programa de controle reporta mensagens de erro eth0 (visualizáveis com dmesg | more) ou inconsistências estranhas para cada vez que se tenta enviar ou receber dados. (3) Digitando cat /proc/net/dev vai mostrar números diferentes de zero em uma das seguintes colunas: errs, drop, fifo, frame ou carrier, na linha iniciada por eth0. A maioria dos erros de configuração no hardware típicos são também discutidos na seção FAQ.

Bem, se você chegou até este ponto, e as coisas ainda não estão funcionando, leia a seção FAQ deste documento, leia a seção específica sobre o fabricante detalhando sua placa específica, e se ainda não funciona então você terá que enviar uma mensagem para os grupos de notícias apropriados pedindo ajuda. Se você enviar uma mensagem, por favor detalhe toda informação relevante, como a marca da placa, versão do kernel, as mensagens de inicialização do programa de controle, a saída de cat /proc/net/dev, uma descrição clara do problema, e, naturalmente, tudo o que você já tentou para fazer a placa funcionar.

Você se surpreenderia com quantas pessoas enviam mensagens inúteis como "Alguém pode me ajudar? Minha ethernet não funciona." E nada mais. Os leitores dos grupos de notícias tendem a ignorar estas mensagens bobas, enquanto uma descrição detalhada do problema pode permitir que um Guru do Linux descubra seu problema de cara.


Página seguinte Página anterior Índice