módulos + configuração manual de placa de rede no Linux

Segundo o Guia Foca Linux, módulos “são partes do kernel que são carregadas somente quando são solicitadas por algum aplicativo ou dispositivo e descarregadas da memória quando não são mais usadas”.

O fato do Linux estar desmembrado em módulos facilita em sua manutenção, pois evita de criar um núcleo muito grande que sobrecarregue a memória com drivers compilados que sequer serão utilizados.

Os módulos do kernel estão localizados no diretório /lib/modules/versão_do_kernel/. Para vê-los basta digitar no Terminal:

# ls /lib/modules/$(uname -r)

Mas para quê eu vou precisar saber disso? Digamos que, por exemplo, você deseja adicionar uma placa de rede offboard PCI. E que você tem duas escolhas de modelos.

1 – Placa de rede 3Com – 3C940 10/100/1000
2 – placa de rede 3Com – 3c980-TX

Como saber se a minha distro já vem com suporte para uma dessas placas? Basta localizar os módulos correspondentes!

1 – Placa de rede 3Com – 3C940 10/100/1000 (módulo: 3c940)
2 – placa de rede 3Com – 3c980-TX (módulo: 3c59x )

( verificado no site http://www.caixamagica.pt/pag/b_hw00.php?nome=&tipo_hw=3 )

Vamos ver o diretório que contém os arquivos .ko responsável por estes módulos.

# ls /lib/modules/$(uname -r)/kernel/drivers/net

Perceba na imagem que somente o arquivo referente ao módulo 3c59x foi encontrado. Logo a placa 3C940 não possui suporte nativo.
Portanto, dependendo da necessidade, será melhor comprar a placa 3c980-TX do que pegar a outra placa e compilar os drivers manualmente com o gcc!

Com a placa devidamente inserida, inice o Linux e, como root, levante o módulo com o comando modprobe

# modprobe 3c59x

Para finalizar, veja se o módulo foi carregado com sucesso, com o comando lsmod

# lsmod | grep 3c

E verifique se a placa foi corretamente identificada, com os comandos:

# lspci | grep eth*
# ifconfig -a

Para maiores informações sobre o módulo, digite o comando “modinfo”.

# modinfo 3c59x | less

E para derrubar o módulo da memória, digite:

# modprobe -r 3c59x

———————————————————————————-

01) (CONCURSO DE ADMISSÃO – 2007 ao CFO/QC – 2008 – ESAEX) Você está administrando os sistemas Linux da empresa e deseja usar o depmod. Qual das afirmativas abaixo descreve corretamente o relacionamento existente entre o depmod e modprobe?

(A)    Ambos não são suportados pela última revisão do kernel
(B)    Um substitui o outro
(C)    Não há nenhum relacionamento
(D)    Depmod cria um arquivo de dependência para uso do modprobe
(E)    Modprobe cria um arquivo de depêndencia para ser usado pelo depmod

R = alternativa D.

É isso aí galera! Até a próxima dica!