Czy istnieje sposób, aby całkowicie wyłączyć (określone) urządzenie USB za pomocą oprogramowania z komputera z systemem Linux?
Chcę tego użyć do wyłączenia zasilania (aby dioda LED była wyłączona) (pojedynczej) pamięci USB.
Czy znasz metodę, aby to osiągnąć? Np. Używając / sys / bus / usb lub podobnego?
linux
usb
usb-flash-drive
power
usb-storage
Daniel Jour
źródło
źródło
echo 1 > /sys/block/sd<letter[s]>/device/delete
... (może to być wysunięcie ...) MOŻE to spowodować, że urządzenie zostanie (miękkie) „wyłączone” ... (jeśli działa na dyskach, nie będzie działać na urządzeniach innych niż dyskowe ..)Odpowiedzi:
Jeśli na komputerze działa stare jądro, możesz
echo suspend > /sys/bus/usb/devices/X-X/power/level
wymusić zawieszenie urządzenia.Jednak od wersji 2.6.32 nie jest to już możliwe:
(z http://www.kernel.org/doc/Documentation/usb/power-management.txt )
Myślę, że najlepszą rzeczą, jaką możesz zrobić, jest usunięcie powiązania urządzenia ze sterownikiem , aby nie było na nim żadnej aktywności, a następnie skonfigurowanie urządzenia do automatycznego zawieszania tak szybko, jak to możliwe (
echo auto > /sys/bus/usb/devices/X-X/power/control && echo 0 > /sys/bus/usb/devices/X-X/power/autosuspend_delay_ms
).Jednak, o ile rozumiem specyfikacje USB , nawet jeśli zawiesisz urządzenie, pozostanie trochę zasilania na porcie, więc wyłączenie diody LED może być niemożliwe, jeśli jest zasilane przez „głupi” schemat (tj. Bezpośrednio podłączony do + 5 V i GND szpilki).
źródło
Korzystanie z polecenia wysuwania powinno działać.
Uruchom
eject /dev/<devicename>
i powinien się wyłączyć.źródło
eject
działa tylko z nimi.