Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Force OFF/ON un clavier USB pour led ajoutée OFF (mode dodo)
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
pti-rem
Guru
Guru


Joined: 14 Oct 2011
Posts: 472

PostPosted: Fri Aug 21, 2020 2:41 pm    Post subject: Force OFF/ON un clavier USB pour led ajoutée OFF (mode dodo) Reply with quote

Bonjour,

J'ai mis deux dispositifs USB souples d'éclairage à led - un de chaque côté - sur mon clavier Mac Book Pro M7803 pour aider mes yeux lors de la saisie dans la pénombre.
C'est très efficace :-) Ces dispositifs ont une puissance absorbée de 1 Watt chacun d'après la fiche du produit.

Ce clavier est branché sur un Uni Class Technology Co., Ltd 2Port KVMSwitcher (10d5:55a2)

Le KVMSwitcher est connecté depuis un hub alimenté connecté à mon transportable n73sm.

Code:
rem@n73sm ~ $ lsusb
Bus 002 Device 012: ID 10d5:55a2 Uni Class Technology Co., Ltd 2Port KVMSwitcher
Bus 002 Device 011: ID 046d:c077 Logitech, Inc. M105 Optical Mouse
Bus 002 Device 013: ID 05ac:0205 Apple, Inc. Extended Keyboard [Mitsumi]
Bus 002 Device 010: ID 05ac:1002 Apple, Inc. Extended Keyboard Hub [Mitsumi]
Bus 002 Device 009: ID 058f:9254 Alcor Micro Corp. Hub
Bus 002 Device 008: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 002 Device 006: ID 04cf:8819 Myson Century, Inc. USB 2.0 SD/MMC Reader
Bus 002 Device 004: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 002 Device 007: ID 0781:5567 SanDisk Corp. Cruzer Blade
Bus 002 Device 005: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 002 Device 003: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 04f2:b1bb Chicony Electronics Co., Ltd
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
rem@n73sm ~ $


Le Bus 2 semble très occupé alors que les Bus 1 et 3 semblent ne pas avoir de charge. Je m'interroge là dessus.

Je souhaite pouvoir éteindre les dispositifs à led sans avoir à éteindre mon transportable (pour dormir dans le noir)
Je ne souhaite pas avoir à les débrancher à de multiples reprises.

https://forums.futura-sciences.com/electronique/693138-courant-debite-une-prise-usb-pc.html#:~:text=La%20norme%20USB%20limite%20le,mA%20pour%20l'USB%203.0. wrote:
La norme USB limite le courant admissible à 100 mA par défaut, à 500 mA après négociation entre l'hôte (PC) et le périphérique (batterie) pour l'USB 2.0, et cela monte à 900 mA pour l'USB 3.0.

note : https://forums.futura-sciences.com/electronique/693138-courant-debite-une-prise-usb-pc.html#:~:text=La%20norme%20USB%20limite%20le,mA%20pour%20l'USB%203.0.

Je voudrais pouvoir rompre la négociation avec pour effet attendu d'éteindre - par manque de courant - les deux dispositifs souples à led branchés sur le clavier.

Qu'en pensez-vous ?

Merci


Last edited by pti-rem on Wed Aug 26, 2020 10:51 am; edited 5 times in total
Back to top
View user's profile Send private message
pti-rem
Guru
Guru


Joined: 14 Oct 2011
Posts: 472

PostPosted: Fri Aug 21, 2020 3:32 pm    Post subject: Reply with quote

Je vais faire un essai avec uhubctl

https://unix.stackexchange.com/questions/165447/turning-off-power-to-usb-port-or-turn-off-power-to-entire-usb-subsystem
https://github.com/mvp/uhubctl
Code:
n73sm ~ # uhubctl --version
2.2.0-8-g0f6218df
n73sm ~ #

