10:28h.
Me encontré con un problema con mi Ubuntu 8.04 cuando ya harto de que los vecinos me enguarrasen la red WIFI para crackearle el WEP me decidí a cambiar la encriptación a WPA2 Personal.
El problema era que la conexión se caía muy a menudo y ocasionalmente tenía que incluso reiniciar para que funcionase (¿os suena esto de otro sistema?). Con lo que me lancé a la búsqueda de la solución y tras navegar varias horas por Internet y machacar a Google con los mensajes del kernel me decidí a actualizar a la 8.10 "a ver que pasaba".
Al hacerlo me dí cuenta que había cambiado totalmente la gestión de redes, que ahora era controlada por un software llamado "network-manager", que prometía ser "lo más de lo más" tanto, que otras distribuciones como Fedora habían incluido en su última versión. Resultado, ahora no funcionaba NUNCA! *OUCH!*
Finalmente, tras perder una semana de mi vida haciendo pruebas, hoy decidí desinstalarlo y configurarlo a la vieja usanza. Y encontré un par de entradas en la Red para éste fin. Y salvo por un parámetro (que con un poco de suerte e intuición conseguí descubrir su correcto valor) daba las instrucciones correctas para que funcionase.
La tarjeta WIFI es una "Intel PRO/Wireless 3945ABG", conocida en toda la red por dar errores con WPA incluso con el controlador propietario de Intel.
La solución explicada a continuación se puede encontrar en http://www.thinkwiki.org/wiki/How_to_install_wpa_s upplicant
Y en http://ubuntuforums.org/showthread.php?t=263136
Evidentemente, los valores de SSID y wpa-psk me los he inventado, deberéis poner los vuestros.
Vamos a ello:
Primero deberemos desinstalar el "network-manager", que es el software que causa los problemas al escanear continuamente las redes al alcance de la interfaz.
sudo apt-get remove network-manager network-manager-gnome
Y ahora aplicamos el procedimiento que podemos encontrar en los enlaces antes mencionados:
1.- Editamos el archivo /etc/network/interfaces y borramos o comentamos todas las líneas referentes a la interfaz wifi que se encontraban en el archivo. En mi caso, la interfaz es "eth1".
auto lo
iface lo inet loopback
auto eth1
# iface eth1 inet static
# address 192.168.0.54
# netmask 255.255.255.0
# gateway 192.168.0.1
# wpa-psk TeMoLaMiPassWD?
# wpa-driver wext
# wpa-key-mgmt WPA-PSK
# wpa-proto WPA2
# wpa-ssid WLAN_C5
Y añadimos las siguientes líneas:
iface eth1 inet static
pre-up wpa_supplicant -B -c/etc/wpa_supplicant.conf -ieth1 -Dwext
post-down killall -q wpa_supplicant
address 192.168.1.54
netmask 255.255.255.0
gateway 192.168.1.1
wireless-essid WLAN_C5
2.- Ahora editamos el archivo /etc/wpa_supplicant.conf (que seguramente no existirá) y añadimos las siguientes líneas:
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
ap_scan=0
network={
ssid="WLAN_C5"
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP
psk="TeMolaMiPASS?"
}
ATENCIÓN: En los manuales anteriormente enlazados a este manual, el parámetro "ap_scan" está en "=1". Este valor debe cambiarse tal y como está en el ejemplo a "=0".
3.- Ahora probamos a reiniciar los scripts del init.d para comprobar que todo esto funcionará en el arranque:
sudo /etc/init.d/networking restart
Et, voilà, si todo ha ido bien deberéis tener ping y ruta hacia Internet.
NOTA: Los parámetros "group" y "pairwise" también depende de cómo lo tengáis configurado en vuestro AP.
Para los listillos incrédulos aquí os dejo el link al bug en la web del driver de Intel: http://www.intellinuxwireless.org/bugzilla/show_bu g.cgi?format=multiple&id=1834
Y para ver el bug en las bugtrack de varias distribuciones, sólo hay que buscar en google: "$DISTRIBUCION network-manager iwl3945" y darle a "voy a tener suerte"