Cette page n'a pas encore d'étiquettes.
Apportez votre aide…

Ceci est une ancienne révision du document !



RTL8187 Pilote wifi pour la puce Realtek 8187

Télécharger d'abord 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

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.

Attention, les pilotes de cette carte (chipset), avant Jaunty, même ceux modifiés, ne sont pas compatibles WPA/WPA2 sous Linux. La protection de votre connexion Wifi sera donc « faible », vous exposant à une potentielle coupure d'Internet par usurpation de votre IP.

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 !

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:

  1. Un accès quelconque à Internet (juste pour télécharger un fichier)
  2. les droits d'administrateur
  3. 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)
  4. 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.

Ce paquet est disponible sur le CD d'Ubuntu.
La version 1.8 ou supérieure est nécessaire, les versions antérieures ne marchant pas.

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

Renseignez-vous si vous utilisez un autre bouchon de temps à autre pour savoir si vous ne bannissez pas un des pilotes qui lui est utile : 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") :

http://kbserver.netgear.com/release_notes/D102843.asp

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

L'installation avec 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.

Si Network Manager fonctionne, ne lisez pas la suite de la documentation qui est désuète.

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: 8-) 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…

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

  • wifi_realtek_rtl8187.1306101945.txt.gz
  • Dernière modification: Le 21/12/2011, 13:47
  • (modification externe)