Table des matières

, ,

RTL8185L Pilote wifi pour la puce Realtek 8185

Ubuntu 9.10 & 10.04

Tuto à la base crée par LarzacBeliever dans le post http://forum.ubuntu-fr.org/viewtopic.php?id=386067&p=1

Ubuntu 9.10 & 10.04 reconnaît les cartes à base de RTL8185 mais charge un pilote nommé rtl8180 et par conséquent le signal est très faible, il y a des perte de paquets, etc :

Si vous avez un signal très faible et que le terminal vous donne ça

moi@monordi:~$lspci
 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8185 IEEE 802.11a/b/g Wireless LAN Controller (rev 20)

Et si vous n'avez pas un seul réseau visible qui va au-delà de 30%, c'est qu'il faut changer le pilote.

Tout d'abord, allez chercher un nouveau pilote pour rtl8185 sur le site de realtek, http://www.realtek.com.tw (allez dans Downloads, puis faites une recherche en tapant rtl8185 : vous devez tomber sur une page listant divers pilotes, dont Linux driver for kernel 2.6.X.) Sinon l'archive est à disposition ici : http://larzac.believer.free.fr/linuxEnregistrer le fichier.

Première étape :

Il va falloir compiler le pilote en question. D'abord, l'extraire (clic droit, extraire ici sous gnome). Puis ouvrir un terminal ( et je conseille de le laisser ouvert, ce sera plus pratique) et taper :

cd /Emplacement_du_fichier_décompressé/rtl8185_linux_26.1031.1207.2009.release
make

Bon, on attend que l'ordi compile, et normalement, si vous allez dans Mon_emplacement/rtl8185_linux_26.1031.1207.2009.release/rtl8185/ Vous allez trouver un fichier intitulé r8185b.ko

Deuxième étape :

Enlever le pilote qu'Ubuntu utilise actuellement. Pour cela, il vous faut d'abord désactiver le wifi; si vous utilisez network-manager, clic droit > décocher activer le réseau sans fil. Si vous n'utilisez pas network-manager, tapez dans un terminal :

sudo ifdown wlan0 

(ou le nom de votre carte wifi que vous trouverez en tapant par exemple iwconfig dans un terminal)

Une fois le wifi désactivé, toujours dans un terminal :

sudo modprobe -r rtl8180

Normalement, si vous faites :

iwconfig

Il n'y a plus aucune carte supportant le wifi qui apparaît dans la liste.

Troisième étape :

Essayer le pilote qu'on a compilé. Attention ! Si vous êtes tenté de faire un sudo make install dans le terminal, sachez qu'il peut y avoir de gros problèmes en installant tel quel le pilote. Par contre une méthode manuelle ne pose aucun problème : Pour cela, dans un terminal :

cd /Emplacement_du_fichier_decompressé/rtl8185_linux_26.1031.1207.2009.release/rtl8185/
sudo insmod r8185b.ko

Si vous n'avez pas de message d'erreur, tout va bien. Il faut réactiver le wifi (cocher la case activer le wifi dans network manager), ou sinon en ligne de commande :

sudo ifup wlan0

On va vérifier que le pilote est bien pris en charge, en utilisant encore le terminal :

iwconfig

Votre carte wifi devrait être listée sous le nom de wlan0 ou wlan1. Si tel est le cas, nous avons presque fini. Essayez de vous connecter à votre réseau en utilisant vos paramètres habituels (le pilote supporte WEP, WPA et WPA2). Une fois connecté, vous pouvez taper dans un terminal :

nm-tool

et voir que la puissance du signal reçu a largement augmenté (multiplié par trois dans mon cas).

Quatrième étape :

Faire en sorte que Ubuntu utilise toujours ce pilote. Il faut connaitre pour la suite le noyau que vous utilisez : dans un terminal : Code:

uname -a

Tout d'abord, nous allons rajouter ce pilote à la grande quantité d'autres pilotes utilisés par Ubuntu, en le copiant : dans un terminal Code:

sudo cp Emplacement_du_fichier_décompressé/rtl8185_linux_26.1031.1207.2009.release/rtl8185/r8185b.ko /lib/modules/"résultat de uname -a, exemple 2.6.31-20-generic"/kernel/drivers/net/wireless/rtl818x

Puis :

sudo depmod

Puis nous allons blacklister le pilote utilisé précédemment par Ubuntu :

sudo gedit /etc/modprobe.d/blacklist.conf

Rajouter (à la fin par exemple) une ligne avec :

blacklist rtl8180

Il faut que Ubuntu charge le nouveau module r8185b.ko au démarrage. Pour cela, il faut éditer /etc/modules et rajouter une ligne contenant :

r8185b

ATTENTION cependant : Au prochain redémarrage de l'ordinateur, apparemment sur certaines architectures il y a un bug avec le pilote : mais pas de panique : si vous avez à la place de la fenêtre d'ouverture de session gnome un message impliquant gconf-sanity, il suffit de s'identifier sur un ttyx (en tapant ctrl+alt+F1) et de taper la ligne suivante :

sudo chmod 1777 /tmp

Je vous conseille de noter cette commande sur un bout de papier avant redémarrage de votre ordinateur.

Pour une carte Amarina WIRELESS PCI CARD 54M 802.11G 54 Mbps

Installation du pilote

Démarrez Ubuntu 9.04 Jaunty Jackalope en mode recovery à l'écran de GRUB (si vous ne voyez pas cet écran, appuyez sur ECHAP quand un message avec “GRUB” apparait). Quand on vous demande le mode, choisissez “root”. Mettez le CD d'installation de la carte “Amarina WIRELESS PCI CARD 54M 802.11G 54 Mbps” dans votre lecteur cd.

