แล็ปท็อปล้มเหลวในการหยุดชั่วคราวหรือไฮเบอร์เนต (กลับมาทำงานหลังจาก 2-5 วินาทีโดยไม่มีการโต้ตอบกับผู้ใช้)


22

ทั้งหมดนี้เริ่มเกิดขึ้นหลังจากอัปเกรดเป็น 13.10 ตอนนี้ฉันกำลังใช้งาน 14.04 และยังคงมีปัญหาเดิมอยู่

เมื่อฉันปิดฝาหรือฉันทำsudo pm-suspendแล็ปท็อปจะเข้าสู่การระงับ 2-5 วินาทีและตื่นด้วยตัวเอง

เกิดขึ้นเช่นกันถ้าฉันพยายามจำศีล

ฉันมีความรู้สึกว่ามีบางอย่างกำลังตื่นขึ้นมา / ถอด cpu ออกจากโหมด suspend แต่ฉันไม่สามารถเข้าใจได้ว่าอะไร

ความช่วยเหลือใด ๆ ในการแก้ไขปัญหาที่น่ารำคาญนี้

แก้ไข:

ต้องขอบคุณ @Fabian ฉันสามารถคิดได้ว่าดูเหมือนว่าอีเธอร์เน็ตการ์ดนั้นทำงานผิดปกติและแม้หลังจากที่ฉันตั้งค่าการ์ดไม่ให้ตื่นบน LAN (ไม่ว่าจะทำacpitool -W 3หรือecho disabled > /sys/bus/pci/devices/0000:00:19.0/power/wakeupหรือecho IGBE > /proc/acpi/wakeupแล็ปท็อปก็ตื่นขึ้นมาและแสดงสิ่งนี้เมื่อฉันacpitool -w

Device  S-state   Status   Sysfs node
---------------------------------------
1. LID    S3    *enabled 
2. SLPB   S3    *disabled
3. IGBE   S4    *enabled   pci:0000:00:19.0
4. EXP1   S4    *disabled  pci:0000:00:1c.0
5. EXP2   S4    *disabled  pci:0000:00:1c.1
6. EXP3   S4    *disabled
7. EXP4   S4    *disabled
8. EXP5   S4    *disabled  pci:0000:00:1c.4
9. EHC1   S3    *disabled  pci:0000:00:1d.0
10. EHC2      S3    *disabled  pci:0000:00:1a.0
11. HDEF      S4    *disabled  pci:0000:00:1b.0

ความคิดวิธีการดำเนินการจากที่นั่น?

ไดรเวอร์เครือข่ายที่ IGBE ใช้คือ e1000e


3
ใช้dmesgเพื่อดูข้อความล่าสุดจากเคอร์เนลบางสิ่งที่อาจทำให้คุณรู้ว่าเกิดอะไรขึ้น
roadmr

คุณปิดใช้งานคุณสมบัติ Wake-On-Lan ใน BIOS หรือไม่
มิทช์

ใช่นั่นเป็นสิ่งแรกที่ฉันลอง
feniix

คำตอบ:


10

ฉันมีเคอร์เนล 13.13 และมาเธอร์บอร์ด Intel Z77X และคำสั่งต่อไปนี้ใช้งานได้สำหรับฉัน:

sudo sh -c "echo EHC1 > /proc/acpi/wakeup;echo EHC2 > /proc/acpi/wakeup;echo XHC > /proc/acpi/wakeup"

11

การทำงานต่อไปนี้สำหรับฉัน:

cat /proc/acpi/wakeup

ค้นหารายการใด ๆ ที่เปิดใช้งานสถานะที่ดูเหมือนว่าพวกเขาไม่ได้อยู่ที่นั่น (สำหรับฉันไม่มีอะไรยกเว้น LID0) จากนั้นให้ปิดการใช้งานโดยการพูดเช่น:

sudo sh -c "echo XHC0 > /proc/acpi/wakeup"

ตรวจสอบว่ารายการที่เกี่ยวข้องนั้นถูกปิดใช้งานจริงส่งแล็ปท็อปไปที่ suspend และหวังว่าจะได้สิ่งที่ดีที่สุด :)


เป็นผู้นำที่ดีมากตอนนี้ฉันต้องค้นหาสาเหตุที่การ์ดอีเทอร์เน็ตในตัวตื่นขึ้นมาแม้ว่าฉันจะตั้งโหมดปลุกให้มันใช้งานไม่ได้
ก็ตาม

1
โชคดีกับการที่ :)
Fabian

1
คุณลองrmmodไดรเวอร์ก่อนที่จะหยุดทำงานหรือไม่? (แค่ยิงในที่มืด)
Rmano

ปัญหาที่น่ารำคาญเช่นเดียวกันใน Ubuntu 16.04.1 คำตอบนี้ไม่ได้ช่วยอย่างน่าเสียดาย
Dan Dascalescu

+1 นี่เป็นทางออกเดียวที่ใช้ได้สำหรับฉัน
Bandi Kishore

7

