Ralink: reconnexions très difficiles

Bonjour à toutes et à tous,

J’ai ici un problème qui va me rendre chèvre (si ce n’était déjà fait).
J’ai un réseau avec un routeur wifi (Aztech), 2 portables windows qui se connectent dessus en wifi en DHCP, 2 caméras sans-fil qui se connectent dessus en statique.

J’ai aussi un PC fixe qui se connecte sans problème sous Win7.
Et ce même sous Linux… disons que c’est compliqué!

La carte sans-fil est une Ralink, j’ai bien le pilote rt61pci et le paquet firmware-ralink.
En fait, j’ai déjà eu une connexion fonctionnelle (qui marchait très bien même!).

Le problème c’est que je dois tellement me battre avec pour la faire marcher que je ne sais plus quoi faire pour que ça fonctionne.

Toujours est-il qu’à 2 reprises, j’ai pu faire marcher la connexion. Puis la connexion tombe, et elle ne repart pas, ou pas avant longtemps, ou pas avant une série de manips très compliquées parce que je ne vois toujours pas lesquelles.

La première fois que la connexion a été perdue, c’était parce que j’avais laissé trainé un anacron qui relançait avahi, et apparemment, c’est pas une bonne idée.
Je n’ai pu rétablir la connexion que 2 jours plus tard!!

La deuxième fois, c’est aujourd’hui, et j’ai simplement redémarré le routeur (pas de changement de config, juste la prise électrique). Tous les autres appareils ont retrouvé leurs petits, mais encore une fois, le fixe ne veut rien savoir.

C’est une Debian Sid, avec donc le pilote rt61pci.

Quand je lance un ifup wlan0, j’ai sur le syslog les entrées DHCPDISCOVER, mais il semble qu’elles ne soient pas entendues (ou même pas émises??), aucune réponse.
Vu que la première fois, c’est reparti sans que je comprenne au bout de 2 jours, j’ai pensé à un problème de lease.
J’ai donc vérifié sur le routeur: toutes les leases perdues avec le redémarrage. Côté PC: elle y était toujours. Je l’ai donc virée à la main.
Rien à faire, aucun changement.

J’ai déchargé/rechargé le module, et même redémarré l’ordinateur sans conviction. Toujours rien, pas même un petit message d’erreur qui pourrait me mettre sur la voie.

Il y a tout de même une chose suspecte, mais c’était déjà le cas quand la connexion a remarché sur un ifup alors que je n’y croyais plus:
iwlist wlan0 scan me sort très souvent “No scan results” ou voit les routeurs de mes voisins mais pas le mien (?!?).
Je précise que ce n’est pas un problème de puissance: les 2 portables sont dans la même pièce, et ça marche toujours quasi instantanément sous Win7 (ce qui est peut-être le plus rageant en fait…).

Au point où j’en suis, j’aimerais même savoir s’il est possible de sniffer les DHCPDISCOVER pour m’assurer au moins qu’elles sont vraiment émises (pas de journal sur le routeur, je ne peux pas aller voir de ce côté).

Merci d’avance à quiconque aurait une idée!

J’ai eu souvent à me battre avec des chip ralink, mais j’ai toujours réussi à gagner.
Merci à l’équipe qui maintient le driver rt2x00. Pour ceux qui ne connaissent pas l’histoire chargée de ce driver
wiki.debian.org/rt61pci

Les sources sont enfin dans le kernel depuis le 2.6.24.
J’espère que tu n’as rien installé d’autre, à par le paquet firmware-ralink ?
Que tu donne un dmesg ? Pas d’erreur au chargement du module ?
Et un lsmod ?

Donne aussi les références exacte de ta carte (lspci).

Merci! C’est déjà encourageant!

lspci:
Network Controller: Ralink Corp. RT2600 802.11 MIMO
Subsystem: Ralingk corp. Device 2661
[…]
Kernel Device in use: rt61pci

Aucune erreur au chargement du module.
J’ai une info suivante (aucune idée si c’est important):
Selected rate control algorithm 'minstrel_ht’
et une liste de plages fréquence.

J’ai été surpris de ne pas trouver la mention sur le firmware, mais le paquet est bien là, et ça a déjà fonctionné par deux fois, donc j’ai éliminé le problème. Erreur?

lsmod (je peux pas tout mettre faute de réseau, c’est copié à la main):
rt61pci
rt2x00pci
rt2x00lib
mac80211
cfg80211
rfkill

Je n’ai pas ndiswrapper, bien entendu.

Tout vient des dépôts Sid, je n’ai rien recompilé, pas même le kernel. Je suis en AMD64, mais je ne pense pas que ça fasse aucune différence pour le coup.

J’ai regardé un peu sur le bugreport, je n’ai rien vu pour ce driver.
As tu essayé sans chiffrement de la connexion ?
Quel niveau de signal as tu ? J’ai vu des posts de personnes se plaignant d’un niveau de signal faible avec ce chip sous linux.

