Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Mão na Massa - Programação Shell

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Instalando o driver madwifi para a placa AR5007EG

Colaboração: Bruno Buys

Data de Publicação: 04 de junho de 2008

A placa Atheros AR5007EG vem equipando diversos notebooks atuais, notadamente o Asus EEE PC. O problema para usuários de GNU/Linux é que essa placa apresenta

uma série de dificuldades para instalação de drivers, restando ao usuário se contentar com a solução sub-ótima do ndiswrapper ou mesmo não usar a placa.

O primeiro obstáculo para a instalação do driver madwifi é identificar a placa que equipa o computador. As AR5007EG não foram incluídas na base de dados do lspci, e são incorretamente identificadas como AR5006EG. Isso tende a se resolver com o tempo, mas por enquanto temos contornar o lspci. As AR5006EG são suportadas pela versão atual oficial do madwifi (0.9.4), segundo relatos de usuários em [1].

Repare nessa saída do lspci. Essa é a placa do meu notebook, sendo identificada como AR5006EG incorretamente.

  03:00.0 Ethernet controller: Atheros Communications, Inc. AR5006EG 802.11 b/g Wireless PCI Express Adapter (rev 01)

Se a sua placa também é identificada como AR5006EG mas não funciona com o release oficial do madwifi, ela deve apresentar um erro semelhante a esse ao inserir o driver:

  wlan: 0.8.4.2 (svn r2834)
  ath_pci: 0.9.4.5 (svn r2834)
  ACPI: PCI Interrupt 0000:06:00.0[A] -> GSI 17 (level, low) -> IRQ 16
  MadWifi: unable to attach hardware: 'Hardware revision not supported' (HAL status 13)
  ACPI: PCI interrupt for device 0000:06:00.0 disabled

O driver a ser instalado nesse caso tem que ser remendado com o patch em [2], ou então baixado já remendado, no link em [3]. A segunda opção é melhor: menos trabalhosa e o driver é mais recente.

Depois de baixado e descompactado, entre na pasta criada e faça os tradicionais make, make install. Depois de instalado, para inseri-lo sem reiniciar, faça "modprobe ath_pci". Você verá algo assim no dmesg:

  [43.108188] ath_hal: 0.10.2.2-ATHEROS (AR5210, AR5211, AR5212, AR5416, RF5111, RF5112, RF2413, RF5413, RF2133, RF2425)
  [43.126612] wlan: trunk
  [43.200805] ath_pci: trunk
  [43.200909] PCI: Enabling device 0000:03:00.0 (0000 -> 0002)
  [43.200975] ACPI: PCI Interrupt 0000:03:00.0[A] -> GSI 17 (level, low) -> IRQ 17
  [43.701395] MadWifi: ath_attach: Switching rfkill capability off
  [43.804548] ath_rate_sample: 1.2 (trunk)
  [43.805283] MadWifi: ath_attach: Switching per-packet transmit power control off
  [43.806210] wifi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
  [43.806467] wifi0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
  [43.807269] wifi0: H/W encryption support: WEP AES AES_CCM TKIP
  [43.807575] wifi0: ath_announce: Use hw queue 1 for WME_AC_BE traffic
  [43.807641] wifi0: ath_announce: Use hw queue 0 for WME_AC_BK traffic
  [43.807708] wifi0: ath_announce: Use hw queue 2 for WME_AC_VI traffic
  [43.807776] wifi0: ath_announce: Use hw queue 3 for WME_AC_VO traffic
  [43.807843] wifi0: ath_announce: Use hw queue 8 for CAB traffic
  [43.807909] wifi0: ath_announce: Use hw queue 9 for beacons
  [44.010025] ath_pci: wifi0: Atheros 5424/2424: mem=0x8c100000, irq=17
  [45.695036] udev: renamed network interface ath0 to wlan0

Se você conseguiu ver essas linhas, a placa está funcionando com o madwifi. É só correr para os abraços!

Com o driver correto funcionando, você agora tem a ferramenta ath_info para mostrar dados da placa. Na verdade, o melhor seria poder identificar a placa ANTES do trabalho todo, mas mesmo assim, fica aí a dica:

