J’ai une question très rapide, sachant que cette commande éteint le port usb 4 sudo ./hub-ctrl -h 0 -P 3 -p 0
en remplaçant le dernier 0 par un 1 on ralume le port 4 sudo ./hub-ctrl -h 0 -P 3 -p 0
Je crois avoir compris que si on utilise sleep 10 (phrase) la commande affiche dans 10 seconde la phrase souhaitée, mais la commande du dessus m’a l’air plus complexe
Si j’écris : While (true) do hub-ctrl -h 0 -P 3 -p 0
Cette commande va donc s’exécuter indéfiniment. Si elle tourne en continue pratiquement tout le temps est-ce dérangeant ou dangereux ?
Une fois lancée comment puis-je la stoper ?
Je ne sais pas comment fonctionne hub-ctrl, mais je ne vois pas l’intérêt d’exécuter cette commande en permanence.
Logiquement, tu la lance quand tu veux stopper ton port USB et tu la relance quand tu veux le faire redémarrer.
Sinon pour couper ta commande cela dépend de ton langage, c’est du quoi? du Shell? Dans ce cas là il te faudra créer un fichier executable (en .sh, avec un chmod +x tonfichier.sh). Puis pour le couper un ctrl + c dans la console.
J’utilise cette commande pour éteindre un disque dur auto alimenté à distance en stopper l’alimentation du port usb où il est connecté.
Cependant au bout d’un certain moment le disque se rallume (de façon assez aléatoire entre 30 seconde et 8 min je dirait).
Je voulais donc que la commande s’exécute continuellement et la stopper pour réactiver mon disque dur.
sa va afficher le manuel de la commande et ces option et nous donner les indication sur les option que tu utilise
non sa fera rien tu a pas de fin a la boucle tu aura une erreur de syntaxe
les 2 on ne fait pas de boucle infini pour bloquer un procces !!!
par se que , vla la fuite mémoire que sa va t’engendrer ,
pour te doner un exemple c’est comme si tu avais un bouton poussoir(pas un interrupteur ) cher toi pour allumer une lampe est que restait apuyer desus pour la laisser allumer , c’est débile on est d’acord et sa racourci la duré de vie de l’installation et sa de fatigue le doigt, bien la c’est pareil le faite d’avoir une boucle infini consome la RAM et la resource du CPU ,c’est ce qu’on apelle une fuite mémoire , tecniquement le PI a une sécuriter et il va lui même arrêter le process qui lui bouffe trop de resource , par se qu’il va finir par planter ,c’est d’ailleur pour sa que sa doit se ralumer .
une fois que tu lance la commande sa devrait eteindre le port j’usque quand tu le ralume
la solution de @Gpapig est la bonne [quote=« Gpapig, post:4, topic:1959 »]
tu la lance quand tu veux stopper ton port USB et tu la relance quand tu veux le faire redémarrer.
[/quote]
c’est du shell oui
a condition seulement que celui si soit lier a un terminal car sinon ton ctrl + C ne sers a rien ,il faudra tuer le procces manuellement ,meme si tu pieges le signal
j’ai tapé la commande mais il me rend « command not found »[quote=« jojo, post:6, topic:1959 »]
non sa fera rien tu a pas de fin a la boucle tu aura une erreur de syntaxe
[/quote]
effectivement erreur de syntaxe
Je m’en doutais un peu mais je demandais au cas ou
Et bien normalement oui mais ça n’est pas la cas apparemment, j’ai cru lire quelque part que ça venais peut etre du fait que mon disque dur est en 3.0 ( pas sur du tout de ce que j’avance )
Au final je pense que ça ne me sera pas utile car il faut démonter le disque avant de couper le port usb et comme il se relance de façon totalement aléatire le disque dur de remonte donc je ne peu plus couper le port usb directement…Assez embêtant.
J’ai vu aussi qu’on pouvait couper directement l’alimentation des port usb via echo "0" > /sys/bus/usb/devices/<Nom phériphérique>/power/state j’essayerai ça demain je n’ai pas beaucoup de temps pour le moment
ok il y a peut etre pas de manuel avec help ou c’est pas la comande
attens va pas faire n’importe quoi ,faut mieux repérer manuellement,
car ta commande sert a écrire 0(se qui pour effet de l’éteindre) dans le dossier state ,faut tu soit bien sur du périphérique avant de faire nimple car la on est des les bus et donc il faut que tu connaisse son identifiant car c’est pas le nom que tu a lui donner
une astuce : tu te rends dans le dossier /sys/bus/usb/devices/ avec ton disque disque débrancher
pour voir si sa se ralume , tu remplace tondisque par le chemin de celui si et tu corrige si jme sui planté dans la commande avec hub-ctrl car je la connais pas
C’est ce que je ne comprend pas justement, je viens d’essayer, avant je faisait :
et ensuite
j’ai donc essayé de faire les deux en même temps comme tu me l’a indiqué [quote=« jojo, post:10, topic:1959 »]
umount tondisque && sudo ./hub-ctrl -h 0 -P 3 -p 0
[/quote]
Mais la même chose se passe: le disque se démonte, puis s’éteint au bout de quelques seconde. Chrono lancé, exactement 7 min 44 avant qu’il ne se rallume …
D’accord merci beaucoup, ça ne presse pas, fais ça quand tu auras le temps.
De mon côté j’ai l’impression que le port est éteint électriquement mais lorsque que je branche mon disque dessus il se rallume. Demain j’essayerai avec une clé usb pour voir si les résultats sont les mêmes et ainsi savoir si le « dysfonctionnement » ne viendrai pas de mon disque dur.
J’essayerai ensuite: [quote=« jojo, post:8, topic:1959 »]
echo « 0 » > /sys/bus/usb/devices/<Nom phériphérique>/power/state
[/quote]
donc:
-P c’est le port de 0 à 3 , 0 corespond au port usb n°1 et le 3 au numéro 4
-p c’est la valeur 0 c’est éteint , 1 allumer (c’est un switch )
-h c’est le Hub vu qu’il y en pas 0
J’ai essayé cette commande mais elle me rend un « permission denied »
Peut être faut-il que j’active les droits avec chmod sur chaque parents de /state dans le chemin d’accès ? je ne crois pas que ça soit très recommandé sachant que je ne connais que chmod 777 … il faudrai que je me renseigne sur comment marche exactement la commande chmod
J’avais déjà l’explication quelque part je crois mais merci
J’ai donc branché une clé usb quelconque, ensuite j’exécute [quote="]
sudo ./hub-ctrl -h 0 -P 3 -p 0
[/quote]
le port où se trouve la clé est donc désactivé et je ne peu plus accéder à la clé. Et cette fois ci, la clé ne se remonte pas, enfin le port ne se réactive pas du coup.
Par contre si je débranche la clé et la rebranche sur le même port, le port se réactive et je peut de nouveau ré accéder à ma clé USB.
Je pense donc que dans le cas de mon disque dur, le raspberry crois qu’à un moment donné je débranche le disque dur et le rebranche, alors, le port usb se ré active et le disque dur se remonte. Peut petre un problème lié à l’usb 3.0 comme je l’avais lu quelque part il me semble… ( c’est mon hypothèse pour l’instant et je ne vois pas trop comment y remédier )
Voilà tout ce que j’ai pu faire pour le moment
J’en profite pour te demander autre chose :
Pour je ne sais quel raison ( sans doute tout mes test…), pour la deuxième fois mon disque se remonte en MONDISQUE1, et tout a lheure il se remonte en MONDISQUE2. J’ai donc du renommer le dossier de stockage de OwnCloud à deux reprise. Ca n’est as très dérangeant mais dans /media/pi , les dossier MONDISQUE et MONDISQUE1 sont toujours présent, certe vide car plus relié à mon disque mais je ne peu pas les supprimer, il me dis : permission denied
Une idée ?
Ca fait beaucoup d’interrogation plus vraiment en rapport avec le titre du sujet de départ, je m’en excuse.