Possuo um notebook HP Pavilion com
placa wireless Intel Corporation PRO/Wireless 3945ABG. Como nunca havia sido necessário configurá-la de verdade, nos primeiros erros apresentados deixei essa pendência pra lá e segui a vida. :)
Pois bem, hoje surgiu a necessidade de configurar a rede wireless e, ufa, consegui! A solução foi elaborada baseada no
Debian, mas a mesma deve servir para distros derivadas e o "troubleshooting" aqui apresentado pode ser usado como base para instalação em sua distribuição predileta.
O passo-a-passo seguinte descreve os passos que realizei, incluindo os erros que enfrentei, até chegar à solução. As mensagens de erro serão úteis pra quem tiver buscando por solução no Google encontrar este tutorial com maior facilidade.
Primeiro, vamos descobrir o modelo de sua placa wireless:
lspci | grep -i wireless
02:00.0 Network controller:
Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)
Hmm, beleza! Agora vamos descobrir que módulo podemos usar para fazer o
Linux reconhecer a placa:
apt-cache search intel wireless 3945ABG
ipw3945-modules-2.6-486 - Intel PRO/Wireless 3945ABG (ipw3945) driver modules for
Linux 2.6 on x86
ipw3945-modules-2.6-686 - Intel PRO/Wireless 3945ABG (ipw3945) driver modules for
Linux 2.6 on PPro/Celeron/PII/PIII/P4
ipw3945-modules-2.6-686-bigmem - Intel PRO/Wireless 3945ABG (ipw3945) driver modul
es for Linux 2.6 on PPro/Celeron/PII/PIII/P4
ipw3945-modules-2.6-amd64 - Intel PRO/Wireless 3945ABG (ipw3945) driver modules fo
r Linux 2.6 on AMD64
...
Como resultado aparecerão N pacotes com módulos para diferentes tipos de kernel, então descubra a versão de seu kernel:
uname -a
Linux athenas
2.6.22-3-686 #1 SMP Mon Nov 12 08:32:57 UTC 2007 i686
GNU/Linux
Vamos então refinar nossa busca:
apt-cache search ipw3945-modules 2.6.22-3-686
ipw3945-modules-2.6.22-3-686 - Intel Wireless 3945 modules for Linux 2.6.22 on PPro/Celeron/PII/PIII/P4
Beleza, é esse mesmo o camarada que vamos instalar:
sudo apt-get install ipw3945-modules-2.6.22-3-686
Feito isso, vamos carregar o módulo no kernel:
sudo modprobe ipw3945
Verificar o que nosso querido amigo "arquivo de log do sistema" diz sobre esse comando:
sudo tail -f /var/log/messages
Aug 22 16:01:03 athenas kernel: ACPI: PCI interrupt for device 0000:02:00.0 disabled
Aug 22 16:01:03 athenas kernel: ipw3945: probe of 0000:02:00.0 failed with error -2
Opa, olha o erro aí:
"
ipw3945: probe of 0000:02:00.0 failed with error -2"
E verificando os módulos que fazem uso do ipw3945:
lsmod | grep ipw3945
ipw3945 192740 1
ieee80211 31656 1 ipw3945
firmware_class 9504 1 ipw3945
Aparentemente tudo certo. :X
Foi aqui que desisti na primeira vez que tentei configurar. Mas como a necessidade é o combustível da descoberta, hoje não teve jeito, tive de tocar adiante e fui caçar com maior detalhamento os pacotes disponíveis nos repositórios oficiais do Debian.
apt-cache search ipw3945 | grep -v modules
Esse comando refinou minha busca, fazendo com que aquele trambolho de módulos não fossem exibidos na tela. Veja o retorno (bem mais enxuto):
firmware-ipw3945 - Binary firmware for IPW3945
ipw3945d - Binary userspace regulatory daemon for Intel PRO/Wireless 3945ABG cards
ipw3945-source - Source for the Intel PRO/Wireless 3945ABG (ipw3945) driver
Jóia! Acabamos de descobrir que pro Linux reconhecer a placa é necessário instalar seu firmware e junto com ele um "daemonzinho" usado para registrá-lo no kernel (pelo menos foi o que resolvi acreditar que seja).
sudo apt-get install firmware-ipw3945 ipw3945d
Antes de testar resolvi "limpar" os módulos de kernel carregados em memória:
sudo rmmod ipw3945
$ sudo rmmod ieee80211
$ sudo rmmod firmware_class
E por fim reiniciar/iniciar o daemon que acabamos de instalar:
sudo /etc/init.d/ipw3945d restart
E quando eu pensava que tudo funcionaria de primeira, eis que surge mais uma mensagem esquisita no /var/log/messages:
Aug 22 16:39:29 athenas kernel:
Kill switch must be turned off for wireless networking to work.
Desta vez foi bobeira minha, esse erro apareceu porque a trava de liga/desliga wireless estava virada, foi só passá-la pra ON que imediatamente a seguinte mensagem pipocou no messages:
Aug 22 16:40:48 athenas kernel:
ipw3945: Detected geography ABG (11 802.11bg channels, 13 802.11a channels)
Show!!! E por fim, pra descobrir em que interface de rede minha wireless foi detectada:
ifconfig -a
eth1 Link encap:Ethernet Endereço de HW 00:19:d2:22:2a:62
BROADCASTMULTICAST MTU:1500 Métrica:1
RX packets:0 errors:0 dropped:2430 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
colisões:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
IRQ:17 Endereço de E/S:0xa000 Memória:d6000000-d6000fff
Neste caso, eth1, mas pode variar de acordo com sua configuração de hardware. O ideal é rodar um "ifconfig -a" antes de seguir esse tutorial e outro depois, daí a interface "extra" que surgir é a sua Intel wireless.