ฉันจะปิดการใช้งาน AutoSuspend USB สำหรับอุปกรณ์เฉพาะได้อย่างไร


18

นี้จะเกี่ยวข้องกับปัญหาที่กล่าวถึงในเมาส์ไร้สายค้างชั่วคราว (นอน) ใช้พลังงานจากแบตเตอรี่

สรุป: เมาส์ค้างเมื่อทำงานโดยใช้แบตเตอรี่เนื่องจากมีการหยุดชั่วคราวหลังจากช่วงระยะเวลาหนึ่งและต้องการเวลาในการปลุกเพิ่มขึ้น

การปิดใช้งานการปิดรับอัตโนมัติ USB สำหรับผู้รับเมาส์ในPowerTOPเป็นวิธีการแก้ปัญหาชั่วคราว แต่ไม่สามารถรีบูตได้

ฉันจะปิดการใช้งาน AutoSuspend แบบ USB สำหรับอุปกรณ์ที่ระบุได้เพียงตัวเดียวอย่างถาวรได้อย่างไร

ต้องการโซลูชันที่ไม่เกี่ยวข้องกับการติดตั้งแพคเกจเพิ่มเติม (หลังจากทั้งหมดฉันต้องการปิดการใช้งานบางสิ่ง) แต่ไม่จำเป็นต้องใช้ การลบ PowerTOP (ซึ่งดูเหมือนจะเป็นคำตอบสำหรับบางคน) ไม่ใช่สิ่งที่ฉันต้องการ - ฉันชอบ PowerTOP ...

และการติดตั้งlaptop-mode-toolsเพื่อปิดการใช้งาน USB autosuspend โดยอัตโนมัติไม่ใช่สิ่งที่ฉันต้องการเช่นกันดังนั้นคำถามใหม่

ยัง: สิ่งนี้จะส่งผลกระทบต่อแบตเตอรี่ของโน้ตบุ๊คของฉัน? ตัวรับสัญญาณรวมของ Logitech สำหรับเมาส์ยังคงเชื่อมต่ออยู่ตลอดเวลาดังนั้นหากป้องกันไม่ให้เกิดการหยุดอัตโนมัติสำหรับอุปกรณ์ทั้งหมดที่อาจไม่ดี

คำตอบ:


25

Ubuntu 16.04 (Xenial Xerus)

sudo apt install tlp
sudo lsusb

ค้นหารหัสอินพุตของอุปกรณ์ USB - ควรมีลักษณะ1234:5678ดังนี้

แก้ไขไฟล์sudo vi /etc/default/tlpและเพิ่ม ID อินพุตของอุปกรณ์ของคุณUSB_BLACKLISTโดยเพิ่มบรรทัดต่อไปนี้ด้วยรหัสอินพุตของอุปกรณ์ดังนี้:

USB_BLACKLIST="1234:5678"

Ubuntu 14.04 (Trusty Tahr)

ดังที่กล่าวถึงที่นี่ที่ hecticgeek.comเคล็ดลับประกอบด้วยสองส่วน:

การใช้lsusbเพื่อยืนยันรหัสอุปกรณ์ของอุปกรณ์ USB ที่คุณต้องการปิดใช้งานการระงับอัตโนมัติ

จากนั้นเพิ่มลงAUTOSUSPEND_USBID_BLACKLISTในไฟล์กำหนดค่า/etc/laptop-mode/conf.d/runtime-pm.conf( usb-autosuspend.confจนถึง Ubuntu 14.04) (รายละเอียดมีการบันทึกไว้ที่นั่นเช่นกัน)


ที่จริงแล้วหนูของฉันสูญหาย / ถูกขโมยหลังจากนั้นไม่นานดังนั้นฉันจึงไม่สามารถทดสอบได้ แต่การตัดสินจาก.confไฟล์นี้เป็นสิ่งที่ฉันคาดหวัง :)
black_puppydog

ดูเหมือนว่าAUTOSUSPEND_RUNTIME_DEVID_BLACKLISTตอนนี้ (Ubuntu 17.04)
บางส่วนของ

2
แล็ปท็อป Ubuntu ของ Dell ที่tlpติดตั้งUbuntu 16.04 LTS ได้ติดตั้งมากกว่าlaptop-mode-toolsดังนั้นหากคุณต้องการบัญชีดำอุปกรณ์ USB ไม่ให้เข้าสู่โหมด autosuspend บนแล็ปท็อปเหล่านี้ให้ตั้งUSB_BLACKLISTค่าในไฟล์/etc/default/tlp- การเปลี่ยนแปลงจะเกิดขึ้นทันที
Stuart Caie

HIDs ถูกขึ้นบัญชีดำจาก tlp: / etc / default / tlp # หมายเหตุ: อุปกรณ์อินพุต (usbhid) ถูกแยกโดยอัตโนมัติ (ดูด้านล่าง) # USB_BLACKLIST = "045e: 07a5"
Tom

เอกสาร TLP ระบุว่าเป็นการจัดการพลังงานสำหรับแล็ปท็อป (เฉพาะ ThinkPad มากขึ้น) ใช้งานได้กับพีซีตั้งโต๊ะหรือไม่
Konrad Rudolph

