Ceci est une ancienne révision du document !
RTL8187 Pilote wifi pour la puce Realtek 8187
Installation du pilote RTL8187 de Windows 98 avec ndiswrapper
ndiswrapper
si vous n'avez que la connexion wifi sinon vous vous retrouverez coincé sur Ubuntu sans possibilité de le faire (vu que vous allez déconnecter celle-ci)
Source du guide : http://ubuntuforums.org/showthread.php?t=493958&highlight=8187
Manipulation testée sous Ubuntu Lucid Lynx (10.04). La version 64-bits ne fonctionne pas.
Suppression et bannissement du pilote natif
Désinstaller le pilote natif :
sudo rmmod rtl8187
Modifier le fichier /etc/modprobe.d/blacklist.conf avec les droits d'administrateur :
sudo gedit /etc/modprobe.d/blacklist.conf
Et ajouter la ligne suivante (en fin de fichier par exemple) pour bannir le driver natif :
blacklist rtl8187
Installation de ndiswrapper
sudo apt-get install ndiswrapper-common ndiswrapper-utils-1.9
Téléchargement et installation du pilote
Maintenant que tout est configuré, il faut télécharger et installer le pilote realtek 8187
de Windows 98 :
http://www.majorgeeks.com/Realtek_RTL8187_USB_Wireless_LAN_ME2000XP_d5165.html
Placez-vous dans le dossier où vous l'avez téléchargé, dézippez-le et placez-vous dans le dossier RTL8187/WIN98/ :
unzip rtlsetup-8187(1221)(0412).zip cd RTL8187/WIN98/
Installez le pilote grâce à ndiswrapper
:
sudo ndiswrapper -i Netrtuw.inf sudo ndiswrapper -m sudo modprobe ndiswrapper
Ajout de ndiswrapper aux modules de démarrage du système
Modifiez le fichier suivant :
sudo gedit /etc/modules
Et ajoutez la ligne suivante :
ndiswrapper
Application des modifications
Votre pilote est maintenant installé, vous pouvez redémarrer votre ordinateur ou tout simplement exécuter la commande suivante :
sudo /etc/init.d/networking restart
À partir de Jaunty
Le pilote de cette carte supporte désormais le WPA/WPA2 ainsi que l'injection. Néanmoins, si vous voulez utiliser le plein potentiel d'émission, lisez ci-dessous.
À partir d'Intrepid
Profiter au mieux de sa carte
Bien que la carte soit supportée par défaut, le pilote standard n'est pas excellent (voir ci-dessous). Notamment cette carte possède un mode "highpower" qui vous permet de gonfler sa puissance d'émission et de profiter vraiment de sa pleine puissance. Attention cependant, en France ce mode n'est pas autorisé, la puissance d'émission étant limitée à 100 mW.
Donc pour bénéficier de ceci, avec en prime les possibilités de surveillance, injection… et un pilote (un peu) plus stable, il convient d'utiliser le pilote modifié par Aircrack. La référence est leur wiki : http://aircrack-ng.org/doku.php?id=r8187
À noter que la carte finit par cesser de fonctionner au bout d'un moment (plusieurs heures) donc le principe décrit au chapitre suivant pour couper et relancer sa connexion reste valable aussi avec ce pilote recompilé.
Comme avec Intrepid nous sommes dans un niveau de noyau supérieur à 2.6.27, il faut dérouler les commandes en tête de la page en appliquant les deux paragraphes situés avant « Limitations ».
En clair, la procédure à appliquer est donc :
wget http://dl.aircrack-ng.org/drivers/rtl8187_linux_26.1010.zip unzip rtl8187_linux_26.1010.zip cd rtl8187_linux_26.1010.0622.2006/ wget http://patches.aircrack-ng.org/rtl8187_2.6.27.patch tar xzf drv.tar.gz tar xzf stack.tar.gz patch -Np1 -i rtl8187_2.6.27.patch
Modifiez le fichier r8187.h
(find r8187.h
si vous ne le trouvez pas) sinon il se trouve dans ./beta-8187/r8187.h
Remplacez les lignes 46 et 47 qui contiennent :
#include <asm/io.h> #include <asm/semaphore.h>
par ce code :
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)) #include <asm/io.h> #include <asm/semaphore.h> #else #include <linux/io.h> #include <linux/semaphore.h> #endif
puis on termine par :
make sudo make install
Vous n'oubliez bien sûr pas de bannir les pilotes non compatibles comme indiqué au début de la page du Wiki d'Aircrack (Voir lien http://www.aircrack-ng.org/doku.php?id=r8187&DokuWiki=7ab1d0f96790c6c3220dee4ac0a55591#blacklisting_mac80211_driver_version).
Redémarrez votre PC, connectez votre carte et maintenant vous pouvez faire :
Si vous voulez augmenter la puissance de votre signal WIFI au MAXIMUM entrez :
sudo iwpriv wlan0 highpower 1 sudo iwconfig wlan0 txpower 35
Vous pourrez aussi désormais utiliser les outils airmon-ng
, aireplay-ng
,… sur votre distribution favorite grâce à ce pilote ainsi modifié.
Remarque : la manipulation d'installation est à refaire à chaque changement de noyau. (Sauf si quelqu'un complète le tuto en expliquant comment utiliser DKMS !)
Utiliser les pilotes existants
Les pilotes sont installés de base, mais sont expérimentaux ! Pour les mettre à jour, installer apt://linux-backports-modules-intrepid-generic.
Par contre, les pilotes étant expérimentaux, il peut arriver qu'Internet s'arrête sans raison et qu'on ne puisse plus se reconnecter.
Pour remédier à cela, j'ai écrit un petit script qui permet de relancer Internet (décharger les modules et les recharger). Pour le mettre en place, copier ce code dans les fichiers (qui doit être créé) /usr/bin/reloadNetwork
#! /bin/bash ( modprobe -r rtl8187 echo "15" ; sleep 1 echo "30" ; sleep 1 echo "# déchargement du module rtl8187"; sleep 1 modprobe rtl8187 echo "# chargement du module rtl8187"; sleep 1 echo "50" ; sleep 1 echo "70" ; sleep 1 echo "80" ; sleep 1 echo "90" ; sleep 1 echo "100" ; sleep 1 echo "# Réseau redémarré !"; sleep 1 )| zenity --progress \ --title="Redémarrage d'Internet"\ if [ "$?" = -1 ] ; then zenity --error \ --text="Redémarrage annulé." fi
Pour ajouter une entrée permettant d'exécuter le script dans le menu (avec les droits d'administrateur qui sont nécessaires) ajouter dans le fichier (qui doit être créé)/usr/share/applications/reloadNetwork.desktop
[Desktop Entry] Type=Application Version=1.0 Name=Redémarrage réseau Comment=Permettre le rechargement du module rtl8187 Icon=network Exec=gksudo reloadNetwork Terminal=false MimeType=text/plain;
Ensuite dans votre menu, vous aurez une entrée qui permettra de relancer Internet quand celui-ci ne marche plus. Sachez qu'il s'agit de bidouillage et que l'utilisation de ce script est à vos risques et périls !
Avant Intrepid
Tout d'abord, sachez que ce tutoriel n'est valable qu'à partir d'Edgy.
Sous Gutsy, le bouchon (dongle) est supporté par le pilote (à bannir) rtl8187, nativement.
Sous Hardy, le wg111v2 marche en apparence, mais il se déconnecte au bout de quelques secondes de connexion et renvoie un faux signal.
Dans tous les cas Network Manager (le démon d'infrastructure de gestion réseau) devrait gérer cette connexion sans souci, les bogues étant corrigés. Si vous constatez quelque souci avec ce dernier regardez à la page Logiciels de gestions disponibles sous Ubuntu
Pré-Requis:
- Un accès quelconque à Internet (juste pour télécharger un fichier)
- les droits d'administrateur
- ne pas insérer le bouchon dans le port au démarrage d'Ubuntu (sauf, bien sûr, si le bouchon est intégré – cas des portables comme le SJ81-B-0xx de chez Packard-Bell)
- ne pas taper les # devant les commandes, ils ne sont là que pour vous indiquer que ce sont bien des commandes…
Installer ndiswrapper-common et ndiswrapper-utils-1.9
Il suffit d'installer le paquet ndiswrapper-utils-1.9.
Bannir les pilotes qui posent problème
Ici, il faut en fait annuler le chargement des pilotes de bouchon Wifi qui parasitent votre connexion. Si vous ne le faites pas, vous ne pourrez pas vous connecter à Internet, ou le faire dans des conditions instables (pour ne pas dire exécrables…). Les modules à bannir sont :
rtl8187, prism2_usb, r8187b, islsm_usb, islsm, islsm_pci
- Déchargez les modules par défaut de votre clé Wi-Fi et ceux qui peuvent causer des soucis :
sudo modprobe -r rtl8187 prism2_usb r8187b islsm_usb islsm islsm_pci
- Puis ajoutez ces modules à bannir dans un fichier pour que la modification soit prise en compte à chaque redémarrage :
Éditez le fichier /etc/modprobe.d/blacklist avec les droits root
et ajoutez-y les lignes suivantes afin de désactiver les pilotes entrant en conflit avec WG111v2 :
# Pilotes qui peuvent causer des soucis blacklist islsm_pci blacklist islsm blacklist islsm_usb blacklist r8187b blacklist prism2_usb # Le pilote qui nous concerne spécifiquement blacklist rtl8187
Une fois ceci fait, enregistrez le fichier et fermez-le.
Télécharger et installer le pilote qui fonctionne
Oui, je sais, c'est idiot ! Il vous faudra un ami avec une connexion Internet, ou utiliser le PC qui émet le WIFI pour ce faire, et transférer le fichier sur clé USB…En effet, chez moi, le pilote du CD d'installation ne permettait pas d'utiliser le bouchon ! Un comble (mais bon, il était prévu pour Windows, on ne pouvait pas lui demander des miracles… NB : Au moins Windows reconnaît les connexions sans devoir prendre des cours d'informatique !).
Le site où est le pilote est le suivant (descendre la page, et cliquez là où c'est écrit "right click and save to download") :
Premièrement
Créez un dossier dans votre dossier personnel, et appelez-le .driver
(N'oubliez pas le point au début, ceci va cacher le dossier et éviter ainsi de le supprimer par mégarde).
Deuxièmement
Ouvrez le ZIP du pilote, allez dans le dossier Driver / Win98
, et copiez les deux fichiers qui s'y trouvent. (En fait, net111v2.inf
et net111v2.sys
). Puis affichez les fichiers cachés dans votre dossier personnel (en pressant Ctrl + H) et entrez dans .driver
. Collez-y les deux fichiers.
On va maintenant installer ce joli petit pilote Windows.
Note : Tests effectués, le seul pilote qui me permet de me connecter à mon réseau non sécurisé est celui de Win98, et il marche parfaitement. Celui de Win2000 fonctionne très mal, celui de XP pas du tout ! Cependant avec les nouvelles versions de ndiswrapper
il se peut que celui de XP fonctionne !
En mode invite de commandes
ndiswrapper
dans cette page est très expéditive, pour comprendre chaque manipulation reportez-vous à la page ndiswrapper où chaque détail est expliqué, ce qui peut vous éviter des erreurs triviales.
- Entrez dans le terminal de commande et lancez (Cette commande charge le pilote dans
ndiswrapper
) :
sudo ndiswrapper -i $HOME/.driver/net111v2.inf
- Cette commande vérifie que les modules précédents sont bien à jour :
sudo depmod -a
- Cette commande charge le module
ndiswrapper
dans le noyau Linux :
sudo modprobe ndiswrapper
- Cette commande modifie le module pour qu'il prenne en compte le pilote :
sudo ndiswrapper -m
En mode graphique
Il est possible d'installer le paquet ndisgtk
, mais il n'est pas sur le CD, donc il faut le télécharger d'un ordinateur ayant une connexion fonctionnelle. Une fois ceci fait, une entrée apparaît dans le menu Préférences
ou Administration
, et permet d'installer les pilotes Windows, sans faire les quatre commandes ci-dessus.
Configuration post-installation
Bien, à ce stade, votre module est chargé dans le système et prêt à être utilisé. Seul petit problème, il vous faut redémarrer pour permettre à ce module ndiswrapper
d'être pris en compte ! Si vous redémarrez, cependant, il sera déchargé du noyau, et vous devrez le recharger à chaque redémarrage par la commande modprobe
. Ennuyeux, nan ?
Il existe la solution : modifier la liste des modules qui se lancent au démarrage. Modifiez le fichier /etc/modules avec les droits root
et ajoutez la ligne suivante à la fin du fichier :
ndiswrapper
Enregistrez et fermez.
Vous pouvez redémarrer. Attention, n'insérez pas votre bouchon tout de suite dans votre port USB ! Attendez d'arriver dans votre session GNOME (ou KDE, c'est selon).
Si, en revanche, c'est un portable où le dongle Wifi est intégré, aucun problème : au redémarrage, vous devriez pouvoir détecter automatiquement le pilote grâce à NetworkManager
.
Lancer le réseau Wifi
Insérez votre bouchon une fois connecté à votre session. Tapez cette commande en premier :
iwconfig
Regardez la ligne qui donne le plus d'informations : elle porte un nom (wlan0
, eth0
…) c'est ce nom qui va définir votre interface. Dans les commandes suivantes il faudra remplacer wlan0
par le nom de votre interface.
Network manager
Pour une utilisation simple, graphique, utilisez Network Manager.
En invite de commandes
Premièrement: Une fois redémarré, votre bouchon inséré, il vous reste à taper deux petites commandes de rien du tout pour lancer votre réseau :
sudo iwconfig wlan0 essid VOTRE_ESSID channel VOTRE_CHANNEL key VOTRE_CLE_WEP
Cette commande suppose que vous connaissiez votre nom de réseau (le mien est 9t_SfVw==
, ce peut être Wanadoo-D52F
), et le canal d'émission, ainsi que votre clé WEP. Si votre réseau n'est pas protégé, ne tapez pas key ! Pour obtenir ces infos, faites :
iwlist wlan0 scan
Repérez votre essid
et votre channel
. Tapez la commande du dessus correctement renseignée.
Deuxièmement: Puis, afin d'obtenir une adresse IP, tapez la commande suivante :
sudo dhclient
Si plein de lignes de texte se déclenchent avant de se terminer par " bound to renewal in xxxxx seconds", c'est bon !
Voilà, la connexion est effectuée ! Lancez votre navigateur Internet pour le vérifier…
Automatiser ces deux commandes
Bien, votre réseau fonctionne, mais vous en avez marre de devoir taper ces deux fichues commandes à chaque redémarrage ? Simple comme bonjour: Recherchez dans Synaptic un paquet du nom de
wifi-radar
, et installez-le.
Allez ensuite le lancer dans Applications → Internet → Wifi Radar
, et votre réseau sera détecté automatiquement. Cliquez dessus, puis sur Connect
(bah oui, il est en anglais).
On va vous demander des informations sur votre réseau : entrez votre essid
, réglez le channel
et choisissez si votre routeur DHCP vous donne une adresse IP automatiquement (si la commande dhclient
a marché, alors oui !), ou si c'est une IP fixe. Bref, réglez les détails (vous devriez les connaître, sinon, demandez à la personne adéquate !).
Sachez toutefois que les seules "Key" acceptées sont les clés WEP (pas WPA, utilisez xsupplicant
ou wpasupplicant
, voir la documentation), et que la plupart d'entre elles sont en mode open
(« ouvert »).
Une fois ceci fait, quand vous aurez redémarré votre PC, et que vous aurez inséré votre wg111v2
dans la machine, vous n'aurez qu'à cliquer sur Wifi-radar
, Connect
, et… c'est tout !
Notez cependant un petit problème : ne redémarrez pas avec votre bouchon inséré (même après l'avoir correctement installé). Il ne faut l'insérer qu'après votre session démarrée, sinon il ne fonctionnera pas. Peut-être à cause d'un chargement de ndiswrapper
trop tardif par rapport aux pilotes pré-installés ? (Si quelqu'un sait régler le problème, il m'intéresse !)
Si vous ne parvenez pas à vous connecter avec wifi-radar
mais que les lignes
#sudo iwconfig wlan0 essid VOTRE_ESSID channel VOTRE_CHANNEL key VOTRE_CLE_WEP
et
#iwlist wlan0 scan
vous permettent de vous connecter, alors lancez wifi-radar
dans la console pour voir les erreurs.
#sudo wifi-radar
Si vous voyez une ligne comme celle-ci : "wmaster0 Interface doesn't support scanning.", cela signifie que wifi-radar
recherche votre bouchon au mauvais endroit. Pour remédier à cela, modifiez le fichier wifi-radar.conf
#sudo gedit /etc/wifi-radar.conf
ou
#sudo kate /etc/wifi-radar.conf
Et changez la ligne interface = wmaster0
en interface = wlan0
. Enregistrez votre fichier et relancez wifi-radar
, tout devrait marcher :)
(Je (un autre « je » ^^) précise que j'utilise les pilotes WIN98 sous Feisty avec GNOME ou KDE sans aucun problème et que je ne retire jamais mon bouchon lors d'un redémarrage)
Dépannage
Si cela ne fonctionne pas, vérifiez que vous avez bien tapé les commandes ci-dessus, que les informations que vous avez sont correctes, bref, qu'il ne s'agit pas d'une faute de frappe !
Puis, si rien n'est mal tapé, insérez votre bouchon, puis tentez la commande suivante :
> #ndiswrapper -l
On devrait vous afficher les pilotes installés et utilisés par ndiswrapper
. Si votre bouchon est inséré, vérifiez bien que le résultat est le suivant :
net111v2 driver installed hardware present
Si ce n'est pas le cas, c'est que vous utilisez le mauvais pilote : l'avez vous téléchargé là où je vous l'ai indiqué ? Si oui, vérifiez que votre bouchon est bien un wg111v2
. Le « version 2 » est important : ce n'est pas la même chose qu'un wg111
ou wg111T
! Le pilote ne sera pas le même. Téléchargez le bon à partir du site indiqué (en cherchant votre bouchon dans la liste des matériels…).
Si ça ne fonctionne toujours pas, tentez la commande suivante :
> #ifup wlan0 down > #ifup wlan0 up
Annexe:
Voici un résumé des manips : (En passant uniquement par l'invite de commandes :)
RETIREZ LE BOUCHON
TÉLÉCHARGER LE pilote
CRÉER LE DOSSIER .driver DANS VOTRE DOSSIER PERSO
Y COLLER LE pilote
> #sudo apt-get install ndiswrapper-utils-1.8 > #sudo ndiswrapper -i /home/VOTRENOM/.driver/net111v2.inf > #sudo depmod -a > #sudo modprobe ndiswrapper > #sudo ndiswrapper -m > #sudo gedit /etc/modprobe.d/blacklist
TAPER LES piloteS À BANNIR
> #sudo gedit /etc/modules
TAPER ndiswrapper
REDÉMARRER
INSERTION DU BOUCHON
> #sudo iwconfig wlan0 essid VOTREESSID channel VOTRECHANNEL key VOTRECLÉ > #sudo dhclient > #sudo apt-get install wifi-radar
CONFIGURATION DE WIFI-RADAR
NB : si votre réseau n'est pas protégé, ne tapez pas « key VOTRECLÉ » dans la commande correspondante !
Voilà, c'est tout pour cette fois ! En cas de problème, et si le dépannage léger proposé ici ne vous satisfait pas, adressez-vous au forum…
Bien, toujours est-il que, bien que l'installation d'un bouchon Wifi soit souvent une galère sans nom, ne perdez pas espoir, cette technique a fonctionné pour moi, ainsi que pour quelques autres personnes de ma connaissance, alors…
Installation simplifiée
Pour une installation encore plus simple et rapide de ces pilotes, sous Ubuntu 8.10 Intrepid ou 9.04 Jaunty, voir le billet #28 à cette adresse : http://forum.ubuntu-fr.org/viewtopic.php?pid=2796255#p2796255