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:dwl-g122 [Le 24/10/2007, 20:20] 80.58.205.48 |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>clé_usb wifi}} | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | ====== Comment installer le Dongle Wifi (clef USB) DWL-G122 ====== | ||
- | Version: Ubuntu 7.04 Feisty Fawn | ||
- | |||
- | |||
- | Ce guide explique comment installer le pilote Wifi pour l'adaptateur USB Wifi **D-Link DWL-G122**. | ||
- | |||
- | 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 est suportté par Festy Fawn | ||
- | * 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 ===== | ||
- | |||
- | Chipset : Prisme GT | ||
- | Rien à dire, son pilote est libre est fonctionne très bien. | ||
- | |||
- | ===== DWL-G122 Rev. B1 ===== | ||
- | |||
- | Chipset : Ralink 257O | ||
- | À partir de Ubuntu 6.06 Dapper Drake pas besoin de faire quoi que ce soit, ce pilote est déjà inclus. C'est le driver rt2x00 (rt2570.ko) de serialmonkey qui s'en charge. Elle supporte le mode monitor et infection. | ||
- | Si vous êtes encore sous Breezy, allez voir [[rt2570|cette doc]]. | ||
- | Si vous voulez avoir les sources pour faire autre chose, c'est sur le site de [[http://www.ralinktech.com/supp-1.htm|Ralink]]. | ||
- | |||
- | |||
- | |||
- | |||
- | ===== DWL-G122 Rev. C1 ===== | ||
- | |||
- | Chipset : Ralink 2571W | ||
- | Supporté depuis Festy Fawn par le driver rt2x00. | ||
- | |||
- | Après vérification, l'adaptateur sans fil DWL-G122 rev.C1 est bien basé sur le chipset RT73 et son pilote est RT2571W. | ||
- | [[http://www.macwifi.com/index.php/?2006/04/09/150-adaptateur-wi-fi-de-type-usb-20-d-link-dwl-g122-rev-c1|Lien externe]] | ||
- | |||
- | Pour les version précendantes, soit il faut installé le driver de serialmonkey (recommandé) soit compiler celui de Ralink. | ||
- | |||
- | **Fonctionne sous Gusty Gibbon (Ubuntu 7.10)** | ||
- | |||
- | ==== 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 | ||
- | <code> | ||
- | $ tail -f /var/log/messages | ||
- | </code> | ||
- | vous ne verrez que | ||
- | <code> | ||
- | Aug 9 21:12:57 localhost kernel: [17206602.236000] usb 4-5: new high speed USB device using <code>ehci_hcd and address 6 | ||
- | </code> | ||
- | 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. | ||
- | |||
- | |||
- | ==== 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** | ||
- | |||
- | ==== Pilote Ralink ==== | ||
- | |||
- | 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é ;-) | ||
- | |||
- | Passer par ifconfig n'est pas recommandé (du moins pour cette versio du driver) car il freeze le PC. | ||
- | |||
- | **Attention**: déconnecter le dongle à chaud //freeze// la machine... visiblement le pilote n'est pas encore très stable. | ||
- | |||
- | ==== Pilote Ralink (ancien) ==== | ||
- | |||
- | Le pilote de la puce Ralink se trouve sur le site de [[http://www.ralinktech.com/supp-1.htm|Ralink]] il s'agit de la puce indiquée //RT2571W//, et donc du [[http://www.ralinktech.com.tw/data/RT73_Linux_STA_Drv1.0.3.6.tar.gz|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 | ||
- | * [[http://www.ralinktech.com.tw/data/RT73_Linux_STA_Drv1.0.3.6.tar.gz|Driver RT73]] | ||
- | |||
- | === Compilation === | ||
- | |||
- | la procédure suivante est inspirée du README du pilote et des forums de Ubuntu, Ralink et serialmonkey | ||
- | |||
- | extraire le fichier : | ||
- | <code> | ||
- | $ 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 | ||
- | </code> | ||
- | il arrive qu'il affiche ceci, ce n'est pas une erreur très grave, on l'ignorera | ||
- | <code> | ||
- | tar: RT73_Linux_STA_Drv1.0.3.6: vieux estampile de date 1970-01-01 01:00:00 peu plausible | ||
- | </code> | ||
- | on configure | ||
- | <code> | ||
- | $ ./Configure | ||
- | </code> | ||
- | 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 | ||
- | <code> | ||
- | $ nano rtmp_def.h | ||
- | </code> | ||
- | ligne à ajouter : | ||
- | <code> | ||
- | {USB_DEVICE(0x07d1,0x3c03)}, /* D-Link System */ \ | ||
- | </code> | ||
- | juste avant | ||
- | <code> | ||
- | {USB_DEVICE(0,0)}} /* end marker */'' | ||
- | </code> | ||
- | 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é | ||
- | <code> | ||
- | $ 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 | ||
- | </code> | ||
- | ensuite on passe tous les fichiers au format DOS en format UNIX | ||
- | <code> | ||
- | $ dos2unix * | ||
- | </code> | ||
- | reste à compiler (on utilise Makefile.6 plutôt de Makefile.4 car on a le noyau 2.6, et non 2.4) : | ||
- | <code> | ||
- | $ cp Makefile.6 Makefile | ||
- | $ make all | ||
- | </code> | ||
- | maintenant le pilote rt73.ko est compilé, mais avant de pouvoir l'utiliser il faut copier le firmware et le fichier de configuration | ||
- | <code> | ||
- | $ sudo mkdir /etc/Wireless | ||
- | $ sudo mkdir /etc/Wireless/RT73STA | ||
- | $ sudo cp rt73.bin /etc/Wireless/RT73STA/ | ||
- | $ sudo cp rt73sta.dat /etc/Wireless/RT73STA/ | ||
- | </code> | ||
- | |||
- | === Installation === | ||
- | |||
- | pour charger le pilote : | ||
- | <code> | ||
- | $ sudo insmod rt73.ko | ||
- | </code> | ||
- | pour vérifier s'il est chargé | ||
- | <code> | ||
- | $ lsmod | grep rt73 | ||
- | rt73 215424 0 | ||
- | usbcore 130692 5 rt73,hci_usb,ehci_hcd,uhci_hcd | ||
- | </code> | ||
- | ou | ||
- | <code> | ||
- | $ tail -f /var/log/messages | ||
- | ... | ||
- | Aug 10 12:53:00 localhost kernel: [17181363.312000] usbcore: registered new driver rt73 | ||
- | </code> | ||
- | |||
- | 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) | ||
- | <code> | ||
- | $ 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 | ||
- | </code> | ||
- | |||
- | === Chargement automatique === | ||
- | |||
- | pour que le pilote RT73 se charge automatiquement au démarrage d'Ubuntu il suffit de le copier dans le dossier approprié | ||
- | <code> | ||
- | $ 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 | ||
- | </code> | ||
- | 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 | ||
- | <code> | ||
- | $ ifconfig rausb0 down | ||
- | $ ifconfig rausb0 up | ||
- | </code> | ||
- | 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 | ||
- | |||
- | La manière la plus conseillée par Ralink de configurer ce Dongle c'est d'éditer son fichier de configuration .dat | ||
- | <code> | ||
- | $ sudo nano /etc/Wireless/RT73STA/rt73sta.dat | ||
- | </code> | ||
- | et de débrancher et rebrancher le Dongle. | ||
- | |||
- | ** | ||
- | pour que tout marche** | ||
- | modifier /etc/network/interfaces | ||
- | <code>sudo nano /etc/network/interfaces</code> | ||
- | en ajoutant ceci<code>auto rausb0 | ||
- | iface rausb0 inet dhcp</code> a la fin du fichier | ||
- | |||
- | le fichier rt73sta.dat pour une connexion wifi dhcp WPA-PSK | ||
- | <code>[Default] | ||
- | SSID=nom du réseau | ||
- | NetworkType=Infra | ||
- | AuthMode=WPAPSK | ||
- | EncrypType=TKIP | ||
- | WPAPSK=clef WPA</code> | ||
- | |||
- | et pour le cas d'une connexion wifi en mode WEP (par exemple avec le FAI Alice et le modem Sagem 3302) | ||
- | |||
- | <code>[Default] | ||
- | SSID=nom du réseau | ||
- | NetworkType=Infra | ||
- | AuthMode=SHARED | ||
- | EncrypType=WEP | ||
- | Key1Type=0 | ||
- | Key1Str=<votre clé WEP></code> | ||
- | |||
- | |||
- | 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 ==== | ||
- | |||
- | [[http://rt2x00.serialmonkey.com/|Serial Monkey]]. Les mode monitor, injection et master ne semble pas être supportés. Sinon elle a l'air de bien fonctionner. | ||
- | |||
- | ==== NDISWrapper ==== | ||
- | |||
- | Pas testé. Suivre un autre tuto pour voir, et écrire içi ce qu'il en est | ||