Tôi có một đèn usb mà tôi đặc biệt mua để tắt nó theo chương trình tại một thời điểm nhất định, do đó tôi cần phải rút nguồn điện tới cổng usb của nó.
Tôi tin rằng tôi có một trung tâm usb tại usb6. Đèn được kết nối với một trong các cổng trong trung tâm này:
#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
Đây là những gì tôi đã thử:
Hai giải pháp ở đây , gợi ý đầu tiên:
echo disabled > /sys/bus/usb/devices/usb1/power/wakeup
echo suspend > /sys/bus/usb/devices/usb1/power/level # turn off
nhưng tôi nhận được write error: Invalid argument
khi cố gắng viết thư cho /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
Giải pháp thứ hai:
sudo bash -c 'echo 0 > /sys/bus/usb/devices/usb6/power/autosuspend_delay_ms; echo auto > /sys/bus/usb/devices/usb6/power/control'
tắt nguồn cho thiết bị trung tâm usb.
Tôi cũng đã cố gắng làm theo điều này :
Nhưng đầu ra của lsusb -t
chỉ bị treo:
$lsusb -t
4-1:0.0: No such file or directory
4-1:0.1: No such file or directory
^C
Điều này ngăn tôi sử dụng phương pháp này để có được phần '2-1.1' cho điều này:
echo '2-1.1' > /sys/bus/usb/drivers/usb/unbind
Có một cách khác để có được thông tin này?
Ngoài ra, có cách nào để tắt nguồn cho toàn bộ hệ thống con usb không? Một cái gì đó như thế modprobe -r usb_etc
nào?
Nhân của tôi là:
$uname -r
3.2.0-4-amd64
lsusb -t
cuộc gọi và tôi không tìm thấy bất cứ điều gì hữu ích trong thời gian tôi phải gỡ lỗi nó. Tôi thực sự không có thời gian để tìm lỗi trong lsub và thậm chí tôi không thể tái tạo nó ngay bây giờ, vì vậy có lẽ nó phụ thuộc vào các thiết bị được cắm. Tôi sẽ phải đợi về nhà để thử tái tạo nó.