Table des matières

,

Chipset wifi Ralink RT61

Il serait peut-être bon de faire une mise à jour de cette page qui s'arrête à Hardy Héron, le fonctionnement de ce chipset n'étant pas vraiment optimal sur Maverick Meerkat par exemple

cartes concernées:

Pour connaître votre chipset tapez simplement

lspci | grep Network

veuillez compléter cette liste si vous voyez apparaître

Network controller: RaLink RT2561/RT61

Sous Natty Narwhal 11.04

La carte fonctionne impeccablement bien normalement, reconnue d'emblée et sans bugs. Reconnue oui. Fonctionne oui. Impeccablement à voir, avec des pertes de connexion souvent….

Sous Hardy Heron 8.04

Votre carte devrait être reconnue sans aucune manipulation.

Mais si votre ordinateur freeze lorsque vous téléchargez ou que vous surfez sur internet (forts ralentissements, voire coupures):

Sous Edgy Eft 6.10

Attention! ceci est une ébauche, veuillez tester et corriger si nécessaire. Merci ;) Fonctionne sur une MSI PC54G3.

Traduit et adapté à partir du forum international d'ubuntu: http://www.ubuntuforums.org/showthread.php?t=296822&highlight=rt61

Voir aussi:

Pour commencer, ouvrez un terminal: menu applications/accessoires/terminal

Créez un dossier temporaire (on le supprimera par la suite) et placez vous dedans:

mkdir rt61
cd rt61

Téléchargez-y la dernière version du pilote

si pb, voir le site de ralink et ses pilotes

wget http://www.ralinktech.com.tw/data/IS_Linux_STA_6x_D_1.1.1.0.tar.gz

Lien incorrect

Il peut etre utile d'utiliser la version cvs du module fourni pas le projet rt2x00 de SerialMonkey en cas de problème ici, la procédure qui suit demeure la même.

2 - Compiler le module

Installez les “kernel headers” correspondant à votre noyau (Bien souvent cela est déjà fait) :

sudo apt-get install linux-headers-`uname -r`

Décompressez et installez le pilote précédemment téléchargé:

tar xvfz IS_Linux_STA_6x_D_1.1.1.0.tar.gz

ou

tar xjvf 2010_0412_RT61_Linux_STA_V1.1.2.5.bz2

Se placer ensuite dans le sous répertoire Module puis lire le fichier README. Suivre les instructions puis compiler:

cd IS_Linux_STA_6x_D_1.1.1.0/Module/
make all

Patientez …

Attention: Ralink a sorti un nouveau pilote. Le patch susnommé a été intégré par exemple, malheureusement le code fait toujours appel à pci_module_init() qui semble avoir été disparu du kernel 2.6.22… La fonction pci_module_init() a été renommée pci_register_driver(). Il suffit de renommer l'appel dans Module/rtmp_main.c

Inutile avec le pilote du 3/10/2007!!! =⇒ FAUX !!! il faut vraiment remplacer pci_module_init() par pci_register_driver(), sinon on obtient l'erreur suivante :

        lorsqu'on lance la commande "sudo modprobe rt61" (voir plus bas)
        on obtient le message d'erreur suivant :
                 FATAL: Error inserting rt61 (/lib/modules/2.6.22-14-generic/kernel/drivers/net/rt61.ko): Unknown symbol in module, or unknown parameter (see dmesg)
        avec la commande "dmesg" pour voir le détail, on obtient un message plus explicite : "[ 4710.992883] rt61: Unknown symbol pci_module_init"

Dans la version 2010, ce problème semble géré car on y trouve le code suivant:

#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)
  return pci_register_driver(&rt61_driver);
#else
  return pci_module_init(&rt61_driver);
#endif

3 - Installer le module

Préparer le dossier de configuration du module
sudo mkdir -p /etc/Wireless/RT61STA/
sudo cp *.bin /etc/Wireless/RT61STA/
sudo cp rt61sta.dat /etc/Wireless/RT61STA/
Installer le module
sudo cp rt61.ko /lib/modules/`uname -r`/kernel/drivers/net/
sudo depmod
Configurer le module

Cette étape est importante. Vous devez définir “à la main” les paramètre de votre réseau sans fil en éditant le fichier de configuration rt61sta.dat.

gksudo gedit /etc/Wireless/RT61STA/rt61sta.dat

Modifiez-le en vous aidant du fichier readme que vous pouvez consulter de la façon suivante:

gedit readme

Enregistrez, puis fermez l'éditeur de texte.

Retirez la version préinstallée du module
sudo modprobe --remove rt61pci
Charger le module
sudo modprobe rt61
Chargez le périphérique
sudo ifconfig ra0 up
Vérifier que le périphérique ra0 a bien été chargé
iwconfig

4 - Rendre la connexion opérationnelle au démarrage du système

Ajouter l'ancien module a la liste noire

Ouvrez le fichier blacklist:

gksudo gedit /etc/modprobe.d/blacklist

et ajoutez-y la ligne suivante :

blacklist rt61pci
Ajouter le nouveau module au démarrage

Ouvrez le fichier modules:

gksudo gedit /etc/modules

et ajoutez-y la ligne suivante : - Liste numérotée

rt61
Créer un alias

Ouvrez le fichier aliases:

gksudo gedit /etc/modprobe.d/aliases

et ajoutez-y la ligne suivante :

alias ra0 rt61
Ajouter votre interface aux interfaces par défaut
gksudo gedit /etc/network/interfaces

Commentez ce qui ne sert a rien, et ajoutez:

auto ra0
iface ra0 inet static
address <your ip>
netmask 255.255.255.0
gateway <ip of your access point>

ou si vous voulez utiliser DHCP:

iface ra0 inet dhcp

tous les autres paramètres (essid, canal, mode, clé …) sont à définir dans /etc/Wireless/RT61STA/rt61sta.dat Ils semblent inefficaces ici.

5 - Ma carte ne démarre toujours pas!!

Il se peut que votre carte ne soit toujours pas prise en compte lors du reboot. Tappez alors:

sudo iwconfig

Si vous n'avez pas une réponse du genre…

ra0       RT61 Wireless  ESSID:"default"  
        Mode:Managed  Frequency:2.462 GHz  Access Point: 00:0E:2E:33:39:B2   
        Bit Rate=11 Mb/s   
        RTS thr:off   Fragment thr:off
        Link Quality=64/100  Signal level:-75 dBm  Noise level:-111 dBm
        Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
        Tx excessive retries:0  Invalid misc:0   Missed beacon:0

…c'est que votre carte ne s'est pas chargée lors du démarrage de votre machine.

Nous allons alors créer un script shell qui lancera la carte au démarrage du système:

Ouvrir un éditeur de texte en mode administrateur

 gksudo gedit

ou

 sudo mousepad

Tappez-y ce script:

#! /bin/bash
sudo ifconfig ra0 up
sudo dhclient ra0

Enregistrez ce fichier dans le dossier /etc/init.d avec l’extension *.sh et quittez l'éditeur de texte.

Exemple: /etc/init.d/rt61start.sh

Ensuite il faut rendre ce script exécutable avec chmod +x

sudo chmod +x /etc/init.d/rt61start.sh

Enfin, il faut créer un lien vers ce script dans le dossier /etc/rcS.d/.

