Saya memiliki lampu usb yang secara khusus saya beli untuk mematikannya secara terprogram pada waktu tertentu, jadi saya perlu menghapus daya ke port usb-nya.
Saya percaya saya memiliki usb-hub di usb6. Lampu terhubung ke salah satu port di hub ini:
#myhost$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 008 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
...
...
Bus 008 Device 006: ID 050d:0234 Belkin Components F5U234 USB 2.0 4-Port Hub
Inilah yang saya coba:
Ada dua solusi di sini , yang pertama menyarankan:
echo disabled > /sys/bus/usb/devices/usb1/power/wakeup
echo suspend > /sys/bus/usb/devices/usb1/power/level # turn off
tapi saya mengerti write error: Invalid argument
ketika mencoba menulis ke /sys/bus/usb/devices/usb1/power/level
:
$sudo bash -c 'echo disabled > /sys/bus/usb/devices/usb6/power/wakeup'
$echo suspend|sudo tee /sys/bus/usb/devices/usb6/power/level suspend
tee: /sys/bus/usb/devices/usb6/power/level: Invalid argument
$sudo bash -c 'echo suspend> /sys/bus/usb/devices/usb6/power/level'bash: line 0: echo: write error: Invalid argument
Solusi kedua:
sudo bash -c 'echo 0 > /sys/bus/usb/devices/usb6/power/autosuspend_delay_ms; echo auto > /sys/bus/usb/devices/usb6/power/control'
yang tidak mematikan daya ke perangkat usb-hub.
Saya juga mencoba mengikuti ini :
Tetapi hasil dari lsusb -t
hanya hang:
$lsusb -t
4-1:0.0: No such file or directory
4-1:0.1: No such file or directory
^C
Yang mencegah saya menggunakan metode ini untuk mendapatkan bagian '2-1.1' untuk ini:
echo '2-1.1' > /sys/bus/usb/drivers/usb/unbind
Apakah ada cara alternatif untuk mendapatkan informasi ini?
Atau, apakah ada cara untuk mematikan daya ke seluruh subsistem usb? Sesuatu seperti modprobe -r usb_etc
?
Kernel saya adalah:
$uname -r
3.2.0-4-amd64
lsusb -t
panggilan dan saya tidak menemukan sesuatu yang berguna dalam waktu saya harus men-debug itu. Jujur saya tidak punya waktu sekarang untuk menemukan bug di lsub, dan saya bahkan tidak bisa mereproduksi sekarang, jadi itu mungkin tergantung pada perangkat yang terhubung. Saya harus menunggu untuk pulang untuk mencoba memperbanyaknya.