Así es señores, luego de 8 meses de sufrimiento tratando de hacer funcionar mi placa wireless WL-159g en mi Debian GNU/Linux, lo conseguí!.
Empiezo por el principio, hace 8 meses me compre una notebook ASUS Z94L, la cual previamente consulte en google si funcionaba en GNU/Linux, y el resultado fué positivo.Mi sorpresa llegó cuando quise levantar la wireless, dado que si bien el módulo para esta placa ya es parte de la rama oficial del kernel ( a partir de la versión 2.6.18 ), no había forma de hacerla funcionar… levantaba, escaneaba pero no había forma de que se quedara fija en un canal, escaneaba eternamente
. Bueno, esto me llevó por un montón de caminos, desde probar las versiones del driver del fabricante (la empresa Zydas), a probar el driver que viene con Debian (paquete zd1211-source), pero nada parecía dar resultado. Después llegó la etapa de consultar en la lista de este módulo, donde basicamente me dijeron, “tiene que andar, esta todo en orden”
…. bueno… después de esto entre en un estado de depresión terrible.. no podía ser que a mi fuera la única persona a la que no le funcionaba esta placa wireless (según http://www.linuxwireless.org/, esta placa funciona perfectamente en GNU/Linux), al punto de que cuando buscaba en google, me encontraba con mis propias consultas en los foros!!!. Así que pasé por etapas como la de compilar el kernel a pata, con el modo debug activado al mango para este módulo, recabar todos los logs y enviarlos a la lista de desarrollo del módulo nuevamente (sin respuesta satisfactorias), bajarme el código del módulo del svn y empezar a tratar de deducirlo (deserté a los 30 min
, todo lo que es módulo esta en C (Puajjjj) ), bajarme el kernel que usan los desarrolladores del modulo desde su git de desarrollo y compilarlo (si, si, el mismo fuente de kernel con el modulo que usa para probarlo y demás)…. pero nada de nada.
Después probé con el ndiswrapper… con el cual me funciono, pero sin buenos resultados… dado que cada cierto tiempo me colgaba el kernel (si un bruto kernel panic
), y eso era muuuy feo, porque tenía que reiniciar…( ustedes sabe que la gente de GNU/Linux se pone colorada cuando le pasa esto, el resto esta acostumbrado, pero nosotros no
).
Bueno, luego de que las esperanzas se esfumaran, hoy leo en la lista de desarrollo de este módulo, que el fabricante (Zydas) a liberado una nueva versión del driver
, y como no podía ser de otra manera… ahí estaba de nuevo compilando y demás… pero esta vez con un resultado totalmente positivo… ANDA y no solo que no se cuelga, sino que funciona mejor que con el ndiswrapper!.
Comento los pasos para aquellos que se encuentren en la misma situación:
*Primero que nada, mi kernel es el 2.6.21-2-686.
* Paso 1: bajar el firmware del módulo de http://sourceforge.net/project/showfiles.php?group_id=129083&package_id=187875, la versión que yo estoy usando es la 1.3 (el archivo se llama zd1211-firmware1.3.tar.bz2 ) y descomprimirlo en /lib/firmware (va a crear una carpeta zd1211-firmware).
O sea:
cp zd1211-firmware1.3.tar.bz2 /lib/firmware
cd /lib/firmware
tar xvfj zd1211-firmware1.3.tar.bz2
* Paso 2: bajar el nuevo driver de http://dsd.object4.net/zd1211-vendor/releases/ZD1211LnxDrv_2_21_0_0.tar.gz y copiarlo a /usr/src ( o a donde a vos te parezca mejor), y descomprimirlo:
cd /usr/src/
wget http://dsd.object4.net/zd1211-vendor/releases/ZD1211LnxDrv_2_21_0_0.tar.gz
tar xvfz ZD1211LnxDrv_2_21_0_0.tar.gz
cd ZD1211LnxDrv_2_21_0_0/
make
* Paso 3: si todo lo anterior salió bien y el módulo compilo bien, estamos… nos faltan tocar algunas cositas mas como agregar al blacklist el módulo zd1211rw y agregar el módulo zd1211(el que compilamos recién) al archivo de módulos que se cargan al inicio. O sea:
Modificamos el /etc/modprobe.d/blacklist y agregamos al final:
blacklist zd1211rw
(eso es para que no cargue ese módulo al inicio, ese es el módulo que viene en el kernel, y que a mí no me anda).
Luego modificamos el /etc/modules y agregamos al final:
zd1211
(esto hace que este módulo se cargue automáticamente cada vez que iniciamos el sistema)
* Paso 4: ya casi estamos.. nos falta modificar el /etc/network/interfaces y agregar algo como :
auto wlan0
iface wlan0 inet dhcp #si es que levantan la interface por dhcp
y listo!!!! ya estamos, para corroborar que todo funciones, reiniciamos la máquina (o sino hacemos modprobe zd1211, para cargar el módulo y no esperar a que se cargue automáticamente en el próximo reinicio) y deberíamos tener una interface llamada wlan0 (si no aparece, hacemos un ifconfig wlan0 up). Después lo de siempre iwconfig wlan0 essdi miRed
Bueno, espero que le pueda ser de utilidad a alguién, en caso de que ese alguién este pasando por el mismo calvario por el que yo pasé.

