Problème de Wifi avec un ASUS A6000 sous Jolicloud 1.0

La carte wifi est bien détectée :

root@jolicloud:/opt# lspci  | grep Wireless
02:04.0 Network controller: Intel Corporation PRO/Wireless 2200BG [Calexico2] Network Connection (rev 05)

Son module est sensé être ipw2200 mais un problème de chargement du module apparaît dans dmesg :

[    0.581486] ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.2.2kmprq
[    0.581489] ipw2200: Copyright(c) 2003-2006 Intel Corporation
[    0.581541] ipw2200 0000:02:04.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
[    0.581592] ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection
[    0.581642] ipw2200 0000:02:04.0: firmware: requesting ipw2200-bss.fw
[   60.580062] ipw2200: ipw2200-bss.fw request_firmware failed: Reason -2
[   60.580106] ipw2200: Unable to load firmware: -2
[   60.580143] ipw2200: failed to register network device
[   60.580220] ipw2200 0000:02:04.0: PCI INT A disabled
[   60.580229] ipw2200: probe of 0000:02:04.0 failed with error -5

Le truc étrange c'est que le ipw2200.ko ne semble pas exister pas dans le noyau linux-image-2.6.32.9-1-jolicloud :

find /lib/modules/ -name "ipw2200*"

La solution proposée dans ce topic est d'installer un noyau plus récent mais non officiel (jailbreak) :

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.35-rc6-maverick/linux-image-2.6.35-020635rc6-generic_2.6.35-020635rc6_i386.deb
dpkg -i linux-image-2.6.35-020635rc6-generic_2.6.35-020635rc6_i386.deb

Par contre un bug existe dans ce noyau non officiel, il faut le corriger avant de rebooter :

sed -i 's/hda1/sda1/g' /boot/grub/menu.lst
update-grub
reboot

Une fois rebooté, le wifi devrait fonctionner.

Autres pistes par forcément utiles

Installer un nouveau firmware :

cd /opt
wget http://bughost.org/firmware/ipw2200-fw-3.0.tgz
wget http://bughost.org/firmware/ipw2200-fw-3.1.tgz
wget http://bughost.org/firmware/ipw2200-fw-2.4.tgz

Les essayer un par un :

cp ipw2200-fw-3.0/ipw2200-*.fw /lib/firmware/
cp ipw2200-fw-3.0/ipw2200-*.fw /lib/firmware/2.6.32.9-1-jolicloud/

Dans ce topic, on conseil de régler le timeout :

root@michwar:~# echo 100 > /sys/class/firmware/timeout 

Et pour le rendre persistant, rajouter ce bout de code dans /etc/rc.local juste avant exit 0 :

echo 100 > /sys/class/firmware/timeout
rmmod -f ipw2200
modprobe ipw2200