Chipset Atheros: Reconhecendo e configurando placas wireless na mão

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".

[ Hits: 53.978 ]

Por: Otávio em 28/07/2008


Introdução



Após ter buscado bastante, pedido ajuda e tentado durante um bom tempo configurar a minha placa de rede wireless da Abit (chipset Atheros Communications Inc. AR242x), finalmente consegui configurar e colocar para funcionar uma placa que inclusive os mantedores do madwifi falavam que era "bastante provável de incompatibilidade de hardware e erros no módulo".

Comecemos do início, os módulos da madwifi usam HAL ("Hardware Abstraction Layer"), que é em uma definição mais "simples", uma espécie de API a nível de hardware. Trata-se de um código binário e proprietário para a comunicação do módulo e o hardware. Portanto o módulo não "conversa" diretamente com o hardware.

Desta forma o módulo da madwifi para chips da Atheros acaba sendo feito sem um completo entendimento do HAL, portanto, isso leva a... mutretaa!!

Erros inesperados ou incompreensíveis a nível de desenvolvimento são comuns, basta dar uma olhada nos tickets do mantedor . Apesar de que isso irá mudar, em um futuro próximo, pois os módulos para Atheros usarão uma HAL aberto, o OpenHal. Mais pode ser lido em:
Já que nosso HAL é proprietário...

Vamos logo ao How to! ^^

    Próxima página

Páginas do artigo
   1. Introdução
   2. Mãos a obra
   3. Baixando e instalando o módulo madwifi
   4. Configurando a conexão
   5. Autenticação WPA
   6. Conclusão
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Como otimizar o desempenho do vídeo Intel com o driver i915

Configurando placa 3D nVidia 6200 com TV-out no Kurumin 7

Instalando um gravador de CD IDE

Hardmodem PCI US Robotics

Instalando nVidia no Debian Lenny 5.0.1 - Kernel 2.6.26-2-686

  
Comentários
[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....

OBS: Ótimo artigo, bem simples de entender. :)

[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


[3] Comentário enviado por PROSIT em 28/07/2008 - 20:22h

Ola para mim esse procedimento nao funcionou, segue dmesg | tail

gabriel-laptop:/usr/src/modules/madwifi-0.9.4# dmesg | tail
Bluetooth: Core ver 2.11
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: L2CAP ver 2.9
Bluetooth: L2CAP socket layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM ver 1.8
eth0: no IPv6 routers present
gabriel-laptop:/usr/src/modules/madwifi-0.9.4#

Quando dou o comando lspci a placa é localizada só que não carrega nos arquivos de configurção das interfaces.....
Alguma ideia do que pode ser?????

Grato


[4] Comentário enviado por octopos em 28/07/2008 - 21:24h

Olá gpinotti, do tail do dmesg não aparece o processo de carregamento do módulo (modprobe ath_pci) , tente fazer o seguindo, após instalar SEM erros:

# modprobe ath_pci ; sleep 4 ; dmesg | tail

^^

[5] Comentário enviado por badiale em 28/07/2008 - 21:29h

octopos, eis o a saída do dmesg | tail é esta:

ath_pci: driver unloaded
wlan: driver unloaded
ath_hal: driver unloaded
ath_hal: 0.9.18.0 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413)
wlan: 0.9.4
ath_pci: 0.9.4
ACPI: PCI Interrupt 0000:01:00.0[A] -> GSI 16 (level, low) -> IRQ 16
PCI: Setting latency timer of device 0000:01:00.0 to 64
wifi%d: unable to attach hardware: 'Hardware didn't respond as expected' (HAL status 3)
ACPI: PCI interrupt for device 0000:01:00.0 disabled

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)....

Vlw pela ajuda!

[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.

De nadaa!

[7] Comentário enviado por elderjmp em 29/07/2008 - 02:19h

funciona para arquitetura de 64 bits?

[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:

http://wireless.kernel.org/en/users/Drivers/ath9k

[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.

Valeu

[11] Comentário enviado por octopos em 02/08/2008 - 01:47h

Eehe, de nada!
Então Juninho, esse networking manager é o NetworkManager(*) que falava para killar, pois ele atrapalhava as coisas ^^

Fico feliz em saber que estou ajudando.

Abraços

[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.

Você pode me ajudar.

Obrigado,

Daniel.

[13] Comentário enviado por octopos em 08/08/2008 - 01:20h

Olá Daniel, você pode colar o iwconfig aqui?
Reparou se em alguma parte do processo o retorno do debug (dmesg ) continha erros?

Obrigado

[14] Comentário enviado por danipero em 08/08/2008 - 13:27h

Olá Octopos, estou postando abaixo o que você solicitou. Primeiro o IWCONFIG e depois o DMESG. Fico no aguardo e obrigado pela atenção.

lo no wireless extensions.

eth0 no wireless extensions.

wmaster0 no wireless extensions.

wlan0 IEEE 802.11bg ESSID:""
Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated
Tx-Power=27 dBm
Retry min limit:7 RTS thr:off Fragment thr=2352 B
Encryption key:off
Power Management:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

br0 no wireless extensions.

**********************************************************************

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 ^^.

Obrigado e desculpa a demora.




[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.


que eu faço???

[17] Comentário enviado por octopos em 17/09/2008 - 14:24h

Olá Rhuan, você baixou os fontes, headers do kernel?
Você precisa baixa-los, use o synaptic ou o próprio apt-get para achar-los corretamente.

No synaptic apenas busque por "2.6.18-6-686" , no apt-get use:
# apt-get install *2.6.18-6-686

Qualquer coisa poste aqui.

Abraços
=]


[18] Comentário enviado por removido em 24/10/2008 - 00:14h

problemas quando dou esse comando

wpa_supplicant -D madwifi -i ath%d -c /etc/wpa_supplicant.conf

ele diz que não da suporte ao driver madwifi...

Estranho! Por que, alguém saberia dizer?

[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!!

\o/

;]

Abraços


[20] Comentário enviado por removido em 29/10/2008 - 20:25h

Então, o unico erro é a mensagem dizendo que o wpa_supplicant não da suporte ao driver madwif...
mais nada.

Vou tentar instalar novamente , estou fazendo um dual boot pois preciso instalar o oracle no Windows e no linux para estudar.

já retorno

[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

[22] Comentário enviado por octopos em 04/04/2009 - 21:27h

Já lhe respondi por e-mail Daniel, assim que chegarmos em uma solução, eu coloco ela aqui.

=]

[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.

A lista dos chipsets suportados por cada módulo, e outras informações, você pode lê em:
http://linuxwireless.org/en/users/Drivers/ath5k
http://linuxwireless.org/en/users/Drivers/ath9k


Qualquer coisa, poste ^^

Abraços ;]



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts