Affichage des articles dont le libellé est réseau. Afficher tous les articles
Affichage des articles dont le libellé est réseau. Afficher tous les articles

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.

dimanche 29 juillet 2012

Faire marcher une clef wifi rtl8192cu sous Linux 3.4

Ma petite clef wifi ayant parfois des soucis de connexion, j’ai récemment acheté une autre clef disposant d’une véritable antenne, une « Digitus DN-70440 » équipée d’un chip RTL8188CUS et utilisant sous Linux le pilote rtl8192cu.

Le packaging indiquait que la clef fonctionnait sous Linux, chose assez rare pour que je me décide à l’acheter sans faire plus de recherche à son sujet sur le web :-).

Manque de pot, elle ne marchait en fait pas. Impossible de me connecter au réseau wifi WPA. Elle a fonctionné un jour, je ne sais pas pourquoi, mais plus jamais après ça.

Après moultes recherches, il s’avère que la solution la plus simple est d’utiliser le pilote fourni par Realtek à la place de celui de Linux 3.4. Mais celui-ci aurait des soucis de compilation sous Linux 64 bit, et il faut donc utiliser une version modifiée du pilote rtl8192cu.

Sous Arch Linux, il existe un package AUR permettant d’installer facilement ce pilote rtl8192cu. Ce package doit être recompilé et réinstallé à chaque mise à jour du kernel.

Il faut également blacklister le pilote du kernel, en rajoutant la ligne suivante dans le fichier /etc/modprobe.d/blacklist.conf :

blacklist rtl8192cu

Une fois ceci fait, il ne reste plus qu’à rebooter, ou bien à changer de driver « à la main » :

sudo modprobe -r rtl8192cu
sudo modprobe 8192cu

(Ou encore : débrancher la clef, faire le modprobe -r, et rebrancher la clef.)

Depuis que j’ai installé ce nouveau pilote, mon indicateur de signal wifi indique en permanence 100%, et la connexion se fait sans problème au démarrage de l’ordinateur (sous Linux 3.4.6 actuellement). Bon, ça ne fait que deux jours de tests, mais j’ai bon espoir que ça dure ;-).

J’en profite tout de même pour signaler un petit défaut de ce « WIRELESS 150N USB 2.0 ADAPTER » : sa forme arrondie peut bloquer un port USB situé à côté de celui dans lequel on le branche, dans le cas où les prises sont l’une au dessus de l’autre.

Mise à jour du 23 février 2013 : le pilote cité ci-dessus ne fonctionne plus depuis le passage au kernel 3.7. Il faut utiliser cet autre package AUR : dkms-8192cu. Je ne connais pas bien le fonctionnement de dkms, mais j’ai dû taper cette commande pour compiler et installer le pilote : sudo dkms autoinstall.

jeudi 13 août 2009

Un adaptateur CPL compatible Freeplug

Comme tous mes lecteurs fidèles le savent, mon "Freeplug classic", un adaptateur CPL vendu par Free, a décidé d'arrêter de fonctionner il y a quelques temps, après seulement 5 mois de bons et loyaux services.

LED bloquée au rouge, même pas clignotant, c'est dire. Insensible à toutes mes tentatives de réassociation ou de réinitialisation. Comme chez Free il faut prendre rendez-vous avec un technicien pour qu'il vienne constater qu'effectivement le truc ne marche pas avant d'avoir le droit de leur renvoyer pour un remplacement et que je n'avais pas que ça à faire et que je préférais prendre du matos de qualité, j'ai cherché d'autres boitiers CPL compatibles avec les Freeplug.

Impossible de trouver une information claire et nette sur le web, hormis un post paumé dans un forum disant que si c'était du Homeplug AV ça devrait fonctionner... J'ai donc finalement opté pour une paire de Bewan Powerline E200Plus pas chère (j'avais deux ordinateurs à connecter) en espérant que ça marcherait.

J'ai dû m'y prendre par 4 ou 5 fois par adaptateur, mais finalement après avoir réinitialisé chacun d'entre eux (appui long de 10 s sur le bouton) ils ont daigné s'associer avec le Freeplug de la Freebox ! Woohoo !

La preuve est donc faite : on PEUT mélanger des adapteurs CPL avec ceux de Free du moment qu'ils vont à la même vitesse et utilisent la même norme (Homeplug AV 1.0 en l'occurence). Et je ne parle pas de faire cohabiter deux réseaux indépendants mais bien d'étendre le réseau Freeplug existant.

