Score:2

Ubuntu 20.04: ล้อเลื่อนใช้ไม่ได้กับเมาส์ไร้สายหลังจากที่ระบบกลับมาทำงานหรือเมื่อเสียบปลั๊กครั้งแรก

ธง in

ฉันมี Lenovo ThinkPad E15 ใหม่ที่มาพร้อมกับ Windows 10 ที่ติดตั้งไว้ ฉันเพิ่ม Ubuntu 20.04 เป็นตัวเลือก (ดูอัลบูต)

เมื่อใดก็ตามที่แล็ปท็อปเข้าสู่โหมดสลีป (เข้าสู่สถานะ "หยุดชั่วคราว") และหลังจากนั้นฉันก็ปลุกขึ้นมา ล้อเลื่อนของเมาส์ไร้สายของ Logitech จะไม่ทำงาน ("ชุดคีย์บอร์ดและเมาส์ไร้สาย Logitech MK270"แต่สิ่งเดียวที่ใช้ไม่ได้คือล้อเลื่อน)

จากนั้นฉันก็ถอดดองเกิล USB-A ของมันออกแล้วเสียบใหม่ (ฉันมักจะต้องทำหลายครั้ง) จากนั้นวงล้อของเมาส์ก็ใช้งานได้อีกครั้ง

ฉันไม่ต้องการสัมผัสปลั๊ก USB เลย มันควรจะทำงานเสมอ ฉันจะแก้ไขปัญหานี้ได้อย่างไร

ป.ล. คำถามของฉันคล้ายกับ Ubuntu 20.04: Scroll ใช้งานไม่ได้กับเมาส์ไร้สายหลังจากที่ระบบตื่นจากสถานะหยุดทำงานชั่วคราวซึ่งยังไม่มีคำตอบ

ป.ป.ส. ฉันยืนยันแล้วว่า สวิตช์ USB ในการตั้งค่าของฉันคือ ไม่ ที่เกี่ยวข้องกับปัญหา ปัญหาเกิดขึ้นแม้ว่าจะเสียบดองเกิล USB ขนาดเล็กของ Logitech เข้ากับแล็ปท็อปโดยตรง

Ryan avatar
in flag
ดูเพิ่มเติม https://unix.stackexchange.com/questions/309247/linux-mouse-freezes-after-suspend `sudo modprobe -r hid_logitech_dj && sudo modprobe -r usbhid && sudo modprobe hid_logitech_dj && sudo modprobe usbhid` ยกเลิกการเชื่อมต่อและเชื่อมต่อเมาส์ USB ใหม่ แต่วงล้อของมันยังคงใช้งานไม่ได้ (เว้นแต่ฉันจะถอดปลั๊กและเสียบใหม่)
Ryan avatar
in flag
ฉันได้ลอง `sudo modprobe -r hid_logitech_dj && sudo modprobe -r logitech-djreceiver && sudo modprobe -r logitech-hidpp-device && sudo modprobe -r usbhid && sudo modprobe hid_logitech_dj && sudo modprobe usbhid && sudo modprobe logitech-djreceiver && sudo modprobe logitech-hidpp-device` แต่ได้รับข้อผิดพลาด 'FATAL: Module logitech-djreceiver not found'
Rho avatar
cn flag
Rho
สวัสดี @Ryan: ลองเชื่อมต่อคำสั่งของคุณด้วย ";" แทนที่จะเป็น "&&" และตรวจสอบอีกครั้ง (การดำเนินการนี้จะดำเนินการตามคำสั่งต่อไปแม้ว่าคุณจะได้รับข้อผิดพลาดจากหนึ่งในนั้นก็ตาม) เกี่ยวกับผลลัพธ์ที่คุณโพสต์ ดูเหมือนว่าคุณไม่ได้ติดตั้ง logitech-djreceiver ดังนั้นฉันจะลองเริ่มจากตรงนั้น ลองติดตั้งใหม่แล้วรันลำดับ modprobe หวังว่ามันจะช่วยได้ ไชโย
emk2203 avatar
in flag
ฉันไม่สามารถพูดได้อย่างแน่นอนว่ามันช่วยแก้ปัญหา *ของคุณ* ได้ไหม แต่ฉันมีปัญหาที่คล้ายกันมาก และแค่ต้องการโพสต์คำถามด้วยตัวเอง สิ่งที่ฉันค้นพบสำหรับฉันอาจช่วยคุณได้: `modprobe` ไม่ได้ช่วยอะไรเนื่องจากไม่ได้โหลดโมดูล สิ่งที่ช่วยได้คือการรีเซ็ตบัส usb คุณสามารถค้นหา USB ID ของอุปกรณ์ด้วย `lsusb` ติดตั้ง `usbutils` และออก `usbreset `. หลังจากนี้ อุปกรณ์ควรได้รับการจดจำอีกครั้งโดยไม่ต้องถอดปลั๊กและเสียบปลั๊กใหม่ บริการ systemctl ที่คล้ายกับคำตอบนี้ควรทำให้เป็นอัตโนมัติ: https://unix.stackexchange.com/a/227293/140914
Score:2
ธง in

