Gerenciando módulos no Linux

Aprenda como configurar alguns dispositivos (placa de som e rede) em modo texto e como bônus vários comandos importantes nesse gerenciamento.

[ Hits: 127.550 ]

Por: Leonardo Afonso Amorim em 28/10/2008


Exemplo prático: Placa de rede



Vou agora configurar a placa de rede.

Novamente executo o lspci para ver o modelo:

# lspci | grep -i eth
00:0e.0 Ethernet controller: 3Com Corporation 3c905B 100BaseTX

Descobri que minha placa é uma 3com!

Vou no diretório:

# cd /lib/modules/2.6.18-4-686/kernel/drivers/net

Nesse diretório estamos vendo os módulos que a 3com tem e executamos o modinfo para tentar detectar nosso modelo:

# modinfo 3c59x
filename: 3c59x.ko
author: Donald Becker <becker@scyld.com>
description: 3Com 3c59x/3c9xx ethernet driver
license: GPL

Meu modelo é 3c905 e a resposta do modinfo diz que esse módulo é para todos os modelos 3c9XX.

No meu caso sei que é o módulo: 3c59x, vou levantar o módulo:

# modprobe 3c59x

Para finalizar, vejo se o mesmo está no ar:

# lsmod
Module Size Used by
cmpci 26040 0 (unused)
soundcore 3236 2
[cmpci]
3c59x 24648 1

Agora basta testar usando o comando:

# ifconfig -a

Caso apareça a eth0 está OK!

Página anterior     Próxima página

Páginas do artigo
   1. Reconhecendo o hardware
   2. Definição de módulo
   3. Comandos para gerenciamento de módulos
   4. Exemplo prático: Placa de som
   5. Exemplo prático: Placa de rede
   6. Dicas finais
Outros artigos deste autor

Técnicas de memorização para facilitar o uso VI (Comandos básicos)

Afinal, será que ser hacker, realmente, é o que a mídia divulga?

Configurar uma rede doméstica e compartilhar ADSL no Slackware

Cego guiando cego

Introdução ao uso de Shell Script

Leitura recomendada

Esclarecendo a questão dos drivers: o problema do suporte a hardware

Cabos de rede e conectorização

Tim-Web - Insigne Momentum 5.0

Configurando impressora HP692C no Slackware

Instalando Ubuntu Touch no seu celular (Linux de bolso)

  
Comentários
[1] Comentário enviado por corbe em 28/10/2008 - 10:01h

Estou tendo dificuldades em subir o modulo usbhid, uso o slackware, baixei o kernel-modules, da mesma versão do meu kernel, descompactei o pacote, copiei o usbhid
do pacote para meu diretorio de driver, e quando dou modprobe usbhid me aparece module invalid format,
o que isso quer dizer?

[2] Comentário enviado por corbe em 28/10/2008 - 10:13h

acho que a pergunta certa é , como instalo um modulo que não existe na minha pasta de modulos. ( /lib/modules/2.6.24.2/kernel/drivers.. )

[3] Comentário enviado por leonardoamorim em 28/10/2008 - 10:20h

Quando não encontrar um módulo no diretório correspondente é necessário recompilar o kernel ativando novos módulos.
Se o módulo for proprietário você deve procurar no site do fabricante verificando se tem versão para Linux. A nvidia por exemplo dispõe em seu site drivers de vídeo para Linux.

[4] Comentário enviado por corbe em 28/10/2008 - 10:31h


E no caso da nvidia, devo baixar o modulo do site e ainda sim recompilar o kernel? ou simplismente copialos ao diretorio de driver do sistema?

[5] Comentário enviado por leonardoamorim em 28/10/2008 - 10:33h

Corbe,

Segue um link de como instalar o módulo nvidia no Debian Etch:
http://leonardoafonso.blogspot.com/2007/08/configurando-placa-nvidia-no-debian.html

[6] Comentário enviado por walber em 28/10/2008 - 23:06h

Leonardo, mandou muito nesse artigo, parabéns.

[7] Comentário enviado por corbe em 29/10/2008 - 10:08h

Olá,
quando tento dar modprobe usbhid aparece a seguinte msg

FATAL: Error inserting usbhid (/lib/modules/2.6.24.5/kernel/drivers/hid/usbhid/usbhid.ko): Invalid module format

algum saberia me dizer o motivo que não consigo carregar esse modulo

[8] Comentário enviado por mafioso em 29/10/2008 - 12:11h

