จะดีบักวิธีระงับได้อย่างไร


29

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

ฉันต้องการความช่วยเหลือ.

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

อาการ:

  • การกดระงับทำให้คอมพิวเตอร์ของฉันอยู่ในสถานะที่มีเคอร์เซอร์กะพริบแฟน ๆ กำลังทำงานดูเหมือนว่า HD ได้ปิด (ฉันคิดว่า) และฉันไม่สามารถทำอะไรเพื่อนำมันกลับมาจากสถานะนี้ รีบูตยาก)
  • อาจเกี่ยวข้องกับ: แฟน ๆ ของฉันยังคงอยู่แม้หลังจากปิดตัวลงและจากนั้นฉันต้องกดปุ่มเปิด / ปิดเป็นเวลาห้าวินาทีก่อนที่ฉันจะเริ่มต้นใหม่อีกครั้ง
  • ฉันไม่ทราบว่ามีบันทึกใดที่ควรตรวจแก้จุดบกพร่องและฉันคิดว่าพวกเขาจะได้รับการรีบูตด้วยการรีบูตอย่างไรก็ตาม

ได้โปรดได้โปรดช่วยด้วย สิ่งนี้ทำให้ฉันบ้าอย่างสมบูรณ์และฉันอยู่กับมันมานานกว่าหนึ่งปี


คุณเคยโชคกับเรื่องนี้บ้างไหม? ฉันติดการเริ่มต้นฮาร์ดแวร์กราฟิกเป็นการส่วนตัว ฉันอาจจะเขียนโปรแกรมด้วยวิธีการของฉันออกจากมันให้เวลาเพียงพอ ... แต่มันจะราบรื่นมากขึ้นที่จะมีวิธีการบางอย่างในการแก้ไขปัญหาโดยตรง
Henrik

ใช่ไม่มีโชค เห็นได้ชัดว่าไม่มีวิธีในการดีบักการระงับซึ่งน่าตกใจเล็กน้อย
mlissner

1
คุณเป็นยังไงบ้าง คุณกำลังเรียกใช้จากบรรทัดคำสั่งpm-suspendหรือไม่ คุณใช้ปุ่มหยุดชั่วคราวบนคีย์บอร์ดหรือไม่? คุณกำลังโทรหา acpi (เช่น /etc/acpi/sleep.sh หรือ /etc/acpi/sleepbtn.sh) หรือไม่?
M. Tibbits

1
สำหรับนักล่าเงินรางวัล:ฉันกำลังมองหาสูตรการตรวจแก้จุดบกพร่องทั่วไปเป็นส่วนใหญ่เช่นการรวบรวมข้อมูลสำหรับการติดตั้ง Ubuntu ล่าสุดโดยใช้ systemd ความหวังของฉันคือเราสามารถใช้คำถามนี้เป็นคำถามที่เป็นที่ยอมรับสำหรับคำถามที่มีปัญหาในวงกว้างโดยผู้ใช้ที่ไม่มีประสบการณ์
David Foerster

2
@pbhj: วิธีใดวิธีหนึ่งต้องการการวินิจฉัยปัญหาที่เหมาะสมเป็นขั้นตอนแรกบนเส้นทางสู่วิธีแก้ไขปัญหา
David Foerster

คำตอบ:


22

จากhttps://wiki.ubuntu.com/UnderstandingSuspend

  • ปัญหาที่ใหญ่ที่สุดคือฮาร์ดแวร์กราฟิก
  • ลองระงับโดยไม่มีอุปกรณ์ที่ถูก จำกัด (nvidia, fglrx)
  • เคอร์เนลไม่ทราบวิธีจัดการอุปกรณ์กราฟิก
  • BIOS รู้วิธีเรียกคืนสถานะกราฟิก
    • ผ่านโหมดการแบ่งส่วน 16 บิต C000: xxxx มี ROM วิดีโอ 64k ที่มองเห็นได้
    • เริ่มต้นการประมวลผลที่ C000: 0003 โดยปกติจะโพสต์วิดีโอ BIOS อีกครั้ง (/ usr / sbin / vbetool โพสต์)
      • ยากขึ้นในโหมด 64 บิตเนื่องจากการโทรแบบ 16 บิตจะต้องทำการจำลอง
      • หน่วยความจำบางส่วนอยู่ในช่วง 3-4G ซึ่งต้องทำการแมปใหม่เมื่อทำการจำลองเพื่อหลีกเลี่ยงการชนเคอร์เนลซึ่งถูกแมปในพื้นที่เดียวกัน o วิดีโอ BIOS อาจมีการทำรหัส POST เพจจากหน้าต่าง C000 o nvidia BIOS เขียน ROM ใหม่เพื่อกลับไปหยุด POST อีกครั้งโดยลองระงับจากคอนโซล (ผ่าน /etc/acpi/sleep.sh)
    • ตรวจสอบให้แน่ใจว่าคุณออกจากระบบ Xorg (หรือเรียกใช้ sleep.sh ด้วยอาร์กิวเมนต์ "force")
    • หาก BIOS วิดีโอไม่ได้อยู่ในสถานะมีสติกลับไปที่ Xorg อาจแขวนฮาร์ดแวร์
    • ทดสอบ capslock ในการดำเนินการต่อ
    • หากไฟแบ็คไลท์ไม่กลับมาแสดงผลไบออสวิดีโออาจไม่ได้กำหนดค่าเริ่มต้นใหม่
    • หากหน้าจอว่างเปล่า แต่มีแสงไฟให้ลองกดปุ่ม Enter หรือสลับระหว่างขั้วเสมือน
    • ลองในโหมดผู้ใช้คนเดียว (ผ่านการผนวก "เดี่ยว" กับตัวเลือกการบูตเคอร์เนลด้วง)
    • สำหรับรายละเอียดเกี่ยวกับการดำเนินการลอง bash -x /etc/acpi/sleep.sh> /root/sleep.log 2> & 1
    • ดูข้อมูล dmidecode ที่ตรงกับการตั้งค่าใน /usr/share/acpi-support/*.config
    • หากการระงับคอนโซลโหมดผู้ใช้คนเดียวหรือดำเนินการต่อล้มเหลว
    • การติดตาม PM (echo "1"> / sys / power / pm_trace) ซึ่งจะเขียนอุปกรณ์แฮชไปยังตัวจับเวลาระบบ
    • พยายามระงับ
    • หลังจากความล้มเหลวในการรีบูตตรวจสอบเอาต์พุต dmesg สำหรับรายการ "แฮชอุปกรณ์" เพื่อติดตามอุปกรณ์ที่หยุดการทำงานของระบบระหว่างการทำงานต่อ
    • โปรดทราบว่าสิ่งนี้จะรีเซ็ตนาฬิกาของระบบและ fsck จะประหลาด ("หายไปโดยไม่มี fsck เป็นเวลา 31337 วัน") พิจารณา tune2fs -c 0 / dev / your / filesystems

2
ฉันจะปิดอุปกรณ์ที่ถูก จำกัด ได้อย่างไร
โอเว่น

1
ลิงก์ใด ๆ ไปยังสคริปต์การทำงานเพื่อให้มีสติตรวจสอบกล่องเมื่อการระงับล้มเหลว? ... ปัญหาแบบนี้คือความหายนะของ linux และบล๊อกการใช้งานจำนวนมาก ...
Scott Stensland

4

คุณสามารถพบมากของแนวทาง / คำแนะนำที่นี่และที่นี่

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


2
ฉันได้อ่านสิ่งเหล่านี้ แต่พวกเขาหยุดข้อมูลที่มีประโยชน์จริง ๆ สำหรับปัญหาของฉัน ต้องการความช่วยเหลือเพิ่มเติมและรายการที่ดีกว่า ฉันได้สร้างความโปรดปรานให้กับคำถามนี้
mlissner

4
คำตอบที่ไม่ดี - แค่ลิงก์ จุดของเว็บไซต์ Stack * คือการให้สถานที่สำหรับทุกคำถามไม่ส่งผู้ใช้ในการไล่ล่าห่านที่ไม่มีที่สิ้นสุดหรือพูดว่า 'แค่ f * google it' โปรดใส่คำตอบของคุณลงในคำถามและอัปเดตตามความคิดเห็นของ mlissner
Henrik

ขอบคุณ: บางครั้งมันมีประโยชน์ในการอ่านหน้าแรกดั้งเดิม!
abu_bua

4

อาการ:

  • การกดระงับทำให้คอมพิวเตอร์ของฉันอยู่ในสถานะที่มีเคอร์เซอร์กะพริบแฟน ๆ กำลังทำงานดูเหมือนว่า HD ได้ปิด (ฉันคิดว่า) และฉันไม่สามารถทำอะไรเพื่อนำมันกลับมาจากสถานะนี้ รีบูตยาก)
  • อาจเกี่ยวข้องกับ: แฟน ๆ ของฉันยังคงอยู่แม้หลังจากปิดตัวลงและจากนั้นฉันต้องกดปุ่มเปิด / ปิดเป็นเวลาห้าวินาทีก่อนที่ฉันจะเริ่มต้นใหม่อีกครั้ง
  • ฉันไม่ทราบว่ามีบันทึกใดที่ควรตรวจแก้จุดบกพร่องและฉันคิดว่าพวกเขาจะได้รับการรีบูตด้วยการรีบูตอย่างไรก็ตาม

ไปที่ไซต์ของฉันสำหรับปัญหา Linux มากมายคือ Arch Linux นี่คือสิ่งที่โพสต์เกี่ยวกับปัญหาการระงับ / ดำเนินการต่อที่คล้ายกับของคุณ:

การปลุกทันทีจากการหยุดชั่วคราว

สำหรับระบบ Intel Haswell บางระบบที่มีชิปเซ็ต LynxPoint และ LynxPoint-LP จะมีการรายงานการปลุกทันทีหลังจากการระงับ พวกมันเชื่อมโยงกับการใช้งาน BIOS ACPI ที่ผิดพลาดและวิธีที่xhci_hcdโมดูลตีความระหว่างการบูต ในฐานะที่เป็นระบบที่ได้รับผลกระทบรายงานถูกเพิ่มเข้าไปในบัญชีดำ (ชื่อXHCI_SPURIOUS_WAKEUP) โดยเคอร์เนลกรณีโดยกรณี [ 2 ]

ตัวอย่างเช่นการทำงานต่อทันทีอาจเกิดขึ้นได้หากอุปกรณ์ USB ถูกเสียบระหว่างการระงับและเปิดใช้งานทริกเกอร์การปลุก ACPI วิธีแก้ปัญหาสำหรับระบบดังกล่าวหากยังไม่ได้อยู่ในบัญชีดำก็คือปิดทริกเกอร์การปลุก ตัวอย่างการปิดใช้งานการปลุกผ่าน USB อธิบายได้ดังนี้ [ 3 ]

วิธีดูการกำหนดค่าปัจจุบัน:

$ cat /proc/acpi/wakeup

Device  S-state   Status   Sysfs node
...
EHC1      S3    *enabled  pci:0000:00:1d.0
EHC2      S3    *enabled  pci:0000:00:1a.0
XHC       S3    *enabled  pci:0000:00:14.0

...

อุปกรณ์ที่เกี่ยวข้องEHC1, EHC2และXHC(สำหรับ USB 3.0) เพื่อสลับสถานะของพวกเขาคุณจะต้องสะท้อนชื่ออุปกรณ์ไปยังไฟล์เป็นราก

# echo EHC1 > /proc/acpi/wakeup
# echo EHC2 > /proc/acpi/wakeup
# echo XHC > /proc/acpi/wakeup

สิ่งนี้จะส่งผลให้การระงับทำงานอีกครั้ง อย่างไรก็ตามการตั้งค่านี้เป็นเพียงชั่วคราวและจะต้องมีการตั้งค่าทุกครั้งที่รีบูต โดยอัตโนมัตินี้จะดูที่ไฟล์หน่วย systemd # เขียน ดูเธรด BBSสำหรับวิธีแก้ปัญหาที่เป็นไปได้และข้อมูลเพิ่มเติม


บทความ Arch Linux ทั้งหมดด้านบนใน Suspend / Resume เป็นการอ้างอิงที่ดีสำหรับหลาย ๆ ด้าน:

1 Low level interfaces
    1.1 kernel (swsusp)
    1.2 uswsusp
2 High level interfaces
    2.1 systemd
3 Hibernation
    3.1 About swap partition/file size
    3.2 Required kernel parameters
        3.2.1 Hibernation into swap file
    3.3 Configure the initramfs
4 Troubleshooting
    4.1 ACPI_OS_NAME
    4.2 VAIO Users
    4.3 Suspend/hibernate doesn't work, or not consistently
    4.4 Wake-on-LAN
    4.5 Instantaneous wakeups from suspend

ดูดี! ฉันจะรออีกวันหรือสองวันเพื่อให้โอกาสผู้อื่นตอบ บางทีบางคนอาจรู้สึกได้รับแรงบันดาลใจจากคุณ :-)
David Foerster

@DavidFoerster ขอบคุณ มันท้าทายที่จะตอบคำถามอายุ 8 ปี นอกจากนี้ยังมีปัญหาการหยุดชั่วคราว / ดำเนินการต่อกับ NVMe M.2 PCIe SSD ของฉันจะเพิ่มในคืนนี้ SSD ชนิดนี้ไม่มีในปี 2010 และต้องการอาร์กิวเมนต์ kernel grub แบบพิเศษ
WinEunuuchs2Unix

ฉันมองหาวิธีแก้ไขปัญหาการระงับเฉพาะน้อยลงและเพิ่มเติมสำหรับสูตรการแก้ไขข้อบกพร่องทั่วไปสำหรับการติดตั้ง Ubuntu ล่าสุดโดยใช้ systemd
David Foerster

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