Drivers Wifi Ralink rt73, injection et WPA sous Ubuntu

24 février 2008 – 11:33

Suite à une mise à jour critique du noyau de Linux (due à une faille de sécurité permettant de faire un local root), j’ai mis à jour mes machines, et donc installé la dernière mise à jour du noyau. Cela s’est passé sans problème sur mon ordinateur fixe, mais j’ai eu un petit soucis sur mon portable. En fait, ce portable possède une carte Wifi Ralink intégrée, et le driver de base fourni par Ubuntu est défectueux (on peut voir les réseaux Wifi, mais pas s’y connecter). J’avais donc utilisé les drivers fournis par Aircrack, qui permettent en plus de faire de l’injection de packets :) . Et comme il faut compiler ce module, une réinstallation du noyau nécessite de le recompiler une fois de plus. Ce n’est pas dur, mais il faut le savoir ! Après avoir expliqué comment (re)compiler le driver, je montrerai comment utiliser le cryptage WPA avec l’interface Wifi.

Compilation du driver

Voici donc la marche à suivre pour compiler et utiliser ces drivers. Tout d’abord, placez-vous en root dans le dossier /usr/src :

sudo -s
cd /usr/src

Assurez-vous d’avoir les outils pour la compilation (GCC et compagnie). Au cas où, installez le paquet build-essential :

aptitude install build-essential

Ensuite, téléchargez le driver, et décompressez-le :

wget http://homepages.tu-darmstadt.de/~p_larbig/wlan/rt73-k2wrlz-2.0.1.tar.bz2
tar jxvf rt73-k2wrlz-2.0.1.tar.bz2

Placez-vous dans le dossier du driver, compilez-le et installez-le :

cd rt73-k2wrlz-2.0.1/Module
make
make install

Si jamais vous obtenez un message d’erreur de ce type à la compilation (après « make ») :

!!! WARNING: Module file much too big (>1MB)
!!! Check your kernel settings or use 'strip'

Dans ce cas (et dans ce cas seulement), il faut utiliser l’utilitaire « strip » et recompiler le driver :

strip -S rt73.ko
make
make install

Une fois que c’est fait, il faut bannir (blacklister) les modules Wifi de base d’Ubuntu en ajoutant ceci à la fin du fichier /etc/modprobe.d/blacklist, si ce n’est pas déjà fait :

blacklist rt73usb
blacklist rt2570
blacklist rt2500usb
blacklist rt2x00lib

Pour être sur que l’ancien driver ne provoque pas de conflit, déchargeons tous les modules susceptibles de causer des problèmes :

modprobe -r rt73usb
modprobe -r rt2570
modprobe -r rt2500usb
modprobe -r rt2x00lib

Testons maintenant le driver ! Allumez votre interface (si vous disposez d’un bouton Wifi sur votre machine), chargez le driver et testez l’interface :

modprobe rt73
ifconfig rausb0 up

Normalement, ça marche ! Au cas où ça ne serait pas le cas, une possibilité est de prendre une version antérieure du driver sur la page http://homepages.tu-darmstadt.de/~p_larbig/wlan/ (allez dans la section « RaLink RT73 USB Enhanced Driver« ) et réeffectuez les étapes précédentes (en adaptant le nom de l’archive).

Utiliser le WPA

Pour ceux qui sont toujours connectés en WEP, permettez-moi de vous rappeler que cette méthode d’encryption est depuis longtemps dépassée car trop facilement crackable ! Avec Aircrack et quelques connaissances, il faut environ 30min pour cracker une clé, et avec la dernière version (et un peut de chance) on peut même atteindre quelques minutes seulement. Si j’ai le temps, je montrerai dans un prochain billet comment utiliser Aircrack pour casser une clé WEP. Mais en attendant, passez donc au WPA !

Pour activer le WPA sur l’interface, ce n’est pas bien compliqué. Tout se passe dans le fichier /etc/network/interfaces. Il faut que vous ajoutiez des lignes de configuration basées sur ce modèle :

auto rausb0
iface rausb0 inet dhcp
        pre-up ifconfig rausb0 up  # a enlever si ca marche pas
        pre-up iwconfig rausb0 essid Livebox-XXXX  # le nom du réseau
        pre-up iwconfig rausb0 mode managed
        pre-up iwpriv rausb0 set AuthMode=WPAPSK
        pre-up iwpriv rausb0 set EncrypType=TKIP
        pre-up iwpriv rausb0 set WPAPSK="XXXXXXXXXXXXXXXXXXXXXXXXXX" # la clé WPA

Cette configuration est celle que j’utilise pour me connecter sur ma livebox en WPA. Adaptez-la si besoin. Et assurez-vous que le WPA est activé sur la borne… Attention toutefois pour les Livebox Inventel : il faut absolument prendre l’option « WPA seulement » et pas « WEP et WPA » dans le menu de configuration, sinon cela ne marche pas. Si votre borne Wifi nécessite l’appui sur une touche pour permettre l’association Wifi de nouveaux périphériques, appuyez dessus sinon vous ne pourrez pas vous connecter (c’est le cas pour les Livebox)

Ensuite, redémarrez les interfaces réseau :

/etc/init.d/networking restart

Et si tout va bien, vous devriez obtenir une adresse IP et vous serez alors connectés ! Si jamais cela ne marche pas, c’est probablement du à une erreur dans la clé, ou bien à un conflit avec une autre interface. En effet, n’essayez pas de vous connecter à la fois en filaire et en Wifi, car au niveau des adresses IP attribuées par le DHCP, il risque d’y avoir des problèmes (elles seront toutes les deux dans le même réseau). Essayez de désactiver votre interface réseau en tapant :

