Mise hors tension d'un seul périphérique usb... encore une fois
Je sais que ce sujet a été discuté à maintes reprises, mais aucune réponse ne m'a aidé. Pour le record, je suis sous Debian.
Le deal, c'est: j'ai acheté un alimenté par usb, lampe led, qui est très simple et ne dispose même pas d'un interrupteur on/off (il fonctionne et est toujours). Je veux être en mesure de l'activer/désactiver via la ligne de commande. Voici ce que j'ai essayé:
echo on > /sys/bus/usb/devices/usb1/power/level # turn on
echo suspend > /sys/bus/usb/devices/usb1/power/level # turn off
qui est ce que j'ai trouvé sur de nombreux forums. Le tournant "sur les" œuvres", mais la "suspension" des rendements
-su: echo: write error: Invalid argument
pour chaque usbN. J'ai aussi essayé
echo "0" > "/sys/bus/usb/devices/usbX/power/autosuspend_delay_ms"
qui ne donnent pas une erreur, mais ne pas faire quelque chose (encore une fois, pour chaque usbN)
essayer
echo "usb1" > /sys/bus/usb/drivers/usb/unbind
ne fonctionne que pour les plus "intelligents" les appareils, comme le clavier, la souris, ou la clé usb wifi carte. Ce que je veux dire, c'est que seulement tyhose appareils sont éteints, d'autres usbN ne donnent pas une erreur, mais la lampe ne va jamais éteint.
le contenu de /sys/bus/usb/devices/sont
1-0:1.0 1-1:1.0 1-2:1.0 1-2:1.2 2-0:1.0 4-0:1.0 4-1:1.0 6-0:1.0 8-0:1.0 8-2:1.0 usb2 usb4 usb6 usb8
1-1 1-2 1-2:1.1 1-2:1.3 3-0:1.0 4-1 5-0:1.0 7-0:1.0 8-2 usb1 usb3 usb5 usb7
j'ai essayé de faire
echo device_name > /sys/bus/usb/drivers/usb/unbind
avec chaque un seul d'entre eux, mais seulement les appareils usbN et N-M réagir, ceux de la forme n-m:x.y de rendement
tee: /sys/bus/usb/drivers/usb/bind: No such device
(j'ai essayé de mettre en, par exemple, "1-0:1.0", "1-0\:1.0" et "1-0\:1.0", ont tous donné le même résultat).
Une dernière chose, ce qui est démontré, après l'exécution de
lsusb -t
ne change pas quand je l'ai brancher ou débrancher la lampe.
Des idées?
OriginalL'auteur user2772761 | 2013-09-12
Vous devez vous connecter pour publier un commentaire.
Désactiver l'ID de l'appareil 2-1:
echo '2-1' |sudo tee /sys/bus/usb/drivers/usb/unbind
Tourner ID de périphérique 2-1:
echo '2-1' |sudo tee /sys/bus/usb/drivers/usb/bind
Dans mon cas, l'utilisation de device ID 2-1 contrôle l'alimentation de ma clé usb, et comme une conséquence des contrôles de la lumière.
Espère que cette aide,
Su
OriginalL'auteur
Si tout ce que vous voulez faire est de réinitialiser un périphérique USB pour le fixer une fois qu'il est dans un état rompu, puis à l'aide de la lier/délier un nouveau nom: usbfs fichiers spéciaux peuvent être un peu de douleur (depuis les Identifiants de l'appareil peuvent changer, et ils sont un peu difficile à identifier précisément les si vous ne voulez pas relier d'autres appareils). Dans ce cas, j'ai trouvé ça beaucoup plus facile à utiliser, le vendeur et l'Id de produit donnée par
lsusb
avecusb_modeswitch
. Par exemple, si j'identifie mon adaptateur sans fil à l'aide de:Je réinitialiser l'adaptateur sans fil à l'aide de:
Si vous avez plus d'un périphérique connecté avec le même vendeur et de l'Id de produit puis usb_modeswitch offre de bus et de l'appareil nombre de drapeaux. Pour l'adaptateur sans fil exemple ci-dessus, j'ajouterais
-b 1 -g 42
les drapeaux.Le usb_modeswitch méthode ne fonctionne pas pour moi avec une problématique clé USB modem - normalement, il vient que /dev/ttyUSB0, 1 et 2, mais après la usb_modeswitch reset il revient en tant que /dev/ttyUSB1, 2 et 3, qui a cassé le codé en dur association dans /etc/ppp/peers/<connexion>. J'ai trouver j'ai besoin d'une pause d'environ 10 à 15 secondes entre les délier et de lier à l'éviter.
OriginalL'auteur
Cela ne fonctionnera pas pour votre lampe. Cette désactiver est juste logique. C'est à l'appareil de traiter avec le pouvoir. Et votre lampe ne rien faire (
OriginalL'auteur
Essayer ce code, il fonctionne pour moi (Seulement pour enraciné)
et lier de nouveau ce faire
OriginalL'auteur