Attention de bien nommer votre lien avec S99 en début du nom du lien. (Ceci définit la priorité d'exécution de votre script au démarrage)

sudo ln -s /etc/init.d/rt61start.sh /etc/rcS.d/S99rt61start

Redémarrez votre machine pour voir si votre carte est bien prise en compte.

En espérant que ça aide certaines personnes. Si vous voyez des erreurs dans cette méthode merci de les corriger.

6 - Finitions

Supprimez le dossier que l'on a créé au début de la procédure.

Peaufinez les réglages par la méthode graphique : menu Système/Administration/Réseau

C'est fini, tout devrait maintenant fonctionner :)

Sous Feisty Fawn 7.04

Le chipset étant géré nativement sous Feisty, l'opération est très simple :

Allez dans Système > Administration > Réseaux

Faites clique droit sur réseau sans fil, puis propriété.

Enlever le mode itinérant, et entrez votre SSID (nom du réseau) et votre Clé WEP.

Mettez enfin DHCP ou IP statique si c'est votre cas.

Enregistrez les modifications.

Redemarrez, puis pour démarrer votre wifi :

 sudo dhclient

C'est tout bête.

Pour une gestion du WPA

Certains chipset (sur portables MSI S670-S7 ou Linksys WMP54G v4.1 par exemple) sont reconnus comme étant RT2561/RT61, la carte wifi est bien reconnue mais ne fonctionne pas ou de manière très aléatoire, ni en mode WEP ni en mode WPA, avec l'installation par défaut de Festy 7.04.

Cette situation est sans doute provisoire, mais il faut modifier l'installation de base et établir à la main les réglages de votre chipset Wifi.

Etape 1. Avec Synaptic.

Aller dans le gestionnaire de paquet Synaptic, via le menu Système/administration.

1.1 Enlever complètement Network-manager et network-manager-gnome.

1.2 Désactivation de avahi (pas obligatoire):

Il faut traiter avahi comme cela à partir du terminal:

sudo /etc/init.d/avahi-daemon stop

puis

sudo update-rc.d -f avahi-daemon remove

ensuite édité le fichier /etc/default/avahi-daemon et changer le ainsi:

de

     AVAHI_DAEMON_START=1

en

     AVAHI_DAEMON_START=0

1.2.1 Pour désactiver avahi-autoipd (sans le désinstaller avec Synaptic) consiste à renommé les fichiers suivant:

/etc/network/if-down.d/avahi-autoipd

/etc/network/if-up.d/avahi-autoipd

/etc/dhcp3/dhclient-enter-hooks.d/avahi-autoipd

/etc/dhcp3/dhclient-exit-hooks.d/zzz_avahi-autoipd

Rajouté l'extension .bak

1.3 rebooter votre machine.

Ensuite essayez à nouveau d'établir une connexion Wifi en configurant une connexion via le gestionnaire graphique de réseau, menu Système/administration. Pour ce faire, il faudra utiliser obligatoirement une sécurité en mode WEP, donc pensez à configurer en ce sens votre point d’accès (“AP” cad “access point” en anglais) Wifi (Freebox, Livebox, routeur wifi,etc.).

Si cela fonctionne, vous pouvez passer au point 3, pour la configuration manuelle en mode WPA, le seul réellement sécurisé.

Si cela ne fonctionne pas, étape 2 qui suit.

Etape 2. Mettre à jour le pilote (plus nécessaire à partir du kernel 2.6.20-16)

Le pilote RT61 existe sous licence libre mais avec deux branches de développement, celle de RALINK et celle de SERIALMONKEY. Ubuntu Feisty 7.04 installe par défaut une version cvs du pilote serialmonkey (buggé).

Afin de faire simple, on met juste à jour la version installée du pilote.

Allez sur la page de téléchargement de Serialmonkey http://rt2x00.serialmonkey.com/wiki/index.php/Downloads et récupérez la dernière version cvs disponible, CVS hourly tarball: rt61-CVS.

Il faut décompresser l'archive, puis aller dans le sous dossier Module créé lors de l'extraction de l'archive et lancer à partir du terminal la commande make all sans la faire précéder de sudo.

  #make all

Le nouveau pilote est ainsi créé.

Il faut l'installer à la place de l'ancien. Préalablement à cela il faut désactiver provisoirement la carte Wifi si elle est active. Ensuite il faut la réactiver. Tout ceci se traduit par les commandes suivantes :

   #sudo ifdown [nom de l'interface cad ra0 ou ra1]   
   #sudo modprobe -r rt61
   #sudo make install
   #sudo cp ./*.bin /lib/firmware
   #sudo modprobe rt61
  

Il est possible que le nom de votre interface change lors de la compilation du pilote. Pour savoir le nom de votre interface il faut taper dans le terminal la commande iwconfig. Dans la 1er colonne du retour de la commande en face de RT61 WIRELESS, vous avez le nom de l'interface.

Etape 3. Paramétrage du wifi

Il faut configurer le fichier /etc/network/interfaces.

L'éditer en mode root avec la commande sudo et l'éditeur de texte que vous maitrisez.

Voir sur le wiki pour plus de détails. wifi

Un exemple de fichier d'interfaces

  auto lo
  iface lo inet loopback
  
  #auto eth0
  iface eth0 inet dhcp
      
  # Configuration pour Feisty Fawn en ip dynamique
  auto ra0
  #Pour Feisty Fawn en ip static decommenter les 4 lignes suivantes
  #iface ra0 inet static
  #address 192.168.31.31
  #netmask 255.255.255.0
  #gateway 192.168.31.254
  # Pour Feisty Fawn en ip static commenter la ligne suivante
  iface ra0 inet dhcp
  pre-up ifconfig ra0 up
  pre-up iwconfig ra0 mode managed
  pre-up iwpriv ra0 set Channel auto
  pre-up iwconfig ra0 essid "mon ssid"
  pre-up iwpriv ra0 set AuthMode=WPAPSK
  pre-up iwpriv ra0 set EncrypType=TKIP
  pre-up iwpriv ra0 set WPAPSK="Ma_cle_WPA_Ultra_Secrete_que_y'a_que_moi_qui_sais"
  pre-up iwpriv ra0 set TxRate=0
  

Là enfin vous pouvez réactiver votre carte avec la commande en terminal :

#sudo ifup [nom de l'interface]

Si vous voulez utiliser la sécurité WPA en Wifi, ce qui est très recommandé, compte tenu des faiblesses du mode WEP, il ne faut pas configurer votre interface Wifi à partir du gestionnaire de réseau du menu Système/administrateur d'Ubuntu (configuration graphique).

Pour l'encryptage WPA2 (meilleur que WPA) il faut utiliser/remplacer dans l'exemple précédent

  pre-up iwpriv ra0 set AuthMode=WPA2PSK
  pre-up iwpriv ra0 set EncrypType=AES

Et si malgré tout cela cela ne fonctionne pas, allez faire un tour sur la page du wiki qui parles des pannes Wifi.

Pensez aussi à désactiver l'éventuel firewall (Firestarter ou script Iptable, à vérifier que votre AP ne fait pas de restriction sur l'adresse MAC ou sur l'adresse IP).

Vous pouvez vous retrouver toutefois et malgré tout avec une connexion qui ne fonctionne pas. Il existe un autre pilote, celui de RALINK (voir cette page du Wifi plus haut) et un utilitaire de configuration graphique avancé, RUTIL à compiler soi-même. Mais cela peut ne pas fonctionner néanmoins. [explications sur RUTIL à faire par un spécialiste de la chose…sur une page à part ?]

Sous Dapper Drake 6.06 LTS

Automatiquement

Attention

  1. Ouvrir les dépôts Universe et Multiverse en suivant cette procédure : universe_et_multiverse.
  2. Extraire son contenu dans votre dossier personnel (/home/nom_utilisateur)
  3. Ouvrez votre console.
  4. Exécutez le script au moyen de la commande:
sudo sh testscript
  1. Patientez jusqu'à la fin du script une fenêtre va s'ouvrir, vous devrez y entrer le nom de votre réseau après SSID, WEP ou WPA après * EncrypType et enfin votre clé après Key1Str pour le WEP ou après WPAPSK pour le WPA. (nb j'ai mis 0 après channel, n'y précisez pas le numéro sur lequel votre réseau émet)
  2. Modifiez les droits d'écritures sur le fichier /etc/Wireless/RT61STA/rt61sta.dat (le fichier est créé en lecture seule…)(Express 15-07-2006)
sudo chown mon_login /etc/Wireless/RT61STA/rt61sta.dat
chmod +w /etc/Wireless/RT61STA/rt61sta.dat
  1. Ouvrez le fichier répertoriant vos interfaces réseaux en entrant la commande suivante dans votre console:
gksudo gedit /etc/network/interfaces
  1. Supprimer toutes les lignes mentionnants ra0 (ou ra1,2,3 etc.)
  2. Refermez le fichier en sauvegardant.
  3. Redémarrez votre ordinateur pour que l'interface puisse être correctement prise en charge.

Ajout du 16/12/2006 : Un how-to (en Anglais) dispo ici : http://ubuntuforums.org/showthread.php?t=132980 fonctionne bien. J'ai rencontré le “No DHCPOFFERS Received” sur Edgy, j'ai donc modifié le script de configuration ainsi :

#!/bin/sh
echo "Bringing up ra0"
# obtain an IP address from a DHCP server
dhclient ra0

# alternately, you can uncomment the following line to set a static IP address
# ifconfig ra0 {IP ADDRESS} up
# if you uncomment the line above, make sure to comment line #4

iwpriv ra0 set NetworkType=Infra
iwpriv ra0 set AuthMode=SHARED
iwpriv ra0 set EncrypType=WEP
iwpriv ra0 set DefaultKeyID=1
iwpriv ra0 set Key1=<votre clé>
iwpriv ra0 set SSID=<le nom de votre réseau>

dhclient ra0

Bientôt une traduction Française du How-to !

Commentaires

j'ai une carte linksys WMP54G v4.1 avec un chip rt2561. Je l'ai installé à partir des sources linux de Ralink. Ca fonctionne correctement. Je me suis fait une petite doc/mémo (c'est un peu brut de fonderie sans mise en forme, désolé) consultable à http://www.braque.tuxgeeks.net/wifi/ralink/ubuntu-with-ralink-rt61.txt