Nesse artigo passo minha experiência para aqueles que tentam reconhecer algumas placas com o chipset da Atheros e não encontram uma solução definitiva. Artigo desenvolvido através de tentativas em uma Abit Airpace chipset Atheros, placa que inclusive os mantenedores do madwifi falam que é de "provável incompatibilidade de hardware e erros no módulo".
Apesar de ter conseguido reconhecê-la no Ubuntu 8.04, eu literalmente tirei do sistema o controle sobre as minhas interfaces de rede e sobre os módulos proprietários. Essa configuração será "on hand!", portanto poderá ser usada em qualquer outra distro.
Vou descrever um breve algorítimo do processo, para assim evitar que alguém, que só precise da idéia, leia todos os detalhes que já sabe:
Desinstalar o linux-restricted-modules-* (Mas o que?! Eespeeraa... ^^).
Baixar o módulo da MadWifi em www.madwifi.org, a última versão no exato momento é a 0.9.4.
Copiá-la para /usr/src e extrair lá mesmo ^^.
Instalá-la, ativar os módulos (sudo modprobe ath_pci)
Dar uma olhada no debug message atrás de erros (dmesg | tail)
Sem erros, desativar o controle do Ubuntu sobre as interfaces de rede (killando tudo que é NetworkManager* ^^).
Agora configurações "padrões": Upar a interface wireless, remover tudo do kernel route (route --h), adicionar a interface wireless e o gateway no kernel route, ativar key ou wpa_supplicant, caso a rede seja encriptada, atualizar os nameservers do seu acesso em /etc/resolv.conf (não seguirei exatamente essa ordem neste item).
Sorrir muito. =P
Pronto, sua wireless já deve estar funcionando, se você usa uma distro diferente do Ubuntu deve estar todo feliz porque sua Abit Airpeace ou uma Atheros qualquer está funcionando. Porém, se você usa Ubuntu, percebeu que foram desativadas duas coisas, os módulos restritos e o controle das interface pelo sistema, mas por quê?
O linux-restricted-modules-* tem como objetivo facilitar aos usuários "novatos" o reconhecimento e funcionamento de placas com drivers proprietários, porém sua atualização é bastante lenta, ele não é específico para o seu hardware, já que ele tenta ser o mais genérico possível!
Uso uma Nvidia Geforce 8800 GTX, inicialmente com os drivers restritos, eu tinha uma resolução "falsa", além da taxa de atualização do monitor baixa. Após instalar o driver certo, tudo ficou lindo. Estou querendo dizer que não compensa manter esses módulos, pois você pode instalá-los em uma versão mais específica e "nova" sem grandes dificuldades, e além do mais, sua wireless ficará ativa ^^.
Vai uma lista das placas que o linux-restricted-modules-* dá suporte:
Pode ser que você tenha alguma placa das listadas acima diferente da nvidia e Atheros, que para reconhecê-la seja muito complexo, então fica com você a decisão de desinstalar ou não.
Você também pode editar os módulos restritos que serão carregados pelo kernel:
Sendo [M] o nome do módulo que deseja desativar o suporte, tais como "nv" para Nvidia ou "ath_pci" para a sua placa Atheros. Porém, como disse os motivos que prefiro a desinstalação, você decide ^^.
Bom, após desinstalar os módulos restritos (ou não =] ) você deverá instalar os módulos dos próprios mantedores, darei enfoque na madwifi.
[1] Comentário enviado por badiale em 28/07/2008 - 18:34h
Olá,
Eu li seu artigo até o fim, e tentei executá-lo, mas quando eu dei iwlist scan, o meu fedora não conseguiu encontrar nenhuma rede, embora, quando uso windows, ele encontre cerca de três redes wirelles aqui.... minha palca é a A5006EX, se puder me ajudar, agradeço....
[2] Comentário enviado por octopos em 28/07/2008 - 18:45h
Olá badiale, o módulo carregou sem problemas?
Tenta colocar aqui o dmesg | tail depois de carregado e iwlist e só depois iwlist scan. Eu tinha comprado uma outra placa (TP-Link TL wn651g) tambem da Atheros para usar, pois eu não tinha conseguido configurar essa da Abit. Por ironia , eu configurei as duas na mesma hora, porem a da TP-Link listava muuiito mais redes que a Abit, entretando a da Abit pega o sinal do meu roteador com 30% a mais.
Enfim, acredito que isso possa ser problemas com o módulo usando HAL.
Mas de qualquer forma, poste aqui, pois caso eu não possa ajudar, haverá outros.
Obrigado, eu fiz o artigo passo-a-passo para facilitar muito para todos, sofri bastante para configurar essa placa, porque não ajudar o máximo outros, né? :P
E é bem engraçado, porque na primeira tentativa parecia ter funcionado, daí eu reiniciei o pc para ver se era esse o problema, daí ficou assim... com wifi%d: unable to attach hardware: 'Hardware didn't respond as expected' (HAL status 3)....
[6] Comentário enviado por octopos em 28/07/2008 - 22:24h
Então badiale , esse erro é um saco... você compilou o drive dentro das pasta certas?
Em algumas placas, os matedores relacionaram o bot ao windows como uma forma de ativar a placa.
Pois aparentemente, o udev não consegue dar um 'power up' nela. Minha Air Pace algumas vezes não funcionava nem no windows, eu bootava a maquina ela nem era listava como dispositivo existente.
Tente ver se alguns reebots não resolvem o problema, ou botar no win e ver oque acontece quando vai pro Linux.
[8] Comentário enviado por maran em 29/07/2008 - 06:54h
Atheros libera seu driver ath9k para Linux:
A fabricante de chipsets Wi-Fi Atheros anuncia que liberou o driver ath9k para Linux, compatível com todos os dispositivos IEEE 802.11n. Interessante ver que cada vez mais as companhias se preocupam em liberar drivers para linux, e por isso são escolhidas pelos usuários que conhecem tal iniciativa. O suporte a esta placa provavelmente será integrado em futuros kernels. Foi publicado com licença livre ISC. Confira mais em:
[9] Comentário enviado por octopos em 29/07/2008 - 15:47h
elderjmp sim, pois não se trata de um pacote e sim dos fontes que serão compilados na sua máquina, então sim. =]
maran , obrigado pelo complemento, eu havia mencionado sobre o athk5 que será mais amplo já que usará um HAL aberto. Apesar de o ath9k não ser completamente estável pode ser uma solução para alguns e também inclui uma recompilação de kernel. Vamos ver se as coisas ficam mais fácil em nível de hardware SEM prejudicar o desempenho.
[10] Comentário enviado por Juninho (Rh.com) em 29/07/2008 - 20:05h
Ei rapaz,
voce contribuiu e muito pra mim, eu não estava conseguindo instalar no meu Debian, e seguindo seu tutotrial deu certinho, tive que fazer pequenos ajustes como por exemplo desabilitar o networking manager, mas deu tudo certinho.
[12] Comentário enviado por danipero em 06/08/2008 - 14:52h
Boa tarde, segui todos seus passos para instalação dos pacotes para rede wireless no meu note, porem não consegui fazer a placa "pegar" rede. Ela aparece na barra de ferramentas, eu configuro toda ela com nome da rede, senha mas ela fica em 0% de sinal. Meu note é um HP 6707us com placa Atheros AR5005. No "ruindows" está funcionando sem problemas. O detalhe é que no nosso setor temos 4 notes do mesmo modelo e todos estamos nessa situação. Não sei se de repente no meio disso tudo não rodei alguma coisa que possa não ter "levantado" a placa de rede.
root@daniel-laptop:/home/daniel# dmesg | tail
[ 3051.044242] ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 3053.052524] ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 3053.068824] eth0: no link during initialization.
[ 3053.070301] ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 3359.360987] eth0: link up.
[ 3359.362218] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 3364.168522] eth0: link down.
[ 3365.531786] eth0: link up.
[ 3367.532130] eth0: no IPv6 routers present
[ 3396.891378] eth0: no IPv6 routers present
root@daniel-laptop:/home/daniel#
[15] Comentário enviado por octopos em 02/09/2008 - 22:10h
Desculpe-me pela demora Daniel.
Aparentemente sua placa se tornou funcional, já que pelo menos a interface wireless está "em cima".
Você disse sobre barrinha e etc, então presumo que você deixou o NetworkManager carregado, estou certo?
Ou você usou um aplicativo apenas gráfico que busca os valores no iwlist wlan0 scan ?
Porque todas as máquinas que eu recompilava os módulos como módulo do kernel, e mantia o NetworkManager ativo, eu não conseguia sinal.
Eu volto a dizer, usar tudo "automático e brincar de windows" =], passei por umas dessas de novo, recompilei o kernel e adivinha se o ubuntu tinha o alsaconf no alsa-utils, ahahah..... baixei o fonte do alsa, e recompilei como módulo para kernel, igual o módulo para Atheros ^^.
[16] Comentário enviado por RhuanLima em 16/09/2008 - 17:18h
rhuan-notebook:/usr/src/modules/madwifi-0.9.4# make
/bin/sh: line 0: cd: /lib/modules/2.6.18-6-686/build: Arquivo ou diretório não encontrado
Makefile.inc:66: *** /lib/modules/2.6.18-6-686/build is missing, please set KERNELPATH. Pare.
[19] Comentário enviado por octopos em 24/10/2008 - 19:21h
Olá Wagner, você poderia colar a mensagem de erro?
Pois que eu saiba, desdo principio madwifi é suportado. Inclusive no help lista quais as placas que suporta.
Tenha certeza que athD é a interface certa, listando-a em:
$ ifconfig athD
* Sendo D a numeração da interface que o udev atribui no bot.
Ou mesmo vendo as que suportam wifi em:
$ iwlist
Em breve descreverei um método mais fácil para aqueles que esse deu problema ^^, a atheros lançou o Open HAL!!
[21] Comentário enviado por bbgshow em 02/04/2009 - 10:00h
otavio, por favor se puder me responder eu agradeço, e que coloquei ubuntu 8.04 para meu chefe e ja segui todos os seus passos, eu instalei o madwifi-tools pelo apt-get, ai fui subir o modulo e ver se deu algum erro, e nao deu erro algum, td certo, so que é como se o programa n reconhece a placa entende, eu ja desativei o networkmanager, ai a rede perde funcionalidade, ei me ajuda ai, o chefe ja ta ficando brabo, alguem poderia me dar uma força por favor? meu msn é: bbgshow@hotmail.com
[23] Comentário enviado por dudumiquim em 17/04/2009 - 00:54h
Octopus, segui o seu processo a risca mas quando fui compilar o madwifi, apareceu essa mensagem subliminar ae!
[...]
CC [M] /usr/src/madwifi-0.9.4/net80211/ieee80211_output.o
CC [M] /usr/src/madwifi-0.9.4/net80211/ieee80211_power.o
/usr/src/madwifi-0.9.4/net80211/ieee80211_power.c: In function 'ieee80211_pwrsave':
/usr/src/madwifi-0.9.4/net80211/ieee80211_power.c:240: error: implicit declaration of function '__skb_append'
make[3]: *** [/usr/src/madwifi-0.9.4/net80211/ieee80211_power.o] Error 1
make[2]: *** [/usr/src/madwifi-0.9.4/net80211] Error 2
make[1]: *** [_module_/usr/src/madwifi-0.9.4] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.27-7-generic'
make: ** [modules] Erro 2
Tentei compilar dentro de /usr/src/modules e dentro de /usr/src mas nos 2 deu esse erro ae. O que pode ser?
Estou usando o Ubuntu 8.10, kernel 2.6.27-7
vlw!
PlayStation.: Nunca acontece como o artigo descreve! hehehe
[24] Comentário enviado por octopos em 18/04/2009 - 17:27h
Huum, a maior parte de problemas na compilação é referente ao make não está direcionando aos headers certos, links errados, versões erradas.... :\
Mas levando em conta que você usa o kernel >2.6.21, já tem o novo módulo, 100% open, usando o OpenHAL, dessa forma, você pode habilitar o módulo correto referente á sua placa.
Pelo " $ lspci | grep Atheros " você pode ver qual é chipset é a sua placa, para habilitar o módulo ath5k OU ath9k.