Contenu | Rechercher | Menus

Comment installer une carte Wifi basée sur le chipset RT2570

Version: Breezy/Dapper

Rédaction initiale par PDemong

Ce guide explique comment installer et employer un adaptateur USB sans fil basé sur une puce RT2570. La solution ndiswrapper ne semble pas fonctionner. Par contre le pilote fourni par Ralink est opérationnel.

J'ai fait mes tests avec l'adaptateur USB D-Link DWL-G122 Rev B1.

Voici le plan :

  1. Installer et compiler le pilote à partir du code source fourni par Ralink.
  2. Paramétrer et tester une connexion
  3. Automatiser l'ensemble au démarrage de l'ordinateur

Pour les gens pressés qui ne veulent pas d'explication, tenter l'aventure sur ce wiki allégé.

Installation du pilote rt2570

Avant de vous lancer dans la compilation du module, vérifiez si celui ci est présent sur votre distribution:

modprobe -l | grep rt2570

à partir de Ubuntu Dapper 6.06, le module est présent dans la distribution, donc inutile de compiler, passez à la suite: la configuration.

Pré-requis

Avant de compiler, il vous faudra un certain nombre de paquets. Et le problème est que certains sont uniquement sur … internet. Il vous faudra donc un dual boot et une partition commune à windows, pour aller récupérer les paquets sur internet.

Tout d'abord, la partie facile : voici les paquets à installer depuis votre CD d'installation Ubuntu.

  • make
  • linux-image-386
  • linux-headers-386 (à confirmer, mais certains en ont eu besoin apparemment)
  • libc6
  • sysutils

Maintenant voici les fichiers deb à récupérer sur internet (via windows par exemple, ou un autre pc avec une clé usb…) :

De retour sous Ubuntu, installer chaque fichier .deb avec la commande :

sudo dpkg -i nompaquet.deb

Après avoir installé le paquet linux-source-2.6.12, ne pas oublier de faire :

cd /usr/src
sudo tar xjf linux-source-2.6.12.tar.bz2

Vous pouvez brancher l'adaptateur USB dès maintenant.

Compilation

FIXME Liens mort (Lien probable: http://www.ralinktech.com/en/04_support/support.php?sn=501)

Aller sur http://www.ralinktech.com/support.php?s=2 et, dans la section Linux/11g-RT2500 (je sais, c'est pas RT2570, mais faites-moi confiance ;-)), y prendre le fichier le plus récent. Update aout 2006 : ne pas prendre la version de mars 2006, car son Makefile ne fonctionne pas sur Ubuntu. Rester avec la version RT25USB-SRC-V2.0.6.0.tar.gz qui fonctionne bien.

Dans ce qui suit, on supposera avoir récupérer l'archive RT25USB-SRC-V2.0.6.0.tar.gz (en théorie, c'est déjà fait dans la section ci-dessus "Pré-requis").

tar xzf RT25USB-SRC-V2.0.6.0.tar.gz
cd RT25USB-SRC-V2.0.6.0
dos2unix *  # ici il y a un message d erreur mais ce n est pas grave
chmod 644 *
chmod 755 LINUX_RACONFIG_V2.0.0.7
chmod 755 Configure
./Configure

À ce moment, il ne faut pas prendre la valeur par défaut proposée par Configure, mais mettre /usr/src/linux-source-2.6.12.

Puis on continue comme suit (attention, il faut avoir pluggé l'adaptateur usb) :

cp Makefile.6 Makefile
make

À cette étape, vous avez fabriqué un fichier rt2570.ko, qui est votre module. Il faut le tester AVANT d'aller plus loin.

La commande lsmod | grep rt2570 permet de vérifier si le module est correctement chargé dans linux. Voici comment faire ce chargement :

sudo insmod rt2570.ko

Voici la vérification :

lsmod | grep rt2570
 rt2570                262016  0
 usbcore               118044  9 quickcam,rt2570,snd_usb_audio,snd_usb_lib,hci_usb,usbhid,ehci_hcd,uhci_hcd

Installation du module

Voici comment installer le module de ce pilote pour chaque démarrage ubuntu :

sudo mkdir /lib/modules/$(uname -r)/kernel/drivers/net/wireless/rt2570
sudo cp rt2570.ko /lib/modules/$(uname -r)/kernel/drivers/net/wireless/rt2570/rt2570.ko
sudo depmod

Redémarrer Ubuntu et vérifier que le module du pilote est bien chargé.

Paramétrage et connexion sur un réseau domestique

Démarche de base avec Ubuntu

Pour cette section, je vous renvoie à une page existante du wiki. Attention toutefois à remplacer dans votre lecture l'interface wlan0 par rausb0, qui est l'interface créée avec le module rt2570.

Pour résumer :

  • ouvrir Système→Administration→Réseau
  • aller dans les Propriétés de l'interface rausb0
  • cocher Activer cette connexion
  • sélectionner votre réseau (par ex: Mon-Reseau), et mettre votre clé WEP (par ex: 12345 en ASCII) si vous en avez une
  • si votre routeur est DHCP, sélectionner cette configuration
  • Valider
  • Activer la connexion sans-fil
  • Valider pour que le tout prenne effet

Pour aller un peu plus loin

Ces étapes graphiques correspondent aux commandes suivantes :

sudo ifconfig rausb0 up
sudo iwconfig rausb0 essid Mon-Reseau key s:12345
sudo dhclient rausb0

La seule différence est qu'en mode ligne de commande, rien n'est sauvegardé dans /etc/network/interfaces.

Automatisation au démarrage

Vous l'aurez malheureusement constaté, quand on passe par l'interface graphique d'Ubuntu, les réglages ne semblent pas pris en compte lors du prochain redémarrage.

Manuellement, pour que cela marche, il faut taper en mode ligne de commande (cas d'un réseau Mon-Reseau avec une clé WEP ASCII 12345) :

sudo iwconfig rausb0 essid Mon-Reseau key s:12345
sudo dhclient rausb0

Un autre désavantage de passer par l'interface graphique est que cela fait perdre du temps au redémarrage qui ne parvient pas à se connecter au réseau et bloque plusieurs secondes. Voici une recette que j'ai appliqué chez moi :

  • aller dans Système→Administration→Réseau
  • désactiver tout ce qui concerne l'interface rausb0, et retirer toutes ces Propriétés
  • redémarrer Ubuntu (et constater que ca démarre plus vite)

Ici, vous pouvez écrire un script qui va faire la configuration et l'activation de votre wifi. Utiliser votre éditeur préféré pour créer un fichier wifi (ex: nano wifi). Ce script contiendra dans mon cas les commandes :

ifconfig rausb0 up
iwconfig rausb0 essid Mon-Reseau key s:12345
sleep 3
dhclient rausb0

Voici quoi faire avec ce script wifi. Voici comment le faire appartenir à root, et comment le lancer automatiquement à chaque reboot :

sudo cp wifi /etc/init.d/
sudo chmod 755 /etc/init.d/wifi
cd /etc/rc5.d/
sudo ln -s ../init.d/wifi S99wifi
cd /etc/rc3.d/
sudo ln -s ../init.d/wifi S99wifi

Tiens! ça marchait et maintenant ça marche plus...

La principale raison est que vous avez fait une mise-à-jour du kernel. Jeter un oeil dans Synaptic, au niveau de l'historique, et vérifier si ces derniers jours il n'y a pas eu une modification des paquets linux-image-386. Si oui, vérifiez que il y a aussi eu l'update du paquet associé linux-headers.

Si c'est oui aux 2, il faut recompiler/réinstaller le pilote. Je vous renvoie à la section plus haut (Compilation + Installation du module).



Le contenu de ce wiki est sous licence : CC BY-SA v3.0