Home > Dicas

Saiba o que são e como instalar drivers em um sistema com Linux

Drivers compilados no Windows podem não funcionar adequadamente se portados para um PC rodando o sistema de código aberto.

Cristiano Meira Magalhães, especial para a PC World

05/12/2008 às 15h07

duvida_uol_linux_150.jpg
Foto:

Reportagem feita a partir de dúvida de leitor; saiba mais

duvida_uol_linux_150Um leitor comprou uma impressora da HP e quer saber como instalar o driver do periférico em seu computador com Linux.

Antes de qualquer coisa, devemos lembrar que o sistema Linux é diferente do sistema Windows. Portanto, "drivers" compilados no Windows dificilmente
conseguirão ser instalados no Linux com sucesso, e vice-versa. Se você
usa algo dentro do Linux, tem que usar um driver compilado "para
Linux".

Para entender sobre drivers
A palavra inglesa "driver" significa "motorista", e no mundo da computação esse título não seria menos apropriado para um software que executa uma função de "dirigir" componentes eletrônicos como se fossem automóveis no confuso estacionamento do sr. Kernel.

Leia também: 
> Execute aplicativos do Windows no Linux
> Assista vídeos em um PC com Linux
> Drivers do Vista vão rodar no Windows 7?

Cada componente de um computador possui um "chipset" que é responsável pelo seu funcionamento. O "driver" é um software que receberá informações provenientes de uma parte controlada do sistema (Kernel) e saberá conduzir corretamente esse "chipset" como seu perfeito "motorista".

Conceitualmente, talvez não seja possível dizer que existe uma enorme diferença no conceito de "driver" no ambiente Linux e no ambiente Windows. Ambos sistemas precisam, de alguma forma, controlar os componentes do sistema e ambos necessitarão empregar vários "motoristas" para dirigir esses vários "chipsets".

Porém, a forma com que esses drivers são instalados e utilizados em cada sistema, isto é, a arquitetura, pode se diferenciar de um sistema operacional para outro.

No Linux, temos que entender que o Kernel é o software que comanda tudo - ele é o "big boss". O Kernel é como se fosse o núcleo e o cérebro do sistema, onde tudo passa por ele. Porém, o Kernel por si só não sabe como fazer para uma placa de som qualquer tocar um fluxo de bytes.

Assim, é necessário que ele consulte um software "driver" para executar tal tarefa. E ele vai consultar vários outros softwares do tipo "driver" para acessar corretamente qualquer outro componente do sistema.

Leia mais sobre Linux: 
> Como instalar o Ubuntu em seu notebook
> Converta seus CDs para MP3 em Linux
> Podcast em Linux? Claro que dá

> Instale plug-ins e Flash no Linux

Geralmente, o Kernel do Linux sempre foi compilado contendo os códigos de "driver" de grande parte dos componentes mais comuns do mercado.

No entanto, prevendo que seu código ficaria muito grande, a partir da versão 2.2, o Kernel passou a aceitar "módulos" - e quando anexados ao mesmo funcionariam como parte desse. Os módulos podem ser carregados e descarregados em qualquer instante usando os comandos "modprobe" e "modprobe -r".

Cadê os drivers?
Muitos "drivers" de dispositivos são construídos, hoje em dia, na forma de "módulos" para o Kernel do Linux, tornando muito mais fácil seu gerenciamento. No sistema de arquivos, esses módulos podem ser encontrados na pasta:

/lib/modules/<versao_do_Kernel>/kernel/drivers.

Quando o Linux é instalado em qualquer computador, geralmente o sistema reconhece automaticamente os chipsets e instalam seus respectivos módulos, para os principais chipsets encontrados no mercado.

No entanto, pode ocorrer, que na instalação do sistema, algum determinado "driver" não seja instalado. Os motivos para isso podem variar desde entraves referentes a direitos autorais até o fato de que o sistema a ser instalado não tenha suporte ao "chipset" em questão.

Caso isso aconteça, o usuário deverá instalar o "driver" manualmente, e isso pode ser feito por mais de uma forma:

1) baixar manualmente o código do "driver" e compilar seu módulo para sua versão do Kernel em uso;

2) baixar uma versão pré-compilada para o kernel em uso (2a) diretamente do site do fabricante do "chipset" ou (2b) diretamente do repositório de pacotes do seu sistema.

Recomenda-se, sempre que for possível, a opção 2b, ou seja, instalar o driver pré-compilado para o seu dispositivo, por meio de algum pacote presente no repositório. Isso pode ser feito de forma muito fácil com o comando aptitude:

$ sudo aptitude install <nome_do_pacote_do_driver>

ou usando seu similar para a interface gráfica, o Synaptic.

A vantagem de instalar o pacote do repositório do "driver" se deve ao fato de que o instalador de pacotes iria se encarregar de fazer qualquer configuração, deixando o usuário livre dessa preocupação.

Se no repositório da sua distribuição não houver um "driver" para seu "chipset", é recomendado contatar o fabricante e verificar se possui recomendações especiais para sua instalação, geralmente presentes em um arquivo "readme.txt".

Existem ainda alguns "drivers" que não estão associados tão diretamente com o Kernel, como drivers de impressoras e scanners. Para esses componentes, em raríssimas excessões, o uso de módulos não são tão necessários.

Bem, deixando um pouco a teoria de lado, como podemos responder a pergunta prática "comprei uma nova impressora HP, como instalar o driver para ela no Linux?

Caso seu Linux não possua o respectivo "driver", a primeira coisa que deveríamos fazer seria procurar esses drivers no repositório. Para isso poderíamos digitar no shell algo como:

$ apt-cache search HP cups

O resultado do comando acima listaria alguns pacotes importantes, dentre os quais os seguintes:

hpijs - HP Linux Printing and Imaging - gs IJS driver (hpijs)
hplip - HP Linux Printing and Imaging System (HPLIP)

O próximo passo é instalar esses pacotes:

$ sudo aptitude install hpijs hplip

E pronto, o comando "aptitude" se responsabilizaria por baixar e instalar os pacotes contendo os "drivers" das impressoras HP mais comuns no mercado. Após a instalação dos "drivers", é só ir em Sistema>Administração>Impressão e instalar corretamente sua impressora. Caso tenha funcionado corretamente, então a instalação do "driver" ocorreu com sucesso; caso contrário, tente instalar novamente repetindo todo o processo.

Não há driver para Linux! E agora?
Não vale a pena entrar em desespero quando se tem um componente sem um respectivo "driver" para o seu sistema. No caso de placas wireless, por causa de proteções de direitos autorais, a maioria dos drivers são "para Windows".

A solução criativa, no Linux, é utilizar o programa "ndiswrapper", capaz de implementar o "Windows kernel API" e "NDIS (Network Driver Interface Specification) API" para que o kernel do Linux possa compreender a implementação do driver "para Windows", fazendo-o correr nativamente, sem emulação binária, como se fosse um módulo qualquer do Linux.

Recomendamos sempre que antes de adquirir algum componente para seu computador, pesquise antes na Internet, em sites de busca e em fóruns de usuários, se o dispositivo possui suporte para o Linux. Em caso negativo, pesquise quais alternativas os usuários encontraram para instalar esse mesmo equipamento em outras distribuições Linux.

Lembre-se: "quem tem boca vai a Roma". Mas em matéria de instalação de "drivers": "quem tem boca, vai a Roma, mas de motorista".

Tags

Junte-se a nós e receba nossas melhores histórias de tecnologia. Newsletter por e-mail Newsletter por e-mail