ฉันกำลังมองหาชั่วโมงอาจจะมากขึ้นสำหรับการแก้ปัญหาและฉันเพิ่งพบมัน ฉันต้องการแบ่งปันกับทุกคน วิธีนี้จะช่วยให้ค้นหาปัญหาได้เร็วขึ้น ดังนั้นเช่นเดียวกับชื่อกล่าวว่าด้านล่างเป็นวิธีการแก้
ฉันกำลังมองหาชั่วโมงอาจจะมากขึ้นสำหรับการแก้ปัญหาและฉันเพิ่งพบมัน ฉันต้องการแบ่งปันกับทุกคน วิธีนี้จะช่วยให้ค้นหาปัญหาได้เร็วขึ้น ดังนั้นเช่นเดียวกับชื่อกล่าวว่าด้านล่างเป็นวิธีการแก้
คำตอบ:
ตีใน terminal:
grep . /sys/bus/usb/devices/*/power/wakeup
ผลลัพธ์สำหรับฉันคือพบว่า usb ทั้งหมดถูกปิดการใช้งาน ดังนั้นตอนนี้พิมพ์:
1
sudo su
ตอนนี้เรามีสิทธิ์รูท
2. ฉันมี 8 พอร์ต usb ( คุณทำเช่นนั้นกับหลาย ๆ พอร์ต usb ที่คุณมี ), ดังนั้น:
echo enabled > /sys/bus/usb/devices/usb1/power/wakeup
echo enabled > /sys/bus/usb/devices/usb2/power/wakeup
echo enabled > /sys/bus/usb/devices/usb3/power/wakeup
echo enabled > /sys/bus/usb/devices/usb4/power/wakeup
echo enabled > /sys/bus/usb/devices/usb5/power/wakeup
echo enabled > /sys/bus/usb/devices/usb6/power/wakeup
echo enabled > /sys/bus/usb/devices/usb7/power/wakeup
echo enabled > /sys/bus/usb/devices/usb8/power/wakeup
ไปข้างหน้าและทดสอบ ตอนนี้คุณสามารถตื่นขึ้นมาจากแป้นพิมพ์และเมาส์ usb แบบมีสายหรือไร้สาย
ดังนั้นเหตุผลที่เราต้องเปิดใช้งานทั้งหมดเป็นเพราะในขั้นตอนต่อไปเราจะเขียนสิ่งนี้ใน rc.local เพื่อรันคำสั่งทุกครั้งที่รีบูตและหลังจากรีบูตลินุกซ์ distros (อาจจะทั้งหมด) เปลี่ยนพอร์ต usb เราไม่ต้องกังวลกับสิ่งที่ผิดพลาดโดยเปิดใช้งานพวกเขาทั้งหมดเนื่องจาก linux อยู่ในช่วงหยุดชั่วคราวหรือไฮเบอร์เนตมันไม่สามารถใช้ wifi เพื่อดาวน์โหลดสิ่งใด ๆ ดังนั้นมันจะไม่ตื่นขึ้นมาโดยที่เราไม่ต้องตื่น .
ขั้นตอนต่อไป:
3
sudo nano /etc/rc.local
และเราวางทุกอย่างจากขั้นตอนที่ 2 ในนั้น (ก่อนทางออก 0 ของหลักสูตร)
แค่นั้นแหละ. จากนี้ไปเราสามารถใช้ usb และเมาส์ไร้สายของเราเพื่อปลุกจากการหยุดทำงานชั่วคราว
ฉันหวังว่าจะได้ผลกับทุกคน คู่มือนี้ทำขึ้นหลังจากทดสอบวิธีแก้ปัญหาอื่น ๆ ที่เป็นไปได้ทั้งหมดในอินเทอร์เน็ต
grep . /sys/bus/usb/devices/*/power/wakeup
" แต่ยังใช้งานไม่ได้ อาจเป็นเพราะคีย์บอร์ดและเมาส์เชื่อมต่อทางอ้อม - ไร้สายกับดองเกิลที่อยู่บนหน้าจอ? หน้าจอเชื่อมต่อผ่าน USB ไปยังแล็ปท็อป
grep . /sys/bus/usb/devices/*/product
ช่วยให้ฉันคิดออกว่าฉันกำลังดูอะไรอยู่
นอกเหนือจากคำแนะนำของฉันด้านบนฉันต้องการเพิ่มข้อมูลนี้เนื่องจากฉันเพิ่งค้นพบว่าอุปกรณ์ usb ไร้สายบางตัวหลังจากตื่นขึ้นมาจากโหมดสลีปพวกเขากลับไปปิดการใช้งาน ฉันทำซ้ำมีเพียงอุปกรณ์ usb เท่านั้นที่ทำเช่นนั้นไม่ใช่ทั้งหมด นั่นเป็นสาเหตุที่ฉันไม่ได้เพิ่มคู่มือเล็ก ๆ นี้ไว้ในคำแนะนำของฉัน
ดังนั้นคุณก็ทำตามที่ฉันสั่งข้างต้นและพีซีของคุณก็ตื่นขึ้นมาได้ แต่ในวันต่อมาทันใดนั้นก็ไม่ตื่นขึ้นมาอีก
วิธีการแก้:
เปิดเทอร์มินัลและทำ:
lsusb
ที่ข้อมูลรหัสอุปกรณ์คีย์บอร์ดของคุณตัวเลข 4 ตัวแรกคือรหัสผู้ขายและตัวเลขถัดไป 4 หลักคือรหัสผลิตภัณฑ์ (ดูภาพหน้าจอ)
ถัดไปทำ:
sudo nano /etc/udev/rules.d/10-wakeup.rules
โดยที่ "wakeup" ป้อนชื่อสคริปต์ที่คุณต้องการ หมายเลข 10 คือลำดับความสำคัญในกรณีที่คุณมีกฎ udev อื่น ๆ จำนวนที่น้อยกว่า 'กฎ' จะถูกเรียกใช้ก่อนกฎอื่น ๆ
คัดลอกวางสิ่งนี้และแทนที่รหัสผู้ขายและรหัสผลิตภัณฑ์ด้วยรหัสผู้จำหน่ายคีย์บอร์ดไร้สายของคุณเองและรหัสผลิตภัณฑ์
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="062a", ATTRS{idProduct}=="4101" RUN+="/bin/sh -c 'echo enabled > /sys/bus/usb/devices/usb8/power/wakeup'"
* usb8สำหรับฉันคือคีย์บอร์ดไร้สายของฉัน (คุณสามารถเห็นได้ในภาพหน้าจอ (Bus 008)) แทนที่ด้วยของคุณเอง
Ctrl+ Oเพื่อบันทึก, Ctrl+ Xเพื่อออกและรีบูต
คำตอบของ Pavlos Theodorou มีประโยชน์มาก ฉันต้องการเพิ่มว่าคุณสามารถค้นหาอุปกรณ์ usb ที่เมาส์ / คีย์บอร์ดของคุณเชื่อมต่อเมื่อบูทเครื่องโดยใช้dmesgผ่านgrepสองครั้งจากนั้นegrepหนึ่งครั้งและในที่สุดก็ใช้tailเพื่อให้แน่ใจว่ามันเป็นอุปกรณ์ล่าสุด การเข้า
เมื่อใช้วิธีนี้คุณไม่ต้องเปิดใช้งานการปลุกบนพอร์ต usb ทั้งหมด
ฉันใส่สิ่งต่อไปนี้ในไฟล์ /etc/rc.local ของฉันและพบตัวรับสัญญาณ logitech ของฉันทุกครั้งแม้ว่าจะย้ายจากพอร์ต usb หนึ่งไปยังอีกพอร์ตหนึ่ง เพียงแค่ใช้แทนชื่อของคุณแป้นพิมพ์หรือเมาส์จาก dmesg ในสถานที่ของ "Logitech K270"
KB="$(dmesg | grep "Logitech K270 as" | grep -o -P "usb.{0,5}" | egrep -o ".{0,3}$" | tail -1)"
echo enabled > /sys/bus/usb/devices/${KB}/power/wakeup
สิ่งนี้ใช้งานได้ในการบูต แต่ดูเหมือนจะไม่ทำงานเมื่อถูกปลุกจากการหยุดทำงานชั่วคราวดังนั้นฉันจึงต้องวางไฟล์สคริปต์ไว้ใน / lib / systemd / system-sleep / สร้างมันขึ้นมาตั้งเป็นปฏิบัติการทั่วโลกและให้มันชื่อที่ขึ้นต้นด้วยตัวเลขสองหลักระหว่าง 00 และ 99 สคริปต์ของฉันคือการดังต่อไปนี้อีกครั้ง substite ของคุณแป้นพิมพ์ / verbage เมาส์จาก dmesg:
#!/bin/sh
# Action script to enable wake after suspend by keyboard or mouse
if [ $1 = post ]
then
KB="$(dmesg | grep "Logitech K270 as" | grep -o -P "usb.{0,5}" | egrep -o ".{0,3}$" | tail -1)"
echo enabled > /sys/bus/usb/devices/${KB}/power/wakeup
fi
if [ $1 = pre ]
then
KB="$(dmesg | grep "Logitech K270 as" | grep -o -P "usb.{0,5}" | egrep -o ".{0,3}$" | tail -1)"
echo enabled > /sys/bus/usb/devices/${KB}/power/wakeup
fi
ด้วยเหตุผลบางอย่างที่ฉันไม่สามารถอธิบายได้การนอนหลับ 'โพสต์' หากคำสั่งใช้งานได้เฉพาะการปลุกเท่านั้น ... แต่การนอนหลับ 'ก่อน' ถ้าคำสั่งดูเหมือนว่าจะทำงานทุกครั้ง
ไม่มีคำตอบดังกล่าวข้างต้นช่วยฉัน นั่นเป็นเหตุผลที่ฉันโพสต์ที่นี่ของฉันเอง
ทดสอบใน KDE Neon 5.16.2 บนพื้นฐานของ Ubuntu 18.04 แต่ควรทำงานในการแจกจ่ายใด ๆ
grep . /sys/bus/usb/devices/*/product
คุณควรได้รับสิ่งนี้:
/ sys / bus / usb / devices / 3-3 / ผลิตภัณฑ์: Cord Optical Mouse /sys/bus/usb/devices/3-4.3/product:802.11n อะแดปเตอร์ WLAN /sys/bus/usb/devices/3-4.4/product:USB ตัวรับสัญญาณ /sys/bus/usb/devices/3-4/product:USB2.0 Hub /sys/bus/usb/devices/4-4/product:USB3.0 Hub / sys / bus / usb / devices / usb1 / ผลิตภัณฑ์: EHCI Host Controller / sys / bus / usb / devices / usb2 / ผลิตภัณฑ์: EHCI Host Controller / sys / bus / usb / devices / usb3 / ผลิตภัณฑ์: xHCI Host Controller / sys / bus / usb / devices / usb4 / ผลิตภัณฑ์: xHCI Host Controller
grep sys / / รถบัส / USB / อุปกรณ์ / * / พลังงาน / ปลุก
ผลลัพธ์ควรเป็นดังนี้:
sys / / รถบัส / USB / อุปกรณ์ / 1-1 / พลังงาน / ปลุก: คนพิการ sys / / รถบัส / USB / อุปกรณ์ / 2-1 / พลังงาน / ปลุก: คนพิการ sys / / รถบัส / USB / อุปกรณ์ / 3-11 / พลังงาน / ปลุก: คนพิการ sys / / รถบัส / USB / อุปกรณ์ / 3-3 / พลังงาน / ปลุก: เปิดใช้งาน /sys/bus/usb/devices/3-4.4/power/wakeup:disabled sys / / รถบัส / USB / อุปกรณ์ / 3-4 / พลังงาน / ปลุก: คนพิการ sys / / รถบัส / USB / อุปกรณ์ / 4-4 / พลังงาน / ปลุก: คนพิการ sys / / รถบัส / USB / อุปกรณ์ / USB1 / พลังงาน / ปลุก: คนพิการ sys / / รถบัส / USB / อุปกรณ์ / USB2 / พลังงาน / ปลุก: คนพิการ sys / / รถบัส / USB / อุปกรณ์ / USB3 / พลังงาน / ปลุก: คนพิการ sys / / รถบัส / USB / อุปกรณ์ / usb4 / พลังงาน / ปลุก: คนพิการ
ในกรณีที่ฉันเปิดใช้งานการปลุกเฉพาะสำหรับอุปกรณ์ USB 3-3 ที่ตามรายการก่อนหน้านี้คือ "Cord Optical Mouse"
ฉันต้องการเปิดใช้งานการปลุกจากการระงับเฉพาะสำหรับคีย์บอร์ดไร้สายและปิดการใช้งานสำหรับส่วนที่เหลือ ตัวรับสัญญาณ USB ของคีย์บอร์ดเชื่อมต่อกับ HUB และสอดคล้องกับ 3-4.4 ในรายการก่อนหน้า ("ตัวรับสัญญาณ USB")
หากต้องการได้รับอนุญาตรูท:
sudo su
จากนั้นเราจะสร้างไฟล์สำหรับสคริปต์ (ไฟล์นั้นสามารถเรียกว่า "usbwakeup" หรืออะไรก็ได้ที่คุณต้องการ):
nano /etc/init.d/usbwakeup
เนื้อหาของไฟล์ เพียงปรับให้เข้ากับความต้องการของคุณโดยเปลี่ยนหัวข้อ "SCRIPT ACTIONS" (ฉันชอบเพิ่มความคิดเห็นให้กับสคริปต์เพื่อที่จะรู้ว่าพวกเขาทำอะไรจริง ๆ ถ้าฉันเปิดพวกเขาอีกครั้งในวันหนึ่ง):
#! / bin / bash # ####################### # ข้อมูลทั่วไป # ####################### # # - สคริปต์นี้เปิด / ปิดใช้งานการปลุกจาก suspend # สำหรับอุปกรณ์ USB # # - สคริปต์ต้องการสิทธิ์ดำเนินการ # # - เพื่อให้สคริปต์นี้ทำงานเมื่อระบบเริ่มทำงานจะต้องมี # ลิงก์สัญลักษณ์ไปยัง /etc/rc3.d/ โดยมีลำดับความสำคัญ S01 # (ตัวอย่างเช่น: /etc/rc3.d/S01usbwakeup) # ########################### # คำสั่งที่มีประโยชน์เกี่ยวข้อง # ########################### # # - ระบุอุปกรณ์ USB: # grep sys / / รถบัส / USB / อุปกรณ์ / * / สินค้า # # - ตรวจสอบสถานะ "ปลุกการหยุดทำงาน" ของอุปกรณ์ USB: # grep sys / / รถบัส / USB / อุปกรณ์ / * / พลังงาน / ปลุก # # ################## # การดำเนินการสคริปต์ # ################## # # ปิดใช้งานการตื่นจากการหยุดชั่วคราวสำหรับเมาส์ออปติคัล echo ถูกปิดใช้งาน> / sys / bus / usb / devices / 3-3 / พลังงาน / การปลุก # # เปิดใช้งานการปลุกจากคีย์บอร์ดไร้สายชั่วคราว ที่ฉันเชื่อมต่อกับ USB 3.0 HUB ในพอร์ต USB nr.4 เปิดใช้งาน echo> /sys/bus/usb/devices/3-4.4/power/wakeup
chmod +x /etc/init.d/usbwakeup
sudo ln -s /etc/init.d/usbwakeup /etc/rc3.d/S01usbwakeup
เมื่อรีสตาร์ทระบบทุกอย่างควรทำงานตามที่ระบุในสคริปต์ การเปลี่ยนแปลงจะยังคงอยู่เนื่องจากจะถูกดำเนินการกับการบู๊ตแต่ละครั้ง
แหล่งที่มาปรึกษา (นอกเหนือจากโพสต์นี้):
https://ubuntuforums.org/showthread.php?t=2388336
https://www.thomasmonaco.com/prevent-usb-devices-waking-ubuntu-sleep/
/sys/bus/usb/devices/<device id>/product
คำอธิบายข้อความได้