Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
materiel:wifi:rt2500usb [Le 03/07/2007, 20:46] polarman caté |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>wifi}} | ||
- | <code> | ||
- | Ubuntu Breezy | ||
- | </code> | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | ====== 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 [[http://ralink.rapla.net | 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 : | ||
- | <code> | ||
- | $ wget http://www.ovislink.fr/administration/pilotes/wifi/Evo-w54usb/LINUX_2.0.3.0.zip | ||
- | </code> | ||
- | |||
- | cette étape téléchargera le pilote; | ||
- | |||
- | |||
- | * Décompressez le fichier obtenu : | ||
- | <code> | ||
- | $ 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 | ||
- | </code> | ||
- | |||
- | * 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 : | ||
- | <code> | ||
- | $ sudo apt-get install build-essential linux-headers-`uname -r` gcc-3.4 | ||
- | </code> | ||
- | |||
- | 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 : | ||
- | <code> | ||
- | $ ./Configure | ||
- | </code> | ||
- | |||
- | 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 : | ||
- | <code> | ||
- | $ cp Makefile.x Makefile | ||
- | </code> | ||
- | Le //x// est à remplacer par le version de votre noyau (4 ou 6, soit la version 2.4 ou 2.6 du noyau) | ||
- | |||
- | * Entrez : | ||
- | <code> | ||
- | $ make | ||
- | </code> | ||
- | |||
- | 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 : | ||
- | <code> | ||
- | $ 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 | ||
- | </code> | ||
- | |||
- | * Nous allons maintenant pouvoir charger le module avec la commande suivante : | ||
- | |||
- | <code> | ||
- | $ sudo modprobe rt2570 | ||
- | </code> | ||
- | |||
- | |||
- | |||
- | ===== Résolution des erreurs ===== | ||
- | |||
- | * Si la commande //make// affiche une erreur du type : | ||
- | |||
- | <code> | ||
- | $ 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 | ||
- | </code> | ||
- | |||
- | 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. | ||
- | |||
- | [[http://doc.ubuntu-fr.org/applications/firestarter|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 ===== | ||
- | |||
- | [[http://www.ralinktech.com/supp-1.htm|Site officiel de Ralink]] | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | ===== 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: | ||
- | <code> | ||
- | cat /proc/bus/usb/devices | ||
- | </code> | ||
- | 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**: | ||
- | |||
- | <code> | ||
- | 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 | ||
- | </code> | ||
- | |||
- | 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 | ||
- | <code> | ||
- | tar -xvzf RT73_Linux_STA_Drv1.0.3.6.tar.gz | ||
- | </code> | ||
- | 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 | ||
- | <code> | ||
- | lsusb | ||
- | </code> | ||
- | 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 */": | ||
- | <code> | ||
- | {USB_DEVICE(0x0b05,0x1723)}, /* Ralink */ \ | ||
- | </code> | ||
- | (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 | ||
- | <code> | ||
- | sudo /sbin/rmmod rt73.ko | ||
- | </code> | ||
- | J'ai rechargé le nouveau module | ||
- | <code> | ||
- | sudo /sbin/insmod rt73.ko | ||
- | </code> | ||
- | Et là, en faisant | ||
- | <code> | ||
- | tail -f /var/log/messages | ||
- | </code> | ||
- | 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 |