< A COMPLÉTER >

Pour une carte Trendnet TEW 423PI

Installation du pilote

Téléchargement du pilote Realtek

Gusty Gibon (7.10)

Téléchargez le pilote à partir du site Realtek .

Hardy Heron (8.04)

Téléchargez le pilote de Will Daniels, patché pour le kernel 2.6.24.

Vous aurez également besoin d'installer le packet patch pour appliquer le patch (sic). Si vous n'avez pas d'autre connexion sur votre installation d'Ubuntu, le paquet est disponible ici.

Intrepid Ibex (8.10)

Les pilotes sont inclus dans le noyau (2.6.27) cela dit il se peut qu'ils ne se lancent pas au démarrage. Dans ce cas, il suffit d'éditer le fichier /etc/network/interfaces :

auto lo
iface lo inet loopback

auto wlan0
iface wlan0 inet dhcp
pre-up modprobe ieee80211_crypt
pre-up modprobe ieee80211_crypt_wep
pre-up modprobe ieee80211_crypt_tkip
pre-up modprobe ieee80211_crypt_ccmp
pre-up modprobe ieee80211
pre-up modprobe rtl8180
wpa-conf /chemin_du_fichier/nom_du_fichier_de_config_WPA_supplicant.conf
post-down rmmod rtl8180
post-down rmmod ieee80211
post-down rmmod ieee80211_crypt_wep
post-down rmmod ieee80211_crypt_tkip
post-down rmmod ieee80211_crypt_ccmp
post-down rmmod ieee80211_crypt

Pour la configuration de wpa_supplicant (installé par défault avec Intrepid), voir ci-dessous.

Compilation du pilote

Décompressez l'archive dans un répertoire :

tar zxvf rtl8185_linux_26[1].1027.0823.2007.tar.gz

Il faut ensuite compiler le pilote :

cd rtl8185_linux_26.1027.0823.2007
./makedrv

On peut ensuite créer un lien symbolique vers ce répertoire, pour pouvoir changer de version du pilote simplement :

sudo ln -s /home/vous/rtl8185_linux_26.1027.0823.2007 /etc/rtl8185

wpa_supplicant

Installez wpa_supplicant et modifiez le ficher /etc/wpa_supplicant.conf pour qu'il ressmble à ça :

network={
        ssid="votreSSID"
        proto=WPA
        key_mgmt=WPA-PSK
        pairwise=CCMP TKIP
        group=CCMP TKIP WEP104 WEP40
        psk="secret"
        priority=2
}

Configuration

Stoppez le fonctionnement du réseau :

sudo /etc/init.d/networking stop

Modifiez le fichier /etc/network/interfaces. Il devrait ressembler à ça :

auto lo
iface lo inet loopback

auto wlan0
iface wlan0 inet dhcp
   pre-up insmod /etc/rtl8185/ieee80211/ieee80211_crypt-rtl.ko
   pre-up insmod /etc/rtl8185/ieee80211/ieee80211_crypt_wep-rtl.ko
   pre-up insmod /etc/rtl8185/ieee80211/ieee80211_crypt_tkip-rtl.ko
   pre-up insmod /etc/rtl8185/ieee80211/ieee80211_crypt_ccmp-rtl.ko
   pre-up insmod /etc/rtl8185/ieee80211/ieee80211-rtl.ko
   pre-up insmod /etc/rtl8185/rtl8185/r8180.ko
   pre-up wpa_supplicant -D ipw -i wlan0 -c /etc/wpa_supplicant.conf -P /var/run/wpa_supplicant.pid -wB

   post-down kill `cat /var/run/wpa_supplicant.pid`
   post-down rmmod r8180
   post-down rmmod ieee80211-rtl
   post-down rmmod ieee80211_crypt_ccmp-rtl
   post-down rmmod ieee80211_crypt_tkip-rtl
   post-down rmmod ieee80211_crypt_wep-rtl
   post-down rmmod ieee80211_crypt-rtl

Un redémarrage du réseau devrait vous donner une ip :

sudo /etc/init.d/networking start
 * Reconfiguring network interfaces...                                          Internet Systems Consortium DHCP Client V3.0.5
Copyright 2004-2006 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/

Listening on LPF/wlan0/00:00:00:00:00:00
Sending on   LPF/wlan0/00:00:00:00:00:00
Sending on   Socket/fallback
DHCPREQUEST on wlan0 to 255.255.255.255 port 67
DHCPACK from 192.168.0.2XX
bound to 192.168.0.X -- renewal in 328456 seconds.
                                                                         [ OK ]

Et voilà !

Remarque

Étrangement, lors du boot, le réseau ne monte pas correctement. La carte est arrêtée juste après avoir été mise en service. FIXME

Mais si vous faites

sudo /etc/init.d/networking restart

tout fonctionnera correctement.

Comme je suis tout nouveau dans le monde ubuntu (et linux en général), merci de corriger tout ça si ça vous semble incohérent. — wifi_realtek_rtl8185 Le 14/04/2008, à 21:50

Il doit s'agir de l'ordre dans lequel sont chargés les pilotes. Essaye de charger ieee80211-rtl.ko en premier, ou de faire un modprobe sur r8180.ko. — wifi_realtek_rtl8185 Le 15/08/2008, à 16:11

Références


Contributeurs : brisssou,yapa