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

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 sur 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 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!!

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:

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

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

Renseignez vous si vous utilisez un autre dongle de temps à autres pour savoir si vous ne blacklister 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 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… ;-) ).

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". ):

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.

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

L'installation avec ndiswrapper dans cette page est très expéditive, pour comprendre chaque manipulation reportez vous à la page ndiswrapper ou chaque détail est expliqué en détail. 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 : é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

Si Network Manager fonctionne ne lisez pas la suite de la documentation qui est obsolète.

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

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

  • wifi_realtek_rtl8187.1248625569.txt.gz
  • Dernière modification: Le 26/07/2009, 18:26
  • (modification externe)