ทัชแพดไม่ทำงานหลังจากระงับแล็ปท็อป


14

ดูเหมือนว่าปัญหาทั่วไป แต่หลังจากลองแก้ไขทั้งหมดที่พบในฟอรัมแล้ว

รายละเอียด:

  • คอมพิวเตอร์: Asus k501LX-EB71
  • ระบบปฏิบัติการ: Ubuntu 14.04.3
  • เคอร์เนล: 3.19.0-26-generic
  • ทัชแพด: Elantech ทัชแพด
  • ไดรเวอร์: xserver-xorg-input-synaptics-lts-trusty (OR) xserver-xorg-input-synaptics-lts-vivid (ไม่แน่ใจว่าจะใช้อันไหน)

สิ่งที่ฉันพยายาม: ฉันสามารถเรียกใช้sudo modprobe -r psmouseเพื่อ "ปิด" ทัชแพดแล้วsudo modprobe psmouseเปิดใหม่ มันใช้งานได้ดี อย่างไรก็ตามเมื่อฉันระงับฉันไม่สามารถ "ฟื้น" ทัชแพดได้แม้ว่าฉันจะป้อนคำสั่งเหล่านี้

ความคิดใด ๆ

UPDATE:

ฉันไม่ได้สังเกตปัญหานี้ถ้าฉันจำศีลแทนการระงับ ฉันไม่แน่ใจว่าจะทำอย่างไรกับเบาะแสนั้น ...

วิธีแก้ปัญหาในปัจจุบัน:

เนื่องจากจำศีลดูเหมือนจะไม่ทำให้เกิดปัญหาและฉันมีจำนวนหน่วยความจำ swap ที่เหมาะสมฉันเพิ่งจำศีลเป็นการกระทำเริ่มต้นสำหรับสิ่งต่าง ๆ เช่นการปิดฝา นี่คือขั้นตอนที่ผมปฏิบัติตามเพื่อช่วยให้มีการจำศีล ฉันยังแก้ไขการตั้งค่าพลังงานเริ่มต้นอื่น ๆ เพื่อไปยังโหมดไฮเบอร์เนตโดยใช้ตัวแก้ไข dconf ภายใต้ org> gnome> settings-daemon> plugins> power


คุณอาจพบว่ามีประโยชน์: ubuntuforums.org/showthread.php?t=2189117
Elder Geek

hmmm ... ขอบคุณสำหรับการตอบสนองอย่างรวดเร็ว แต่ฉันได้ทำตามขั้นตอนทั้งหมดในเธรดนั้นโดยไม่มีโชค ด้วยเหตุผลใดก็ตามฉันไม่สามารถชุบชีวิตทัชแพดได้sudo modprobe psmouseหลังจากหยุดพักชั่วคราว เพียงแค่ดูเหมือนว่าไม่มีอะไรเกิดขึ้น ฉันไม่พบสิ่งผิดปกติในไฟล์บันทึก
Ross Allen

ฉันจะพิจารณาคำตอบวิธีแก้ปัญหาของคุณ คุณควรเขียนมันขึ้นมาเช่นมีแนวโน้มที่จะช่วยเหลือผู้อื่นและการฝังคำตอบในคำถามของคุณอาจทำให้ยากต่อการค้นหา
Elder Geek

คำตอบ:


8

ข้อผิดพลาดนี้มีรายงานใน Launchpad: Elantech หยุดทัชแพดทำงานหลังจากระงับ หลังจากหยุดใช้งาน OP # modprobe -r psmouseแล้ว# modprobe psmouseและมันไม่ทำงาน แต่ถ้าpsmouseถูกลบออกก่อนที่จะหยุดชั่วคราวและแทรกหลังจากระงับ?

หากการทำงานด้วยตนเองคุณสามารถทำให้เป็นอัตโนมัติโดยการสร้างไฟล์ใหม่ใน /lib/systemd/system-sleep/ไดเรกทอรีที่มี:

#!/bin/sh