São artigos como este que faz o uso do Linux ser cada vez mais fácil e agradável. Parabéns pelo artigo, kra. Eu já sabia bem estes conceitos de módulo, mas aprendi na marra... Seu artigo há uns anos atrás teria me poupado horas de pesquisa. Valeu.

A única coisa que eu adicionaria, é que para saber qual o módulo necessário para determinada placa, você também pode buscar no google. modinfo em cada módulo pode fazer alguém entrar em parafuso. Mesmo porque algumas placas funcionam com diferentes módulos, então é bom pesquisar para saber qual o melhor. Minha placa de rede wireless por exemplo, trabalha nativamente com o módulo bcm38xx. Porém, descobri que é muito melhor utilizar o módulo ndiswrapper pesquisando rapidamente no Google.

[9] Comentário enviado por rafranco em 29/10/2008 - 19:40h

leonardoamorim, estou há vários dias tentando fazer funcionar uma placa de som Creative CT4810 com chipset Ensoniq ES1371, espetada em um micro rodando Slackware 12.0 e DreamLinux 3.0. Ela até funcionou algumas vezes mas basta desligar o micro e tudo se perde. Segui seus ensinamentos e verifiquei no kernel 2.6.21.5 a existência de dois módulos de som snd-ens1370 e 1371. O comando modprobe levanta os módulos sem problemas. O Slack configura como ES1371, via alsaconf. Em rc.modules, descomentei as linhas correspondentes aos módulos. Passo pelo alsamixer, mas som que é bom, nada. Se puder ajudar, agradeço. P.S.: Na partição vizinha, o DreamLinux configurou tudo sozinho!

[10] Comentário enviado por Caaio Rooberto em 15/04/2009 - 11:10h

Meu amigo, eu estou aprendendo agora a mexer no linux. Pra variar, meu professor me passou um trabalho exatamente sobre modulos e processos correntes no linux.
Eis a duvida...
Aki estao as especificacoes do trabalho pa vc ter uma ideia:


Processo corrente e Procfs

Escrever um módulo que informe as seguintes dados do processo corrente em um
arquivo do /proc:

- PID do processo.
- Áreas de memória usada pelo processo.
- Arquivos abertos pelo processo. (Caso tenha algum arquivo aberto)


Para mais esclarecimento, o professor ainda falou q devemos usar uma estrutura chamada task_struct e q este processo corrente especificado acima eh do tipo task_struct. Logo, para conseguirmos o PID, a area de memoria usada e etc nós temos q usar esta task_struct. A questao eh essa, eu n sei usar isso.

Qlqr ajuda sera bem vinda.
Desde jah agradeco.

[11] Comentário enviado por (xinelo) em 27/08/2009 - 20:54h

como faço para deletar um módulo do sitema?

[12] Comentário enviado por roneibrasil em 05/01/2010 - 20:48h

tenho o ubuntu 9.10 karmic koala 64 bits e não estou conseguindo fazer funcionar o wireless, que é uma placa RTL8101E PCI Express Fast Ethernet controller (rev 02). sabe o que posso fazer? alguma dica? obrigado

[13] Comentário enviado por luizvieira em 06/04/2010 - 19:48h

Muito bom!
[ ]'s

[14] Comentário enviado por galdinocamargo em 20/05/2010 - 00:21h

Gostei também, muito bom!

abraço,
Rodrigo Galdino.

[15] Comentário enviado por tntsys em 25/05/2011 - 20:25h

legal cara vc é professor da 4linux.

[16] Comentário enviado por vbassis em 25/06/2011 - 13:25h

Parabéns!!!!!
excelente artigo.

Abraço,
Vinicius

[17] Comentário enviado por rodrigocontrib em 27/06/2013 - 06:39h

Fala ae,
Criei duas linhas de comando para auxiliar no modinfo, a primeira gera um arquivo teste-2706 a segunda pega este arquivo e da um cat grepando para um parametro qualquer da sua interface.
no meu caso a minha placa de som é : 00:05.0 Audio device: nVidia Corporation MCP61 High Definition Audio (rev a2)

lsmod |grep -i snd |awk '{print " find . -type f -iname " $1 "*" }'|sh + > /home/rodrigo/teste-2706
cat /home/rodrigo/teste-2706 | awk '{print " modinfo " $1}' |sh + |grep -i MCP*

Boa noite a todos, e fiquem com Jesus Cristo!

[18] Comentário enviado por sauloneiva em 09/07/2015 - 11:23h

Olá!!!
Estou tentando usar o modprobe -l, porém esta dando esta mensagem:
modprobe: unrecognized option '--l'.
Estou usando o Debian Weezy.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts