pourquoi lance-t-il mon script plusieurs fois ? [Résolu] [Hotplug] - Logiciels - Linux et OS Alternatifs
Marsh Posté le 07-05-2004 à 21:32:15
ls /sys/bus/usb/devices/
là dedans il doit y avoir plusieurs lien, et il essaie de charger ton driver pour chacun de ces liens (vraiment con, toujours pas régler, pb trouver chez plein de monde mais non, faut surtout pas le régler...)
donc faut que tu trouves le bon, par exemple :
ls /sys/bus/usb/devices/1-1
et quand tu le trouves tu mets au début de ton script :
case $DEVPATH in |
pour le trouver le mieux est de commencer par mettre une ligne "echo $DEVPATH" ou un truc comme ça qui te permettra d'avoir une trace de ce que fait hotplug
sinon ne te gene surtout pas pour faire un bugreport, faut bien que le mainteneur comprenne qu'il y a un truc qui va pas
Marsh Posté le 07-05-2004 à 22:16:25
Ah une réponse, merci...
Alors je suis une grosse-chose-pas-bonne du tout en scripts... Ce que tu me proposes est sensé faire quoi ? ajouter une condition à l'exécution du script ? style: "tu fais ce qui suit en cas d'action dans le périphérique, et seulement si ce périphérique est /bus/usb/devices/1-1", c'est ça ?
Mon script, c'est celui du paquet debian du speedtouch, et il finit par
Code :
|
, tout ça précédé de la "description" de load_firmware, de start_networking et setup_remover . Comment puis-je intégrer ce que tu me dis dans ce script ? quelque chose du style
Code :
|
?? Je n'y connais rien, mais ça me paraît bizarre... il manque un esac déjà si je pige bien un minimum... En fait, je verras bien un
Code :
|
mais je ne sais pas du tout si ça existe . Serait-ce trop te demander d'être plus précis pour le pauvre inculte que je suis
Autre chose d'ailleurs... ls /sys/bus/usb/devices/ ne me donne que "/sys/bus/usb/devices/". Par contre dans /sys/bus/usb, j'ai des répertoire 001 002 003 004, et le 003 contient deux fichiers 001 et 003. Pourquoi on n'a pas la même architecture de fichiers toi et moi ? je suis en 2.6.5 et toi ? il y a eu un changement récent ? enfin bref, le speedtouch m'est donné comme 003 sur le bus 003 quand je fais cat /sys/bus/usb/devices ( je le comprends comme ça du moins)... le bus/usb/devices/1-1 que tu proposes devrait donc être changé en /sys/bus/usb/003/003 ?
Marsh Posté le 07-05-2004 à 22:46:32
ReplyMarsh Posté le 07-05-2004 à 23:25:49
Quercus a écrit : cette commande ne me donne rien... |
Et si j'essaie de le coller dans le script c'est l'horreur... Le modem tente de s'allumer, et il meurt. Dingue l'effet de quelques lettres dans un script... Les deux diodes sont éteintes, je peux le débrancher et le rebrancher si je veux, rien n'y fait...
Marsh Posté le 11-05-2004 à 09:42:41
Ah Udok, pourquoi m'as tu abandonné, pourquoi, pourquoi... . Bon j'ai un peu abandonné Hotplug + Speedtouch pour l'instant mais j'aimerais bien réussir à les faire fonctionner, ça serait pas mieux, mais j'aime pas qu'on me résiste, et j'aime pas ne pas comprendre. Il y a un truc qui ne file pas droit dans ma geekitude, et ça me stresse
J'ai essayé de trouver quelque part quelqu'un qui a le même problème, puisque tu dis ( et je te crois ) que c'est un problème connu de Hotplug cette pluri-détection, mais sans grand succès: à peine un thread sur la mailing-liste de Hotplug où le mainteneur dit que la dernière version devrait régler le problème du mec qui a soumis un bug. Tu as un ou deux liens où on parle de ce problème à m'envoyer ?
Et puis je ne suis quand même pas le seul à utiliser un speedtouch et Hotplug si ? Si quelqu'un utilise ces deux là avec bonheur, j'aimerais qu'il le dise, ça me rassurerait . Et on pourrait essayer de voir ce qui ne va pas particulièrement chez moi
Marsh Posté le 11-05-2004 à 09:47:38
moi j'ai abandonné le speedtch sous linux parce qu'il commençait à m'emmerder avec tous ces bug (bug dans usbfs qui fait un joli kernel oops quand tu débranches la bestiole)
bref, quand tu regles un pb, y-en a un autre qui arrive donc ça saoule
et pour être un geek on lit la doc parce que les questions bateau que tu me poses, c'est lourd ...
genre echo $DEVPATH te donne rien ? mais tu regardes où au juste ? j'espere que tu t'attends pas à ce qu'il t'ouvre une popup pour te montrer le message
si tu trouves pas, tu peux aussi faire :
echo $DEVPATH >> /tmp/speedtouch
puis tu lis le fichier quand le boot est fini
Marsh Posté le 11-05-2004 à 10:10:16
Oulah, pas la peine de s'énerver comme ça, je t'agresse pas moi, au contraire.
Je m'attendais pas à ce qu'il m'ouvre un popup mais à ce qu'il me l'affiche effectivement dans le terminal quand je tape la commande dans un terminal: quand tu tapes "echo bonjour", il t'affiche bonjour, je suis pas doué peut-être mais ça paraît pas si illogique que ça. Et en le mettant dans le script je pensais pouvoir retrouver la sortie dans syslog.
Et on peut être geek sans tout connaître et même sans être doué. C'est qu'il serait vexant le bougre. Je comprends bien que c'est énervant les questions bateaux, mais je pense pas être de ceux qui ne lisent rien et posent la question sans avoir cherché. J'oublie parfois de regarder un syslog, mais c'est parceque je pars sur une fausse piste et que je ne pense même pas que la réponse à mon problème peut se trouve dedans... Enfin bref, tout ça pour dire que j'ai des excuses .
Je vais tenter de mettre la sortie d'echo dans un fichier comme tu le suggères, on verra. Mais comme je le disais plus haut, l'ajout de echo dans le script avait un effet assez étrange... demander la sortie dans un fichier changera peut-être ça... Je tente ce soir.
Merci quand même de t'intéresser à mon problème, malgré ma lourdeur.
Marsh Posté le 11-05-2004 à 10:26:55
en fait le echo ne s'affiche pas dans syslog mais dans une console (en général tty1), donc faut trouver le bordel dans les messages de boot, ce qui est pas forcément évident
moi pour les voir je démarrais en runlevel 1, comme ça ils étaient plus facile à trouver, mais la redirection dans un fihier est plus pratique
et je gueule parce que le rediriger dans un fichier tu aurais pu le trouver tout seul
Marsh Posté le 11-05-2004 à 13:41:57
http://lkml.org/lkml/2004/5/11/79
faut vraiment être patient avec le speedtch quand même
Marsh Posté le 11-05-2004 à 21:10:24
Hop, j'ai du neuf: j'ai donc essayé et enfin réussi ce que tu me proposais, et voici le résultat
Code :
|
Ca c'est la sortie de echo $DEVPATH, après avoir inséré cette commande dans le script speedtouch de Hotplug, pour un seul démarrage ( et trois process modem_run apparaissent dans syslog)...
Je m'appretais à te demander si le morceau de script que tu proposais résoudrait le problème ( puisque j'avais là aussi trois fois la même chose à un poil près...) quand je me suis dit que j'allais tenter le noyau 2.6.6, histoire de... et hop, la sortie de echo $DEVPATH donne
Code :
|
et je n'ai plus mes trois modem_run dans le syslog. Magique...
Bon par contre j'ai le même message d'erreur que le mec dont tu as balancé le sujet, mais la connexion est toujours là, comme pour lui, alors je m'inquiète pas pour l'instant...
Juste par curiosité, pour apprendre un peu, et si ça t'énerve pas trop, comment aurais tu intégré la condition sur DEVPATH dans mon script ?
Marsh Posté le 07-05-2004 à 20:54:28
Salut,
Mon problème est le suivant: ma connexion ADSL ne se lance qu'une fois sur 3, une fois ça marche, une fois ça marche pas tout dépend du bol que j'ai... Tout ça manque un peu de la fiabilité habituelle de mon OS préféré.
J'ai fini après bien des recherches et quelques tests par isoler le problème ( si j'avais commencé par regarder syslog, ça serait allé plus vite...): il vient donc de Hotplug, qui est sensé charger le firmware du modem puis lancer la connexion par pppd.
Le script de Hotplug est ok, il accomplit toutes ces tâches très bien, je l'ai testé en dehors de Hotplug, c'est à dire que je le lance au démarrage, après l'avoir placé dans init.d.
Par contre, dès que je le replace dans Hotplug (qui est alors chargé de le lancer à la connexion de mom modem) ça chie, et voilà pourquoi
Quand c'est Hotplug qui lance le script, il essaie de le lancer plusieurs fois !!! Alors forcément ça ne plaît pas... Est-ce que quelqu'un aurait une petite idée du pourquoi du comment ? Et surtout de la façon de remédier au problème... Comment puis-je dire à Hotplug de lancer le script calmement UNE SEULE fois, et de laisser faire ensuite, sans s'énerver et relancer tout ça des milliers de fois ? Il me fait penser à ces gens un peu agés que je connais et qui cliquent comme des malades sur une icône pour lancer un truc qui met un peu de temps à s'afficher et qui s'étonnent de voir s'ouvrir tout d'un coup des milliers de fenêtres
Message édité par Quercus le 20-07-2004 à 07:44:41