sábado, 16 de abril de 2011

WiFi Atheros AR5001 en GNU/Linux Debian Squeeze


WiFi en GNU/Linux Debian Squeeze



Bueno lectores, les cuento. Tengo en mis manos un portatil HP Pavilion DV2000 Intel (bla, bla, bla, basta de descripciones técnicas que no necesitamos, vamos al grano) wifi es un Atheros AR5001.
¿Que cómo lo supe?
Sencillo, el comando
lspci |grep Network

Suministra la siguiente salida
Ethernet controller: Atheros Communications Inc. AR5001 Wireless Network Adapter (rev 01)


Ok, Debian supuestamente ya trae los controladores para este tipo de dispositivo, es un módulo que se llama ath5k, en mi caso verifique y el módulo ya se encontraba en mi computadora y cargándose al iniciar.
Quité el módulo
sudo modprobe -r ath5k


volví a añadir el módulo
sudo modprobe ath5k


Solicité a Debian que bajara mi red wireless
sudo ifconfig wlan0 down


Volví a intentar levantar mi wireless
sudo ifconfig wlan0 up


Y tengo el error desconocido y odiado que me tuvo 2 días sufriendo
"SIOCSIFFLAGS: Unknown error 132"


Dado esto, instalé los drivers propietarios para mi dispositivo. Los descargué de la página oficial de HP y los instalé de la siguiente manera:

Primero instalé el programa que me permite instalar esos controladores (recordemos que son privativos)
sudo aptitude install ndiswrapper-source ndiswrapper-common ndiswrapper-utils-1.9


Luego, como debo compilar el módulo de los controladores, instalé el software que lo permite
sudo aptitude install module-assistant


Ahora le digo a mi terminal que tome el archivo .exe donde está el controlador y lo descomprima
cd /home/raite/Descargas/Wifi
sudo cabextract sp34152.exe


Esto me descomprime el .exe colocando los archivos que lo contienen en la misma carpeta donde se encontraba la fuente (en este caso /home/raite/Descargar/Wifi)
Ahora procedí a decirle a mi equipo que instalara el controlador, entre todos los archivos que se descomprimieron existe un .inf que es quien tiene la información que ndiswrapper necesita para instalar el driver, en mi caso, ese archivo se denomina bcmwl5.inf. Debemos indicarle al software que use ese archivo

ndiswrapper -i bcmwl5.inf


Luego hacemos un
modprobe ndiswrapper


Y en teoría debería estar listo, sin embargo en mi caso al intentar subir mi wireless me consigo con
"SIOCSIFFLAGS: Unknown error 132"


COMO DETESTO ESE ERROR DESCONOCIDO, pero como buen usuario e GNU/Linux, no me rendí y seguí con mi fiel amigo google de nuevo hasta conseguir lo siguiente

El método de desbloquear o activar tus adaptadores de red haciendo uso de "rfkill"
Mmmm, que rayos es rfkill, GOOGLE please!
rfkill: es una pequeña herramienta para conocer el estado de la interface de red y desbloquearla en caso de que sea necesario. ¿Desbloquearla? pues si, entérate que puede estar bloqueada a nivel de hardware (apagada) o a nivel de software (aún cuando esté instalada, no entiendo el por qué)

Hago una cita
"RFKill es un subsistema en el kernel de Linux que proporciona una interfaz a través de la cual radiotransmisores en un sistema informático se pueden solicitar, activar o desactivar. Cuando los transmisores se desactivan, pueden ser localizados en un estado en el que software puede reactivarlos (un bloque blando) o en el que software no pueda reactivarlos (un bloque duro)." 16 de Abril de 2011 - https://docs.fedoraproject.org/es-ES/Fedora/14/html/Power_Management_Guide/RFKill.html


Ok, sabiendo esto procedo a instalar el dichoso software
sudo aptitude install rfkill


Perfecto, ya se instaló el que solventó mi problema, pero ¿cómo lo hizo?, bueno, primero le pedí que me listara las interfaces y me diera los detalles sobre las mismas.
sudo rfkill list


Obtengo la siguiente respuesta
0: hp-wifi: Wireless LAN
Soft blocked: yes
Hard blocked: no
1: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no

Y ahora puedo ver la causa de mis males, algo del software está bloqueando mi Wireless LAN (nótese que dispositivo 0 está "yes" en "Soft bloqued". Resulta que este maravilloso rfkill lo desbloqueará por nosotros.
¿Cómo?
sudo rfkill unblock 0


Y ahora le pregunto a mi rfkill cual es el estado de mis interfaces
sudo rfkill list
Y me encuentro con

0: hp-wifi: Wireless LAN
Soft blocked: no
Hard blocked: no
1: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no


Joder tio, esto mola!!! jajajaja
Ahora simplemente hice un

ifconfig wlan0 up


Y wala, ya no hay error. jajajaja
Sres. desde aquí sólo queda que inicien su programa preferido para descubrir redes wi-fi, en mi caso utilizo Wicd así que procedí a instalarlo
sudo aptitude install Wicd


Y luego a iniciarlo, está ubicado en mi botón de Gnome/Internet/Wicd Network Manager

Y Siiiiiiiiiiiiii, ya tengo la wifi en mi debian funcionando al 100%

Referencia Webográfica
http://www.ubuntu-es.org/node/143726 (15-4-2011)

2 comentarios:

Anónimo dijo...

Con el metodo del ndiswrapper no ibas a llegar muy lejos, dado que estabas instalando el driver de una Broadcom, y no una atheros :)

Alcides Flores dijo...

Hola! Muchas gracias por publicar tu experiencia y tu solución para configurar esta tarjeta inalámbrica.
Yo tenía exactamente el mismo problema y gracias a tu blog lo pude solucionar.
Con el rfkill pude desbloquear la tarjeta y ahora está funcionando perfectamente.
En mi caso lo hice con el driver ath5k que viene en el kernel de Squeeze y no tuve necesidad de instalar el ndiswrapper ni los drivers propietarios.
Solamente instalé el rfkill y lo usé como indicas para desbloquear la tarjeta. Acto seguido seguí las instrucciones que están en http://wiki.debian.org/ath5k
para configurar el driver. Y santo remedio!.
Saludos.