Instalardriver ipw3945 para Intel PRO Wireles 3945abg en Ubuntu

Como comenté en la entrada Problema con Wireless en Acer Aspire, al instalar Ubuntu 8.04 (de 32 ó 64 bits) en un notebook con tarjeta inalámbrica Intel PRO Wireless 3945abg, si utilizamos el mismo para conectarnos a Internet por un access point, o para cosas relativamente sencillas, no surgen problemas mayores. El único problema que encontré en este caso es que en Palola, un notebook Acer Aspire 5920, no enciende el led del botón de activación de la tarjeta wireless: funciona (se activa/desactiva al presionarlo), pero no enciende el led de activación.
Ahora bien. Si queremos “juguetear” con la tarjeta wireless, es decir, usar programas de detección de redes inalámbricas, configurarla en distintos modos (Managed, Ad-hoc, Monitor), y otras cosas que se me ocurren cuando ando aburrido, los problemas se complican hasta llegar a un punto en el que el notebook no responde y debemos apagarlo de botón.

Revolviendo en Internet encontré la causa y solución: con Ubuntu 8.04 se instala automáticamente el driver libre iwl3945. El mismo no funciona aún del todo bien para la Intel PRO Wireless 3945abg. Para solucionarlo vamos a compilar e instalar el driver privativo ipw3945. A continuación el procedimiento en “El Diario de Palola”:

1.- Crear el directorio donde vamos a trabajar
$ mkdir ipw3945
$ cd ipw3945

2.- Descargar el microcódigo ipw3945 y copiar al directorio de firmwares de Ubuntu
$ wget http://bughost.org/ipw3945/ucode/ipw3945-ucode-1.14.2.tgz
$ tar -xvzf ipw3945-ucode-1.14.2.tgz
$ sudo cp ipw3945-ucode-1.14.2/ipw3945.ucode /lib/firmware/`uname -r`/ipw3945.ucode

3.- Descargar el demonio ipw3945 y copiar a /sbin
$ wget http://bughost.org/ipw3945/daemon/ipw3945d-1.7.22.tgz
$ tar -xvzf ipw3945d-1.7.22.tgz
$ sudo cp ipw3945d-1.7.22/x86_64/ipw3945d /sbin/ipw3945d (si el sistema operativo es de 32 bits, sustituir x86_64 por x86)

4.- Descargar los fuentes ipw3945 y extraer
$ wget http://surfnet.dl.sourceforge.net/sourceforge/ipw3945/ipw3945-1.2.2.tgz
$ tar -xvzf ipw3945-1.2.2.tgz

5.- Descargar y aplicar el parche necesario para poder compilar en kernel 2.6.24
$ wget http://james.colannino.org/downloads/patches/ipw3945-1.2.2.patch
$ cp ipw3945-1.2.2.patch ipw3945-1.2.2/ipw3945-1.2.2.patch
$ cd ipw3945-1.2.2
$ patch -p1 ipw3945.h < ipw3945-1.2.2.patch

Nota: si no reconoce el comando patch, instalarlo con la siguiente sentencia:
$ app-get install patch

6.- Editar el archive Makefile para que la tarjeta soporte el modo Monitor
$ vi Makefile

Descomentar la línea #CONFIG_IPW3945_MONITOR=y borrándole el numeral (#)

7.- Compilar
$ make SHELL=/bin/bash clean
$ make SHELL=/bin/bash

8.- Instalar
$ sudo make SHELL=/bin/bash install

9.- Editar el archivo /etc/modprobe.d/ipw3945 (si no existe, crearlo).
$ vi /etc/modprobe.d/ipw3945
Agregar las siguientes líneas:
install ipw3945 /sbin/modprobe --ignore-install ipw3945 ; sleep 0.5 ; /sbin/ipw3945d --quiet
remove ipw3945 /sbin/ipw3945d –kill ; /sbin/modprobe -r –ignore-remove ipw3945

10.- Descargar de memoria el módulo del driver libre
$ sudo rmmod iwl3945

11.- Editar el archivo /etc/modprobe.d/blacklist para que no cargue más el driver libre iwl3945 al iniciar el sistema
$ vi /etc/modprobe.d/blacklist
Agregar la línea siguiente al final del archivo:
blacklist iwl3945

12.- Cargar en memoria el driver privativo recién compilado
$ sudo modprobe ipw3945

Si llegaste hasta acá sin problemas, vas a ver la luz prendida y tintineando del botón de activación de la wireless!!! Se quedará prendida fija cuando estemos asociados a una red inalámbrica.

Notas:

* El procedimiento es aplicable a otras distribuciones Linux con kernel 2.6.24 y superiores, de 32 y 64 bits.
* Si se actualiza el kernel de Linux, le pasará por arriba a los cambios que hicimos. En este caso debemos repetir el último comando del paso 2 y los pasos 6, 7, 8 y 12.
* “Jugueteé” un poco con la wireless y no saltó ningún problema, además de corregirse el encendido del led del botón de activación.
* Sigue dando error al setear la wireless en modo Master para hacer de Palola un access point. Tengo pendiente revolver más para ver si esto se puede corregir o definitivamente el hardware wireless no lo permite. No me voy a rendir tan fácil!!!

Instalar driver ipw3945 para Intel PRO Wireless 3945abg en Ubuntu « El Diario de Palola


GNUser cc 2009