Discussion Hotspot Login Manager

Tags: #<Tag:0x00007fd3c357ca08> #<Tag:0x00007fd3c357c7b0>

Le log que tu me donnes là c’est quand l’accès internet marche (parce que tu t’es reconnecté manuellement).
Ce qui est intéressant c’est les dernières lignes de log au moment où ça ne marche plus (tout en attendant une minute après la coupure internet, le temps d’avoir une entrée “Authenticator thread woke up.”).

Cela dit, la boucle principale a l’air de tourner correctement donc je soupçonne plutôt le code qui gère spécifiquement SFR.
Un test à faire : attendre que tu n’aies plus de connexion internet, redémarrer le service et aller voir les logs.

A quelle étape ça bloque ?
J’aimerai t’aider aussi.

Techniquement, les lignes de log que j’ai donné sont au complet - même au moment où ça ne marche pas (cf quand je relance sfr à la main). Ou sinon, je ne sais pas où chercher.
Je trouve ici le “Authenticator thread woke up” dans les logs d’hier. Je n’ai pas encore de log pour aujourd’hui.

[quote]Oct 23 00:24:56 obsidian Hotspot Login Manager[17442]: DEBUG: Authenticator thread woke up.
Oct 23 00:24:56 obsidian Hotspot Login Manager[17442]: DEBUG: Checking available wireless interfaces: [‘wlan0’]
Oct 23 00:24:56 obsidian Hotspot Login Manager[17442]: DEBUG: About to ping «http://www.google.com/404» in order to check for internet access.
Oct 23 00:25:01 obsidian Hotspot Login Manager[17442]: DEBUG: Ping URL «http://www.google.com/404» was not redirected. We have internet access.
Oct 23 00:25:01 obsidian Hotspot Login Manager[17442]: DEBUG: Going to sleep for 5 seconds.
Oct 23 00:25:06 obsidian Hotspot Login Manager[17442]: DEBUG: Waiting for the next event.[/quote] Donc ta dernière remarque serait pertinente : le problème viendrait du code de sfr qui aurait changé :
le programme avait cessé de fonctionner tout-à-coup, alors que je n’avais pas fait de upgrade majeur avant, ni modifié quoique ce soit.

Pour le test que tu proposes, je renvoie définitivement les mêmes logs. Ceci dit, je les zyeute si jamais je trouve autre chose.

#Nicholas01, merci pour ton aide. Vraiment tout est dit en haut : les logs et un “hotspot-login-manager --notifier&” indiquent qu’il tourne, mais la connexion/reconnexion au portail ne se fait pas.

Ah c’est plutôt chiant là…
Apparemment quand tu n’es pas connecté, SFR ne force plus une redirection HTTP vers son portail comme ils faisaient avant (ou bien le portail a changé d’adresse)… :open_mouth:

Quand tu es connecté au hotspot mais que tu n’as pas d’accès internet (pas encore rentré le mot de passe et/ou session expirée), si tu essayes d’aller sur un site tu dois voir le portail hotspot SFR s’afficher à la place du site demandé. La question étant : qu’est-ce qu’il y a marqué précisément dans la barre d’adresse du navigateur lorsque tu te retrouves sur le portail du hotspot ?

Voici donc l’adresse du portail qui doit me diriger vers une recherche sur google.

J’ai aussi copié le code de la page que j’ai mis sur ce pastebin

Et les logs ne montrent rien de nouveau depuis ceux que j’ai collé plus haut.

Ok… Bon je te tiens au courant, faut que je finisse et que je débug la gestion de hotspot.wifi.sfr.fr (dans la version que tu as il prend uniquement en compte hotspot.neuf.fr).

Re,

En fait le plus gros avait déjà été fait, simplement c’était resté sur mon disque… Juste quelques petits ajustements à faire et des tests (forcément).
debian-fr.org/portage-freewi … ml#p412936

Sinon tu avais raison, y’avait bien un souci dans la procédure de désinstallation, c’est corrigé. :wink:

Dis-moi si ça fonctionne avec la nouvelle version.

En fait le plus gros avait déjà été fait, simplement c’était resté sur mon disque… Juste quelques petits ajustements à faire et des tests (forcément).
debian-fr.org/portage-freewi … ml#p412936

Sinon tu avais raison, y’avait bien un souci dans la procédure de désinstallation, c’est corrigé. :wink:

Dis-moi si ça fonctionne avec la nouvelle version.

Hum … j’avais pas vu qu’il y avait les m-a-j à la suite du tuto … ^^
Bon ! ben c’est installé, le log me dit que le service tourne. J’attends une autre déconnexion (une ou deux) pour voir vraiment ce qu’il en est.

Un autre petit point : tu évoquais au début du tuto que:

[quote]D’ailleurs il s’agit d’une version avec le débogage activé donc ne vous étonnez pas de la quantité d’infos qu’il écrit dans le log ![/quote]J’avais remarqué plusieurs fois avoir un problème de /var/log tellement gros qu’il me bouffait toute la place de la partition système. Je n’avais pas réussi à déterminer si c’était dû au cache d’aptitude ou si hotspot écrivait trop de lignes. Dans le cas éventuel où on voudrait couper/réactiver la version débug, qu’est-il possible de faire ?

Le débug n’est plus activé par défaut depuis un bon moment (d’où le fait que je t’ai demandé de mettre _forceDebug à True). Faut que je change le tuto… :mrgreen:
Merci de me l’avoir fait remarquer. :wink:

Aaaah ! c’était donc ça ! (pour le débug)

