samedi 28 septembre 2013

Supprimer les warnings du pilote rtl2800usb et améliorer le ping

Ma première clef wifi, avec un chipset 8712u, fonctionne correctement (en ce moment) mais ne possède pas d’antenne externe et la connexion est parfois très mauvaise. J’avais donc acheté une clef avec antenne ayant une très bonne réception, mais nécessitant d’installer une version modifiée du pilote du fabriquant (8192cu)… Et elle a décidé d’arrêter de fonctionner il y a quelques semaines (elle se déconnecte toute seule et ça fait planter le PC).

Mon troisième essai : une ALFA AWUS036NH équipée d’une antenne de 5dBi.

ID 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter

Celle-ci fonctionne avec le pilote rtl2800usb fournit avec Linux. Je l’ai utilisée sous Linux 3.10 et Linux 3.11 et ça marche tout seul, il suffit de brancher la clef.

En revanche, mes logs (dmesg et /var/log/*) sont remplis de milliers de ces messages :

ieee80211 phy0: rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 2 in queue 0
ieee80211 phy0: rt2800usb_txdone: Warning - Got TX status for an empty queue 0, dropping

Et le ping vers mon routeur est très aléatoire :

64 bytes from 192.168.0.254: icmp_seq=1 ttl=64 time=5.49 ms
64 bytes from 192.168.0.254: icmp_seq=3 ttl=64 time=5.28 ms
64 bytes from 192.168.0.254: icmp_seq=4 ttl=64 time=1.40 ms
64 bytes from 192.168.0.254: icmp_seq=5 ttl=64 time=10.0 ms
64 bytes from 192.168.0.254: icmp_seq=6 ttl=64 time=387 ms
64 bytes from 192.168.0.254: icmp_seq=8 ttl=64 time=830 ms
64 bytes from 192.168.0.254: icmp_seq=9 ttl=64 time=1.25 ms
64 bytes from 192.168.0.254: icmp_seq=10 ttl=64 time=5.03 ms
64 bytes from 192.168.0.254: icmp_seq=11 ttl=64 time=358 ms
64 bytes from 192.168.0.254: icmp_seq=12 ttl=64 time=5.19 ms

Notez que 2 paquets ont été perdus. Au même moment, mon ordinateur portable avec son wifi intégré affiche un ping inférieur à 2 ms.

Après quelques recherches, j’ai trouvé que désactiver l’économie d’énergie de la clef permet de supprimer les warnings et d’améliorer le ping. Il suffit d’exécuter la commande suivante :

sudo iw dev wlan0 set power_save off

« wlan0 » doit bien sûr correspondre à l’identifiant de votre clef. Quand à rendre ça permanent, vous pourriez rajouter cette commande dans /etc/rc.local si votre distribution le permet, ou alors écrire une règle UDEV comme expliqué dans le wiki d’Arch Linux :

Créer le fichier /etc/udev/rules.d/70-wifi-powersave.rules et y coller cette ligne :

ACTION=="add", SUBSYSTEM=="net", KERNEL=="wlan0", RUN+="/usr/bin/iw dev wlan0 set power_save off"

Suite à la désactivation de l’économie d’énergie de la clef, le ping vers mon routeur est maintenant correct :

64 bytes from 192.168.0.254: icmp_seq=1 ttl=64 time=7.83 ms
64 bytes from 192.168.0.254: icmp_seq=2 ttl=64 time=1.25 ms
64 bytes from 192.168.0.254: icmp_seq=3 ttl=64 time=1.23 ms
64 bytes from 192.168.0.254: icmp_seq=4 ttl=64 time=1.13 ms
64 bytes from 192.168.0.254: icmp_seq=5 ttl=64 time=1.23 ms
64 bytes from 192.168.0.254: icmp_seq=6 ttl=64 time=3.48 ms
64 bytes from 192.168.0.254: icmp_seq=7 ttl=64 time=1.13 ms
64 bytes from 192.168.0.254: icmp_seq=8 ttl=64 time=2.56 ms
64 bytes from 192.168.0.254: icmp_seq=9 ttl=64 time=1.03 ms
64 bytes from 192.168.0.254: icmp_seq=10 ttl=64 time=2.68 ms

Je n’ai cependant pas constaté d’amélioration dans le chargement des pages web ou des vidéos youtube.

Aucun commentaire:

Enregistrer un commentaire