Ces boitiers CPL Bewan ont un indicateur de la qualité du réseau : une LED verte (plus de 105 Mbps), orange (entre 45 et 105 Mbps) ou rouge (moins de 45 Mbps). Ici, c'est rouge la plupart du temps, parfois orange (notament la nuit, apparemment). Ils sont bien entendu branchés sur des multiprises, ce qui n'est pas recommandé, mais difficile de faire autrement (il existe des modèles plus chers avec prise gigogne qui permettent plus facilement de brancher les adaptateurs sur une prise murale. Il y a aussi des modèles qui font multiprise et hub...).

4.5 Mo/s, c'est déjà pas mal et en tout cas largement suffisant pour mon accès internet (1.1 Mo/s max), comme j'ai pu le confirmer en faisant un petit test de bande passante.

Maintenant, je vais pouvoir couper le wifi de la Freebox. Si ces boitiers ne crâment pas trop vite :-}... (Mais ils sont garantis deux ans, j'ai bon espoir qu'ils tiennent !)

vendredi 7 août 2009

Relier sa Xbox à internet via un PC sous Xubuntu

En ce moment et depuis quelques mois, j'utilise Linux sur mon PC portable. Plus précisément Xubuntu 9.04 (une variante d'Ubuntu censée être plus légère/rapide).

Mon boitier CPL "Freeplug classic" de Free étant tombé en panne (au bout de 5 mois), je me suis retrouvé avec un Switch tout neuf inutile et une Xbox sans accès internet. J'ai facilement réactivé le Wifi sous Linux, mais pour avoir le réseau sur la console, il me fallait trouver comment partager la connexion du PC.

J'ai donc fait quelques recherches et il s'avère que la solution est très simple (sur l'échelle de complexité de Linux, cela va sans dire). Il existe une page expliquant comment partager une connexion internet sous Ubuntu mais elle n'est pas parfaitement claire, donc je vais expliquer ce que j'ai fait :

  1. Clic droit sur l'icône des connexions réseau pour éditer les connexions.
  2. Rajouter une connexion filaire. La carte wifi de mon ordinateur ayant l'IP 192.168.0.5 sur le réseau "freebox", j'ai choisi d'attribuer 192.168.10.5 à ma carte ethernet filaire (l'important, c'est le "10" qui doit être différent du "0" correspondant dans l'IP wifi). Il suffit de remplir l'adresse IP et le masque réseau 255.255.255.0 ; ne pas toucher au reste. Cocher la case pour que la connexion soit active automatiquement, et décocher si nécessaire sur les autres connexions utilisant la même carte réseau.
  3. Rajouter deux lignes dans /etc/rc.local :
    echo 1 >/proc/sys/net/ipv4/ip_forward
    iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth1 -j MASQUERADE
    (Ceci suppose que votre carte wifi a pour nom "eth1". Pour connaitre le nom de la votre, tapez "iwconfig" dans un terminal.)

C'est tout ce qu'il y a à faire côté PC. Il ne reste plus qu'à configurer la Xbox en mode réseau "manuel" :
  1. Aller dans les "Paramètres système" -> "Paramètres réseau" -> "Configurer le réseau" -> "Paramètres de base".
  2. Choisir "Paramètres IP".
  3. Choisir "Manuelle".
  4. Rentrer l'IP 192.168.10.1 (ou remplacez ".1" par ce que vous voulez, du moment que ce n'est pas la même IP que le PC.)
  5. Masque de sous-réseau 255.255.255.0.
  6. Portail 192.168.10.5 (l'IP du PC).
  7. Remonter dans les préférences à la page "Paramètres de base", choisir "Paramètres DNS".
  8. Choisir "Manuelle".
  9. Rentrer les IP des DNS de votre fournisseur d'accès à internet.
Voilà, la Xbox devrait avoir accès à internet après un reboot du PC, ou après avoir tapé les deux lignes du rc.local dans un terminal si vous n'avez pas envie de rebooter.

À noter que cela ne redirige pas les ports nécessaires au jeu en réseau, ce que la console vous fera remarquer si vous essayez de "Tester la connexion Xbox LIVE". Je n'en ai pas besoin pour l'instant donc je n'ai pas fait de recherches en ce sens, mais ça doit être possible en utilisant iptables et en redirigeant des ports sur la Freebox...

Avec un peu de chance, ce post servira à quelqu'un si google se décide à indexer mon blog un jour :-).