Use o lspci para identificar o endereço de memória da placa:

  lspci -v
  
  03:00.0 Ethernet controller: Atheros Communications, Inc. AR5006EG 802.11 b/g Wireless PCI Express Adapter (rev 01)
  Subsystem: AMBIT Microsystem Corp. Device 0428
  Flags: bus master, fast devsel, latency 0, IRQ 17
  Memory at 8c100000 (64-bit, non-prefetchable) [size=64K]
  Capabilities: [40] Power Management version 2
  Capabilities: [50] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable-
  Capabilities: [60] Express Legacy Endpoint, MSI 00
  Capabilities: [90] MSI-X: Enable- Mask- TabSize=1
  Capabilities: [100] Advanced Error Reporting <?>
  Capabilities: [140] Virtual Channel <?>
  Kernel driver in use: ath_pci
  Kernel modules: ath_pci, ath5k

O que interessa é:

  Memory at 8c100000

Então, como root, faça:

  ath_info 0x8c100000

E a saída será algo assim:

  Warning: Invalid EEPROM Magic number!
  -==Device Information==-
  MAC Version:  2425  (0xe0)
  MAC Revision: 2425  (0xe2)
  PHY Revision: 5110  (0x00)
  -==EEPROM Information==-
  EEPROM Version:     5.3
  EEPROM Size:        4K
  Regulatory Domain:  0x65
  -==== Capabilities ====-
  |  802.11a Support: no   |
  |  802.11b Support: no   |
  |  802.11g Support: yes  |
  |  RFKill  Support: yes  |
  |  32KHz   Crystal: no   |
  ========================
  GPIO registers: CR 00000000 DO 00000000 DI 0000000b

Obs: "2425" é um outro nome da AR5007EG.

Ainda não há suporte para essa placa para outras arquiteturas além de i386. Boa parte da encrenca tem origem regulatória: para seguir as regulamentações do FCC (a Anatel americana), a Atheros não pode publicar as especificações das placas de rede sem fio. O FCC determina que fabricantes de equipamentos que transmitem ondas de rádio não podem dar aos seus usuários meios de alterar o modo como os equipamentos funcionam, principalmente as frequências de ondas em que transmitem. Isso impede que eles liberem drivers livres ou especificações.

Uma das partes do driver, da qual o madwifi depende, é uma camada de abstração HAL encarregada da comunicação de baixo nível com a placa. Essa camada é binária e não há código-fonte para ela.

Repare que o erro lá em cima é do HAL, pois é ele que não consegue se comunicar com a placa (Hardware revision not supported (HAL status 13)). A parte mais importante do patch é o HAL, cuja revisão dá suporte à essa placa específica.

