Airport Extreme sobre GNU/Linux!

+1
0
-1

Este artículo es una traducción del artículo con mismo nombre que ya publiqué en Bulma

Al fin podemos disfrutar de soporte nativo para la Airport Extreme y otras tarjetas con chipset bcm43xx

De momento los drivers son bastante inestables y no soportan algunas cosas, aún así, funcionan! A continuación daré los pasos para instalar los drivers en Ubuntu.

Primer paso, obtener el kernel 2.6.15:

Los drivers solo funcionan con kernel 2.6.15 o superior, así que tendremos que actualizar. Os recomiendo que os bajeis el ultimo kernel del repositorio de dapper, ya que lleva incorporado el modulo bcm43xx, esto nos ahorrará trabajo.
Instrucciones para instalar el kernel:

  • #cp /etc/apt/sources.list /etc/apt/sources.list_breezy
  • #gedit /etc/apt/sources.list
  • cambiad alli donde ponga "breezy" por dapper
  • #apt-get update
  • #apt-get install linux-image-2.6.15-7-powerpc linux-headers-2.6.15-7-powerpc linux-restricted-modules-2.6.15-7-powerpc (¡Atención! Debido a la alta frecuencia de actualización de paquetes de dapper es probable que haya una versión más reciente)
  • #cp /etc/apt/sources.list_breezy /etc/apt/sources.list

Segundo paso, instalando drivers y dependencia:

Softmac IEEE 802.11:

Fwcutter:
Este programa extrae el firmware necesario para hacer funcionar los drivers. El archivo que necesita el programa lo podéis extraer de los drivers de la Airport Extreme para MacOS. Para facilitar las cosas he subido el archivo necesario al servidor de casa. Lo podeis descargar de aquí http://62.43.5.159/AppleAirPort2 (si alguien pudiera subirlo a un sitio más de fiar se lo agradecería ;))
Resumiendo, esto es lo que tendriáis que hacer:

  • #apt-get install subversion
  • #svn checkout svn://svn.berlios.de/bcm43xx/trunk
  • #cd trunk/fwcutter/
  • #make
  • #wget http://62.43.5.159/AppleAirPort2
  • #fwcutter AppleAirPort2
  • #make installfw

Bcm43xx:
Finalmente solo nos queda instalar los drivers, si habeis descargado el kernel de ubuntu solo tendréis que activar el módulo, sino lo tendréis que instalar a mano:

  • #cd trunk/driver/
  • #make
  • #insmod bcm43xx.ko

Cuarto paso, disfrutar de la Airporn
#modprobe bcm43xx y a disfrutar!
Llegados a este punto deberías ser capaces de ver la targeta i solo tendréis que configurar la conexión. No obstante tened en cuenta que todo está muy verde aún y es habitual que haya errores. A mí se me bloqueaba el ordenador al intetar configurar la tarjeta con el configurador de gnome pero lo he solucionado configurando a mano.

Mucha suerte!

Comentarios

Imagen de Anónimo

si por el error ortográfico:

Cuarto paso, disfrutar de la Airporn.

Este muy bueno el articulo, gracias por aportar.

Salu2

Imagen de worm

Jejeje, gracías por la anotación. En realidad puse airporn como una pequeña broma, ya sabéis que la única utilidad de las redes es el porno :P

Imagen de Anónimo

Cuando me compre el ibook tuve que comerme la cabeza un poco para encontrar un usb wifi chiquitito barato y soportado, espero que atinen un poco más con el driver pero me va de lujo! ya podré chulear de wifi integrado.

Imagen de bull3tpr00f

Ya que estamos, es subconSciente, no subconciente.

Imagen de _SpYkE_

Hola, tengo problemas en el 2º paso, al hacer el make, me da 2 errores: te lo dejo pegao a ver si sabes pk puede ser y me echas una mano.

