Airport Extreme en Ubuntu

05.jul 2006 Envía un trackback

Hace tiempo que el driver de la tarjeta AirPort Extreme está disponible para Linux, pero no me ha dado por probarlo hasta ver que es realmente estable... ¿cuela?, ¡qué narices!, ni he tenido tiempo ni ganas. AirPort Extreme es la tarjeta wireless que viene integrada en los portátiles Apple, como tengo uno y Gura me lanza ánimos, no queda más remedio que ponerse al tajo.


Antes de nada, sé que existen multitud de artículos por La Red que describen este mismo proceso (1, 2, 3...), pero es un hecho que me apetece documentar. La AirPort Extreme funciona con el chip Broadcom 43xx fabricado por la dicha compañía (Broadcom) los cuales se negaron a ofrecer un driver para GNU/Linux. Era cuestión de tiempo que los integrantes del grupo Broadcom 43xx Linux Driver acabaran de leer esas especificaciones por ingeniería inversa y sacaran un driver usable. Así ha sido.

Módulos de kernel

En una Ubuntu 6.06 no tendremos problemas de compilación de módulos de kernel, con lo que el proceso se simplifica bastante. De todos modos, hay 3 formas distintas de instalar los LKM que necesitamos (ieee80211softmac y bcm43xx):
  • Compilando nuevo kernel: Bajamos el último kernel estable (plataforma ppc), lo configuramos activando ambos módulos ('Networking -> Generic IEEE 802.11 Networking Stack'... y 'Device Drivers -> Network device support -> Wireless LAN drivers (non-hamradio) & Wireless Extensions) -> Broadcom BCM43xx wireless support'). Compilamos, instalamos, reiniciamos nuevo kernel y deberíamos tener los módulos listos para usar
  • Usando un kernel binario de Debian (Ubuntu): con una simple actualización de kernel (apt-get update && apt-get dist-upgrade) y consiguiente reinicio tendremos todos los módulos necesarios en el nuevo kernel (2.6.15-25-powerpc a este momento).
  • Compilando los módulos por separado: El primer módulo debería poder bajarse de aquí, pero el enlace no funciona así que habría que buscar alternativa, bajarlo, compilarlo e instalarlo. Lo mismo para el Bcm43xx (es una pena que no tenga enlaces de los sources, pero no los he encontrado).

Firmware

Antes de cargar los módulos de kernel y para que todo funcione a las mil maravillas necesitamos el firmware de la tarjeta, sin el cual nada funcionará. Para extraerlo usaremos la herramienta fwcutter que tendremos que instalar en nuestro sistema:
# apt-get install subversion
# svn checkout svn://svn.berlios.de/bcm43xx/trunk
# cd trunk/fwcutter/
# make
No hago make install porque solo la voy a usar una vez, así tengo el binario localizado y cuando quiera me lo cargo. Ya tenemos el ejecutable que se encargará de extraer el firmware, pero nos falta el firm. Lo intenté con el que viene en MacOSX (suponiendo un montaje en /media/macosx) no con demasiada fortuna, varios errores microde13.fw y microde15.fw decidieron que bajara el firmware que a Gura le había funcionado:
# cp /media/macosx/System/Library/Extensions/AppleAirPort2.kext/Contents/MacOS/AppleAirPort2 ./
# ./bcm43xx-fwcutter AppleAirport2
errores microcodeX.fw
Método Gura:
# wget http://www.nuevascreaciones.com/drinus/airport/wl_apsta.o
# ./bcm43xx-fwcutter -w /lib/modules wl_apsta.o
# modprobe ieee80211softmac
# modprobe bcm43xx
Con el firmware correcto instalado procedemos a cargar los módulos de kernel necesarios.

Configuración final

El último paso es configurar la tarjeta, la levantamos, escaneamos en busca de redes wireless disponibles, nos asociamos a un punto de acceso, le damos una IP, una puerta de enlace y a funcionar:
# ifconfig eth1 up
# iwlist eth1 scan
# iwconfig eth1 mode Managed
# iwconfig eth1 channel #
# iwconfig eth1 essid "nombre_red"
# ifconfig eth1 192.168.1.3 netmask 255.255.255.0
# route add default gw 192.168.1.1

No ha sido tan complicado como parecía, ahora a por el modo monitor, Kismet y demás ilegalidades, yumm :D.
ubuntu ibook airport_extreme

Comentarios
Gravatar reidrac@05.07.2006, 'Re: Airport Extreme en Ubuntu'

Kismet ilegalidad? buah... lo que hay que leer XDDD

Gravatar r0sk@05.07.2006, 'Re: Airport Extreme en Ubuntu'

Era una forma de acabar el texto hombre, sacando punta a lo que menos importancia tiene xD. Kismet solo es una herramienta de otras tantas, solo la he mencionado porque me ha venido a la mente. Quien dice Kismet dice las Airtools :P.

Gravatar Wu@05.07.2006, 'Re: Airport Extreme en Ubuntu'

Que aun siguen sin ser ilegales... (digo las airtools o lo que quieras), lo ilegal puede llegar a ser lo que hagas con ellas...

Gravatar Gura@05.07.2006, 'Re: Airport Extreme en Ubuntu'

Se puede usar dhcpcd para obtener ip por dhcp.

Gravatar msiemon@22.08.2006, 'Re: Airport Extreme en Ubuntu'

Man me salvaste con este asunto, mil gracias llevaba casi dos semanas tratando de hecharla a andar!!!
MIL GRACIAS!!!


Escribe tu comentario
 
 
Guardar datos
Escribe tu comentario:
captcha


Intenta que tu comentario sea interesante y con información relevante al tema de la entrada. BBCodes disponibles: [url=http://direccion]texto[/url], negrita: [b]texto[/b], itálica: [i]texto[/i], subrayada: [u]texto[/u]. Para mencionar o citar a alguien (quote): [cita]texto[/cita]