A forma como o sistema operacional trabalha com o hardware é fator decisivo no desempenho e estabilidade do sistema. Um processador pode ser muito rápido por possuir diversos recursos, mas se o sistema operacional não tiver suporte a esses recursos, não será possível extrair o máximo de desempenho do processador. Nesse artigo veremos como o Linux interage com o hardware do computador.
O suporte aos dispositivos de harware é fornecido pelo kernelLinux, de modo nativo ou através de módulos. Os módulos são o que poderíamos chamar de "pedaços" do kernel que podem ser carregados e descarregados a qualquer momento, adicionando ou subtraindo funcionalidades ao sistema.
Assim, para instalar o suporte a um dispositivo de hardware no Linux basta carregar o módulo correspondente. A grande vantagem aqui é que não é necessário reiniciar o sistema quando se instala um novo dispositivo. Basta carregar o módulo correspondente e, se for o módulo correto, o novo dispositivo será instalado e já poderá ser utilizado.
O comando para carregar um novo módulo é o modprobe. Sua sintaxe é a seguinte:
# modprobe [opções] [módulo]
Em [opções] podemos informar manualmente a IRQ, DMA e I/O do dispositivo, caso o modprobe não consiga fazer isso sozinho (o que dificilmente ocorre), além de diversas outras opções.
Na maioria dos casos um simples modprobe [módulo] é suficiente. Ao dar esse comando, o sistema procura pelo módulo especificado. Em seguida, verifica se o módulo pode ser utilizado por algum dispositivo de harware. Se puder, o módulo é carregado e é criado um arquivo de dispositivo no diretório /dev/. Se, por outro lado, o módulo não puder ser utilizado por nenhum dispositivo, é retornada uma mensagem de erro avisando da incompatibilidade do módulo.
Por exemplo, o comando abaixo instala um Zip Drive externo ligado à porta paralela:
# modprobe ppm
Após a instalação do módulo, é criado o dispositivo /dev/sda4, de onde acessaremos o Zip Drive.
Módulos de terceiros
O kernel Linux é um software livre e, portanto, só pode incluir componentes que também sejam livres, o que inclui módulos de dispositivos.
Infelizmente, alguns fabricantes desenvolvem módulos de dispositivos para o kernel Linux, mas os disponibilizam sob uma licença não-livre. Assim, esses módulos não podem ser distribuídos junto com o kernel, o que dificulta a sua instalação.
No caso da instalação de um módulo de terceiros, o procedimento pode variar bastante. Algumas empresas distribuem instaladores que realizam todo o processo automaticamente. Outras distribuem os códigos-fonte para serem compilados, o que requer que o módulo gerado seja instalado manualmente.
Vamos tratar do caso em que o módulo precisa ser instalado manualmente. A primeira coisa a se fazer é, com o módulo em mãos, copiá-lo para o diretório de módulos correspondente.
Suponhamos que você tenha compilado o módulo 3c900.ko, para a sua placa gigabit ethernet. Copie o arquivo para o diretório de módulos de placas de rede do seu kernel:
[1] Comentário enviado por dk_millares em 16/12/2005 - 08:49h
ae Davidson muito interessante seu artigo,ainda não conhecia nada sobre hardware no linux;muitas pessoas aprende a instalar uma placa de som por exemplo mas são dicas que na verdade nem sabem oque estão fazendo(já conteceu comigo),pois na hora do desespero o usuario iniciante tenta a primeira dica que falarem para ele,muitas vezes dá certo mas o usuario acaba sem saber oque fez e pra que servia "aquilo".
A partir deste artigo da para pegar uma boa noção sobre hardware no linux,claro que vale a vontade pra correr atras de algo mais.
abraços
[2] Comentário enviado por bosetti em 16/12/2005 - 09:17h
concordo, realmente muito bom o artigo... ajuda muito...
e por falar em ajudar...
davison, eu tenho um computador praticamente igual o seu, só que athlon xp 1.8 hehehe, e a placa de vídeo é a mesma, e gostaria de saber qual driver você usa para ela, eu uso o "savage", não parece ter muita aceleração nem nada, mas pelo menos funciona, o problema é o seguinte, euconfigurei ele para rodar em 24bits de cor, mas parece rodar somente em 16, pois dá para percever algumas falhas nos tons das cores, caso isso também aconteça com você, ou tenha resolvido, me dá uma dica aí do que fazer...
a propósito, já falei que o seu artigo tá muito bom?? hehe
[4] Comentário enviado por wavemmx em 16/12/2005 - 11:33h
ótimo seu artigo .Parabens!!
O diretório /proc não existe fisicamente no hd ,ele é criado pelo kernel (virtualmente) e la vc pode ver as informações do funcionamento do seu kernel
falow!!!
[5] Comentário enviado por m_arco em 16/12/2005 - 11:47h
Olá davidsonpaulo,
achei muito útil seu artigo, sem dúvidas, o suporte a hardwares atuais é muito importante para o crescimento da comunidade linux.
Tenho uma pergunta e talvez você possa me orientar...
Li na introdução do seu artigo que o gerenciamento de memória do sistema operacional pode o tornar eficaz como ineficaz, dependendo se está adaptado ao sistema ou não, o caso é o seguinte:
Tenho um slackware instalado em minha máquina, 1024Mb de memória DDR400, processador AMD Athlon XP 2800, placa mãe Soyo Kt400 Dragon Ultra. Mesmo com esses dispositivos de hardware, que creio serem ótimos para as minhas necessidades, as vezes ocorre travamentos no sistema, mas creio que estes sejam travamentos absurdos, pois em nenhum dos casos estava utilizando tanto dos processos assim, você poderia me indicar algum artigo ou material que eu possa ler para resolver este meu "probleminha" de gerenciamento de memória?
[6] Comentário enviado por feraf em 16/12/2005 - 12:43h
m_arco, tive problemas similares em uma Soyo K7V-Dragon Plus, na época top de linha, mas depois de um tempo ele começou a travar repetidamente. Desconfiei ser um problema de hardware quando meu HD parou de funcionar. Foi o que me fez trocar de placa-mãe (agora tenho uma Asus), e está funcionando perfeitamente. Ainda não sei ao certo qual problema da placa antiga, desconfio que seja um problema na IDE (a placa em questão foi uma das primeiras a ter Raid). Bem, de qualquer forma, um técnico pode ajudar (ou não, no meu caso tive que trocar a placa).
Boa sorte,
Felipe
[13] Comentário enviado por Marciofs em 19/12/2005 - 15:52h
Ola
por favor estou com problemas p/ instalar minha placa de rede que uma marvel Yukon tem no cd o driver linux mas sou iniciante e não sei o que devo fazer
desde ja agradeso
[15] Comentário enviado por acollucci em 23/12/2005 - 15:50h
Kra gostei mto do sei artigo... Principalmente que tem mto a ver com outro que eu escrevi, onde falava a grande vantagem do linux na area de hardwares naum convencionais.. assim como robos e maquinas eletromecanicas.. Parabens pelo artigo, ja esta nos meu favoritos
[18] Comentário enviado por mardecores em 14/05/2006 - 23:20h
Olá! Estou migrando para o Linux e gostaria de dicas de configuração de modem intel 537 data fax voice v.90 - pois não consigo acessar a internet pelo linux.
Grato, mardecores.
[19] Comentário enviado por gsi.vinicius em 07/08/2006 - 13:20h
opa, intaum respondendo ao mardecores acima....as distros kurumin tem nativo a esse modem.....é só vc entrar em um menu e selecionar esse modem!!!!!
De qq forma, entre no www.guiadohardware.net e vá na sessão de tutoriais , tem um chamado instalação de softmodens (atualizado) onde vc encontra informações de onde baixar os drivers e como instalar..
outra url interessante é http://linmodems.technion.ac.il/ ..onde vc pode encontrar informações preciosas sobre instalação de softmodens
[20] Comentário enviado por diogobc em 09/09/2006 - 03:33h
nossa muito bom mesmo este artigo e despertou uma curiosidade em mim..
sabe eu tenho a mesma placa mãe com os mesmos dispositivos listados acima no artigo só qe com uma NVIDIA fx5500 no agp e toda vez qe ligo a maquina qdo esta caregando os modulos de drivers aparece uma linha com uma mensagem de erro nos modules do agp porem nunca tive nenhum problema apesar dessa mensagem uso kernel 2.4 slack 10.2 ;D alguem ae sabe uma probabilidade do pq dessa mensagem ?
se alguem tiver alguma ideia me avisa aki ou envia um e-mail: diogoboarettoc@gmail.com