O driver
Madwifi instalou o utilitário
wlanconfig em seu sistema, agora vamos usá-lo.
Resetando o cartão e setando-o como AP (modo master):
# wlanconfig ath0 destroy
# wlanconfig ath0 create wlandev wifi0 wlanmode ap
Configuraremos o modo de operação a/b/g ou auto conforme nossa necessidade.
O exemplo abaixo configura o seu cartão Atheros para operar em 802.11b 11Mb/s 2.4GHz:
# iwpriv ath0 mode 2 wds 1 turbo 0 dtim_period 2 bintval 25
Caso deseje outro modo de operação segue abaixo a tabela de opções:
Modo Código Descrição
Auto 0 Modo de Seleção Automático
802.11a 1 ou 11a 5.8 GHz 108 Mb/s (caso o seu chipset suporte)
802.11b 2 ou 11b 2.4 GHz 11 Mb/s
802.11g 3 ou 11g 2.4 GHz 54 Mb/s
Configurando o SSID, velocidade de operação e potência de saída:
# iwconfig ath0 essid "Atheros_01"
# iwconfig ath0 channel 1
# iwconfig ath0 rate "11M"
# iwconfig ath0 txpower auto
Caso deseje especificar uma potência de saída, primeiro você deve listar qual o range de potências disponíveis para o seu cartão, pois variam de modelo para modelo. No meu caso é um cartão Toshiba com o chipset AR5212. O comando é:
# iwlist ath0 txpower
A saída será parecida com o seguinte:
ath0 8 available transmit-powers :
0 dBm (1 mW)
4 dBm (2 mW)
6 dBm (3 mW)
8 dBm (6 mW)
10 dBm (10 mW)
12 dBm (15 mW)
14 dBm (25 mW)
16 dBm (39 mW)
Current Tx-Power=16 dBm (39 mW)
Configurando uma bridge para o PC funcionar como AP:
Um access point nada mais é do que uma bridge entre uma interface ethernet e uma wlan e é exatamente o que nós faremos agora.
Estou partindo da premissa que sua(s) interfaces de rede não possuam nenhuma configuração de TCP/IP, ou seja, estejam sem IP e desativadas.
Colocando a interface eth0 em modo promíscuo:
# ip link set dev eth0 promisc on
Faça o mesmo com a interface wlan:
# ip link set dev ath0 promisc on
Levantando as interfaces ethernet e wlan:
# ip link set dev eth0 up
# ip link set dev ath0 up
Criando a bridge:
# brctl addbr br0
Inserindo as interfaces ethernet e wlan na bridge:
# brctl addif br0 eth0
# brctl addif br0 ath0
Agora definimos um endereço IP para a bridge:
# ip addr add 192.168.0.1/21 brd + dev br0
Acrescentamos a bridge na tabela de roteamento default:
# ip route add default via 192.168.0.1 dev br0
Agora precisamos alterar algumas configurações no sistema /proc para nossa bridge funcionar.
Habilitando o proxy-arp para as interfaces ethernet e wlan:
# echo "1" > /proc/sys/net/ipv4/conf/br0/proxy_arp
# echo "1" > /proc/sys/net/ipv4/conf/eth0/proxy_arp
# echo "1" > /proc/sys/net/ipv4/conf/ath0/proxy_arp
Precisamos habilitar o IP forwarding entre as interfaces de rede da máquina.
# echo "1" > /proc/sys/net/ipv4/ip_forward
A maioria dos cartões wireless possuem saída para duas antenas onde podemos configurá-los como repetidoras etc. Precisamos definir qual será nossa antena padrão e desativar o recurso de uso das duas antenas.
# echo "0" > /proc/sys/dev/wifi0/diversity
# echo "1" > /proc/sys/dev/wifi0/txantenna
# echo "1" > /proc/sys/dev/wifi0/rxantenna