Code:
n73sm ~ # uhubctl
Current status for hub 2-1.3.4.4 [058f:9254 ALCOR Generic USB Hub]
  Port 1: 0103 power enable connect [05ac:1002 Mitsumi Electric Hub in Apple Extended USB Keyboard]
  Port 2: 0303 power lowspeed enable connect [046d:c077 Logitech USB Optical Mouse]
  Port 3: 0303 power lowspeed enable connect [10d5:55a2 No brand 2Port KVMSwicther 1"?]
  Port 4: 0100 power
Current status for hub 2-1 [8087:0024]
  Port 1: 0503 power highspeed enable connect [1a40:0101 USB 2.0 Hub]
  Port 2: 0100 power
  Port 3: 0503 power highspeed enable connect [1a40:0101 USB 2.0 Hub]
  Port 4: 0100 power
  Port 5: 0100 power
  Port 6: 0100 power
Current status for hub 4 [1d6b:0003 Linux 4.19.97-gentoo xhci-hcd xHCI Host Controller 0000:04:00.0, USB 3.00, 1 ports]
  Port 1: 02a0 power 5gbps Rx.Detect
Current status for hub 3 [1d6b:0002 Linux 4.19.97-gentoo xhci-hcd xHCI Host Controller 0000:04:00.0]
  Port 1: 0100 power
Current status for hub 1-1 [8087:0024]
  Port 1: 0100 power
  Port 2: 0507 power highspeed suspend enable connect [04f2:b1bb Chicony Electronics Co., Ltd. USB2.0 2.0M UVC WebCam]
  Port 3: 0100 power
  Port 4: 0100 power
  Port 5: 0100 power
  Port 6: 0100 power
n73sm ~ #

Code:
n73sm ~ # uhubctl -a off -p 1 -l 2-1.3.4.4
Current status for hub 2-1.3.4.4 [058f:9254 ALCOR Generic USB Hub]
  Port 1: 0103 power enable connect [05ac:1002 Mitsumi Electric Hub in Apple Extended USB Keyboard]
Sent power off request
New status for hub 2-1.3.4.4 [058f:9254 ALCOR Generic USB Hub]
  Port 1: 0000 off
n73sm ~ #

Les leds USB du clavier s'éteignent une petite seconde après le retour de la commande et puis elles se rallument.
Ce n'est pas une rupture de la négociation d'alimentation en 500 mA mais juste une coupure d'alimentation qui ne s'effectue que très temporairement.

J'ai déplacé le branchement du KVM Switcher depuis mon hub externe vers une prise USB native du transportable.
Cela ne change pas grand chose.


Last edited by pti-rem on Sun Aug 23, 2020 1:17 pm; edited 1 time in total
Back to top
View user's profile Send private message
pti-rem
Guru
Guru


Joined: 14 Oct 2011
Posts: 472

PostPosted: Fri Aug 21, 2020 4:52 pm    Post subject: Reply with quote

Je me voyais en train de mettre un micro-interrupteur pour le fil rouge d'un adaptateur USB fait maison.

Mais Trop bien !

Il me suffit de commuter le KVM Switcher pour éteindre mes deux lampes...
La deuxième machine qui y est raccordée n'est pas allumée.
Pour le moment.
Back to top
View user's profile Send private message
netfab
Veteran
Veteran


Joined: 03 Mar 2005
Posts: 1896
Location: 127.0.0.1

PostPosted: Sun Aug 23, 2020 7:55 am    Post subject: Reply with quote

Salut,
pti-rem wrote:

Les leds USB du clavier s'éteignent une petite seconde après le retour de la commande et puis elles se rallument.
Ce n'est pas une rupture de la négociation d'alimentation en 500 mA mais juste une coupure d'alimentation qui ne s'effectue que très temporairement.

Probablement le kernel qui relance automatiquement le port USB (suspend/resume).

Tu peux essayer de jouer avec l'interface kernel prévue à cet effet :
Code:

# echo disabled > /sys/bus/usb/devices/usbX/power/wakeup
# echo 0 > /sys/bus/usb/devices/usbX/power/autosuspend_delay_ms


À tester.

https://www.kernel.org/doc/html/v4.18/driver-api/usb/power-management.html
Back to top
View user's profile Send private message
pti-rem
Guru
Guru


Joined: 14 Oct 2011
Posts: 472

PostPosted: Sun Aug 23, 2020 10:12 am    Post subject: Reply with quote

Salut,

Je dois redonner le uhubctl car la numérotation s'est éclaircie.

Code:
n73sm ~ # uhubctl
Current status for hub 2-1.2 [058f:9254 ALCOR Generic USB Hub]
  Port 1: 0103 power enable connect [05ac:1002 Mitsumi Electric Hub in Apple Extended USB Keyboard]
  Port 2: 0303 power lowspeed enable connect [046d:c077 Logitech USB Optical Mouse]
  Port 3: 0303 power lowspeed enable connect [10d5:55a2 No brand 2Port KVMSwicther 1"?]
  Port 4: 0100 power
Current status for hub 2-1 [8087:0024]
  Port 1: 0507 power highspeed suspend enable connect [1a40:0101 USB 2.0 Hub]
  Port 2: 0103 power enable connect [058f:9254 ALCOR Generic USB Hub]
  Port 3: 0507 power highspeed suspend enable connect [1a40:0101 USB 2.0 Hub]
  Port 4: 0100 power
  Port 5: 0100 power
  Port 6: 0100 power
Current status for hub 4 [1d6b:0003 Linux 4.19.97-gentoo xhci-hcd xHCI Host Controller 0000:04:00.0, USB 3.00, 1 ports]
  Port 1: 02a0 power 5gbps Rx.Detect
Current status for hub 3 [1d6b:0002 Linux 4.19.97-gentoo xhci-hcd xHCI Host Controller 0000:04:00.0]
  Port 1: 0100 power
Current status for hub 1-1 [8087:0024]
  Port 1: 0100 power
  Port 2: 0507 power highspeed suspend enable connect [04f2:b1bb Chicony Electronics Co., Ltd. USB2.0 2.0M UVC WebCam]
  Port 3: 0100 power
  Port 4: 0100 power
  Port 5: 0100 power
  Port 6: 0100 power
n73sm ~ #

Code:
n73sm ~ # lsusb | grep 05ac:1002
Bus 002 Device 018: ID 05ac:1002 Apple, Inc. Extended Keyboard Hub [Mitsumi]
n73sm ~ #

J'avais déjà les valeurs disabled et 0 pour /sys/bus/usb/devices/usb2/power/wakeup et /sys/bus/usb/devices/usb2/power/autosuspend_delay_ms

J'ai essayé de jouer avec l'interface kernel, j'ai lu un peu la documentation.
J'ai eu des troubles d'affichage qui m'ont mis la frousse.
J'en ai éteint la machine.

au boot:
n73sm ~ # cat /sys/bus/usb/devices/usb2/power/wakeup
disabled
n73sm ~ # cat /sys/bus/usb/devices/usb2/power/autosuspend_delay_ms
0
n73sm ~ #

Grâce à Linux USB : allumer et éteindre ?
J'ai utilisé /sys/bus/usb/drivers/usb/unbind et /sys/bus/usb/drivers/usb/bind
Pour un débutant comme moi, c'est vraiment simple :

éteindre.sh:
#!/bin/bash
# éteindre.sh

echo '2-1.2.1' | sudo tee /sys/bus/usb/drivers/usb/unbind &> /dev/null

allumer.sh:
#!/bin/bash
# allumer.sh

echo '2-1.2.1' | sudo tee /sys/bus/usb/drivers/usb/bind &> /dev/null

L'alimentation du clavier est coupée par le détachement du périphérique et elle est rétablie à son rattachement.
Ça marche bien. Je n'ai pas encore beaucoup testé. La souris connectée au switcher fonctionne clavier éteint.

Il me reste à mieux identifier le périphérique 05ac:1002 pour avoir sa numérotation sous la forme N-M.a.b de manière automatique.

Dans la page web, il est mentionné :

Le 30 oct. 2011, Stephen Niedzielski wrote:
Je n'ai pas branché un analyseur de protocole pour savoir ce qui se passe réellement dans le bus, mais je sais que la lumière de la souris s'éteint lorsque je le dissocie. J'imagine qu'une couche inférieure interagit avec le contrôleur hôte EHCI pour éteindre le port. Ceci est particulièrement utile pour les périphériques intégrés, tels que les webcams UVC, qui ne semblent jamais fonctionner correctement et qui nécessiteraient sinon un redémarrage du système pour se réinitialiser.
Back to top
View user's profile Send private message
pti-rem
Guru
Guru


Joined: 14 Oct 2011
Posts: 472

PostPosted: Thu Feb 04, 2021 3:53 pm    Post subject: Reply with quote

Pour trouver l'identifiant du périphérique USB, il est possible de comparer la liste de /sys/bus/usb/drivers/usb/ avant et après le branchement.
Ce message est un exemple.

Avant d'allumer mon dock USB-SATA double :
Code:
n73sm ~ # ls -F /sys/bus/usb/drivers/usb/
1-1@  1-1.2@  2-1@  2-1.1@  2-1.1.1@  2-1.1.1.1@  2-1.1.2@  2-1.1.3@  2-1.3@  2-1.3.4@  bind  uevent  unbind  usb1@  usb2@  usb3@  usb4@
n73sm ~ #

Après sa détection dans le système (aucun disque du dock n'est encore monté ; peu importe) :
Code:
n73sm ~ # ls -F /sys/bus/usb/drivers/usb/
1-1@  1-1.2@  2-1@  2-1.1@  2-1.1.1@  2-1.1.1.1@  2-1.1.2@  2-1.1.3@  2-1.3@  2-1.3.4@  4-1@  bind  uevent  unbind  usb1@  usb2@  usb3@  usb4@
n73sm ~ #

Mon dock est dans le bus USB avec l'identifiant 4-1

Après l'utilisation et le démontage complet, il serait possible d'utiliser cette commande pour le détacher du bus USB :

Code:
$ echo '4-1' | sudo tee /sys/bus/usb/drivers/usb/unbind

Ce qui par la même occasion fait disparaître de Thunar le ou les périphérique(s) disque(s) du dock, dans mon environnement.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum