Apesar do suporte a hardware das distribuições estar aumentando constantemente, uma hora ou outra temos que instalar um driver em específico. Um exemplo disso é a placa de rede Atheros AR242x ou outros modelos, que apesar de virem com um driver compilado no Ubuntu Linux, este não funciona. Com os passos descritos aqui você será capaz de instalar um driver não-nativo na sua distribuição.
Onde * é o restante do nome do arquivo, que pode variar conforme a versão.
Se você baixou um arquivo bzip2, cujo a extensão é .bz2, troque o "z" do comando por um "j", ficando assim:
tar -jxvf madwifi-hal-*
Explicando o comando:
"tar" descompacta arquivos que estão agrupados com esse algorítimo (extensão para os leigos geralmente .tar), porém nossos arquivos não são compactados com o tar, são apenas agrupados em um só, o tar junta vários arquivos em um único, quem compacta na verdade é o gzip ou bzip2, daí a extensão ser .tar.gz ou .tar.bz2.
Para que não seja necessário descompactar e depois "desagrupar" nosso arquivo em dois comandos, nós simplesmente dizemos ao tar que nosso arquivo está compactado no formado gzip (parâmetro "z") ou bzip2 (parâmetro "j"), logo em seguida dizemos que queremos extrair o conteúdo (parâmetro "x"), mostrar na tela o que esta acontecendo (parâmetro "v") e por último mas importante dizemos que estamos descompactando para um arquivo e não para a tela (parâmetro "f").
Bom, se apareceu um monte de arquivo na tela sendo descompactado e foi criada uma pasta chamada "madwifi-algumacoisa" no diretório corrente com todos os arquivos, então tudo bem. Se deu alguma mensagem de erro então ou o arquivo está corrompido ou você usou o parâmetro errado, "z" ao invés de "j" ou vice versa.
Entre na pasta:
cd madwifi-"um monte de coisa"
Antes de compilarmos teremos certeza que as ferramentas necessárias estão instaladas:
Em alguns programas fonte existe um arquivo que é um script chamado "configure", esse script verifica se o sistema cumpre todas as dependências para compilação do pacote, qual arquitetura do sistema, se existem bibliotecas necessárias etc. Não é o nosso caso, então não vamos precisar executar esse script, mas se fosse o caso, rode esse comando de dentro da pasta fonte:
./configure
Compilar:
make
Agora instalar:
sudo make install
Legal, o driver está compilado e pronto para ser usado, vamos carregá-lo na memória. Caso ocorra algum erro o mais comum é não ter as ferramentas necessárias para compilar o driver, que são os fontes do kernel e os pacotes gcc, g++, make etc. Em ambientes Debian o apt-get que mostrei resolve esses problemas.
Certa vez não consegui compilar o driver e nem mesmo com os pacotes, baixei a versão mais nova do driver e o problema foi resolvido. Bom, o Google é um ótimo lugar para se resolver problemas!
Em todo caso há 97% de chance de esses passos derem certo. Então vamos continuar...
[1] Comentário enviado por edipo.magrelo em 03/12/2008 - 14:54h
Bom Artigo.Ainda não parei para instalar minha placa wireless no meu notebook Acer 5040 depois que eu atualizei para a versão 8.10.
Ja anotei o link do artigo para testar em casa..valew pelo artigo!!
abraços
[2] Comentário enviado por mineiral em 03/12/2008 - 17:13h
Excelente artigo! Recomendo a leitura, mesmo para quem não vai instalar o drive wireless, pois estes passos servem para qualquer outro hardware, bastando apenas achar o driver do hardware desejado.
Muito bom!!
[5] Comentário enviado por felipebastosweb em 05/12/2008 - 21:16h
eu comecei a instalar no Mandriva pelo próprio gerenciador de pacotes da distro.
Ele atualizou o kernel laptop ..de quebra instalou o make e outros pacotes que não vem instalado na configuração padrão.
Mas deu um erro .. o processo de instalação não terminou .. tive que interromper bruscamente desligando o PC pelo sistema.
Ainda não testei, mas da ultima vez que instalei (anterior a essa), não conectava de jeito nenhum. Espero que funcione corretamente dessa vez.
Nem sei quando vou poder testar.
Espero que dessa vez eu consiga conectar em redes wifi, afinal é a única coisa que tá dando dor de cabeça a esse pobre iniciante.
[6] Comentário enviado por giovannikenpachi em 07/12/2008 - 12:29h
Dica ao colega felipebastosweb:
Atualização de kernel geralmente dá problema, pois o kernel já vem com os drivers da distro, o que faz com que perca os drivers que tenham sido compilados manualmente. Se sua placa está enchergando a rede e não conecta, então é algum problema na rede, como sinal baixo criptografia, etc, pois a placa já estará funcionando.
Se conseguir fazer com que os drivers de seu computador fiquem ok, então não atualize o kernel, a não ser que saia um versão muito diferente, tipo do 2.4 para 2.6 porque com o passar do tempo programas vão exigir recursos do novo kernel. Por enquanto as atualizações de kernel só adicionam drivers e poucas correções.
[9] Comentário enviado por Diogomaster em 09/03/2009 - 21:25h
Tudo bem... Preciso de esclarecer umas dúvidas sobre este assunto:
-Eu baixei o ficheiro madwifi para o desktop e quero instalar as drives, tenho que diz á consola a directoria para a ela ir buscar para depois ela descompactar os ficheiros e depois fazer o resto certo?
A consola diz que a directoria não existe quando tento ir buscar os ficheiros eu leigo em linux
[12] Comentário enviado por giovannikenpachi em 21/03/2009 - 22:00h
Tente baixar a versão mais nova do driver e descompactar o arquivo na sua pasta home o caminho fica sem passar pela pasta "Testes_Instalacoes". Não parece ter sentido mas eu tive problemas com o caminho de onde instalava da primeira vez que tentei.
Quanto ao amigo riick. O problema é configuração de rede ja que esta conectado.
[15] Comentário enviado por rafaelsouza145 em 18/04/2009 - 22:50h
por favor segui todos os passo mas quando verifico os modulos carregados nao aparece wlan_scan_sta e nem ath_rate_sample o que pode ser , sou novo em Ubuntu .
[17] Comentário enviado por andrersgodoy em 25/06/2009 - 09:10h
Conforme seu tutorial, instalei o debian no notebook acer 7520 mas não iniciou nem uma das placas de rede e nem a parte grafica.
Seguindo seus passos, eu não consigo dar continuidade na parte de instalar ad ferramentas basicas para compilar o codigo.
[19] Comentário enviado por jamesfrj em 26/07/2011 - 08:45h
Prezado, sou iniciante no Linux, estou usando Cent OS 5 e tive dúvidas na hora da instalacão.
$ sudo apt-get install build-essential linux-headers-`uname -r`
Como faco isto no Cent OS??
./config
bash: ./configure: No such file or directory
make
/bin/sh: line 0: cd: /lib/modules/2.6.18-238.el5PAE/build: No such file or directory
Makefile.inc:66: *** /lib/modules/2.6.18-238.el5PAE/build is missing, please set KERNELPATH. Stop.
[20] Comentário enviado por fernando_pinhal em 16/08/2011 - 20:27h
Olá pessoal, não consegui descompactar direito o pacote, mas baixei o pacote madwifi-0.9.4.tar.gz , e na hora de descompactar não consegui descompactar com o tar -zxvf madwifi-hal-*... e descompactei como tar -zxvf madwifi-0.9.4.tar.gz ...
Mas acho que estou com o mesmo problema do amigo jamesfrj... alguém sabe como nos ajudar a passar dessa "fase".
Uso u Lubuntu 11.04, e meu kernel é linux-2.6.38-8... e estou perdido... não sei como continuar.. até por que depois que dei um modprobe para levantar os driver do ndiswrapper (que não resolveu meu problema), minha placa de rede não é mais localizada no sudo lshw -C network
Esse pacote tem um nome diferente do outro... quando baixei nesse site http://snapshots.madwifi-project.org/madwifi-hal-0.10.5.6/ .. o pacote "zipado" tinha o "hal" no meio do nome.... nesse eu dei o make... e.... não resolveu.... kkkk...
Olha o resultado que me apareceu na tela:
===============================================
#:~/madwifi-hal-0.10.5.6-r4103-20100110$ make
Checking requirements... ok.
Checking kernel configuration... ok.
make -C /lib/modules/2.6.38-10-generic/build SUBDIRS=/home/fernando/madwifi-hal-0.10.5.6-r4103-20100110 modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.38-10-generic'
CC [M] /home/fernando/madwifi-hal-0.10.5.6-r4103-20100110/ath/if_ath.o
/home/fernando/madwifi-hal-0.10.5.6-r4103-20100110/ath/if_ath.c:49:26: fatal error: linux/config.h: No such file or directory
compilation terminated.
make[3]: *** [/home/fernando/madwifi-hal-0.10.5.6-r4103-20100110/ath/if_ath.o] Error 1
make[2]: ** [/home/fernando/madwifi-hal-0.10.5.6-r4103-20100110/ath] Erro 2
make[1]: *** [_module_/home/fernando/madwifi-hal-0.10.5.6-r4103-20100110] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.38-10-generic'
make: ** [modules] Erro 2
#:~/madwifi-hal-0.10.5.6-r4103-20100110$ sudo make install
Checking requirements... ok.
Checking kernel configuration... ok.
make -C /lib/modules/2.6.38-10-generic/build SUBDIRS=/home/fernando/madwifi-hal-0.10.5.6-r4103-20100110 modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.38-10-generic'
CC [M] /home/fernando/madwifi-hal-0.10.5.6-r4103-20100110/ath/if_ath.o
/home/fernando/madwifi-hal-0.10.5.6-r4103-20100110/ath/if_ath.c:49:26: fatal error: linux/config.h: No such file or directory
compilation terminated.
make[3]: *** [/home/fernando/madwifi-hal-0.10.5.6-r4103-20100110/ath/if_ath.o] Error 1
make[2]: ** [/home/fernando/madwifi-hal-0.10.5.6-r4103-20100110/ath] Erro 2
make[1]: *** [_module_/home/fernando/madwifi-hal-0.10.5.6-r4103-20100110] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.38-10-generic'
make: ** [modules] Erro 2
#:~/madwifi-hal-0.10.5.6-r4103-20100110$
=================================================
[23] Comentário enviado por saxsoares em 20/07/2015 - 13:24h
Ola,
Em meu note já há um driver instalado e operando, porém como o funcionamento dele é muito aquém do razoavel, decidi instalar o backports, que é, senão me engano, apenas um novo nome dado paro o projeto madwifi. Minha dúvida é como faço para ter certeza de que o módulo antigo não estará mais operando após a instalação desse novo módulo?