J’avais déjà cherché sur bugreport, même commencé un rapport de bug. Puis je me suis demandé si c’était vraiment le pilote, et en vérifiant, si je pouvais faire mieux que “des fois ça marche pas et des fois ça marche” comme symptôme.

Pour le niveau du signal, j’utilise iwlist wlan0 scan
Et là tout de suite, j’ai un résultat “typique”:
-les 3 premières fois, “No scan results”
-4ème fois j’ai bien mon routeur, il est à -58dBm, qualité 52/70
-5,6,7,8,9,10ème: “No scan results”
-11ème, mon routeur encore même niveau

Des fois en plus, je vois les routeurs des voisins. Et des fois je ne vois QUE les routeurs des voisins (typiquement -70dBm). Le mien oscille entre -60 et-52dBm (donc plutôt bien), quand il est vu.

J’ajoute que les 2 “sessions” connectées, le débit était bon, et on parle pour la première de 12h, et pour la seconde de plusieurs jours. Les déconnexions ne sont jamais venues d’une qualité trop excécrable. La première fois, c’est tombé en même temps que le démon avahi remis en route pendant un cron (j’ai viré avahi). La deuxième fois que la connexion est tombée, c’est le routeur qui était physiquement redémarré.

Cela dit, la carte est censée fonctionner à 300m, et le routeur est à 10m, avec juste une porte puis espace quasiment ouvert à traverser. Donc même avec un signal anormalement faible, y’a de la marge…

Edit: J’oubliais une question:
Aucune différence si je charge le module avec l’option nohwcrypt.

je ne vois pas ce qui peux expliquer ton problème coté driver et firmware.
As tu essayé un autre canal (à paramétrer dans le routeur), il arrive que certains routeurs changent de canal pour s’adapter aux conditions de réception.

ou en mode ouvert (pour séparer les problèmes pur wifi de problèmes d’identification).

J’ai déjà essayé le basculement de canal, de 6 (réglage par défaut, beaucoup de voisins ont le même) à 11 maintenant, en passant par 2 (de 2 à 11 au cas où, sans conviction). Tous les appareils ont suivi sans broncher à chaque fois.

Mais le problème n’est pas parti.

Si c’était un problème d’identification, ça n’aurait jamais dû marcher, depuis le début. Là j’ai eu 2 “sessions” où ça marchait très bien.

J’ai aussi suspecté une histoire de cache foireux dans la carte, j’ai donc arrêté le PC, coupé les alims, vidé les capas, et redémarré le PC.

Rien à faire non plus…

EDIT: J’ai oublié un détail peut-être également important: je suis encore en WEP!

Quand je dis que c’est incompréhensible, c’est pas une blague:

C’est reparti!! Et je n’ai rien changé, voilà la copie de la console (si, j’ai remplacé le nom d’utilisateur et de la machine dans le prompt, ça ne devrait pas justifier mes soucis…):

[code]Failed to bring up wlan0.
utilisateur@machine:~$ sudo modprobe -r rt61pci
utilisateur@machine:~$ sudo modprobe rt61pci
utilisateur@machine:~$ sudo ifup wlan0
Internet Systems Consortium DHCP Client 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/wlan0/00:e0:5d:f1:34:81
Sending on LPF/wlan0/00:e0:5d:f1:34:81
Sending on Socket/fallback
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 5
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 6
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 6
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 14
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 15
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 15
No DHCPOFFERS received.
Unable to obtain a lease on first try. Exiting.
Failed to bring up wlan0.
utilisateur@machine:~$ sudo ifup wlan0
Internet Systems Consortium DHCP Client 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/wlan0/00:e0:5d:f1:34:81
Sending on LPF/wlan0/00:e0:5d:f1:34:81
Sending on Socket/fallback
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 3
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 8
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 12
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 16
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 8
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 13
No DHCPOFFERS received.
Unable to obtain a lease on first try. Exiting.
Failed to bring up wlan0.
utilisateur@machine:~$ sudo ifup wlan0
Internet Systems Consortium DHCP Client 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/wlan0/00:e0:5d:f1:34:81
Sending on LPF/wlan0/00:e0:5d:f1:34:81
Sending on Socket/fallback
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 5
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 11
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 7
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 17
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 12
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 9
No DHCPOFFERS received.
Unable to obtain a lease on first try. Exiting.
Failed to bring up wlan0.
utilisateur@machine:~$ sudo ifup wlan0
[sudo] password for utilisateur:
Internet Systems Consortium DHCP Client 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/wlan0/00:e0:5d:f1:34:81
Sending on LPF/wlan0/00:e0:5d:f1:34:81
Sending on Socket/fallback
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 3
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 6
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 7
DHCPREQUEST on wlan0 to 255.255.255.255 port 67
DHCPOFFER from 192.168.1.254
DHCPACK from 192.168.1.254
Reloading /etc/samba/smb.conf: smbd only.
bound to 192.168.1.1 – renewal in 35680 seconds.
utilisateur@machine:~$
[/code]

En cherchant des infos sur ta carte (RaLink RT2600), je n’en trouve que concernant les cartes RT2500, ou RT2560 au mieux. Tu es sûr que ta carte es compatible ? Elle serait pas ultra-récente des fois ?

Édit : j’ai rien dit

tiens, tu utilises sudo ?
N’importe quel utilisateur est autorisé a gérer la carte wifi ?
C’est une délégation bien audacieuse des droits de l’utilisateur root …

Là visiblement, c’est un problème de DHCP, c’est encore différent de ce que tu nous a décris (routeur non détecté).
Fait une sauvegarde des logs, tu auras ainsi une base de référence pour la prochaine fois ou ça ne veux pas se connecter.

Je ne conteste pas, mais à quoi tu vois que c’est un problème DHCP?
Je veux dire: ça marche, ça marche plus, ça remarche…

J’aurais pensé à un cache quelque part qui fout le boxon. Et maintenant que j’y pense, peut-être que le fixe a une façon particulière de redemander la connexion s’il la perd et le routeur n’aime pas et le met en quarantaine un moment?

Mais dans ce cas, pourquoi j’ai un ratio si faible de détection sur le iwlist scan? (la plupart du temps rien, et des fois que les voisins)

Pour sudo: oui, mon compte a les droits sudo, c’est le seul.
Je fais comme ça depuis des années pour le réglage, après je remets tout en auto dans interfaces.
Pourquoi, ça va pas? :confused:

la bonne bonne utilisation de sudo: isalo.org/wiki.debian-fr/ind … ot-su-sudo
Tu as effectivement plusieurs problèmes, mais celui de ton dernier post est explicite:

[quote]DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 15
No DHCPOFFERS received.
Unable to obtain a lease on first try. Exiting.[/quote]
il n’arrive pas à obtenir une adresse dynamique de la part de ton routeur.
As tu un gestionnaire de connexion, ou bien utilises tu une configuration via le fichier interfaces ?

Pas de gestionnaire de connexion, tout passe par interfaces (j’aime pas trop que ça fasse des trucs tout seul, on ne sait jamais ce qui va ou pas à la fin).

Par contre, je peux te dire que la connexion est retombée il y a une demi-heure.

Message dans kern.log:

ieee80211 phy0: wlan0: No probe response from AP xx:xx:xx:xx:xx after 500ms, disconnecting
ensuite, c’est curieux, j’ai le log correspondant à un chargement du module noyau
cfg80211: Calling CRDA to update world regulatory domain
cfg80211: World regulatory domain updated:
[plusieurs lignes sur les plages de fréquences]

et à la fin… et bien rien, comme avant, je ne peux plus me connecter :neutral_face:

Les paquets DHCPDISCOVER sont émis en broadcast, donc le point d’accès devrait les diffuser à toutes les stations associées (ou connectées en ethernet) et il devrait être possible de les sniffer sur n’importe quelle machine du (W)LAN.

Le symptôme est explicite, mais pas la cause. Il y a fort à parier que la cause est un problème de liaison wifi et pas de DHCP. A confirmer avec ifconfig.

Bonjour Pascal,
merci pour ton aide à résoudre ce problème.
J’avais pensé à un problème de qualité de réception, mais les niveaux sont corrects (voir post du Lun Oct 22, 2012 12:32 am)

Bonjour à vous deux et merci encore de vous pencher sur mon cas!

Je ne suis pas sûr de suivre: que dois-je confirmer avec ifconfig?
L’interface est bien là: wlan0. Je n’ai jamais eu de problème de ce côté.

La connexion est repartie sur un ifup ce soir, et cette fois elle a tenu à peine 2minutes avant de retomber.

Je commençais à penser à un blacklistage par le routeur pour une raison ou une autre avec une période données pour sortir de la liste, mais ça ne colle pas avec les instants de reconnexion.
(Le routeur est complètement fermé, c’est un modèle d’Aztech spécifique pour le FAI, j’habite à Singapour. Je n’ai donc accès à pas grand chose).

J’ai lu ici et là que la pile mac80211 et cfg80211 avaient été réécrits et pouvaient poser de problèmes avec les routeurs moins rigoureux.

Je rappelle que le même PC avec le même matériel obtient sans problème la connexion sous Win7 (dual-boot)

Le temps que j’écrive, la connexion remarche!! (je lance des ifup à répétition). On prend les paris sur combien de temps elle tient ce coup-ci? :wink:

Que l’interface a bien les flags UP et RUNNING. On peut aussi vérifier avec iwconfig qu’elle est bien associée au point d’accès.

Alors, le ifconfig me donne toujours l’interface up (je vérifie à chaque fois que je décharge/recharge le module, un petit coup d’ifconfig up).

Pour l’association à l’AP, quand la connexion tombe, le champ est vide. Étant donné que le iwscan ne voit même pas l’AP la plupart du temps, c’est cohérent, non?

Sinon je peux vous dire que la connexion a tenu toute la nuit et toute la journée. J’écris depuis le PC en ce moment même! Je n’ai toujours pas trouvé de corrélation avec quoi que ce soit…

Et boum! C’est retombé! Comme les fois précédentes, sans prévenir.