Bon, j’ai eu libnotify qui s’est manifesté et m’a annoncé une connexion succesfull. ça a l’air d’être bon, ça ! J’y reviens si jamais c’était une fausse alerte.

Merci pour ton aide, et bravo pour ton outil qui marche bien.
Quid d’un package un peu plus officiel ? un .deb ?

Cool c’est une bonne nouvelle. :slightly_smiling:

[quote=“jarlax”]Merci pour ton aide, et bravo pour ton outil qui marche bien.
Quid d’un package un peu plus officiel ? un .deb ?[/quote]
Merci pour tes encouragements, mais pour être honnête je n’ai pas envie d’investir plus de temps dans la version Python (mis à part les corrections sur le tas comme on vient de faire), je trouve que c’était une erreur de ma part de choisir ce langage. Quand tu vois que ça faisait des mois que j’avais le correctif pour ton problème dans mes cartons mais que je n’avais pas fait l’effort d’y passer une heure pour le finaliser… :unamused:
Je pense plutôt le refaire en Perl dès que j’aurai un peu de temps pour souffler (en ce moment c’est assez chargé), ça m’évitera envie de pleurer à chaque fois que je regarde le code. :mrgreen:

Ne te méprends pas, le logiciel n’est pas abandonné hein (la preuve, j’suis toujours là :wink:), juste que je supporte plus Python : l’autre jour j’ai encore ressorti un vieux script Python d’un placard et forcément il n’était plus compatible avec rien. Du coup lui aussi je vais le porter en Perl, ça réglera la question. :013

Ben ça tourne encore. Je laisse un mot plus tard dans la soirée, pour info.

Sans être programmeur, j’ai déjà un peu regardé quelques tutos (d’assez loin certes). J’apprends donc que tu refondrais plutôt ton logiciel en Perl plutôt que de continuer en Python. C’est intéressant, et à considérer si jamais je m’y met…

En tout cas, c’est cool que le projet se poursuive. On le trouvera peut-être un jour dans les dépots officiels, qui sait ^^

Ce qui me gonfle avec Python, c’est les changements incessants d’API et les incompatibilités qui en résultent : mon code Python 3.1 n’est pas 100% compatible avec Python 3.2. Comme par hasard la 3.1 n’est présente que dans Squeeze et pas dans Wheezy, tandis que la 3.2 c’est l’inverse. Et dans deux ans et demi ça sera quelle version de Python sur Jessie (Wheezy+1) ? Faudra que je m’amuse à modifier le code à nouveau parce que les dévs qui font Python ne sont pas foutus de garder des APIs stables ? Très peu pour moi, j’ai autre chose à faire…
Au moins avec Perl ça sera beaucoup plus stable.

Poum ! ça marche ! J’ai eu un cas d’attente de reconnexion, hotspot a fait son travail.
Reste plus qu’à le mettre en démarrage automatique (j’utilise BUM pour gérer les services), et c’est bon.

Avec ton histoire, du coup, je suis allé me trouver ce tuto… ça mettra le feu aux poudres, qui sait !

[quote=“jarlax”]Poum ! ça marche ! J’ai eu un cas d’attente de reconnexion, hotspot a fait son travail.
Reste plus qu’à le mettre en démarrage automatique (j’utilise BUM pour gérer les services), et c’est bon.

Avec ton histoire, du coup, je suis allé me trouver ce tuto… ça mettra le feu aux poudres, qui sait ![/quote]

ça marche pour de vrai?

Je reviens avec un autre point : concernant le temps entre deux reconnexion.
Je ne connais pas les caractéristiques techniques qui font ce laps de temps de 1mn.

Je dit cela car je me retrouve devant un 'tit problème que je nevois pas comment contourner : je tente de télécharger un iso d’une debian via un lien direct. Je préfèrerais utiliser un torrent, mais le hotspot le filtre, et je n’ai pas d’accès ssh sur un serveur externe. Donc, avant d’avoir terminé le téléchargement, le portail SFR réinitialise la connexion qui coupe le transfert, me le remettant à zéro (il ne me permet pas de repartir d’où j’en étais). S’il y a une solution, soit via le service, soit par une autre voie, je suis preneur.

#nicholas1, oui c’est réglé.

Dans /etc/hotspot-login-manager/daemon.conf tu as l’entrée ping_interval = 60 que tu peux modifier.
Cela dit je ne sais pas si ça réglera ton problème. Le souci avec le hotspot SFR c’est que tu ne peux pas renouveler le “bail” tant qu’il n’a pas expiré de lui-même donc la coupure est inévitable. Si une reconnexion plus rapide qu’une minute résout ton problème, tant mieux, mais dans le cas contraire t’es marron : il n’y a malheureusement rien que je puisse faire pour éviter la déconnexion. :frowning:

Edit : si j’ai bonne mémoire wget a des options pour reprendre le téléchargement où il l’avait laissé (voir le man). Ça pourrait peut-être te dépanner ?

Ah ! pas bête wget ! je pense aussi à rsync tout à coup…

Bah j’ai aussi pensé à ton option --reauth que je viens d’appliqué. Il me dit “a reauthentification just happened, the daemon will handle your request as soon as possible”; je regarde si ça arange la sauce avant de sortir l’artillerie et/ou de regarder ce ping_interval

En fait, --reauth anticipé a suffit. Je vais regarder quand même les autres astuces, histoire de.

En fait --reauth ne fait que raccourcir ponctuellement le ping_interval. Un autre nom possible pour --reauth serait --ping-now, ça correspondrait peut-être mieux à ce qu’il fait réellement. :wink:
Donc si --reauth est suffisant, raccourcir le ping_interval serait sûrement une bonne solution.