หากเครื่องของคุณใช้เคอร์เนลเก่าคุณสามารถออกคำecho suspend > /sys/bus/usb/devices/X-X/power/level
สั่งระงับอุปกรณ์ได้
อย่างไรก็ตามตั้งแต่ 2.6.32 สิ่งนี้เป็นไปไม่ได้อีกต่อไป:
เราสามารถจัดประเภทเหตุการณ์การจัดการพลังงานในสองระดับกว้าง: ภายนอกและภายใน เหตุการณ์ภายนอกคือสิ่งที่ถูกเรียกใช้โดยเอเจนต์บางตัวที่อยู่นอกสแต็ก USB: ระบบหยุดทำงาน / กลับสู่สถานะเดิม (ถูกเรียกใช้โดย userspace), เรซูเม่ไดนามิกแบบแมนนวล เหตุการณ์ภายในคือสิ่งที่เกิดขึ้นภายในสแต็ก USB : autosuspend และ autoresume โปรดทราบว่าไดนามิกทั้งหมดระงับเหตุการณ์ภายใน ; ตัวแทนภายนอกไม่ได้รับอนุญาตให้ออกการระงับแบบไดนามิก
power/control
This file contains one of two words: "on" or "auto".
You can write those words to the file to change the
device's setting.
"on" means that the device should be resumed and
autosuspend is not allowed. (Of course, system
suspends are still allowed.)
"auto" is the normal state in which the kernel is
allowed to autosuspend and autoresume the device.
(In kernels up to 2.6.32, you could also specify
"suspend", meaning that the device should remain
suspended and autoresume was not allowed. This
setting is no longer supported.
(จากhttp://www.kernel.org/doc/Documentation/usb/power-management.txt )
ฉันเดาว่าสิ่งที่ดีที่สุดที่คุณสามารถทำได้คือถอดอุปกรณ์ออกจากไดรเวอร์ดังนั้นจะไม่มีกิจกรรมใด ๆ อยู่บนอุปกรณ์จากนั้นกำหนดค่าอุปกรณ์ให้ปิดการจองอัตโนมัติโดยเร็วที่สุด ( echo auto > /sys/bus/usb/devices/X-X/power/control && echo 0 > /sys/bus/usb/devices/X-X/power/autosuspend_delay_ms
)
อย่างไรก็ตามเท่าที่ฉันเข้าใจรายละเอียด USBแม้ว่าคุณจะระงับอุปกรณ์พลังงานบนพอร์ตบางส่วนจะยังคงอยู่ดังนั้นจึงอาจเป็นไปไม่ได้ที่จะปิดใช้งานไฟ LED หากมันถูกขับเคลื่อนโดยรูปแบบ 'ใบ้' (เช่นเชื่อมต่อโดยตรงกับ + 5V และ GND หมุด)