Ceci est une ancienne révision du document !
RTL8187 Pilote wifi pour la puce Realtek 8187
Installer le driver RTL8187 de Windows 98 avec ndiswrapper
Source : http://ubuntuforums.org/showthread.php?t=493958&highlight=8187
Manipulation testée sur Ubuntu Lucid Lynx (10.4).
Désinstaller le driver natif:
sudo rmmod rtl8187
Blacklister le driver natif
sudo gedit /etc/modprobe.d/blacklist.conf
En ajoutant la ligne suivante (en fin de fichier par exemple) :
blacklist rtl8187
Créer les 2 fichiers suivants :
/etc/default/NetworkManager /etc/default/NetworkManagerDispatcher
Et écrire uniquement le mot suivant dans chaque fichier :
exit
Désactiver le lancement du Network Manager au démarrage : Menu "Système > Préférences > Applications au démarrage" et décocher "Gestionnaire de réseau".
Configurer la connexion manuellement :
sudo gedit /etc/network/interfaces
Et ajouter/modifier les lignes suivantes :
auto wlan0 iface wlan0 inet dhcp wireless-key ****** wireless-essid ******
Puis remplacez les étoiles respectivement par le mot de passe et le SSID de votre réseau wi-fi.
Maintenant que tout est configuré, il faut télécharger et installer le driver 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 ndiswrapper :
sudo apt-get install ndiswrapper-common ndiswrapper-utils-1.9
Installez le driver avec ndiswrapper :
sudo ndiswrapper -i Netrtuw.inf sudo ndiswrapper -m sudo modprobe ndiswrapper
Ajoutez ndiswrapper aux modules de démarrage :
sudo gedit /etc/modules
En ajoutant la ligne suivante :
ndiswrapper
Votre driver 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 booster 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 à 100mW.
Donc pour bénéficier de cela, avec en prime les possibilité de monitoring, 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 kernel 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
Éditez le fichier r8187.h (find r8187.h si vous ne le trouvez pas) Remplacez les ligne 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 blacklister 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 kernel. (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 mettres à 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 "# unloading rtl8187 module"; sleep 1 modprobe rtl8187 echo "# loading rtl8187 module"; sleep 1 echo "50" ; sleep 1 echo "70" ; sleep 1 echo "80" ; sleep 1 echo "90" ; sleep 1 echo "100" ; sleep 1 echo "# Network reloaded!"; sleep 1 )| zenity --progress \ --title="Reload internet"\ if [ "$?" = -1 ] ; then zenity --error \ --text="Reloading canceled." 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=Reload Network Comment=Permit to reload the rtl8187 module 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 pas. 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 de Edgy.
Sous Gutsy, le dongle est supporté par le pilote (à backlister) 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 devrait gérer cette connexion sans soucis. Les bugs étant corrigés. Si vous constatez quelques soucis 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 dongle dans le port au démarrage d'Ubuntu (sauf, bien sur, si le dongle 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.
Blacklister les pilotes qui posent problème :
Ici, il faut en fait annuler le chargement des pilotes de dongle 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 à backlister sont :
rtl8187, prism2_usb, r8187b, islsm_usb, islsm, islsm_pci
- Déchargez les modules par défaut de votre clé Wi-Fi et de ceux qui peuvent causer des soucis :
sudo modprobe -r rtl8187 prism2_usb r8187b islsm_usb islsm islsm_pci
- Puis ajouter ces module à backlister 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 cela 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 utilisez le PC qui émet le WIFI pour ce faire, et transférez le fichier sur clé USB…
En effet, chez moi, le pilote du CD d'installation ne permettait pas d'utiliser le dongle ! Un comble (mais bon, il était prévu pour Windows, on ne pouvait pas lui demander des miracles… NB: Au moins Windows reconnait les connexions sans devoir prendre des cours d'informatique !).
Le site ou est le pilote est le suivant ( descendre la page, et cliquez là ou 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.
EDIT: 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 ligne de Commande
- 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 : éditer la liste des modules qui se lancent au démarrage. Éditez le fichier /etc/modules avec les droit root et ajoutez la ligne suivante à la fin du fichier :
ndiswrapper
Enregistrez et fermez.
Vous pouvez redémarrer. Attention, n'insérez pas votre dongle tout de suite dans votre port USB!! Attendez d'arriver dans votre session GNOME (ou KDE, c'est selon).
Si en revanche, si c'est un portable où le dongle Wifi est intégré, aucun problème : au reboot, vous devriez pouvoir détecter automatiquement le pilote grâce à NetworkManager.
Lancer le réseau Wifi:
Insérez votre Dongle 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, utiliser Network Manager
En ligne de commande
Premièrement: Une fois redémarré, votre dongle inséré, il vous reste à taper deux petite 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 connaissez 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 cela 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 dongle inséré (même après l'avoir correctement installé). Il ne faut l'insérer qu'après votre session démarrée, ou il ne fonctionnera pas. Sans doute à 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 dongle au mauvais endroit. Pour remédier à cela, éditez le fichier wifi-radar.conf
#sudo gedit /etc/wifi-radar.conf
ou
#sudo kate /etc/wifi-radar.conf
Et modifiez la ligne "interface = wmaster0" par "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 une Feisty avec GNOME ou KDE sans aucun problème et que je ne retire jamais me dongle lors d'un redémarrage. )
Depannage:
Si cela ne fonctionne pas, vérifiez que vous avez bien tapé les commandes du 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 dongle, puis tentez la commande suivante :
> #ndiswrapper -l
On devrait vous afficher les pilotes installés et utilisés par ndiswrapper. Si votre dongle 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 dongle 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 dongle dans la liste des materiels…)
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 la ligne de commande:)
RETIREZ LE DONGLE
TELECHARGER LE pilote
CREER 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 A BLACKLISTER
> #sudo gedit /etc/modules
TAPER ndiswrapper
REBOOT
INSERTION DU DONGLE
> #sudo iwconfig wlan0 essid VOTREESSID channel VOTRECHANNEL key VOTRECLE > #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 VOTRECLE" 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 dongle 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 drivers, sur Ubuntu 8.10 ou 9.04, voir le post #28 à cette adresse: http://forum.ubuntu-fr.org/viewtopic.php?pid=2796255#p2796255