make -C /lib/modules/2.6.15-8-powerpc/build M=/home/spyke/source modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.15-8-powerpc'
CC [M] /home/spyke/source/ieee80211softmac_module.o
/home/spyke/source/ieee80211softmac_module.c: En la función ‘ieee80211softmac_create_network’:
/home/spyke/source/ieee80211softmac_module.c:311: error: ‘struct ieee80211softmac_network’ no tiene un miembro llamado ‘supported_rates’
/home/spyke/source/ieee80211softmac_module.c:312: error: ‘struct ieee80211softmac_network’ no tiene un miembro llamado ‘supported_rates’
/home/spyke/source/ieee80211softmac_module.c:313: error: ‘struct ieee80211softmac_network’ no tiene un miembro llamado ‘supported_rates’
/home/spyke/source/ieee80211softmac_module.c:313: error: ‘struct ieee80211softmac_network’ no tiene un miembro llamado ‘supported_rates’
/home/spyke/source/ieee80211softmac_module.c:314: error: ‘struct ieee80211softmac_network’ no tiene un miembro llamado ‘supported_rates’
/home/spyke/source/ieee80211softmac_module.c:315: error: ‘struct ieee80211softmac_network’ no tiene un miembro llamado ‘supported_rates’
/home/spyke/source/ieee80211softmac_module.c:315: error: ‘struct ieee80211softmac_network’ no tiene un miembro llamado ‘supported_rates’
/home/spyke/source/ieee80211softmac_module.c:315: error: ‘struct ieee80211softmac_network’ no tiene un miembro llamado ‘supported_rates’
make[2]: *** [/home/spyke/source/ieee80211softmac_module.o] Error 1
make[1]: *** [_module_/home/spyke/source] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.15-8-powerpc'
make: *** [modules] Error 2

Imagen de Anónimo

Hola SpyKe, a mi me ocurre lo mismo que a tí, me da problemas en el 2º paso con el make, y los mismos errores. Ayuda...

Imagen de _SpYkE_

Pues me respondo a mi mismo jajajaja he estado buscando y encontre una pagina con una solucion, por lo visto los archivos k se bajan en el paso 2 dan problemas, aki dicen k estan rotos...pero vete a saber k pasa... la solucion es bajarse estos, k son los viejos, este es el enlace:

http://softmac.sipsolutions.net/source/?cmd=archive;node=2167883c86e8ea1...

y una vez bajados, pues los descomprimis, entrais en la carpeta y haceis el make y seguis con los pasos del punto 2.

Pero una vez hecho esto, al hacer el insmod ieee80211softmac.ko
me da este error:

insmod: error inserting 'ieee80211softmac.ko': -1 Unknown symbol in module

y esto si k no se pk puede ser, pk esta todo bien escrito, y no hay forma :S a ver si alguien sabe k puedo hacer.

Imagen de _SpYkE_

todos los insmod me dan errores, y son el mismo:

Unknown symbol in module

alguien sabe k puede pasar?

Imagen de Anónimo

se puede avanzar des de aquí?

Imagen de Anónimo

Lo primero agradecer el esfuerzo de publicar estas instrucciones que sirven para ir probando ya este driver y quien sabe, tener ya funcional la Airport Extreme (aún me parece que está todo un poco verde).

Ha ido siguiendo las instrucciones todo bien hasta la descarga del núcleo que en mi caso ha sido:

linux-image-2.6.15-9-powerpc
linux-headers-2.6.15-9-powerpc
linux-restricted-modules-2.6.15-9-powerpc

Hecho en falta que se indique que una vez instalado el nuevo núcleo hay que reiniciar el ordenador con el nuevo núcleo.

Para mi sorpresa ha reiniciado todo perfectamente, salvo el framebuffer gráfico de inicio de Ubuntu Breezy (no es una gran pérdida) ;-)

En el segundo paso no me ha compilado lo que hay en el repositorio de
http://softmac.sipsolutions.net/source y he tenido que utilizar la URL que amablemente nos han dado en otro comentario:

http://www.ubuntu-es.org/node/11044#comment-23408 (Spyke)

que es
http://softmac.sipsolutions.net/source/?cmd=archive;node=2167883c86e8ea1...

Estas fuentes ya si me han compilado pero oJo, una vez compiladas hay que instalarlas. En vez de:

# #make
# #insmod ieee80211softmac.ko

yo he hecho

# #make
# #make install
# #modprobe ieee80211softmac

Los pasos de obtener el firmware de la tarjeta sin problemas salvo la obtención del firmware que lo he cogido directamente de la partición de MacOS X, en concreto de:

/media/macos/System/Library/Extensions/AppleAirPort2.kext/Contents/MacOS/AppleAirPort2

(/media/macos es donde tengo montada la partición hsf+ de MacOS X).

Este fichero no me ha funcionado ya que:

root@freebook:~/trunk/fwcutter# ./fwcutter AppleAirPort2
Sorry, the input file is either wrong or not supported by fwcutter.
I can't find the MD5sum ac232f87f4ccfd1342a878fa85cb95e0 :(

El siguiente paso a sido instalar los drivers que venían en el CD de la AirPort2 por si acaso el driver
que estaba funcionando era el de MacOSX 10.2 y fuera antiguo. Pero no, es el mismo. El siguiente paso
es lograr una version del driver que funcione con fwcutter. Este post nos da la clave:

http://ubuntuforums.org/showpost.php?p=566414&postcount=53

http://wsidecar.apple.com/cgi-bin/nph-reg3rdpty1.pl/product=07307&platfo...

