tapioca wrote:Le bug et connu avec le noyau 2.6.24 :il est en cours de correction avec le 2.6.25.
Seule solution : attendre ...
Le noyau 2.6.24 semble maintenant pleinement intégrer le driver rt2x00 (
http://rt2x00.serialmonkey.com/wiki/index.php?title=Main_Page).
Mon cas:
* USB Wifi HERCULES chipset Ralink (voir
http://ralink.rapla.net/ )
* sortie de lsusb: Bus 001 Device 004: ID 06f8:e010 Guillemot Corp. HWGUSB2-54-LB
Par défaut, le système charge le module rt73usb qui appelle les ressources rt2x00. Avec les noyaux 2.6.23, pas de difficulté. Avec le nouveau noyau, le chargement du module conduit à des erreurs qui gèlent le système. Le message (en boucle) est:
phy0 -> rt2x00usb_write_tx_data: Error - Arrived at non-free entry in the non-full queue 2
Le point est connu (voir le forum serialmonkey et
particulièrement ce fil).
Pour faire fonctionner la connexion WiFi en environnement 2.6.24, un contournement possible est présenté ci-après (pour experts). Le principe consiste à compiler et installer un driver "legacy". La description qui suit prend l'exemple du module rt73.
1- Les préparations:
Sous un noyau de version inférieure, disposant de la connexion, télécharger le driver "legacy" (c'est à dire antérieur à rt2x00, qui vise à réécrire les drivers en les unifiant) depuis la page suivante:
http://rt2x00.serialmonkey.com/wiki/index.php/Downloads
Dans mon cas, il s'agit du rt73.
Bien évidemment, installer l'environnement de développement du 2.6.24:
kernel-devel.x86_64 2.6.24.3-12.fc8
kernel-headers.x86_64 2.6.24.3-12.fc8
Toujours en environnement 'noyau antérieur', interdire le chargement ultérieure de rt73usb et rt2x00:
à la fin de /etc/modprobe.d/blacklist, ajouter:
blacklist rt73usb
blacklist rt2570
blacklist rt2x00lib
Arrêter les services NetworkManager (ils ne seront pas compatibles avec le rt73). Activer le service Network.
2- La compilation et l'installation du module:
Lancer le noyau 2.6.24. Normalement, le module rt73usb n'est pas chargé. Sinon, le décharger par:
# rmmod rt73usb
Compiler et installer le module:
# gunzip rt73-cvs-daily.tar.gz
# tar xvf rt73-cvs-daily.tar
# cd rt73-cvs-2008030723/Module
# make
# strip -S rt73.ko
# make install (qui installe correctement le firmware notamment)
# modprobe rt73
Le module est normalement chargé (le vérifier par un lsmod | grep rt73).
3- Le paramétrage de la connexion:
Dans mon cas, system-config-services a échoué. J'ai donc lancé la connexion "manuellement":
Vérifier que le matériel est reconnu en utilisant system-config-network (onglet matériel). Il doit normalement être reconnu. Repérer l'interface allouée (dans l'exemple: wlan0).
Supprimer toute configuration de périphérique (il semble que system-config-network ne supporte pas rt73 ...) en sorte que le lancement du service network se borne à l'activation de lookup.
Configurer la liaison Wifi:
# /sbin/iwconfig wlan0 essid "le Nom du Réseau" channel Le_Numéro_du_Canal key La_Clé_WEP
# /sbin/ifconfig wlan0 up
# /sbin/dhclient
Normalement, la connexion est active.
4- L'amélioration de la procédure:
Il suffit de créer un script intégrant la séquence des commandes passées et de l'activer au démarrage du système.
A noter qu'à chaque modification de noyau, il faudra penser à recompiler le module et à l'installer. Par contre, les scripts de connexion resteront inchangés.