Atheros AR928X Wireless Network Adapter Corrigindo sinal fraco

Apareceu um usuário na comunidade do Orkut Ubuntu Linux Brasil pedindo uma ajuda com uma Atheros AR928X Wireless Network Adapter, conforme o relato do autor o problema era o sinal fraco que a placa captava, por volta de 24%.

No Ubuntu existe um repositório chamado Backports, nele são encontradas versões mais novas de pacotes para o Ubuntu estável, casos como esta wireless com sinal fraco é a solução do problema, lembrando que não se deve utilizar este repositório sem que exista uma boa razão para tal.

Para utilizar este repositório abra o terminal e digite o comando:

$ sudo gedit /etc/apt/sources.list

Nesse arquivo descomente (retire a tralha “#”) da linha:

deb http://archive.ubuntu.com/ubuntu karmic-backports main universe multiverse restricted

Salve, feche o arquivo e rode:

$ sudo apt-get update

$ sudo apt-get install linux-backports-modules-karmic

Reinicie a máquina e confira o sinal da wireless, recomendo inclusive a instalação do WICD para fazer a configuração:

$ sudo apt-get install wicd

Reiniciando a máquina novamente o WICD removerá automáticamente o Network-Manager e aparecerá o ícone do WICD no seu lugar.

Se quiser mais informações sobre o repositório Backports ou o repositório para cada versão do Ubuntu, confira este link.

Dúvidas? Poste um comentário.

Abraço!

Instalando Wireless TP-LINK TL-WN610G no Ubuntu

Vou narrar neste post a saga para ajudar na instalação de uma Atheros num IBM Thinkpad T30, o fato ocorreu na comunidade do Orkut Ubuntu Linux Brasil, entrou um usuário pedindo ajuda para instalar a placa TP-LINK TL-WN610G, como não sabia que chipset essa placa tinha, mandei ele rodar um lspci e o resultado foi o seguinte:

02:02.0 Network controller: AIRONET Wireless Communications Cisco Aironet Wireless 802.11b
02:08.0 Ethernet controller: Intel Corporation 82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller (rev 42)
07:00.0 Ethernet controller: Atheros Communications Inc. AR5212/AR5213 Multiprotocol MAC/baseband processor (rev 01)

Repare que existem duas linhas referente a “wireless”, uma Aironet, que já vêm com a máquina e uma Atheros, a placa que o usuário desejava ativar era a Atheros (card bus tplink), ele havia tentado a instalação por conta própria e não obteve sucesso na ativação do driver em Sistema>Administração>Drivers de Hardware.

Sugeri então que rodasse o comando lsmod |grep ath e postasse o resultado, queria saber se os módulos ath_pci e ath_hal estavam rodando, são os módulos responsáveis pelo funcionamento dessa placa, porém o sistema não respondia, simplesmente ia para a linha seguinte sem mostrar a saída do comando. Estranho não? No cartão o status ficava piscando e o Activity apagado. Veremos o porquê disto mais adiante.

Bom, como o comando acima não funcionou pedi para postar apenas a saida do lsmod, resultado:

fabio@fabio-laptop:/$ lsmod
Module Size Used by
ath_hal 192592 0
nls_iso8859_1 4992 0
nls_cp437 6656 0
vfat 14464 0
fat 54556 1 vfat
usb_storage 73664 0
libusual 19108 1 usb_storage
isofs 36388 1
udf 88612 0
radeon 124192 2
drm 82452 3 radeon
rfcomm 41744 2
l2cap 25728 13 rfcomm
bluetooth 61156 4 rfcomm,l2cap
uinput 10240 1
thinkpad_acpi 51836 0

Nada de ath_pci na saida do comando lsmod, muito estranho isso também.

Resultado do comando iwconfig:

fabio@fabio-laptop:/$ iwconfig
lo no wireless extensions.

eth0 no wireless extensions.

irda0 no wireless extensions.

Como podemos ver, o sistema não enxergava nenhuma interface wireless, os comandos para identificar os módulos não funcionavam, algo muito estranho estava ocorrendo. Como não sabia o que o usuário tinha feito na máquina antes de pedir auxílio na comunidade, pedi que reinstalasse o sistema e assim começar do zero. Feita a reinstalação, pedi que fosse em Drivers de Hardware e habilitasse o driver, e o resultado foi:

Dispositivo
Atheros hardware access layer (hal)
Habilitado
sim
situação
em uso
dispositivo
support for atheros 802.11 wireless Lan cards
habilitado
sim
situação
em uso

Ótimo, pela mensagem mostrada o driver está funcionando, bastava escanear a rede e configurar a conexão.

E ao rodar o comando iwlist o sistema de novo não mostrou nenhuma interface wireless, parti então em busca de bug no Google/linux, e em pouco tempo achei o motivo do sistema não responder a saida dos comandos e também o de não subir o módulo ath_pci.

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/220606
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/189398

Mandei ele realizar o procedimento postado nos links, bloqueando o padlock_aes e geode_aes:

$ sudo gedit /etc/modprobe.d/blacklist

Acrescentar as linhas abaixo

# Bloqueando modulo aes airo driver
blacklist padlock_aes
blacklist geode_aes

Após isso subir o ath_pci no módulo com o modprobe:

$ sudo modprobe ath_pci

Finalmente! A placa estava funcionando, resultado abaixo do comando iwconfig:

fabio@fabio-laptop:~$ iwconfig
lo no wireless extensions.

eth0 no wireless extensions.

irda0 no wireless extensions.

eth1 IEEE 802.11-DS ESSID:”"
Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated
Bit Rate:0 kb/s Tx-Power=20 dBm Sensitivity=0/65535
Retry limit:16 RTS thr:off Fragment thr:off
Power Management:off
Link Quality=0/100 Signal level=-104 dBm Noise level=0 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

wifi0 IEEE 802.11-DS ESSID:”"
Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated
Bit Rate:0 kb/s Tx-Power=20 dBm Sensitivity=0/65535
Retry limit:16 RTS thr:off Fragment thr:off
Power Management:off
Link Quality=0/100 Signal level=-104 dBm Noise level=0 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

wifi1 no wireless extensions.

ath0 IEEE 802.11b ESSID:”" Nickname:”"
Mode:Managed Channel:0 Access Point: Not-Associated
Bit Rate:0 kb/s Tx-Power:0 dBm Sensitivity=1/1
Retry:off RTS thr:off Fragment thr:off
Power Management:off
Link Quality=0/70 Signal level=0 dBm Noise level=0 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

Resultado do iwlist:

fabio@fabio-laptop:~$ iwlist ath0 scan
ath0 Scan completed :
Cell 01 – Address: 00:19:E0:A2:21:2C
ESSID:”TP-LINK”
Mode:Master
Frequency:2.437 GHz (Channel 6)
Quality=43/70 Signal level=-52 dBm Noise level=-95 dBm
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
12 Mb/s; 24 Mb/s; 36 Mb/s; 9 Mb/s; 18 Mb/s
48 Mb/s; 54 Mb/s
Extra:bcn_int=100
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : TKIP CCMP
Authentication Suites (1) : PSK
Preauthentication Supported
IE: WPA Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : TKIP CCMP
Authentication Suites (1) : PSK
Extra:ath_ie=dd0900037f0101001dff7f

Pronto! Resolvido!!!

Resumindo, o sistema travava justamente quando o usuário queria subir o módulo da Atheros, pois ele conflitava com o da Airo, nem mesmo com Ndiswrapper ou Madwifi conseguia, pois o sistema não obedecia ao comando modprobe, colocando os módulos do Airo na blacklist e depois subir o módulo da Atheros o problema foi resolvido!

Vai então uma dica, caso possua duas placas wireless na mesma máquina e você tenha esse tipo de problema, pesquise os módulos responsáveis pelo funcionamento das duas e bloqueie uma delas colocando seus drivers nativos na blacklist, dessa forma o sistema entenderá qual placa o usuário quer utilizar.

Se quiser conferir como foi o desenrolar dessa instalação, acesse este tópico no Orkut e veja com seus próprios olhos. =)

