J'ai bien avancé dans l'histoire mais je suis bloqué à cause de la version du noyau... En effet, il faut au moins un kernel >=2.4.14 :/ Et j'ai pas trop envie de m'aventurer dans une compilation du noyau sous ubuntu... Bref!
Je vais détailler ce que j'ai fait pour ceux que ca intéresse (Attention, je sais pas si ca marche à la fin):
Prérequis:
- Le dvd install de TIGER.
- les sources du noyau (apt-get install linux-sources)
- quelques softs du genre svn ou pax,
On récupère les sources du drivers:
svn checkout svn://svn.berlios.de/bcm43xx/trunk
On compile fwcutter
cd trunk/fwcutter
make
On récupère le firmware du Airport Extreme. Attention comme on peut le lire un peu partout, si vous avez fait les mises à jour de OSX ca marche pas, on va donc chercher une version qui marche sur le DVD d'install de Tiger:
cp /media/dvd//System/Installation/Packages/Essentials.pkg/Contents/Archive.pax.gz .
gunzip Archive.pax.gz
pax -r ./System/Library/Extensions/AppleAirPort2.kext Archive.pax.gz
cp ./System/Library/Extensions/AppleAirPort2.kext .
Appliquer le patch ou pas sur AppleAirPort2.kext comme le point 3 ici:
http://forums.gentoo.org/viewtopic-t-365647.html.
Dans les 2 cas, on arrive à extraire les firmwares du fichier AppleAirPort2.kext.
fwcutter AppleAirPort2.kext
sudo cp bcm430_x* /lib/hotplug/firmware
Charger le module ieee88021 pour voir si il est dispo (il faudra sans doute éditer /etc/modules plus tard):
modprobe ieee88021
Compiler le driver: par défaut, make ne trouve pas le fichier entête ieee88021.h. Donc en bourrin, dans le Makefile, après la ligne CFLAGS += -DBCM430x_VERSION=$(VERSION) -I/lib/modules/$(KVER)/include, on ajoute
CFLAGS += -I/usr/src/linux-source-2.6.12/drivers/net/wireless/ieee80211
Et ca compile jusqu'à l'apparition d'un warning sur le numero de version du kernel disant de pas se plaindre, le drivers étant en cours de développement. Tant pis, ca commencait à sentir bon...