(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

592. Usando os Programa de controle da Ethernet como Módulos

ethernet,modulos@módulos A maioria das distribuições Linux agora carregam os kernels que têm poucos programa de controle embutidos. Os programa de controle são fornecidos como um punhado de módulos carregáveis dinamicamente independentes. Estes programa de controle modulares são tipicamente carregados pelo administrador com o comando modprobe(8), ou em alguns casos são automaticamente carregados pelo kernel através do `kerneld' (em 2.0) ou `kmod' (em 2.1) que então chama modprobe.

Sua distribuição particular pode oferecer ótimas ferramentas de configuração gráfica para configurar os módulos ethernet. Se possível você deve experimentar e usá-los primeiro. A descrição que se segue dá informações sobre o que motiva qualquer programa de configuração fantástica, e o que estes programas mudam.

A informação que controla quais módulos são para ser usados e quais opções são fornecidas para cada módulo é usualmente armazenada no arquivo /etc/conf.modules. As duas opções principais de interesse (para placas ethernet) que serão usadas neste arquivo são nome alternativo e opções. O comandomodprobe consulta este arquivo para informações do módulo.

Os módulos reais são tipicamente armazenados num diretório chamado /lib/modules/`uname -r`/net onde o comando uname -r dá a versão do kernel (por exemplo, 2.0.34). Você pode olhar lá para ver quais os módulos que combinam com sua placa.

A primeira coisa que você precisa no seu arquivo de conf.módulos é alguma coisa para dizer modprobe que programa de controle usar para a interface da rede eth0 (e eth1 e...). Você usa o comando aliaspara isto. Por exemplo, se você tiver uma placa ISA SMC EtherEZ que usa o programa de controle módulo smc-ultra.o, você precisa para este programa de controle alias para eth0 acrescentando a linha:

nome alternativo eth0 smc-ultra

A outra coisa que você pode precisar é uma linha de opções indicando quais opções estão para ser usadas com um módulo em particular (ou módulo de nome alternativo). Continuando com o exemplo acima, se você só usou uma única linha de nome alternativo com nenhuma linha de opção , o kernel o advertiria (ver dmesg) que a auto-detecção para as placas ISA não é uma boa idéia. Para livrar-se desta advertência, você deve acrescentar uma outra linha dizendo ao módulo que base I/O a placa está configurada, e neste caso dizer o endereço hexidecimal 0x280; por exemplo:

        opções smc-ultra io=0x280

A maioria dos módulos aceitam parâmetros como io=0x340 e irq=12 na linha de comando do insmod. É NECESSÁRIO ou pelo menos MUITO ACONSELHÁVEL que você forneça estes parâmetros para evitar teste na placa. Diferente dos dispositivos PCI e EISA, não existe maneira segura de fazer auto-detecção em dispositivos ISA, e desta forma deve ser evitado quando se usa os programa de controle como módulos.

Uma lista de todas as opções que cada módulo aceita pode ser encontrada no arquivo:

/usr/src/linux/Documentação/rede /módulos-net.txt

Recomenda-se que você leia este documento para descobrir quais são as opções que você pode usar para sua placa particular. Note que a lista de valores separada por vírgulas é usada para os módulos que tem a capacidade de manipular vários dispositivos a partir de um único módulo, como todos os programa de controle 8390 e o programa de controle PLIP. Por exemplo:

opções 3c503 io=0x280,0x300,0x330,0x350 xcvr=0,1,0,1

O comando acima teria um único módulo controlando quatro placas 3c503, com as placas 2 e 4 usando transceptores externos. Não coloque espaços em volta de `=' ou vírgulas.

Também note que um módulo ocupado não pode ser removido. Isto significa que você terá que ifconfig eth0 down (feche a placa da ethernet) antes que possa remover o(s) módulo(s).

O comando lsmod mostrará que módulos estão carregados, se estão em uso e o rmmod os removerá.


Página seguinte Página anterior Índice