Ceci est une ancienne révision du document !
Comment installer le Dongle Wifi (clef USB) GWL-G122
Version: Ubuntu 6.06 Dapper Drake (kernel 2.6.15)
Rédaction initiale par kevredon
Attention : cet article est toujours en cours de rédaction et sera fréquemment modifié
Ce guide explique comment installer le pilote Wifi pour l'adaptateur USB Wifi D-Link DWL-G122 pour Dapper Drake.
Il existe une procédure spéciale pour Edgy Eft : http://forum.ubuntu-fr.org/viewtopic.php?id=74017
Révision
Avant tout il faut savoir qu'il existe plusieurs D-Link DWL-G122, elles sont classées en "révision" (c'est comme "version", mais pour le materiel). Pour savoir quelle révision vous avez il suffit de retourner le Dongle vous verrez Model No.: DWL-G122 H/W Ver.:XX, c'est le XX qui indique la révision. La révision permet de savoir quelle puce wifi est dans ce Dongle. D-Link ne fait essentiellement qu'empaqueter la puce et la fournir au public avec une belle interface graphique pour le pilote
- A1/A2 : Prisme GT, le premier modèle. Elle n'est pas très répandue
- B1 : Ralink 2570, la plus répandue et populaire, malheureusement depuis 06/2006 elle n'est plus en production et se fait rare
- C1 : Ralink 2571W, elle n'est pas supportée par Dapper
- D1 : Je doute de son existence, mais une photo est présentée sur le FAQ de D-Link. C'est peut-être la prochaine version
DWL-G122 Rev. A1/A2
Av
DWL-G122 Rev. B1
Avec Ubuntu 6.06 Dapper Drake pas besoin de faire quoi que ce soit, ce pilote (rt2570.ko) est déjà inclus, il se trouve juste là :
/lib/modules/$(uname -r)/kernel/drivers/usb/net/rt2570/rt2570.ko
Si vous êtes encore sous Breezy, allez voir cette doc. Si vous voulez avoir les sources pour faire autre chose, c'est sur le site de Ralink, actuellement (11/08/06) la version 2.0.7.0
DWL-G122 Rev. C1
Il faut télécharger les sources du pilote puis les compiler avec le noyau courant (uname -a).
Afin de pouvoir compiler, il est nécessaire d'avoir installé les paquets suivants :
- build-essential
- tofrodos
- linux-headers-686 # à ajuster à votre architecture
les sources du pilote sont dispos à http://www.ralinktech.com.tw/data/RT73_Linux_STA_Drv1.0.3.6.tar.gz
Dernière version : http://www.ralinktech.com.tw/data/RT73_Linux_STA_Drv1.0.4.0.tar.gz - Plus besoin d'éditer le fichier Modules/rtmp-def.h
if faut ajouter au fichier Modules/rtmp-def.h les identifiant du dongle tels que trouvés avec "lsusb" (ID 07d1:3c03 D-Link System). La section recherchée se trouve en fin de fichier ou il faut ajouter :
{USB_DEVICE(0x07d1,0x3c03)}, /* D-Link System */ \
Comme nous travaillons avec un noyau 2.6 il faudra utiliser le makefile ad-hoc:
sudo cp -p Makefile Makefile.20061205 sudo cp Makefile.6 Makefile sudo chmod +w * sudo dos2unix * sudo ./Configure # pointer vers /usr/src/linux-headers-`uname -r` make all sudo cp -v rt73.ko /lib/modules/`uname -r`/kernel/drivers/usb/net/ sudo mkdir /etc/Wireless sudo mkdir /etc/Wireless/RT73STA sudo cp rt73.bin /etc/Wireless/RT73STA/ sudo cp rt73sta.dat /etc/Wireless/RT73STA/ depmod
il reste à éditer /etc/network/interfaces pour avoir les bonnes specs. L'astuce semble être dans la ligne pre-up…
Pour l'éditer:
gksudo gedit /etc/network/interfaces
iface rausb0 inet dhcp pre-up ifconfig rausb0 up wireless_mode managed wireless_essid monessid wireless_key s:macle
Et voilà, j'écris cette conclusion en passant par le lien wifi crypté
Attention: déconnecter le dongle à chaud gèle la machine… visiblement le pilote n'est pas encore très stable.
Dongle non détecté
En théorie si vous branchez votre Dongle Wifi vous vous attendez à trouver une interface réseau "rausb0", mais rien ne se passe. Si vous regardez le log
$ tail -f /var/log/messages
vous ne verrez que
Aug 9 21:12:57 localhost kernel: [17206602.236000] usb 4-5: new high speed USB device using <code>ehci_hcd and address 6
Le Dongle Wifi n'est pas reconnu car le système n'a pas trouvé le pilote correspondant, et ce howto sert à l'installer. Plusieurs solutions sont proposées, à vous de choisir (seule la Ralink a été écrite pour l'instant).
Pilote D-Link
Pas besoin d'essayer, D-Link ne fournit que les pilotes Linux de la Rev. B1 (CD et site Web) : le RT25USB. Celui-ci ne contient que rt2500.ko et rt2570.ko, donc pas ce qu'on a besoin.
J'ai essaye d'utiliser le pilote rt2750.ko. Pour ce faire il a juste fallu mettre l'id USB (voir plus bas) dans la source du pilote et de le recompiler. Et bien le pilote prend bien le Dongle en charge, mais pas moyen de faire fonctionner le wifi. Le comportement est aléatoire et retourne souvent des erreurs quand on essaye de le configurer, s'il ne freeze pas le PC. J'ai eu de la chance que ça n'ait pas grillé la puce cette fois. Conclusion : À ne pas faire
Note : (par K11-sogood) (ne pas hésiter à déplacer ou effacer)
La carte "WL-167G usb2.0 WLAN adapter" de marque ASUS peut avoir deux puces différentes, l'une fonctionnant parfaitement et sans manipulation sous Edgy Eft, l'autre fonctionnant avec le pilote rt73 et qu'il m'est impossible de faire fonctionner malgré l'installation du pilote.
Pour distinguer les puces (Je ne sais pas les distinguer sur l'emballage), taper 'lsusb', le tableau suivant indiquant le pilote :
0B05 1706 rt25USB 0B05 1707 rt25USB 0B05 1723 rt73 0B05 1724 rt73
Pilote Ralink
Le pilote de la puce Ralink se trouve sur le site de Ralink il s'agit de la puce indiquée RT2571W, et donc du Driver RT73 Ce pilote ne fonctionne pas complètement (voir fin de cette partie). De plus, les modes "monitor" et "injection" ne sont pas (encore ?) supporté, c'est donc mort pour airodump et aircrack (la Rev. B1 les supporte).
Pré-requis
Avant tout il vous faut un certain nombre de paquets, et si vous êtes en train de lire ce tuto sur internet avec Ubuntu, c'est que vous avez une autre connexion et que Synaptic s'en chargera. Sinon, pas de chance, il faut les télécharger de la manière dont vous voulez et les installer à la main (c'est des .deb en général, donc sudo dpkg -i paquet.deb suffira)
- make
- linux-image-386
- linux-headers-386
- libc6
- sysutils
- linux-source-2.6.12 (dans le cas de Dapper)
- gcc-3.4-base
- cpp-3.4
- gcc-3.4
et le pilote Ralink
Compilation
la procédure suivante est inspirée du README du pilote et des forums de Ubuntu, Ralink et serialmonkey
extraire le fichier :
$ tar xzf RT73_Linux_STA_Drv1.0.3.6.tar.gz $ cd RT73_Linux_STA_Drv1.0.3.6/Module/ $ chmod 666 * $ chmod 755 Configure
il arrive qu'il affiche ceci, ce n'est pas une erreur très grave, on l'ignorera
tar: RT73_Linux_STA_Drv1.0.3.6: vieux estampile de date 1970-01-01 01:00:00 peu plausible
on configure
$ ./Configure
donnez le chemin vers le code source de Linux : /usr/src/linux-source-2.6.15 ensuite il faut éditer rtmp_dev.h avec votre éditeur de texte préféré et ajouter l'information concernant le Dongle
$ nano rtmp_def.h
ligne à ajouter :
{USB_DEVICE(0x07d1,0x3c03)}, /* D-Link System */ \
juste avant
{USB_DEVICE(0,0)}} /* end marker */''
qui est tout à la fin du fichier. Cette manipulation permet de dire au pilote que si le périphérique USB a cet identifiant, alors c'est à lui de s'en occuper. l'identifiant est donné par la commande lsusb lorsque le Dongle est branché
$ lsusb Bus 004 Device 007: ID 07d1:3c03 D-Link System Bus 004 Device 001: ID 0000:0000 Bus 001 Device 001: ID 0000:0000
ensuite on passe tous les fichiers au format DOS en format UNIX
$ dos2unix *
reste à compiler (on utilise Makefile.6 plutôt de Makefile.4 car on a le noyau 2.6, et non 2.4) :
$ cp Makefile.6 Makefile $ make all
maintenant le pilote rt73.ko est compilé, mais avant de pouvoir l'utiliser il faut copier le firmware et le fichier de configuration
$ sudo mkdir /etc/Wireless $ sudo mkdir /etc/Wireless/RT73STA $ sudo cp rt73.bin /etc/Wireless/RT73STA/ $ sudo cp rt73sta.dat /etc/Wireless/RT73STA/
Installation
pour charger le pilote :
$ sudo insmod rt73.ko
pour vérifier s'il est chargé
$ lsmod | grep rt73 rt73 215424 0 usbcore 130692 5 rt73,hci_usb,ehci_hcd,uhci_hcd
ou
$ tail -f /var/log/messages ... Aug 10 12:53:00 localhost kernel: [17181363.312000] usbcore: registered new driver rt73
si le DWL-G122 est branché, alors "rausb0" doit exister à présent. Sinon il suffit de le brancher pour le faire apparaître. Pour être sûr que le pilote RT73 l'ai bien pris en compte vous devrez avoir un résultat similaire (lors du branchement)
$ tail -f /var/log/messages ... Aug 10 12:53:45 localhost kernel: [17181408.060000] usb 4-5: new high speed USB device using ehci_hcd and address 4 Aug 10 12:53:45 localhost kernel: [17181408.328000] idVendor = 0x7d1, idProduct = 0x3c03 Aug 10 12:53:45 localhost kernel: [17181408.864000] rt73 driver version - 1.0.3.6
Chargement automatique
pour que le pilote RT73 se charge automatiquement au démarrage d'Ubuntu il suffit de le copier dans le dossier approprié
$ sudo mkdir /lib/modules/$(uname -r)/kernel/drivers/usb/net/rt73 $ sudo cp rt73.ko /lib/modules/$(uname -r)/kernel/drivers/usb/net/rt73/ $ sudo depmod
Je ne sais pas si le pilote sera pris en compte en changer de noyau, à confirmer
Indications
Ce pilote (versions 1.0.3.6) est encore très instable. Il suffit de faire
$ ifconfig rausb0 down $ ifconfig rausb0 up
pour freezer votre ordinateur.
De même, vous ne pourrez pas changer le ESSID ou mode comme vous en avez l'habitude, il faudra d'abord mettre la clef (iwconfig rausb0 enc XXX) et ensuite donner le ESSID (iwconfig rausb0 essid XXX). Il essayera de se connecter alors et passera tout seule en mode "Managed" (Infrastructure). Par contre même de cette manière je n'ai pas réussi à obtenir une adresse DHCP de mon routeur (dhclient rausb0 n'obtient aucune réponse).
Si vous essayez de configurer votre réseau grâce à Système⇒Administration⇒Réseau, il y a de fortes chances que le PC freeze (du moins ça me le fait à chaque fois)
J'ai pas encore essayé le ad-hoc.
La manière la plus conseillée par Ralink de configurer ce Dongle c'est d'éditer son fichier de configuration .dat
$ sudo nano /etc/Wireless/RT73STA/rt73sta.dat
et de débrancher et rebrancher le Dongle.
pour que tout marche j'ai modifié /etc/network/interfaces
sudo nano /etc/network/interfaces
en ajoutant ceci
auto rausb0 iface rausb0 inet dhcp
a la fin du fichier
mon fichier rt73sta.dat pour une connexion wifi dhcp WPA-PSK
[Default] SSID=nom du réseau NetworkType=Infra AuthMode=WPAPSK EncrypType=TKIP WPAPSK=clef WPA
et pour le cas d'une connexion wifi en mode WEP (par exemple avec le FAI Alice et le modem Sagem 3302)
[Default] SSID=nom du réseau NetworkType=Infra AuthMode=SHARED EncrypType=WEP Key1Type=0 Key1Str=< votre clé WEP : 26 caractères en hexa >
pour avoir une adresse ip j'ai dû rajouter à mon routeur un D-Link DI-524 dans Home>DHCP>Static DHCP
Enabled
ip address > 192.168.XX.XXX (mettre l'adresse que vous voulez pour votre dongle wifi)
MAC Address > 00-XX-XX-XX-XX-XX (mettre l'adresse MAC Id de votre dongle wifi) apply
et maintenant ça marche
Pilote Serialmonkey
Le mode "monitor" et "l'injection" étaient possibles avec la Rev. B1, et si vous voulez en bénéficier alors il vous faut le pilote rt2x00 de Serial Monkey, qui est en version Bêta, mais surtout qui requiert le noyau 2.6.17, ce qui n'est pas le cas de Dapper (2.6.15)
mais qui le sera probablement pour Ubuntu 6.10 Edgy Eft.
Je vais spécialement installer une Debian 3.1 pour le tester.
NDISWrapper
Je suis en train de le tester. A venir