Primeiramente devemos baixar o driver
Madwifi, o site do projeto é
http://www.madwifi.org e a versão empregada em nosso caso foi a 0.9.4 a mais recente em 30 de abril de 2008.
Há duas formas de compilar o Madwifi, separadamente ou inserindo um patch ao Kernel e compilá-lo juntamente com o kernel como módulo ou built-in. A que adotaremos é a segunda como built-in.
Descompactando o driver:
# tar -zxvf madwifi-0.9.4.tar.gz
Certifique-se que há o link simbólico /usr/src/linux para manter a compatibilidade, caso não haja crie-o com o comando:
# cd /usr/src/
# ln -sf linux-2.6.25 linux
Zere todas as opções do kernel com o comando:
# make mrproper
Se isso não for feito o patch não será instalado na árvore do kernel.
Feito isso vá ao diretório patches que se encontra dentro do diretório onde você descompactou o driver Madwifi e execute o script install.sh:
# ./install.sh
Em seguida vamos configurar o kernel com o comando:
# make menuconfig
Devemos habilitar o recurso de bridge no kernel, que encontra-se no caso do 2.6.25 no seguinte ramo da árvore de configuração:
Networking -> Networking options -> 802.1d Ethrnet bridiging , marque-a como YES (built-in)
Devemos habilitar o suporte a wireless do kernel, que no caso do 2.6.25 encontra-se em:
Networking -> Wireless
Marque como YES (built-in) as seguintes opções:
<*> Improved wireless configuration API
[*] nl80211new netlink interface support
<*> Generic IEEE 802.11 Networking stack (mac80211)
< > Generic IEEE 802.11 Networking stack (DEPRECATED)
<M> IEEE 802.11 WEP encryption (802.11x)
Obs: Compile as opções abaixo se desejar implementar criptografia ao seu AP/servidor
< M> IEEE 802.11i CCMP support
< M> IEEE 802.11i TKIP encryption
<*> Software MAC add-on to the IEEE 802.11 networking stack
Obs: Esta opção é útil se você desejar alterar o endereço MAC de sua interface wireless
Habilitando o Madwifi no kernel no seguinte ramo da árvore do Kernel:
Device drivers -> [*] Network device support -> Wireless LAN
Desmarque todas as opções referentes ao chipset Atheros defaults do kernel e marque apenas as que foram habilitadas pelo patch.
<*> Atheros PCI/Cardbus cards
Atheros: Default transmition Rate Control Algorithm (Sample) --->
[*] Adaptive Mult-Rate Retry Control Algorithm
[*] Atsushi Onoe's rate control algorithm
-*- Sample rate rontrol algorithm
[*] A wandering minstrel rate rontrol algorithm
Não abordamos outras configurações de opções de rede do kernel neste artigo por não fazerem parte do escopo do mesmo, estou partindo da premissa que o administrador ou usuário tenha este conhecimento prévio.