O patch que surgiu inicialmente, em fins do ano passado, teve que ser verificado quanto à origem, pois o próprio projeto madwifi tinha dúvidas de se haveria quebra de direitos autorais. Ainda hoje em dia o patch não foi incorporado ao tronco principal do driver, e com o HAL binário, não há como portar para as outras arquiteturas :(.

Para quem se preocupa com a liberdade do software, há um problema, claro. O driver não é 100% software livre. Só espero que seja mais livre do que usar o ndiswrapper com drivers win. Com o madwifi instalado e funcionando você pode ainda usar programas que dependam de acesso de baixo nível à placa, como o kismet (que não funciona com o ndiswrapper).

Isso tudo foi feito com Debian sid e funcionou nas versões 2.6.22 e 2.6.25 do Linux. Não use o module-assistant para instalar o driver, porque a versão que ele instala não serve para essa placa.

Você pode ver também a história toda em [4].

Referências

  1. http://madwifi.org/wiki/Compatibility/Atheros#AtherosAR5006EG
  2. http://madwifi.org/attachment/ticket/1679/madwifi-ng-0933.ar2425.20071130.i386.patch
  3. http://snapshots.madwifi.org/special/madwifi-nr-r3366+ar5007.tar.gz
  4. http://madwifi.org/ticket/1679

Curso moodle para professores.

Colaboração: Gilvan Marques

Se você já tabalha na área de educação e quer conhecer uma ótima ferramenta para gerenciamento de cursos online, temos *20 vagas* gratuitas que serão preenchidas com a solicitação no email <gmarques (a) educnet info>, com o assunto CURSO MOODLE GRATUITO. A relação será divulgada no blog do curso ( www.educnet.info/cursomoodle) .

Curso voltado para professores e designers instrucionais que desejam conhecer melhor essa ferramenta para desenvolvimento de cursos online e prática de tutoria.

O objetivo do curso é mostrar ao professor as funcionalidades do moodle de forma que ele possa usar tais funcionalidade para a formatação de um curso a distância ou para o suporte ao ensino presencial.

O curso inicia no dia 09 de junho e tem a duração de 1 mês.

Veja a relação completa dos artigos de Bruno Buys

Stumble Upon Digg This Del.icio.us Twitter Recomendar este artigo a um amigo Entre em contato Formato PDF
Newsfeed RSS
Formato para impressão
StumbleUpon Digg Del.icio.us Twitter Recomendar Contato PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 3.02/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (378 votos)

Opinião dos Leitores

thiago
23 Set 2008, 10:06
agora o madwifi da suporte a esta placa sem complicações
Eric Delano
21 Jun 2008, 13:22
um notebook toshiba com werelles usando o sequinte drive Ethernet controller: Atheros Communications Inc. AR242x 802.11abg Wireless PCI Express Adapter (rev 01) gostaria de saber de esse drive e compativel com kismet ??

OS: Ubuntu 8

Thiago
14 Jun 2008, 15:41
os links nao estao funcionando =(
André de Andrade
12 Jun 2008, 09:28
nesta parte:"... com a solução sub-ótima do ndiswrapper ou" ficou meio jogado o ndiswrapper.So para constar, ndiswrapper é o nome de um programinha que consegue rodar o "driver" da placa wireless for windows no linux.Não é bem o driver, se não me engano ele roda só o .ini do driver.
Toni Kukul
04 Jun 2008, 20:47
Há possibilidade de utilizar o driver ath5k que não depende do HAL. Apesar de experimental, tem funcionado bem para mim.
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script

English for Reading and Listening
Enriqueça o seu vocabulário recebendo diariamente mensagens divertidas em inglês, com áudio em MP3.
Saiba mais

Biblioteca

Desenvolvendo Websites com PHP
Por Juliano Niederauer

O Monge e o Executivo: uma História sobre a Essência da Liderança
Por James C. Hunter

Extreme Programming
Por Vinicius Manhaes Teles

UML: Guia do Usuário
Por Grady Booch, James Rumbaugh e Ivar Jacobson

O Vendedor de Sonhos
Por Augusto Cury

Segurança de Redes em Ambientes Cooperativos
Por Emilio Tissato Nakamura e Paulo Licio de Geus

O Conhecimento em Rede
Por Carlos Nepomuceno e Marcos Cavalcanti

Utilizando UML e Padrões
Por CRAIG LARMAN

Sistema de Banco de Dados
Por Abraham Silberschatz

Hardware PC: Guia de Aprendizagem Rápida
Por Carlos E. Morimoto

Manual Completo do Linux: Guia do Administrador
Por Evi Nemeth, Trent R. Hein, Garth Snyder

Redes de Computadores e a Internet
Por James F. Kurose e Keith W. Ross

O Segredo
Por Rhonda Byrne

Os Segredos da Mente Milionária
Por T. Harv Eker

Construindo Sites com CSS e (X)HTML
Por Mauricio Samy Silva

Use a Cabeça!: JSP & Servlets
Por Brian Bashan, Kathy Sierra, Bert Bates

Expressões Regulares: Uma Abordagem Divertida
Por Aurélio Marinho Jargas

Qualidade de Software
Por Andre Koscianski Michel dos Santos Soares

Descobrindo o Linux: Entenda o Sistema Operacional GNU/Linux
Por Joao Eriberto Mota Filho

Enterprise Javabeans 3.0
Por Bill Burke, Richard Monson