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.
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