Pertanyaan Bagaimana cara debug menangguhkan?


Saya telah menggunakan Ubuntu selama sekitar lima tahun sekarang, dan saya masih tidak dapat menunda ketika saya menginginkannya. Ini cukup menjengkelkan bahwa saya dapat memprogram badai, meretas mesin dengan berbagai cara lain, namun, namun ketika saya mencoba membuatnya suspend atau debug menangguhkan, saya gagal total.

Saya butuh bantuan.

Di mana saya mulai menemukan masalahnya? Apa yang harus saya lakukan untuk memperbaikinya? Saya menempatkan karunia pada ini, karena saya benar-benar kehilangan jam hidup saya untuk masalah ini, dan meninggalkan komputer saya pada SEMUA waktu sangat mengerikan.

Gejala-gejalanya:

  • Menekan menangguhkan membawa komputer saya ke keadaan di mana kursornya berkedip-kedip, kipas sedang berjalan, tampaknya HD telah mati (saya pikir), dan saya tidak dapat melakukan apa pun untuk mengembalikannya dari kondisi ini (singkat reboot keras).
  • Mungkin terkait: Penggemar saya tetap di bahkan setelah shutdown, dan bahkan kemudian, saya harus menekan tombol power selama lima detik sebelum saya dapat memulainya lagi.
  • Saya tidak tahu apa yang harus dilihat log untuk men-debug masalah, dan saya membayangkan mereka akan nuked pada reboot pula.

Tolong, tolong bantu. Ini membuat saya benar-benar gila, dan saya telah hidup dengannya selama lebih dari setahun.


24
2017-12-05 01:06


asal


Apakah Anda beruntung dengan ini? Saya pribadi mulai menginisialisasi perangkat keras grafis. Saya mungkin bisa memprogram jalan keluar dari waktu yang diberikan cukup ... tetapi akan lebih mudah untuk memiliki beberapa metode untuk mendapatkan masalah secara langsung. - Henrik
Ya tidak beruntung. Ternyata tidak ada metode untuk debug menangguhkan, yang agak mengejutkan. - mlissner
Bagaimana Anda menangguhkan?  Apakah Anda menjalankan, dari baris perintah pm-suspend? Apakah Anda menggunakan kunci suspend pada keyboard Anda? Apakah Anda membuat panggilan ke acpi (mis. /Etc/acpi/sleep.sh atau /etc/acpi/sleepbtn.sh) ?? - M. Tibbits
Untuk pemburu bayaran: Saya sedang mencari resep debugging umum, i. e. pengumpulan informasi, untuk instalasi Ubuntu yang lebih baru menggunakan systemd. Harapan saya adalah bahwa kita dapat menggunakan pertanyaan ini sebagai duplikat kanonik untuk masalah masalah penangguhan yang luas oleh pengguna yang tidak berpengalaman. - David Foerster
@ pbjj: Entah bagaimana seseorang membutuhkan diagnosis masalah yang tepat sebagai langkah pertama di jalan menuju solusi. - David Foerster


Jawaban:


Dari https://wiki.ubuntu.com/UnderstandingSuspend

  • Masalah terbesar adalah perangkat keras grafis
  • coba menangguhkan tanpa perangkat terbatas (nvidia, fglrx)
  • kernel tidak tahu bagaimana menangani perangkat grafis
  • BIOS tahu cara mengembalikan status grafik
    • via 16 bit segmented mode, C000: xxxx berisi ROM video 64k yang terlihat.
    • mulai eksekusi di C000: 0003, biasanya re-POSTs BIOS video (/ usr / sbin / vbetool post)
      • lebih sulit dalam mode 64bit, karena panggilan 16bit perlu ditiru.
      • beberapa memori berada dalam rentang 3-4G, yang memerlukan pemetaan ulang saat meniru untuk menghindari memukul kernel yang dipetakan dalam ruang yang sama. o BIOS video mungkin telah mem-paging kode POST dari jendela C000 o nvidia BIOS menulis ulang ROM untuk kembali ke stop-POSTING coba menangguhkan dari konsol (melalui /etc/acpi/sleep.sh)
    • pastikan Anda keluar dari Xorg (atau jalankan sleep.sh dengan argumen "force")
    • jika BIOS video tidak ditinggalkan dalam keadaan waras, kembali ke Xorg dapat menggantung perangkat keras
    • tes capslock pada resume (jika tidak ada capslock, kernel digantung)
    • jika lampu latar tidak menyala lagi, BIOS video mungkin tidak menginstal ulang
    • jika layar kosong, tetapi memiliki lampu latar, coba tekan enter atau berpindah antar terminal virtual
    • coba dalam mode single-user (melalui menambahkan "single" ke opsi boot grub kernel)
    • untuk detail tentang tindakan, coba bash -x /etc/acpi/sleep.sh> /root/sleep.log 2> & 1
    • lihat informasi dmidecode yang cocok dengan pengaturan di /usr/share/acpi-support/*.config
    • jika mode single-user console menangguhkan atau melanjutkan gagal
    • Jejak PM (echo "1"> / sys / power / pm_trace) yang akan menulis hash perangkat ke penghitung waktu sistem
    • mencoba untuk menangguhkan
    • setelah kegagalan, saat reboot, periksa output dmesg untuk entri "device hash" untuk melacak perangkat yang menggantung sistem selama resume.
    • sadar bahwa ini akan mereset jam sistem, dan fsck akan panik ("telah pergi tanpa fsck untuk 31337 hari"). pertimbangkan tune2fs -c 0 / dev / your / filesystems.

19
2018-01-30 00:26



Bagaimana cara mematikan perangkat yang dibatasi? - Owen
tautan apa pun ke skrip yang bekerja untuk kewarasan, centang kotak saat menangguhkan gagal? ... Masalah semacam ini adalah kutukan linux dan pemblokiran penggunaan massal ... - Scott Stensland


Anda dapat menemukan banyak pedoman / saran sini dan sini.

Dari deskripsi Anda, kedengarannya seolah-olah ACPI Anda tidak berfungsi dengan benar, atau driver kernel mencegah penundaan penuh. Tautan kedua menunjukkan bagaimana menangani masalah semacam itu.


4
2017-12-05 03:05



Saya membaca ini, tetapi mereka berhenti kekurangan informasi yang sebenarnya berguna untuk masalah saya. Butuh bantuan lebih banyak, dan keterangan yang lebih baik. Saya telah menciptakan karunia untuk pertanyaan ini. - mlissner
Jawaban salah - hanya tautan. Titik Stack * -tempat adalah untuk menyediakan tempat untuk semua pertanyaan, bukan untuk mengirim pengguna dengan sia-sia atau mengatakan 'hanya f * google saja'. Silakan masukkan jawaban Anda ke pertanyaan dan perbarui sesuai dengan komentar mlissner. - Henrik
Terima kasih: Terkadang berguna untuk membaca beranda asli! - abu_bua


Gejala-gejalanya:

  • Menekan menangguhkan membawa komputer saya ke keadaan di mana kursornya berkedip-kedip, kipas sedang berjalan, tampaknya HD telah mati (saya pikir), dan saya tidak dapat melakukan apa pun untuk mengembalikannya dari kondisi ini (singkat reboot keras).
  • Mungkin terkait: Penggemar saya tetap di bahkan setelah shutdown, dan bahkan kemudian, saya harus menekan tombol power selama lima detik sebelum saya dapat memulainya lagi.
  • Saya tidak tahu apa yang harus dilihat log untuk men-debug masalah, dan saya membayangkan mereka akan nuked pada reboot pula.

Saya pergi ke situs untuk banyak masalah Linux adalah Arch Linux. Inilah yang diposting tentang menangguhkan / melanjutkan masalah mirip dengan Anda:

Bangkit seketika dari penundaan

Untuk beberapa sistem Intel Haswell dengan LynxPoint dan LynxPoint-LP chipset, wakeup instan setelah suspend dilaporkan. Mereka terkait dengan implementasi BIOS ACPI yang salah dan bagaimana xhci_hcd modul menafsirkannya saat boot. Sebagai work-around melaporkan sistem yang terkena ditambahkan ke daftar hitam (bernama XHCI_SPURIOUS_WAKEUP) oleh kernel case-by-case. [2]

Resume seketika dapat terjadi, misalnya, jika perangkat USB dicolokkan selama suspend dan ACPI wakeup trigger diaktifkan. Sistem kerja yang layak untuk sistem seperti itu, jika tidak ada di daftar hitam, adalah untuk menonaktifkan pemicu bangun. Contoh untuk menonaktifkan wakeup melalui USB dijelaskan sebagai berikut. [3]

Untuk melihat konfigurasi saat ini:

$ 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

...

Perangkat yang relevan adalah EHC1, EHC2 dan XHC (untuk USB 3.0). Untuk beralih statusnya, Anda harus menggemakan nama perangkat ke file sebagai root.

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

Ini akan menyebabkan suspensi bekerja kembali. Namun, pengaturan ini hanya sementara dan harus diatur pada setiap reboot. Untuk mengotomatisasi ini, lihatlah systemd # Menulis file unit. Lihat Benang BBS untuk solusi yang mungkin dan informasi lebih lanjut.


Seluruh artikel Arch Linux di atas tentang Suspend / Resume adalah referensi bagus untuk banyak bidang:

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

2
2018-06-29 02:13



Kelihatan bagus! Saya akan menunggu satu atau dua hari lagi untuk memberi orang lain kesempatan untuk menjawab. Mungkin seseorang akan merasa terinspirasi oleh Anda. :-) - David Foerster
@DavidFoerster, terima kasih. Ini menantang untuk menjawab pertanyaan berusia 8 tahun. Ada juga masalah suspend / resume dengan NVMe M.2 PCIe SSD yang akan saya tambahkan malam ini. Jenis SSD ini tidak ada pada tahun 2010 dan memerlukan argumen kernel grub khusus. - WinEunuuchs2Unix
Saya mencari solusi untuk masalah suspend spesifik dan lebih banyak lagi untuk resep debugging umum untuk instalasi Ubuntu yang lebih baru menggunakan systemd. - David Foerster
@DavidFoerster Dalam hal ini saya akan membiarkan jawabannya tetap seperti ini :) - WinEunuuchs2Unix