Archive du 02-11-2008

Dis-moi, Ubuntu, il est où mon WiFi ?

02-11-2008 par Horacio Gonzalez
LiB et Ubuntu

Je crois que aucun de mes lecteurs habituels, pas plus qu’aucun de mes pauvres collègues de travail, hésiteront à me qualifier de fan (ou plutôt fanatique) d’Ubuntu. Pourtant il y a des jours où Ubuntu me prend bien la tête…

Après avoir installé Ubuntu 8.10 Intrepid Ibex sur mon fixe et mon portable personnels, ce matin je me suis mis à mettre à jour mon ordinateur du travail, un Toshiba Tecra M5. Tout semblait s’être passé sans le moindre soucis, aucun message d’erreur, le système a démarré sans soucis apparent après la reinitialisation… à un détail près : je n’avais pas de WiFi.

Au moment où j’ai fait le constat, j’ai su comment ça allait se passer. J’allais devoir passer ma matinée à parcourir les différentes forums à essayer de trouver d’abord pourquoi le WiFi s’était arrêté de marcher et ensuite quoi faire pour qu’il tourne à nouveau. A ce moment j’ai eu marre d’Ubuntu, marre des mises à jour, marre de m’entêter à utiliser un système libre, je ne pouvais me dire que ¡mierda de día!

Mais bon, après l’instant de crise passé, je me suis mis à traquer le problème, en commençant par la carte WiFi. Et comment j’ai une carte WiFi assez commune, je me suis dis qu’il valait le coup d’expliquer en détail comment la refaire marcher.

Ta carte WiFi, est-elle reconnue ?

La première question qu’on doit se poser avant d’aller consulter les forums est si la carte WiFi est reconnu par le système ou pas. Pour cela, un petit coup de lspci nous donnera la réponse :

~$ sudo lspci
00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (rev 03)
[...]
04:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection (rev 02)
[...]

Ma carte, une très typique Intel 3945ABG, est bien reconnu par mon Ubuntu, et pourtant sur Gnome le WiFi s’obstine à rester inactif.

L’Intel 3945ABG et le kill switch

Après quelques consultations sur les différents forums d’Ubuntu, il s’avère qu’il y a plusieurs problèmes liés à l’Intel 3945 dans Intrepid Ibex. Le premier est lié au kill switch, l’interrupteur qui permet de couper le WiFi (par exemple pour consommer moins de batterie).

Dans Ubuntu 8.10 ils ont changé le module du kernel chargé du support de l’Intel 3945, le iwl3945. Et le nouveau module semble avoir encore quelques petits soucis. Lorsqu’on démarre avec l’interrupteur du WiFi coupé, et après on essaie d’activer le WiFi, le nouveau iwl3945 ne détecte pas l’activation, et le WiFi ne se met pas en route.

Si vous avez démarré votre ordinateur sans WiFi et vous voulez l’utiliser, vous avez deux options. Soit vous redémarrez votre ordinateur avec l’interrupteur en on, soit vous placez l’interrupteur en on et vous réinitialisez le iwl3945. Cette dernière option est beaucoup plus simple que ça n’en a l’air :

~$ sudo rmmod iwl3945
~$ sudo modprobe iwl3945

J’ai donc reinitialisé le module et j’ai vu, plein d’espoir, apparaître l’icône du WiFi sur mon bureau. Tout semblait marcher… sauf qu’il n’arrivait pas à se connecter à mon réseau WiFi.

L’Intel 3945ABG et les connexions aux réseaux WEP

Mon réseau WiFi à la maison est du bon vieux WEP (oui, je sais, je devrais m’acheter un router qui fasse du WPA2), le truc le plus simple. Il ne devrais donc pas avoir de soucis, mais mon Ubuntu ne veut pas s’y connecter. Par contre, il n’a pas de soucis à se connecter à des réseaux WiFi ouverts qui tournent dans l’immeuble (les access points Neuf).

En allant à nouveau sur les forums, c’est encore un problème du module iwl3945, et cette fois la solution a déjà été trouvé… sauf que pas sur les paquets standard. Comme la solution est installer une version encore plus nouvelle du module, elle est dans les paquets backports, même si Ubuntu 8.10 est sortie il y a moins d’une semaine.

Activer Backports

Il faut donc d’abord activer les dépôts backports dans Synaptic, et ensuite installer les paquets linux-backports-modules-intrepid et linux-backports-modules-intrepid-generic.

Ou si vous préférez le faire sur ligne de commandes, il faut ajouter au fichier /etc/apt/sources.list la ligne des dépôts backports :

deb http://archive.ubuntu.com/ubuntu/ intrepid-backports universe main multiverse restricted

En ensuite installer les paquets avec apt-get :

~$ sudo apt-get install linux-backports-modules-intrepid linux-backports-modules-intrepid-generic

Ensuite, vous redémarrez et normalement votre WiFi marchera sans aucun problème.