Clé USB wifi « Hercules HWNU-300 » sous Ubuntu

Après avoir testé en vain NdisWrapper et différents pilotes (drivers pour anglophiles), j’ai contacté le constructeur Hercules et il s’est avéré que le chipset de cette carte était bien un Ralink 2870… Ralink publie des pilotes officiels sous GPL pour ses cartes sans-fils sous GNU/Linux.
La démarche qui va suivre fonctionne autant pour le 32 bits que pour 64.
Démarche

  • Attention, comme toute compilation, cette opération est relativement risquée . *
    Pour faire fonctionner cette carte, il vous faut donc les sources du (prenez donc "RT2870USB", actuellement la version 2.2.0.0).
    Compiler à ce stade ne servirait pas à grand chose pour utiliser cette carte, puisque le pilote ne la prend pas encore en compte. On va donc appliquer un patch, permettant d’une part d’activer le support de cette carte et d’autre part d’activer le support du WPA. Vous pouvez télécharger ce patch en annexe à ce billet (pour la version 2.2.0.0).

    Attention : si vous utilisez une distribution se basant sur le noyau 2.6.31 (ex.: Ubuntu 9.10 ), suivez la seconde procédure.
    Note 1 : pour connaître la version de votre noyau, entrez dans un terminal :  »uname -r »
    Note 2 : si vous avez installé Ubuntu par Wubi (Ubuntu comme un programme Windows), cette démarche ne fonctionnera pas.
    Note 3 : il existe une version mini de cette carte, la HWNUm 300. Cette dernière utilise un autre chipset, et donc un autre pilote (Realtek RTL8191S). Ne suivez pas ce tutoriel.
    Note 4 : lorsque vous devrez tapez votre mot de passe root, il est normal qu’il n’apparaîsse pas (pour la sécurité). Appuyez juste sur enter une fois le mot de passe entré.

    Première procédure : votre noyau est plus ancien que le 2.6.31

    1. Placez l’archive du pilote, ainsi que le patch dans votre dossier personnel. Décompressez l’archive (Clic droit – Extraire ici) et copiez dans le dossier décompressé le patch (il se peut qu’il y ait une deuxième archive à décompresser).

    2. Ouvrez un terminal (faire ALT-F2 puis taper "xterm" ou choisissez celui de votre choix)

    3. Dans ce terminal, copiez :
    cd RT2870_Linux_STA
    patch -p0 < hwnu300.patch sudo make && sudo make install
    4. Installez "patch" si nécessaire (si vous n’avez pas d’accès à internet sur votre machine, le .deb pour Ubuntu se trouve sur le live CD dans le dossier pool/main/p/patch/ * ). La compilation se fait en root car elle nécessite la création d’un dossier (inutile ?) à la racine.

    5. Chargez ce pilote :
    sudo modprobe rt2870sta

    6. Vous pouvez maintenant configurer votre carte par votre gestionnaire de connexion favori et aux petits oignons via le fichier /etc/Wireless/RT2870STA/RT2870STA.dat

    Seconde procédure : votre noyau est le 2.6.31

    1. On va utiliser une version un peu plus ancienne du pilote (juste un rien) qui a déjà été patchée pour supporter la clé et le noyau. Téléchargez ici la version 2.1.2.0 du pilote.

    2. Copier cette archive dans votre dossier personnel, et décompressez-la là.

    3. Ouvrez un terminal (faire ALT-F2 puis taper "xterm" ou choisissez celui de votre choix) et copiez-y :
    cd 2009_0521_RT2870_Linux_STA_V2.1.2.0
    sudo make && sudo make install

    5. Chargez ce pilote :
    sudo modprobe rt2870sta

    6. Vous pouvez maintenant configurer votre carte par votre gestionnaire de connexion favori et aux petits oignons via le fichier /etc/Wireless/RT2870STA/RT2870STA.dat
    Conclusion

    Votre clef devrait être prise en charge par votre système d’exploitation, à chaque démarrage. En cas de mise à jour du noyau, n’oubliez pas de recompiler. En cas de problème lors des mises à jour, regardez si dans votre fichier /etc/network/interfaces ne manque pas une ligne auto ra0 .