Ceci est une ancienne révision du document !
Ubuntu Breezy
Comment installer une "clé" USB Wifi basée sur le chipset RT2500
Ce guide explique comment installer et employer un dongle USB sans fil (wifi) basé sur une puce RT2500 de Ralink. Pour obtenir la liste des cartes basées sur cette puce, visitez cette page . Ce tutoriel a été réalisé sur Ubuntu Breezy avec un Dongle USB Adaptater OP-W54USB (Ovislink). Ce matériel était indiqué chez le vendeur comme compatible linux.
Apparement ce qui suit ne marche pas avec edgy, mais il existe une autre méthode qui fonctionne, plus bas sur la page: http://doc.ubuntu-fr.org/materiel/wifi/rt2500usb#methode_pour_edgy
Installer le pilote RT2500
Prérequis :
- Ubuntu Breezy
- Un accès au réseau en état de marche !
Breezy contient par défaut un pilote RT2500 mais il ne fonctionne qu'avec les cartes PCI ou PCMCIA (internes), et pas avec le dongle USB. Il vous faut donc récupérer les sources du driver USB RT2500. La première étape consiste à compiler et installer le driver (pilote) :
Avec votre navigateur web, récupérez le pilote Linux, par exemple sur le site d'OvisLink http://www.ovislink.fr/client/telechargement_pilotes_wireless.htm
ou
- Tapez :
$ wget http://www.ovislink.fr/administration/pilotes/wifi/Evo-w54usb/LINUX_2.0.3.0.zip
cette étape téléchargera le pilote;
- Décompressez le fichier obtenu :
$ unzip LINUX_2.0.3.0.zip $ cd LINUX_2.0.3.0 $ tar xvzf 2005_0601_RT25USB-SRC-V2.0.3.0.tar.gz $ cd RT25USB-V2.0.3.0
- A cette étape, il est nécessaire d'installer les sources du noyau et les éléments nécessaires à la compilation de celui ci (ne vous inquiétez pas, vous n'avez pas à recompiler le noyau dans ce tutorial. Maintenant tapez :
$ sudo apt-get install build-essential linux-headers-`uname -r` gcc-3.4
Cette étape installera les paquets nécessaires à la compilation une fois votre mot de passe saisi.
Il est possible de remplacer cette étape par l'utilisation de Synaptic qui vous permettra d'effectuer l'opération en mode graphique. Dans ce cas, il faut utiliser le moteur de recherche de celui-ci et chercher "headers" et "build essential".
- Entrez :
$ ./Configure
Il vous sera alors demandé le chemin des sources de votre kernel… Celui-ci est de la forme /usr/src/linux-headers-[version de votre noyau] Pour connaitre la version de votre noyau : uname -a Pour l'exemple, le chemin à entrer pour la part est : /usr/src/linux-headers-2.6.12-10-386
* Entrez :
$ cp Makefile.x Makefile
Le x est à remplacer par le version de votre noyau (4 ou 6, soit la version 2.4 ou 2.6 du noyau)
- Entrez :
$ make
Cette opération va construire le module. Note : le chemin du répertoire dans lequel vous exécutez cette commande ne doit pas contenir d'espaces.
Malheureusement, il n'y a pas de section "install" dans le fichier Makefile. Il va donc falloir installer le module à la main.
- Entrez :
$ sudo mkdir -p /lib/modules/$(uname -r)/kernel/drivers/net/wireless/rt2570 $ sudo cp rt2570.ko /lib/modules/$(uname -r)/kernel/drivers/net/wireless/rt2570 $ sudo depmod -a
- Nous allons maintenant pouvoir charger le module avec la commande suivante :
$ sudo modprobe rt2570
Résolution des erreurs
- Si la commande make affiche une erreur du type :
$ make make -C /lib/modules/2.6.12-10-386/build SUBDIRS=<Chemin du répertoire contenant le pilote> modules make[1]: entrant dans le répertoire « /usr/src/linux-headers-2.6.12-10-386 » make[1]: *** Pas de règle pour fabriquer la cible « <Nom de la cible> ». Arrêt. make[1]: quittant le répertoire « /usr/src/linux-headers-2.6.12-10-386 » make: *** [all] Erreur 2
et que le chemin du répertoire contient des espaces, l'erreur vient de là. Copiez tout le contenu du répertoire dans un autre répertoire ne contenant pas d'espaces (par exemple sur votre bureau) et répétez l'opération.
- Si vous n'arrivez pas à vous connecter à Internet et que vous avez installé votre clé USB sur une machine qui possède d'autres périphériques réseau (en particulier une carte réseau filaire), le pare-feu Linux peut empêcher la connexion à Internet.
Installez l'interface graphique du pare-feu (Firestarter), et dans le menu Edition, Préférences : Pare-feu, Configuration du réseau, vérifiez que votre périphérique wifi (rausb0) est sélectionné dans Périphérique réseau connecté à Internet.
- De plus, la connexion peut être bloquée si plusieurs interfaces sont actives en même temps. Dans le menu Système → Administration → Réseau, désactivez les autres connexions et n'activez que la Connexion sans fil.
Lien annexe
Méthode pour Edgy
Sur le CD d'Asus, il y a les sources du pilote, qui fonctionnent sous Edgy (moyennant une petite modification dans certains cas).
(Il y a peut-être des choses pour vous sur http://www.ralinktech.com/ralink/Home/Support/Linux.html mais sans garantie.
Notez que j'ai testé ce qui suit pour la clé USB wl-167G qui est souvent mentionnée comme utilisant le pilote RT2500. Le cd d'Asus inclus des pilotes "rt25USB" et "rt73" mais d'après l'identifiant du produit (1723 ou 1724) j'ai dû utiliser le pilote rt73)
Note: Certaines clé USB wl-167G ont tout de même un identifiant (1706 dans mon cas) correspondant au driver RT2500. Il faut donc vérifier!
Sur le CD, commencez par lire le fichier /Linux/README.dat
Il contient le texte suivant
To check which driver you should use
1. insert ASUS 167g into USB port.
2. cat /proc/usb/devices.
3. check vendor id and product id of ASUS WLAN device.
4. follow the README file in related directory to compile and install driver.
vendor id productid driver directory 0B05 1706 rt25USB 0B05 1707 rt25USB 0B05 1723 rt73 0B05 1724 rt73
NB: En fait à l'étape 2. il faut faire:
cat /proc/bus/usb/devices
Dans mon cas j'ai: 0B05 / 1723 donc il me faut le rt73 (ajustez pour votre cas)
Allez dans le répertoire en question, décompressez le et lisez-bien les instructions du README (écrites pour Redhat…).
J'ai fait un peu différemment:
tar -xvzf RT73_Linux_STA_Drv1.0.3.6.tar.gz cd RT73_Linux_STA_Drv1.0.3.6 cd Module/ chmod 755 * dos2unix * cp Makefile.6 Makefile make all sudo mkdir /etc/Wireless/ sudo mkdir /etc/Wireless/RT73STA/ sudo cp rt73.bin /etc/Wireless/RT73STA/ sudo cp rt73sta.dat /etc/Wireless/RT73STA/rt73sta.dat # charger le pilote: sudo /sbin/insmod rt73.ko #et là normalement la commande suivante montre la nouvelle interface: /sbin/ifconfig rausb0 #La configurer (d'après le README) /sbin/ifconfig rausb0 inet YOUR_IP up
Mais voilà, pour moi ça ne marche pas (et vous?).
J'ai trouvé la solution sur http://doc.ubuntu-fr.org/materiel/wifi/dwl-g122
Voir en particulier les sections http://doc.ubuntu-fr.org/materiel/wifi/dwl-g122#dongle_non_detecte
et les quelques lignes avant et après le texte "Cette manipulation permet de dire au driver que si le périphérique USB a cet identifiant, alors c'est à lui de s'en occuper."
En effet, il est possible que le modèle exacte que vous ayez ne soit pas déclaré dans le pilote. Dans ce cas, recommencez à l'étape
tar -xvzf RT73_Linux_STA_Drv1.0.3.6.tar.gz
et avant de faire le "make all" ajoutez votre clé dans la liste des clés à reconnaître, en bas du fichier rtmp_def.h
Pour connaître sa référence, branchez votre clé puis faite la commande
lsusb
chez moi elle renvoie notamment:
Bus 005 Device 009: ID 0b05:1723 ASUSTek Computer, Inc.
Et j'ai donc ajouté la ligne suivante dans le rtmp_def.h, vers la fin du fichier, juste derrière les autres "/* Ralink */":
{USB_DEVICE(0x0b05,0x1723)}, /* Ralink */ \
(ce qui indique quels sont les vendorid et productid de la clé)
(NOTA: si quelqu'un peut écrire ici comment passer à coup sûr du format 0b05:1723 au format 0x0b05,0x1723 [suffit-il de rajouter "0x" dans tous les cas? si oui l'écrire ici merci pour les autres !]) → Oui, les identifiants sont en hexadecimal, donc 0x permet au compilateur d'utiliser ces valeurs en hexa.
J'ai refait la compilation et les autres étapes, déchargé l'ancien module qui ne marchait pas, avec
sudo /sbin/rmmod rt73.ko
J'ai rechargé le nouveau module
sudo /sbin/insmod rt73.ko
Et là, en faisant
tail -f /var/log/messages
puis en branchant la clé,
j'ai 3 lignes: localhost kernel: [17188915.872000] usb 5-3: new high speed USB device using ehci_hcd and address 13 localhost kernel: [17188916.140000] usb 5-3: configuration #1 chosen from 1 choice localhost kernel: [17188916.140000] idVendor = 0xb05, idProduct = 0x1723
(avant je n'avais que les 2 premières lignes et la clé n'était pas associée à son pilote).
Quelques commandes utiles:
Pour décharger le module rt73.ko par exemple
sudo /sbin/rmmod rt73.ko
Infos sur les modules:
lsmod
Infos sur le réseau
ifconfig -a
iwconfig
tail -f /var/log/messages
infos sur les périph connectés:
lshw
lsusb
lsusb -v
A la fin:
sudo wlassistant