Un poco laborioso pero al fin ya tengo de forma legal el firmware AppleAirPort2 que he podido utilizar en
fwcutter. Los comandos con fwcutter son los que se dan en
el artículo:

# #fwcutter AppleAirPort2
# #make installfw

Pasamos a compilar el módulo que se compila sin problemas. De nuevo
lo instalo con:

# #cd trunk/driver/
# #make
# #make install

De nuevo la carga del módulo la hago con:

modprobe bcm43xx

Tras ello es conveniente levantar el interfaz de red. Si por ejemplo vuestro interfaz
de red wireless es eth1, ejecutar el comando:

ifconfig eth1 up

Con ello se activará la radio de la tarjeta y se inicializará. Una vez hecho, yo tengo que
asociar de forma manual el ESSID que localizo con el comando:

iwlist scan

Tras ello:

iwconfig eth1 essid acscasa
Y una vez ya asociado, algo que podeis comprobar con el comando "dmesg":

...
[ 575.394520] SoftMAC: sent association request!
[ 575.396012] SoftMAC: associated!

Ya pido una dirección por DHCP y tengo ya acceso por red.

Mis primeras experiencias es que el enlace se corta de vez en cuando y tengo que refrescar la
dirección IP, pero desde luego, se está ya llendo en la dirección correcta.

Os recomiendo que leáis con atención los mensajes del driver con el comando "dmesg" ya que os contará lo que va sucediendo. Por ejemplo a mi en alguna ocasión no ha sido capaz de asociarse al punto de acceso y lo dice de forma bastante clarita en los logs:

[ 361.881546] SoftMAC: sent association request!
[ 366.879095] SoftMAC: /root/softmac-source-repository-2167883c86e8/ieee80211softmac_assoc.c:41:ieee80211softmac_assoc_timeout()
[ 366.879116] SoftMAC: assoc request timed out!

tras ello reintento la asociación con

iwconfig eth1 essid acscasa

y lo logra.

En fin, que está aún todo un poco verde, pero está claro que el soporte de la tarjeta ha llegado y no puede ir si no a mejor. Ahora a empujarlo para que madure, se incluya en el núcleo y llegue a los miles de usuarios con este hardware.

De momento el "driver" no se carga de forma automática así que lo he metido como se hacía en la vieja usanza en /etc/modules.

acs@freebook:~$ grep bcm /etc/modules
bcm43xx

Si el interfaz deja de funcionar, quito el módulo, lo cargo de nuevo, lo subo, lo asocio, pido la ip de nuevo y a correr :)

cat /usr/local/bin/inicia-wl
rmmod bcm43xx
sleep 1
modprobe bcm43xx
ifconfig eth1 up
iwconfig eth1 essid acscasa
dhclient eth1

Ya llegarán nuevas versiones superiores a la:

bcm43xx driver 0.0.1 ;-)

Incluso pilas alternativas.

Pero mientras tanto, ¡habemus wireless!
-- acs

Imagen de Anónimo

Hola, te agradezco la ayuda mostrada tanto por usted como el autor del post.

En mi caso no he logrado que funcione, tengo los modulos activados, gnome sabe qu ahi un hardware wireless, lo activo, pero luego con ifconfig no me aparece:

root@Templar:~ # lsmod | grep bcm
bcm43xx 122416 0
ieee80211softmac 32384 1 bcm43xx
ieee80211 38280 2 bcm43xx,ieee80211softmac
root@Templar:~ # ifconfig eth1 up
SIOCSIFFLAGS: No such file or directory

Gnome me reconoce la wireless en el eth1 pero no consigo que funcione. Esta la tengo a menos de medio metro y esta solo con dhcpcd ni vpn ni nada. En mac OX con activar la wireless me la pilla por lo que pienso que es culpa mia.

Un saludo

Imagen de rustybofh

Buenas a todos,¿ no os ocurre que da una tasa de transferencia ridícula?; pero vamos hablo de darme 30 K/s como mucho. Obviamente he hecho pruebas con la misma conexión con otras tarjetas y el resultado no es el mismo ni de coña.
Supongo también que será cuestión de tiempo que afinen el driver (cómo se lo ha currado esta gente!!), pero más que nada quería saber si es algo que me ocurre sólo a mi o que es general.

Un saludo

Imagen de Anónimo

hola ubunteros:

Muy bueno el howto, y las respuestas aclaratorias. Pero tengo un problema con mi incompetencia. Cuanto intento actualizar el kernel poniendo el 2.6.15-14 del dapper, todo ba bien, pero cuando reinicio se queda haí. Hay que hacer algo mas, o algo que no aparece aquí?

Seguir asi, un saludo.