De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.

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.

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


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