7

ฉันมีปัญหาคล้ายกันกับพีซีในAvocent KVMซึ่งไม่ได้ติดตั้งเครื่องมือแบบพกพา (และไม่ต้องการแก้ปัญหาด้วยวิธีนี้ในทุกกรณี) ในกรณีของฉันการหยุดทำงานอัตโนมัติของ KVM ทำให้แป้นพิมพ์และเมาส์ทำงานผิดปกติ (หลังจากไม่ได้ใช้งานสองสามวินาทีพวกเขาจะหยุดและสูญเสียข้อมูลอินพุตชั่วครู่หนึ่งจนกว่าจะมีการคลิกและสั่นมากพอ)

เมื่อฉันเรียกใช้PowerTOPและสลับการปิด USB อัตโนมัติสำหรับ Avocent, PowerTOP บอกฉันว่าคำสั่งให้ปิดการใช้งานจากบรรทัดคำสั่งคือ:

echo 'on' > '/sys/bus/usb/devices/3-10/power/control'

บิต '3-10' จะแตกต่างกันในระบบที่แตกต่างกัน ฉันไม่แน่ใจว่าจะระบุได้อย่างไรว่านอกเหนือจากการใช้ PowerTOP แต่อาจมีบางวิธี

แต่ฉันใช้กฎudevเพื่อจับคู่ id ผลิตภัณฑ์ของอุปกรณ์ของฉัน:

เทรนต์ + 14.04: /etc/udev/rules.d$ cat 10-usb-avocent-kvm-pm.rules

ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0624", ATTR{idProduct}=="0013", ATTR{product}=="SC Secure KVM", TEST=="power/control", ATTR{power/control}:="on"

เพื่อรับข้อมูล udev ที่เหมาะสมฉันวิ่ง:

udevadm info -a --path /sys/bus/usb/devices/N-N

6

ใน/etc/laptop-mode/conf.d/usb-autosuspend.confคุณจะพบ:

# Enable USB autosuspend feature?
# Set to 0 to disable
CONTROL_USB_AUTOSUSPEND="auto"

CONTROL_USB_AUTOSUSPEND="0"คุณควรเปลี่ยนไป

สิ่งนี้จะทำให้อุปกรณ์ USB ใด ๆ มีค่า "เปิด" ใน/sys/bus/usb/devices/"DEVICE ID"/power/controlโดยอัตโนมัติ สิ่งนี้จะทำให้ค่าของไฟล์ autosuspend ไม่ทำงาน:

$ cat /sys/bus/usb/devices/"DEVICE ID"/power/autosuspend
2
$ cat /sys/bus/usb/devices/"DEVICE ID"/power/autosuspend_delay_ms
2000

5

ตัวเลือกการใช้พลังงานสำหรับอุปกรณ์ USB /sys/bus/usb/devices/n-n/powerอยู่ใน แต่น่าเสียดายที่สิ่งที่ nn ใช้สำหรับอุปกรณ์ที่กำหนดนั้นต้องใช้ความสงสัยเพื่อค้นหาดังนั้นฉันคิดว่าสิ่งนี้จะพิสูจน์การสะดุดเมื่อได้รับสคริปต์ที่ทำโดยอัตโนมัติ

echo -1 > /sys/bus/usb/devices/3-2/power/autosuspend

เพื่อปิดการระงับอัตโนมัติบนอุปกรณ์นั้น เวทมนตร์ nn ปรากฏขึ้นจริงในผลลัพธ์ของ

udevadm info --export-db

ดังนั้นฉันคิดว่า udev จะเป็นเพื่อนของคุณที่นี่; สคริปต์ udev บางประเภทที่ป้อนพารามิเตอร์ที่ระบุเมาส์ของคุณจากนั้นเรียกใช้สคริปต์ที่ echos -1 ลงในไฟล์ที่เกี่ยวข้อง


4
สิ่งนี้จะอยู่รอดได้ในการรีบูตหรือไม่ echoing / sys ดูเหมือนว่าจะไม่ถาวรใช่ไหม?
black_puppydog

2
วางคำสั่งใน /etc/rc.local ของคุณก่อนบรรทัด 'exit 0'
Bryce


2

ใน Ubuntu 16.04 LTS (Xenial Xerus) ฉันพบวิธีแก้ปัญหาใน/etc/laptop-mode/conf.d/runtime-pm.conf:

# Auto-Suspend timeout in seconds
# Number of seconds after which the USB devices should suspend
AUTOSUSPEND_TIMEOUT=1800

มันถูกตั้งค่าไว้2สำหรับฉัน 30 นาทีมีเหตุผลมากขึ้น

หลังจากการเปลี่ยนแปลงให้ทำ:

sudo service laptop-mode restart

ฉันยังคงไม่แน่ใจว่าจะปิดการใช้งานอย่างสมบูรณ์ แต่ตอนนี้เป็นสิ่งที่ดีสำหรับฉันตอนนี้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.