O Ethernet-Howto cobre as placas que você deve comprar e as que você não deve; como configurá-las, como utilizar mais de uma, e outros problemas e questões comuns. Ele contem informações detalhadas sobre o nível atual de suporte para as placas ethernet mais encontradas no mercado.
Ele não cobre a parte de software, pois isto é
coberto no howto NET-2. Também note que questões não
relacionadas a Linux não são (ou pelo menos não deveriam)
ser respondidas aqui. Para este tipo de questões veja a excelente
quantidade de informações no FAQ do newsgroup comp.dcom.lans.ethernet.
Você pode baixá-los via FTP de rtfm.mit.edu
, da mesma forma que
todos os outros FAQs de newsgroups.
Esta revisão cobre os kernels atá e inclusive o v2.0.28. Informações relacionadas aos kernels em desenvolvimento até a versão 2.1.24 também são documentados.
O Ethernet-Howto é editado e mantido por:
Paul Gortmaker, Paul.Gortmaker@anu.edu.au
A principal fonte de informações para a versão ASCII inicial do Ethernet-Howto foi:
Donald J. Becker, becker@cesdis.gsfc.nasa.gov
Que é a pessoa a quem devemos agradecer por escrever a grande maioria dos drivers para placas ethernet que estão atualmente disponíveis para Linux. Ele também é o autor original do servidor NFS. Obrigado Donald!
Net-surfers podem querer acessar a seguinte URL:
Por favor veja informações sobre Responsabilidade do Autor e Cópias no final deste documento para informações sobre redistribuição deste documento e as usuais considerações legais `nós não somos responsáveis pelo que você faz...`
Novas versões deste documento podem ser baixadas via FTP anônimo de:
e a partir de vários outros mirrors. Atualizações serão feitas a medida que novas informações e/ou drivers se tornem disponiveis. Se esta cópia que você está lendo tem mais que 6 meses, ela está desatualizada ou isso significa que eu tenho sido preguiçoso e não a atualizei. Este documento foi produzido usando o sistema SGML que foi especificamente construido para o projeto Linux Howto, e existem vários outros formatos disponiveis, incluindo, postscript, dvi, ascii, html e logo TeXinfo.
Recomendo vê-lo em html (usando um browser WWW) ou no formato Postscript/dbi. Ambos referências cruzadas que se perdem na tradução para ascii.
Se você quer obter a cópia oficial no sunsite, aqui está a URL.
Como este guia está se tornando cada vez maior, provavelmente você não quer gastar o resto de sua tarde lendo tudo. E a boa notícia é que você não precisa le-lo todo.
É provável que você esteja lendo este documento porque você não conseguiu fazer funcionar sua placa e não sabe o que fazer ou checar. A proxima seção ( SOCORRO - Isto não funciona!) e direcionada aos iniciantes no linux e o guiara para a direção correta.
Tipicamente os mesmos problemas e questoes são perguntados muitas vezes por varias pessoas. É provável que seu problema/questão específico seja uma destas perguntas mais frequentes, e esteja respondida na parte FAQ deste documento. ( Seção FAQ). Todos deveriam dar uma olhada nesta seção antes de enviar mensagens pedindo ajuda.
Se você não tem uma placa etherent, entao você deverá começar pela decisão de que placa comprar. ( Que Placa Devo Comprar...)
Se você já tem uma placa ethernet, mas não tem certeza se pode usá-la no Linux, entao você deverá ler a seção que contem informações específicas sobre cada fabricante e suas placas. ( Específico sobre Fabricantes...)
Se você está interessado nos aspectos técnicos dos device drivers do Linux, você pode dar uma olhada na seção com este tipo de informação. ( Informações Técnicas)
Ok, não entre em panico. 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 driver para esta placa em particular. Placas diferentes tipicamente são controladas de maneiras diferentes pelo computador, e o driver linux (se existe um) contem estas informações de controle num formato que permite ao linux usar a placa.
Se você não tem 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 drivers incluidos e esperar que um destes drivers reconheca 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 ( Específico sobre Fabricantes...) que lista em ordem alfabética, fabricantes de placas, número de modelos individuais e se tem um driver Linux ou não. Se está listado 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.
Assumindo que você descobriu que sua placa tem um driver Linux, agora você precisa buscar no CD-ROM ou na mídia a partir de onde você instalou, e encontrar a lista de kernels pre-compilados disponiveis. O kernel é o nucleo do sistema operacional que é carregado no boot, e contem drivers para as varias partes do hardware, entre outras coisas. Somente pelo fato do Linux ter um driver para a sua placa não significa que este esteja incluido em todos os kernels. Dependendo de quem fez o CD-ROM, podem haver apenas alguns poucos kernels pré-compilados, e um monte de drivers no formato de módulos menores separados, ou podem haver um monte de kernels, cobrindo uma vasta combinação de drivers incluidos. Provavelmente havera também um arquivo texto incluido que lista que drivers estão incluidos em quais kernels. Procure um kernel que esteja listado como tendo o driver que você precisa, ou procure um módulo com o nome do driver que você precisa.
Se você encontrou um kernel pré-compilado que tem seu driver incluido, você deverá passar a usar este no lugar do que você está usando. A maioria dos sistemas Linux usam LILO para o processo de boot, e terão instalado a documentação do LILO no seu sistema. Siga as instruções nesta documentação para dar boot em outro kernel, pois isto está alem do escopo deste documento.
De outra maneira, se você encontrar um pequeno módulo que contem o driver, você precisará ligar este módulo ao kernel após o processo de boot. Veja as informações que vieram com sua distribuição sobre instalação e uso de módulos, junto com a seção sobre módulos neste documento. ( Usando os Drivers Ethernet como Módulos)
Se você não encontrou nem um kernel pré-compilado com seu driver, nem um módulo com seu driver, provavelmente você tem uma placa tipicamente incomum, e você terá que compilar seu próprio kernel com seu driver incluido. Depois que você tem o linux instalado, compilar um kernel específico a suas necessidades não é difícil. Você essencialmente responde yes ou no para o que você quer que o kernel contenha, e entao diz a ele para compilar. Existe um Kernel-HowTo que o ajudara no processo.
Neste ponto você deve ter conseguido de alguma maneira ter dado boot num kernel com seu driver incluido, ou estar carregando-o como um módulo. Mais ou menos metade dos problemas que as pessoas tem são relacionados com o fato de não ter carregado o driver de uma maneira ou de outra, entao agora você deve ter tudo funcionando.
Se ainda não funciona, então você precisa verificar se o kernel
está mesmo detectando sua placa. Para fazer isto, você precisa
digitar dmesg | more
quando se logar logo após o boot 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 boot.
Se a placa foi detectada, você deve ver na lista uma mensagem
mostrada pelo driver da sua placa que começa com eth0
, menciona
o nome do driver e os parâmetros de hardware (interrupção, porta de
I/O, etc) configurados. Se você nâo vê uma mensagem como essa, entâo
o driver não detectou sua placa, e é por isso que nada funciona. Veja
o FAQ
(
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 driver provavelmente não inicializou corretamente e a placa ainda não será usável. A maioria dos erros mais comuns deste tipo também são listados 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 driver são iguais aos que foram setados fisicamente na placa (quer seja por pequenos jumpers pretos na placa, ou por um utilitário fornecido pelo fabricante da placa.) Eles devem estar iguais. Por exemplo, se você tem uma placa jumpeada ou configurada para IRQ 15 e o driver reporta IRQ 10 nas mensagens do boot, não vai funcionar. A seção FAQ discute os casos mais comuns de drivers detectando incorretamente a informação de configuração de varias placas.
Neste ponto, você conseguiu ter sua placa detectada com todos
os parâmetros corretos, e provavelmente tudo está funcionando.
Se não, então 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 setar os endereços de rede corretos para os
comandos ifconfig
e route
, os detalhes de como fazer
isto são completamente descritos no NET2-HowTo e no `Network
Administrator's Guide', 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 driver não
detecta no boot e não deixa a placa funcionar corretamente.
Isto tipicamente pode ser observado de três maneiras diferentes.
(1) Você recebe uma mensagem de erro quando ifconfig
tenta
abrir o dispositivo para uso, como ``SIOCSFFLAGS tente novamente''.
(2) O driver 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, 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 mensagem para newsgroups apropriados pedindo ajuda.
Se você enviar mensagem, por favor detalhe toda informação
relevante, como marca da placa, versão do kernel, as mensagens
de boot do driver, a saida de cat /proc/net/dev
, uma
descrição clara do problema, e, naturamente, tudo o que você já
tentou para fazer a placa funcionar.
Você pode se surpreender com quantas pessoas enviam mensagens inúteis como ``Alguem pode me ajudar? Minha ethernet não funciona.'' e nada mais. Os leitores dos newsgroups tendem a ignorar estas mensagens bobas, enquanto uma descrição detalhada e informativa do problema pode permitir que um `guru linux' descubra seu problema de cara.