Ceci est une ancienne révision du document !
Chipset wifi Ralink RT61
cartes concernées:
- msi PC54G3 PCI
- Linksys wmp54g v4.1 PCI
- D-Link DWA-510 PCI
- D-Link DWL-G510 rev. C2 PCI
- D-Link DWL-G630 rev. E2 v.5.0 PCMCIA
- SMC SMCWPCI-GM MIMO
- OvisLink EVO-W54PCIv2
- Hercules HWGPCMCIA-54G ; HWGPCMCIA-54-V2
- Hercules HWGPCI-54-V2
- Level One WNC-301 PCI Wireless
- Freebox WCB-G12F
- Edimax EW-7628LG
- Edimax EW-7128g
lspci | grep Network
veuillez compléter cette liste si vous voyez apparaitre
Network controller: RaLink RT2561/RT61
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 (fort ralentissements, voir coupures):
- installez le paquet linux-backports-modules-hardy-generic
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 internationnal d'ubuntu: http://www.ubuntuforums.org/showthread.php?t=296822&highlight=rt61
Voir aussi:
Pour commencer, ouvrez un terminal: menu applications/accessoires/terminal
1 - Télécharger le driver Ralink RT61
Créez un dossier temporaire (on le supprimera par la suite) et placez vous dedans:
mkdir rt61 cd rt61
Téléchargez-y la derniere version du driver
si pb, voir le site de ralink et ses drivers
wget http://www.ralinktech.com.tw/data/IS_Linux_STA_6x_D_1.1.1.0.tar.gz
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 driver précédemment téléchargé:
tar xvfz IS_Linux_STA_6x_D_1.1.1.0.tar.gz cd IS_Linux_STA_6x_D_1.1.1.0/Module/ make all
Patientez …
Attention: Ralink a sorti un nouveau driver. 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 "demsg" pour voir le détail, on obtient un message plus explicite : "[ 4710.992883] rt61: Unknown symbol pci_module_init"
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.
sudo 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:
sudo gedit /etc/modprobe.d/blacklist
et ajoutez-y la ligne suivante :
blacklist rt61pci
Ajouter le nouveau module au démarrage
Ouvrez le fichier modules:
sudo gedit /etc/modules
et ajoutez-y la ligne suivante : - Liste numérotée
rt61
Créer un alias
Ouvrez le fichier aliases:
sudo gedit /etc/modprobe.d/aliases
et ajoutez-y la ligne suivante :
alias ra0 rt61
Ajouter votre interface aux interfaces par défaut
sudo 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 "sudo"
sudo gedit
ou
sudo mousepad
Tappez-y ce script:
#! /bin/bash sudo ifconfig ra0 up sudo dhclient ra0
- sudo ifconfig ra0 up: se charge de monter la carte RT61
- sudo dhclient ra0: recherche le serveur DHCP pour configurer l'IP automatiquement
Enregistrez ce fichier dans le dossier /etc/init.d avec l'extention *.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 necessaire à 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
- Le script utilisé a été développé par Stone123 du forum US et peut contenir des bugs.
- Le script nécéssite une connexion internet! En effet celui-ci tente de télécharger les drivers sur le site du constructeur. Si le téléchargement échoue, le script continue et peut rendre votre installation instable.
- Ouvrir les dépôts Universe et Multiverse en suivant cette procédure : universe_et_multiverse.
- Téléchargez le script suivant : http://tenshu.nuxit.net/wp-content/uploads/2006/06/rt61.tar.gz
- Extraire son contenu dans votre dossier personnel (/home/nom_utilisateur)
- Ouvrez votre console.
- Exécutez le script au moyen de la commande:
sudo sh testscript
- 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)
- 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
- Ouvrez le fichier répertoriant vos interfaces réseaux en entrant la commande suivante dans votre console:
sudo gedit /etc/network/interfaces
- Supprimer toutes les lignes mentionnants ra0 (ou ra1,2,3 etc.)
- Refermez le fichier en sauvegardant.
- 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
- Testé le 15-07-2006 par Express et fonctionnant très bien avec une carte de type : MSI PC54G3
- Testé le 4-08-2006 par Foustala. Cela fonctionne pour ma carte MSI PC54G3. CEla ne sert à rien de préciser les informations (SSID WEP… ) sur le /etc/network/interfaces. PAr contre il faut absolument remplir le fichier de conf.
- une méthode alternative peut être de compiler les pilotes rt61*CVS provenant du site serialmonkey. Voir sur le forum
- Testé début 09/2006 sur SMC SMCWPCI-GM MIMO, j'ai ajouté un mount -a dans /etc/init.d/xrt61dapper pour que les partages NFS soit montés au démarrage.
- Testé le 10-10-2006 par WildKiller : Aucun Problème avec la carte de MSI PC45G3…
- 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
- Testé le 19-11-2006 Carte PCI 32 bits BELKIN Référence: F5D7000fr Fonctionnement correct.
- Attention à la version du driver désignée dans le script.
- Editer le script et comparer le lien "RT61_Linux_STA_Drv1.0.4.0.tar.gz" avec le dernier driver stable publié par Ralink (http://www.ralinktech.com/supp-1.htm) Dans mon cas, j'ai remplacé tous les liens "RT61_Linux_STA_Drv1.0.4.0.tar.gz" par "RT61_Linux_STA_Drv1.1.0.0.tar.gz"
- [Eikasia 15/01/07]non seulement la version du dernier driver stable a évolué mais l'url a aussi changé. Pour voir la méthode que j'ai utilisé (Dapper et MSI PC54G3) ainsi qu'obtenir le script modifié (chemin d'accès et version driver du script à jour) je vous invite à consulter ce post sur le forum http://forum.ubuntu-fr.org/viewtopic.php?id=88869
- Testé le 20-01-07 par Shenga avec une carte MSI PC54G3. Pas de problème, une page très utile et bien pour les débutants.
- Testé le 23/01/2007 methode pour edgy eft avec une carte pcmcia d-link dwl g630 R2 F5.0, qui ne passe pas avec ndiswrapper, et passe nickel avec cette methode (mot de passe wep à mettre en hexa, sinon ça ne fonctionne pas en ascii)
- Testé le 13/02/07. Méthode pour Edgy eft, fonctionne sur portable MSI M670-S1
- Testé le 22/02/07. Méthode pour Edgy eft, fonctionne avec carte Hercules Wireless G PCMCIA (merci beaucoup !)
- Testé le 25/02/07 par JayKenSth - Enfin ma D-Link DWL-G510 fonctionne ! Seulement avec les "iwpriv"… et pas sous KDE seulement sous gnome… merci ubunteros !!!
- Testé le 25/02/07 par Tong sur PC Portable MSI M670-S7, fonctionne. Par contre si le modem routeur est une Livebox, vérifier dans les configurations sans fil de celle-ci que soit coché Sécurité WEP seulement (par défaut sur une Livebox Pro est coché Sécurité WPA ou WEP). De plus, désactiver la mise en route automatique de la carte Ethernet (commenter la ligne auto eth1 dans le fichier /etc/network/interfaces).
- Testé le 24/03/07. Méthode pour Edgy eft, fonctionne avec la carte Hercules Wireless G PCI, sans soucis et avec WPA
- Testé le 30/03/2007 sous Edgy Eft avec une carte Comet Labs WN568 et chipset RaLink RT2561/RT61.
- Testé le 13 Avril 2007 sous Edgy Eft (Xubuntu) en ayant une carte Level One WNC-301, Ca marche!! Sauf que ma carte ne se lance pas automatiquement au démarrage. J'ai du faire un script à lancers pour que la carte soi reconnue et dectecte le DHCP:
- sudo ifconfig ra0 up
- sudo dhclient ra0
- Testé le 14/04/07. Sur un Omnibook XE3 avec Edgy eft, fonctionne avec la carte PCMCIA Freeboc WCB-G12F, a fonctionné du premier coup en suivant pas à pas le mode opératoire. Par contre plus reconnu après reboot … en cours de résolution ( 15/04/07)
- Testé le 23/04/2007 sur une conceptronic pcmcia c54rc sous Feisty et tout fonctionne impeccablement bien, sur un routeur sans aucun cryptage pour l'occasion.
- Testé le 24/04/07 sur un IBM ThinkPad T23 sous Dapper avec la carte Hercules HWGPCMCIA-54 V2. J'ai du modifier l'adresse qui figure au début du script d'Eikasia le 15/01/07 sur http://forum.ubuntu-fr.org/viewtopic.php?id=88869 Je l'ai remplacée dans le script par celle ci:"http://www.ralinktech.com.tw/data/RT61_Linux_STA_Drv1.1.0.0.tar.gz". Il faudra donc aussi changer "RT61_Linux_STA_Drv1.0.4.0"en "RT61_Linux_STA_Drv1.1.0.0" Et ensuite,ça roule, comme indiqué sur cette page.
- Testé du 15/03 au 28/04/07 avec une D-Link G510. Il me restait des soucis, une connexion qui ne se faisait pas toujours au boot, et très difficile (impossible…) à lancer d'autre fois. Solution trouvée sur http://forum.debian-fr.org/viewtopic.php?t=7482&sid=dda5b6c7db9ad16bacdc925c572d5765 Pour diagnostiquer le pb : voir si la manip "sudo /sbin/ifconfig ra0 down && sudo modprobe -r rt61 && sudo modprobe rt61 && sudo /sbin/ifconfig ra0 up && sudo dhclient ra0" fonctionne… Ensuite mettre tout ca dans un fichier lancé par "pre-up /usr/bin/toto" dans /etc/network/interfaces
- Testé le 12/08/2007 avec une MSI PC54G3 en WPA2 avec les drivers beta (serialmonkey) du 06/08/2007 sur un Festy à jour
- Testé le 01/10/2007 avec une carte D-Link G630 et Xubuntu feisty à jour. Installation du noyau Linux-386 pour regler un probleme de gel systeme. Aucun ajout ou bidouillage de pilote, je n'ai fais que parametrer le fichier /etc/networks/interfaces tel que decrit au dessus. Marche au poil en DHCP et cle WAP.
- Testé le 17/10/2007 sous Gutsy avec une Evo-54PCIv2. Marche très bien.
- Le 05/11/07; portable MSI M670-S1; aucun problèmes sous Feisty; connexion très aléatoire sous Gusty: j'ai du installer les pilotes CVS serialmonkey, enlever network-manager (et installer rutilt, mais pas obligatoire), fonctionne parfaitement maintenant.
- Testé le 26/12/2007 après des heures d'efforts et de parcourage du web pour une debian etch avec EVO-W54PCIV2, marche parfaitement, merci beaucoup..
- Testé le 14/02/2008 sous Gutsy avec une Ovislink Evo-W54PCIv2, marche parfaitement sans aucune manipulation supplémentaire.