ifconfig eth0 down

Assurez-vous également qu’il n’y a pas de ligne du type « auto eth0″ dans le fichier /etc/network/interfaces, et redémarrez une nouvelle fois les interfaces.

Si vous obtenez un message du style

DHCPACK from 192.168.1.1
bound to 192.168.1.161 -- renewal in 32485 seconds.

alors vous êtes connectés !

Attention, le module installé ne fonctionnera pas avec les outils graphiques du style NetworkManager. Enfin, n’oubliez pas qu’à chaque mise à jour de noyau, il faudra le recompiler (refaire un « make » et « make install » dans le dossier des sources du driver).

Conclusion

J’espère que ce billet vous aura été utile, car trouver toute cette procédure m’aura demandé un certain temps de recherche. Voici quelques pages qui m’ont pas mal servi :

  1. 9 réponses à “Drivers Wifi Ralink rt73, injection et WPA sous Ubuntu”

  2. Salut,

    As-tu levé un rapport de bug à ce sujet ?

    « - ».

    Par "-" le 28 février 2008

  3. A vrai dire, j’avais trouvé cette méthode l’été dernier (avant Gutsy) et j’ai retrouvé les sources du driver que j’avais téléchargé à ce moment là, donc je me suis contenté de les mettre à jour et de recompiler.

    Je n’ai pas posté de rapport de bug, car il me semblait avoir vu lors de mes recherches que le bug était déjà connu. Par contre c’est vrai que sur la doc d’Ubuntu, c’est carrément pas clair et ils proposent encore d’autres méthodes (dont une utilisant un driver serialmonkey). Je sais pas si depuis Gutsy ça c’est amélioré, et étant donné qu’il s’agit d’une carte interne à mon laptop, je peux pas faire le test sur un autre ordi avec une Gutsy fraîche. En plus je n’utilise le Wifi que quand je suis en vacances chez mes parents car à l’INSA je ne peux pas faire de tests…

    Par Emilien Girault le 28 février 2008

  4. as-tu essayé avec un dongle DWL-122 en revision 3 ?

    Par saelyx le 10 mars 2008

  5. Euh non, vu que je n’en ai pas :)

    Par Emilien Girault le 11 mars 2008

  6. bonjour,

    j’ai suivit la procedure car je dispose d’un dongle D-link DWL-G122 ver.C1 F/W ver. : 3.10
    que je souhaite utiliser avec aircrack

    tout c’est bien passer et quand je fait ifconfig, j’ai bien une ligne avec WLAN0, cependant ma cle ne voit plus les resaux ( comme si y avait pas de signal)

    auriez-vous une solution?? je suis debutant sous unbuntu

    cordialement,

    Par dje007 le 20 août 2008

  7. Etes-vous sur d’avoir bien activé le dongle ? Et surtout que ce dongle est bien supporté par ce driver ? Car pour mon article je me suis basé sur ma carte intégrée à mon portable, qui est certes détectée comme dongle USB mais qui est bien interne au laptop. Je vous conseille d’aller sur le site de madwifi et de vérifier la compatibilité de votre carte : http://madwifi.org/wiki/Compatibility
    Sinon, le site hébergeant les drivers que je cite dans l’article, ou même celui d’Aircrack devrait vous aider. Bonne chance !

    Par Emilien Girault le 22 août 2008

  8. bonjour,

    merci pour cette reponse rapide

    je suis aller voir sur le site mais mon dongle D-Link DWL-122 H/W ver.:C1 F/W Ver.:3.10 ni figure pas…

    pourtant avec votre methode, le mode monitor est accessible !

    a l’installation des drivers serial monkey quand je fais : sudo mkdir /lib/modules/$(uname -r)/extra

    puis

    sudo cp rt73.ko /lib/modules/$(uname -r)/extra/rt73.ko

    la console me dit impossible de creer le fichier car le fichier existe deja serait-ce le probleme?

    d’avance merci et bonne continuation !!

    Par dje007 le 26 août 2008

  9. Si le fichier existe déjà, soit il s’agit déjà de la bonne version, dans ce cas là rien à faire, sinon la version est obsolète, dans ce cas supprimez le fichier cible et relancez la commande de copie.

    Si le mode monitor marche et que vous captez bien des données, airodump & compagnie devraient marcher. Maisvous ne pouvez pas simultanément être en mode monitor et être connecté à un réseau Wifi (mode managed) car la carte ne le supporte pas. Si vous êtes en mode monitor, c’est normal que vous soyez considéré comme « déconnecté ». Pour vous connecter à un réseau, passez en mode managed en tapant : sudo iwconfig rausb0 (ou wlan0) mode managed

    Si ca ne marche toujours pas, désactivez l’interface (sudo ifconfig rausb0 down) puis le module (sudo modprobe -r rt73), débranchez le dongle et réactivez tout (sudo modprobe rt73 && sudo ifconfig rausb0 up).

    De plus, je tiens à signaler que j’ai publié un article plus récent sur le sujet donc essayez de jongler entre les deux si ça ne marche pas très bien. Je sais, ce genre de problèmes est assez pénible car une même solution ne marche pas toujours sur toutes les machines…

    Par Emilien Girault le 26 août 2008

  1. 1 Trackback(s)

  2. 16 juin 2008: Drivers Wifi RT73 et Ubuntu Hardy, le retour | Blog d'Emilien Girault

Désolé, les commentaires sont fermés pour le moment.