case $1/$2 in
  pre/*)
    echo "Going to $2..."
    # Place your pre suspend commands here, or `exit 0` if no pre suspend action required
    modprobe -r psmouse
    ;;
  post/*)
    echo "Waking up from $2..."
    # Place your post suspend (resume) commands here, or `exit 0` if no post suspend action required
    sleep 2
    modprobe psmouse
    ;;
esac

เป็นที่รู้จักกันหลังจากระงับโมดูลpsmouseไม่สามารถลบออกได้ นอกจากนี้เรายังรู้ว่าสามารถลบและแทรกก่อนที่จะระงับ ดังนั้นเทคนิคนี้จะลบออกก่อนที่จะระงับ หลังจากดำเนินการแทรกต่อและหวังว่าเคอร์เนลจะไม่ปฏิเสธ

sleep 2คำสั่งจากปัญหาของตัวเองที่ systemd และเคอร์เนล (ผ่านคำพังเพยหรือ APM) ทั้งสองนอนหลับและตื่นขึ้นมา ฉันต้องการเปลี่ยนเส้นทางเสียง pulseaudio กลับไปที่ทีวีเนื่องจากข้อผิดพลาดที่แนะนำใน Ubuntu 16.04 / pulseaudio 8.0 การหน่วงเวลา 2 วินาทีจำเป็นสำหรับเคอร์เนลและ systemd เพื่อให้การทำงานเสร็จสิ้น ยังไม่ได้คิดว่าพักสองและสองกลับมา ....


ฉันคิดว่ามันจะดีกว่าถ้าใช้SUSPEND_MODULESฟีเจอร์มาตรฐานของlinux.die.net/man/8/pm-suspendpm-utilsนี้
cgogolin

วิธีนี้ไม่ได้ผลสำหรับฉัน Ubuntu 18.04 พร้อมด้วย "SYNA8004: 00 06CB: CD8B Touchpad", Lenovo X1 Carbon Gen 7 ฉันมีพฤติกรรมการทำงานของทัชแพดที่รวดเร็วหลังจากที่กลับมาทำงานจากโหมดไฮเบอร์เนต
SaTa

7

ขอแนะนำให้ฉันโพสต์วิธีแก้ปัญหาของฉันเป็นคำตอบ:

ฉันพบว่าไฮเบอร์เนต ( sudo pm-hibernate) ไม่พบปัญหาเดียวกันกับการรีสตาร์ททัชแพดดังนั้นฉันจึงตั้งค่าตัวเลือกการใช้พลังงานที่เกี่ยวข้องทั้งหมดให้เป็นไฮเบอร์เนตแทนที่จะหยุดชั่วคราว สิ่งนี้ต้องใช้ความพยายามเล็กน้อยเนื่องจากการไฮเบอร์เนตถูกปิดใช้งานตามค่าเริ่มต้น นี่คือสิ่งที่ต้องเกิดขึ้น


1
ระวังการจำศีลถูกปิดใช้งานโดยค่าเริ่มต้นเนื่องจากมีโอกาสที่ดีของความเสียหายของฮาร์ดไดรฟ์ ฉันต้องติดตั้งระบบปฏิบัติการใหม่สองครั้งหลังจากที่ไฮเบอร์เนตล้มเหลว ปิดการใช้งานอีกครั้งในขณะนี้
crobar

1
เปลี่ยนการตั้งค่าทัชแพดใน BIOS ของคุณจาก ADVANCED เป็น BASIC ไม่สร้างความแตกต่างเกี่ยวกับการทำงานและทัชแพดยังคงทำงานได้เมื่อกลับมาทำงานต่อจากการหยุดชั่วคราว
pst007x

4

โซลูชันต่อไปนี้ใช้ได้กับฉันใน Acer Predator Helios 300 ที่ใช้ Ubuntu 18.04 (5.0.0-36-generic) เมื่อทุกอย่างไม่ได้ -

ตรวจสอบว่าผลงานการแก้ปัญหา
ให้ลองเรียกใช้คำสั่งต่อไปหลังจากตื่นขึ้นมาจากการระงับเมื่อ trackpad ของคุณไม่ได้ /sbin/rmmod i2c_hid && /sbin/modprobe i2c_hidworking-
หากสิ่งนี้ทำให้แทร็คแพดของคุณทำงานได้ให้ทำตามขั้นตอนด้านล่างเพื่อสร้างโซลูชันอัตโนมัติที่เรียกใช้ทุกครั้งที่คุณตื่นจากการระงับ

โซลูชันถาวร
1. สร้าง/lib/systemd/system-sleep/touchpad
2. เปิดไฟล์ด้านบนและแก้ไขsudo vi /lib/systemd/system-sleep/touchpad
3. บันทึกเนื้อหาต่อไปนี้ในไฟล์ -

#!/bin/sh

case $1 in
  post)
    /sbin/rmmod i2c_hid && /sbin/modprobe i2c_hid 
  ;;
esac
  1. ทำให้ปฏิบัติการ - chmod +x /lib/systemd/system-sleep/touchpad

สิ่งนี้จะรีสตาร์ทอุปกรณ์ i2c_hid เมื่อตื่นขึ้นจากการหยุดทำงานชั่วคราว

มารยาท: /unix//a/526488/283735


คำตอบที่ดีมันใช้ได้สำหรับฉันขอบคุณ โมดูล "psmouse" ไม่ใช่หนึ่งสำหรับฉัน "i2c_hid" คือ Dell Inspiron ฉันมีสิ่งนี้ใน dmesg: [24063.094911] psmouse serio1: elantech: elantech_send_cmd แบบสอบถาม 0x02 ล้มเหลว [24063.094918] psmouse serio1: elantech: ล้มเหลวในการค้นหาความสามารถ [24064.645952] psmouse serio1: ไม่สามารถเปิดใช้งานเมาส์บน isa0060 / serio1 [24065.383423] อินพุต: ImPS / 2 Logitech Wheel Mouse เป็น / อุปกรณ์ / แพลตฟอร์ม / i8042 / serio1 / อินพุต / input38 [24240.449885] psmouse serio1: ล้มเหลวในการเปิดใช้งานเมาส์ (พร้อมเวอร์ชั่นเฟิร์มแวร์ 0x4f5001)
David Robson

3

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

sudo rmmod psmouse; sudo modprobe psmouse

นี่คือการสนทนาที่ดีเกี่ยวกับวิธีการทำ "อัตโนมัติ": วิธีการดำเนินการคำสั่งหลังจากดำเนินการต่อจากการระงับ?

อีกทางเลือกหนึ่งคือการฆ่าโมดูลก่อนที่จะหยุดชั่วคราวหลีกเลี่ยงการล็อคโมดูลหลังจากดำเนินการต่อ (ซึ่งเห็นได้ชัดว่าเป็นสิ่งที่สร้างปัญหาขณะ WinEunuuchs2Unix ขีดเส้นใต้)

เมื่อต้องการทำเช่นนั้นฉันใช้บรรทัดคำสั่งแบบง่าย ๆ ในการระงับแล็ปท็อปแทนการปิดฝา "ด้วยตนเอง" แน่นอนว่านี่ไม่ใช่เรื่องแฟนซี แต่เป็นการทำงานและเป็นวิธีแก้ปัญหาแบบส่งตรง ไม่มีเวลาแฮ็คที่เกี่ยวข้อง

sudo rmmod psmouse; sudo pm-suspend

จากนั้นหลังจากกลับมาทำงานกับแล็ปท็อปคุณควรเปิดใช้งานโมดูลอีกครั้งโดยพิมพ์:

sudo modprobe psmouse

คุณสามารถแฮ็pm-suspendคสคริปต์เริ่มต้นได้ตลอดเวลาแต่ฉันจะไม่แนะนำ มันง่ายและปลอดภัยยิ่งขึ้นในการสร้างลำดับของคำสั่งขนาดเล็กแบบเฉพาะกิจนี้

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

หวังว่ามันจะใช้ได้ผลสำหรับฉันแม้ว่ามันจะไม่สบายใจที่จะจัดการกับสิ่งนี้ในลักษณะดังกล่าว ฉันมีปัญหานี้ทั้งในแล็ปท็อป HP และ Asus


มันใช้งานได้สำหรับฉันในที่ที่ไม่มีใครอยู่ - ขอบคุณ!
daboross

ไชโย! ดีใจที่มันเป็นประโยชน์! ; D
Rho

1

การแก้ไขเคอร์เนลจะช่วยแก้ปัญหานี้ คุณสามารถหา

  1. โปรแกรมแก้ไขในรายชื่อส่งเมลเคอร์เนล Linuxและ

  2. คำแนะนำในการปะแก้ที่“ วิธีการแก้ไขเคอร์เนลด้วยการส่งข้อมูลเฉพาะ

K501LB ของฉันทำงานได้ตามปกติ


1

สิ่งนี้ใช้ได้กับฉัน:

  1. บูตเข้าไบออสในการบูตระบบกด F2 หรือ ESC

  2. เปลี่ยนการตั้งค่าทัชแพดใน BIOS ของคุณจาก ADVANCED เป็น BASIC (ไม่สร้างความแตกต่างเกี่ยวกับการทำงาน)

ตอนนี้ทัชแพดยังคงสามารถใช้งานได้เมื่อกลับมาทำงานต่อจากการหยุดชั่วคราว


0

ฉันมีแล็ปท็อป Asus หลายเครื่องฉันต้องปิดการใช้งานทัชแพดบนทุกเครื่อง พวกเขาทำให้เกิดปัญหาการล็อคและปัญหาอื่น ๆ


ไม่ใช่สิ่งที่ฉันหวังว่าจะได้ยิน แต่ฉันก็ชื่นชมคำตอบ
Ross Allen

มันเป็น Elan Touchpad มันทำให้ฉันใช้ ctrl-alt-f1 / 2/3 อย่างแท้จริงเพื่อเปลี่ยนและเปลี่ยนกลับเป็นการทำน้ำแข็งให้ละลาย เมื่อฉันปิดการใช้งานมันไม่มีปัญหา อย่างที่คุณรู้คุณสามารถใช้มันในระยะเวลาสั้น ๆ และใช้วิธีการของฉันที่กล่าวถึงข้างต้นเพื่อปลดล็อค หวังว่าจะช่วย
ChangosMuertos

0

ไดรเวอร์ที่ไม่ตอบสนองต่อระบบกันสะเทือนค่อนข้างธรรมดาโดยไม่คำนึงถึง OS ฉันดีใจที่คุณพบวิธีแก้ปัญหาผ่านไฮเบอร์เนต

เนื่องจากการหยุดชั่วคราวไม่ได้ปิดการทำงานอย่างสมบูรณ์และการไฮเบอร์เนตจะปรากฏขึ้นเพื่อบ่งชี้ว่าผู้ขับขี่ไม่ตอบสนองต่อการหยุดชะงักของ "1/2 ชีวิต" ได้ดี แต่มีความสามารถในการขึ้นมาอย่างสมบูรณ์ในช่วงรอบการเปิดเครื่อง เป็นสิ่งที่จำศีลให้ตื่น

แหล่งที่มา: http://manpages.ubuntu.com/manpages/trusty/man8/pm-action.8.html


คุณสามารถขอเข้าประจำการปลุกเพื่อรีสตาร์ทไดรฟ์เวอร์บางที ... เหมือนกับวิธีจัดการโหลดเน็ตเวิร์กใหม่ ยังไม่ได้คิดวิธีการทำยังตัวเองเลย ฉันได้มันทำงานเพื่อรีสตาร์ท pulseaudio แต่จัดการเพื่อทำลายที่ 2 วันที่ผ่านมา :(
WinEunuuchs2Unix

1
@ WinEunuuchs2Unix ฉันชอบที่จะเห็นว่า ping ฉันถ้าคุณคิดออก
Elder Geek

แน่นอน ฉันอาจทำอย่างใดอย่างหนึ่ง "ตอบคำถามของคุณเอง" สิ่งต่าง ๆ ในเวลาประมาณหกเดือนในอัตรา 6 สัปดาห์นี้แล้ว
WinEunuuchs2Unix

1
ฉันโพสต์คำตอบแล้ว แต่ดูเหมือนว่าจะสามารถ ping ทุกคนยกเว้นคุณ (Elder Geek) ด้วยเหตุผลแปลก ๆ
WinEunuuchs2Unix
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.