ประสบปัญหาเดียวกัน (ThinkPad T530, Ubuntu 14.04 แต่ยัง 13.10 และ 13.04 หลังจากหยุดพักชั่วคราวสองสามครั้งคอมพิวเตอร์จะกลับมาทำงานทันทีหลังจากถูกระงับ)

การปิดใช้งาน IBGE จากการปลุกไม่ได้ช่วยอะไรเลย

ตามที่แนะนำโดย Romano ฉันได้ลองลบโมดูล e1000e และ voila หยุดทำงานตามที่คาดไว้

ดังนั้น:

sudo rmmod e1000e

ก่อนที่จะระงับการแก้ไขปัญหา

น่าสนใจปัญหาปรากฏขึ้นอีกครั้งทันทีหลังจากติดตั้งโมดูลด้านหลัง ( sudo modprobe e1000e) และหยุดทำงานชั่วคราวโดยไม่ต้องลบออก ดังนั้นจะต้องมีบางสิ่งที่เกี่ยวข้องกับฮาร์ดแวร์

เพื่อให้เป็นอัตโนมัติฉันได้สร้างสคริปต์ suspend / wakeup สองตัวง่าย ๆ (ทดสอบกับฮาร์ดแวร์ที่กล่าวถึงข้างต้นคือ Ubuntu Trusty 14.04) sudo gedit /etc/pm/sleep.d/99_e1000e_remove:

#!/bin/sh

# Remove e1000e kernel module prior to suspend
rmmod e1000e

และ sudo gedit /etc/pm/power.d/99_e1000e_probe:

#!/bin/sh

# Modprobe e1000e kernel module after resume
modprobe e1000e

สคริปต์ควรจะสามารถเรียกใช้งานได้ ( sudo chmod +x /etc/pm/sleep.d/99_e1000e_remove /etc/pm/power.d/99_e1000e_probe)

หมายเหตุ:

  • ฉันคิดว่าสคริปต์นั้นค่อนข้างปลอดภัยที่จะใช้แม้ว่าจะไม่สามารถแก้ปัญหาของคุณได้
  • ฉันไม่ได้ใช้การปลุก LAN ดังนั้นฉันจึงไม่รู้ว่ามันทำงานอย่างไรกับการแก้ไข

แล็ปท็อปมีปัญหาเดียวกันโดยใช้ windows (ฉันเพิ่งติดตั้ง windows 7 สำหรับภรรยาของฉันในคอมพิวเตอร์เพราะฉันซื้อใหม่) และมันก็เหมือนกันทุกประการ ดังนั้นอาจเกี่ยวข้องกับฮาร์ดแวร์ / เฟิร์มแวร์
feniix

1
สวัสดี ฉันใช้ Ubuntu 14.04 LTS กับ Thinkpad X201 วิธีแก้ปัญหานี้ลบ e1000e ด้วยสคริปต์ตัวช่วยเล็ก ๆ ช่วยให้หยุดทำงานได้อีกครั้ง ขอบคุณมาก !
apos

1
ฉันสามารถยืนยันวิธีการแก้ปัญหาเดียวกันนี้ได้กับ Thinkpad T540p และ Ubuntu 14.04 มีบางอย่างผิดพลาดภายในe1000eโมดูล สิ่งนี้เกิดขึ้นเป็นครั้งคราวเท่านั้นการเริ่มต้นใช้งานส่วนใหญ่การระงับชั่วคราวจะทำงานได้ดี หากปัญหาปรากฏขึ้นฉันrmmod e1000eจากนั้นฉันสามารถระงับได้สำเร็จ อย่างไรก็ตามถ้าฉันแล้วmodprobeมันอีกครั้งหลังจากที่กลับมาทำงานต่อไป suspend จะทำงานได้แม้จะมีโมดูลอยู่ ดังนั้น "รีเซ็ต" e1000eโมดูลดูเหมือนจะทำเคล็ดลับสำหรับฉัน
mindriot

1

สิ่งนี้ใช้ได้สำหรับฉัน (นำมาจากกระทู้อื่นบน Askubuntu):

Ubuntu 14.04 ตื่นขึ้นมาทันทีหลังจากถูกระงับ

คุณสามารถลองปิดการใช้งานด้วยสคริปต์Upstartทุกการเริ่มต้นโดยอัตโนมัติ:

สร้างไฟล์ etc/init/disable-XHC.conf

เนื้อหา:

start on started dbus
stop on stopping dbus

script
   sudo -u root sh -c "echo 'XHC' > /proc/acpi/wakeup"
end script

0

โซลูชัน systemd คือการสร้างคำสั่งสำหรับ systemd-tmpfiles เพื่อเขียนข้อมูลลงไฟล์เมื่อมีการเรียกใช้

สร้างไฟล์ใน/etc/tmpfiles.dเช่น/etc/tmpfiles.d/disable-network-wake.confด้วยเนื้อหาต่อไปนี้ขึ้นอยู่กับอุปกรณ์ที่คุณต้องการปิดใช้งานการปลุก

w /proc/acpi/wakeup - - - - XHC

ดูเพิ่มเติม systemd-tmpfiles (8) และ tmpfiles.d (5)

Ref: https://wiki.archlinux.org/index.php/Systemd#Temporary_files

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