É isso pessoal, ás vezes encontramos esses conflitos, mas nada que uma pesquisada na Internet não resolva.

Boa Sorte!

Instalando Atheros AR5006EG no Ubuntu

Neste tutorial vou mostrar como instalar o driver desta placa de duas formas, através do Ndiswrapper e também pelo driver especifico para Atheros chamado Madwifi. Você escolhe qual método e driver deseja usar!

Antes de começar o processo de instalação, certifique-se de que posssui esta placa com o seguinte comando:

$ lspci

Se apareceu na linha referente a wireless Atheros AR5006EG, instale os seguintes pacotes que são pré-requisitos para instalar o driver:

$ sudo apt-get install linux-headers-$(uname -r) build-essential

Instalação do driver para XP da placa com Ndiswrapper:

Baixe a última versão do Ndiswrapper aqui.

Baixe o driver para a sua placa de acordo com a arquitetura do seu sistema/processador nos seguintes mirrors:

Mirror1 32 Bits

Mirror2 64 Bits

Após descompactar o Ndiswrapper, entre na pasta dele e digite os seguintes comandos para instalar:

$ sudo make uninstall

$ make

$ sudo make install

Após isso, entre na pasta descompactada do driver baixado e digite os seguintes comandos para instalação:

Instalando o driver 32 bits para sistema 32 bits:

$ sudo ndiswrapper -i 5416.inf

$ sudo modprobe ndiswrapper

Instalando o driver 64 bits para sistema 64 bits:

$ sudo ndiswrapper -i 5211.inf

Certifique-se de estar dentro da pasta onde está o driver para correta instalação.

Após instalar o driver, e subir o módulo com o modprobe, é necessário para os usuários da versão 7.10 do Ubuntu digitar o seguinte comando para colocar na inicialização do sistema quando der o boot:

$ echo ndiswrapper >> /etc/modules

Sem este último comando quando o usuário ligar a máquina não terá o módulo ativo no kernel, então verifique com o comando lsmod se aparece ndiswrapper na lista. Se aparecer está tudo certo, rode o comando iwconfig e veja se já aparece wlan0 ou ath0 como sua interface wireless. Já os usuários do Ubuntu Hardy Heron não precisam rodar este comando, pois está depreciado nesta versão, o sistema sabe que o usuário subiu o módulo no kernel e que vai querer que ele inicie ao ligar o micro.

Instalação usando driver Madwifi para placas Atheros:

Baixe a última versão do driver para a sua placa aqui.

Descompacte o arquivo, e entre na pasta Scripts para rodar um script de remoção de qualquer resquício de driver antigo ou nativo que exista no sistema, desta forma não haverá conflitos. Isso é muito importante, sempre remova o driver que vêm no sistema antes de instalar uma versão mais recente de driver.

$ cd scripts

$ sudo su (digite a sua senha de usuário e dê enter para logar-se como root)

#./madwifi-unload

#./find-madwifi-modules.sh $(uname -r)

# exit

$ cd ..

Os comandos acima fazem o seguinte, o primeiro entra na pasta Scripts, onde o usuário entrará para rodar os comandos de remoção de drivers antigos, o segundo faz o usuário tornar-se root, o terceiro desabilita os drivers carregados no kernel, o quarto remove de fato os drivers do sistema, o quinto faz o usuário sair do modo root e voltar para o modo usuário, e o último sai da pasta Scripts e volta para a pasta descompactada do driver.

Já fora da pasta Scripts, você começará de fato a instalação do driver, digite os comandos a seguir:

$ make

$ sudo make install

$ sudo modprobe ath_pci

Feito, driver instalado, agora rode o comando iwconfig e você verá sua interface ath0 funcionando, para ver se ela está captando sinal, digite o comando:

$ iwlist ath0 scan

Agora baixe o WICD e configure a sua conexão.

O WICD é um excelente gerenciador wireless que eu recomendo pela sua facilidade e por não possuir depêndencias. Além de gerenciar a conexão wireless muito bem, ele gerencia a conexão cabeada eth0 perfeitamente. Ele removerá automaticamente o network-manager para você, siga o tutorial já postado neste blog aqui.

Caso tenha algum incoveniente com o driver Madwifi, verifique no manual dele ou também na seção troubleshooting do site Madwifi.

Gostaria de comunicar também que existem os drivers ath5k e ath9k, que são drivers novos em fase de desenvolvimento da Madwifi, então futuramente nós usuários de Linux teremos drivers novos que não dependem do Hal (tradução), como o driver atual depende.

Boa Sorte!

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.