ม็อดโพรบ ไม่ได้ช่วยอะไร โอกาสที่ดีที่สุดคือการรีเซ็ตบัส USB สำหรับอุปกรณ์ที่ชำรุดหรือขาดหายไปนี้

ค้นหา USB ID ในรูปแบบ VID:PID ของอุปกรณ์ด้วย แย่แล้ว. ติดตั้ง เรา และปัญหา usbreset VID:PID. หลังจากนี้ อุปกรณ์ควรจะทำงานได้อีกครั้งโดยไม่ต้องถอดปลั๊กและเสียบปลั๊กใหม่ การรีเซ็ตบัสไม่เท่ากัน แต่ควรใกล้เคียงพอ

ในการทำให้การดำเนินการนี้เป็นไปโดยอัตโนมัติ ให้ทำ บริการ systemctl สำหรับมัน:

sudo vim /etc/systemd/system/[email protected]

วางในบรรทัดเหล่านี้และบันทึกไฟล์:

[หน่วย]
Description="รีเซ็ตอุปกรณ์ USB หลังจากระบบกลับมาทำงาน"
After=suspend.target hibernate.target ไฮบริด-sleep.target ระงับแล้ว-hibernate.target

[บริการ]
Type=วันช็อต
ExecStart=/usr/bin/usbreset %i

[ติดตั้ง]
WantedBy=suspend.target hibernate.target ไฮบริด-sleep.target ระงับแล้ว-hibernate.target

เรียกคืนค่า VID:PID ที่คุณได้รับ แย่แล้ว.

ตัวอย่างเช่นอาจจะเป็น 0bda:5411.

เปิดใช้งาน / เริ่มบริการโดยเรียกใช้คำสั่งเช่น: sudo systemctl เริ่มรีเซ็ต usb-upon-wake@VID:PID.service, เช่น sudo systemctl เริ่มรีเซ็ต usb-upon-wake@0bda:5411.service.

ด้วยวิธีนี้ แม้ว่าคุณจะมีอุปกรณ์หลายเครื่องที่ต้องการบริการประเภทนี้ แต่อุปกรณ์ทั้งหมดก็สามารถใช้ไฟล์บริการเดียวนี้ได้

