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 [en cours de rédaction])

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

(en cours de rédaction)

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)

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 !])

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

  • materiel/wifi/rt2500usb.1171132583.txt.gz
  • Dernière modification: Le 18/04/2011, 14:48
  • (modification externe)