Ryan avatar
in flag
ขอบคุณสำหรับคำตอบนี้ ตอนนี้ฉันกำลังลองและพบปัญหาบางอย่าง ฉันจะแก้ไขคำตอบของคุณด้านบนด้วยสิ่งที่ฉันคิดว่าน่าจะใช้ได้ และฉันจะกลับมาที่นี่เมื่อฉันเรียนรู้เพิ่มเติม
Ryan avatar
in flag
ฉันไม่คิดว่าฉันได้ทำงานนี้ เมื่อฉันปลุกคอมพิวเตอร์จากโหมดไฮเบอร์เนตในเช้าวันนี้ ล้อเลื่อนไม่ทำงาน หมายความว่าฉันต้องการไฟล์บริการเพิ่มเติมหรือไม่ มีวิธีการทำงานนี้เมื่อจำศีลและบูตเครื่องครั้งแรกหรือไม่? ขอบคุณ! :-)
emk2203 avatar
in flag
ขั้นแรก ดูที่บันทึกของ systemd เพื่อดูว่าทุกอย่างถูกต้องหรือไม่: บูตพีซี เข้าสู่โหมดสลีป ดำเนินการต่อ และหลังจากนั้นใช้ `journalctl -b` เพื่อดูทุกอย่างตั้งแต่การบูตครั้งล่าสุด ดูว่าบริการของคุณทำงานหลังจากดำเนินการต่อหรือไม่ หากเป็นเช่นนั้น น่าเสียดายที่วิธีรีเซ็ต usb ไม่เพียงพอในกรณีของคุณ หากการรีเซ็ต usb ไม่ทำงาน ซอฟต์แวร์เพียงอย่างเดียวก็แทบไม่ต้องทำอะไรแล้ว
emk2203 avatar
in flag
การปิดและเปิดเมาส์อาจเป็นทางออกที่ดีที่สุดหากความพยายามของซอฟต์แวร์ล้มเหลว
Ryan avatar
in flag
ฉันจะลองแก้ไขตามhttps://unix.stackexchange.com/a/492497/48973
Ryan avatar
in flag
จนถึงตอนนี้ ฉันค่อนข้างมั่นใจว่าการรัน `sudo systemctl start reset-usb-upon-wake@046d:c534.service` นั้นได้ผลทุกครั้ง แต่หลังจากนั้นมันก็กด `Enter` (ดูเหมือน) อย่างต่อเนื่องอย่างแปลกประหลาดในเทอร์มินัล ทำให้เกิด เทอร์มินัลให้เลื่อนไปเรื่อย ๆ จนกว่าจะพิมพ์คำสั่งใหม่ ดังนั้นฉันจึงต้องการแก้ไขปัญหานั้น และฉันก็ยังไม่ได้ทำให้มันทำงานโดยอัตโนมัติเมื่อตื่นขึ้น ฉันจะแก้ไขคำตอบด้านบนเพื่อแสดงสิ่งที่ฉันได้ลอง
Ryan avatar
in flag
ในบันทึก ฉันเห็นสิ่งนี้ ซึ่ง *บอกเป็นนัย* ว่าใช้งานได้: `11 ม.ค. 09:05:22 ThinkPad-E15-Gen-2 systemd[1]: กำลังเริ่ม "รีเซ็ตอุปกรณ์ USB หลังจากระบบดำเนินการต่อ"... 11 มกราคม 09:05:22 เคอร์เนล ThinkPad-E15-Gen-2: usb 3-5.3: รีเซ็ตอุปกรณ์ USB ความเร็วเต็มหมายเลข 16 โดยใช้ xhci_hcd 11 มกราคม 09:05:22 ThinkPad-E15-Gen-2 usbreset[12310]: กำลังรีเซ็ตตัวรับสัญญาณ USB ... ตกลง 11 มกราคม 09:05:22 ThinkPad-E15-Gen-2 systemd[1]: reset-usb-upon-wake@046d:c534.service: สำเร็จ 11 มกราคม 09:05:22 ThinkPad-E15-Gen-2 systemd[1]: เสร็จสิ้น "รีเซ็ตอุปกรณ์ USB หลังจากระบบดำเนินการต่อ" `
Ryan avatar
in flag
...แต่ล้อเลื่อนของเมาส์ไม่ทำงาน *จริงๆ* จนกว่าฉันจะเปิดเทอร์มินัลและเรียกใช้บริการนั้นด้วยตนเอง ความคิดใด ๆ ? ขอบคุณ.
Ryan avatar
in flag
ฉันได้รับคะแนนมากมายแม้ว่าจะยังไม่รู้ว่าจะแก้ไขปัญหาอย่างไร (เพราะฉันซาบซึ้งในความพยายามอย่างต่อเนื่องของคุณ) :-)
emk2203 avatar
in flag
ขอโทษที่หายไปพักนึง ดูเหมือนว่าฮาร์ดแวร์/ซอฟต์แวร์ของคุณจะมีความแปลกอยู่บ้าง และ *ควร* ใช้งานได้ แต่ในความเป็นจริงแล้ว สิ่งต่างๆ นั้นแตกต่างออกไป คุณสามารถลองรีเซ็ตครั้งที่สองผ่านบริการ โดยอาจหยุดชั่วคราว 1 วินาทีระหว่างนั้น และหวังว่าวิธีนี้จะช่วยได้ หรืออาจลองใช้เคอร์เนลอื่นเพื่อดูว่าไดรเวอร์ได้รับการอัปเดตหรือไม่ และใช้งานได้กับเวอร์ชันที่ใหม่กว่า คุณสามารถลองใช้ USB สดของการพัฒนา 22.04 มีเคอร์เนล 5.15 ซึ่งเป็นเวอร์ชัน LTS พร้อมการปรับปรุงมากมาย หากใช้งานได้อาจใช้เคอร์เนล 5.15 ใน 20.04 ของคุณ ขอบคุณสำหรับคะแนน!

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา