Saya berharap mendapatkan saran berdasarkan pengalaman tentang bagaimana cara men-debug masalah suspend-to-RAM. Saran khusus untuk situasi saya (dirinci di bawah) akan bagus, tetapi saya juga tertarik pada saran umum tentang cara men-debug masalah tersebut.
Masalah:
Seringkali, ketika saya mencoba untuk menangguhkan mesin saya, itu macet dalam keadaan "tidak ditangguhkan tetapi tidak terjaga". Seringkali layar akan benar-benar hitam tetapi kadang-kadang akan memiliki pesan kesalahan berikut:
GLib-WARNING **: getpwuid_r(): failed due to unknown user id (0)
Selain itu, keadaan ini juga akan disertai oleh para penggemar yang menendang ke gigi tinggi. Satu-satunya cara untuk mengeluarkannya dari kondisi ini adalah mematikan laptop secara manual.
Beberapa informasi
$ uname -a
Linux baltar 2.6.35-22-generic #34-Ubuntu SMP Sun Oct 10 09:26:05 UTC 2010 x86_64 GNU/Linux
$ lsb_release -a
Distributor ID: Ubuntu
Description: Ubuntu 10.10
Release: 10.10
Codename: maverick
Saya sudah melihat /var/log/dmesg
dan /var/log/pm-suspend.log
, tapi saya tidak tahu apa yang saya cari dan tidak ada yang menonjol. Saya tidak yakin apakah ini terkait, tetapi saya menemukan banyak hal berikut di /var/log/kern.log
:
EXT4-fs (dm-0): re-mounted. Opts: errors=remount-ro,commit=600
No LSB modules are available.
ditampilkan setelah itulsb_release -a
.Jawaban:
Apakah Anda memiliki chipset grafis Intel? Saya mendapatkan apa yang terdengar seperti masalah yang sama pada ThinkPad X200s saya yang menjalankan Ubuntu 10.10, dan solusi ini (dari 2008!) Memperbaikinya untuk saya: http://ubuntuforums.org/showpost.php?p=6105510&postcount=12
sumber
PM_DEBUG dan PM_TRACE tampaknya merupakan fasilitas debugging terdalam yang ada saat ini. Ketika Anda tidak mendapatkan apa pun yang berarti dari log tingkat tinggi, AFAIK ini adalah satu-satunya mekanisme untuk mundur ketika menghadapi gejala "layar kosong misterius pada resume" yang ditakuti. Paling sering kita berhadapan dengan driver perangkat yang rusak, cukup sering secara halus. Anda juga dapat melihat saga debugging Broadcom brcmsmac nirkabel saya di bug kernel 34682 untuk apa yang disarankan dan dicari oleh pengembang kernel.
sumber
Saya memiliki kecurigaan bahwa masalah ini mungkin karena BIOS tidak melaporkan dengan benar tentang apa yang benar-benar digunakan oleh lowmem.
Secara default, opsi ini berlaku:
Anda dapat mencoba mengaturnya ke nilai yang lebih besar untuk membuat pemindai kerusakan memori memeriksa bongkahan rendah yang lebih besar.
Cari "memory_corruption_check_size" di
dll.
Saya akan tertarik mengetahui apa yang Anda temukan, jika ada.
sumber
Pengalaman saya bekerja di bidang ini adalah di Windows CE, bukan Linux.
Selama siklus penangguhan / melanjutkan, OS akan secara proaktif mematikan fungsionalitas OS yang membatasi kemampuan Anda untuk mendapatkan informasi yang dapat diandalkan yang akurat tentang apa yang sedang terjadi menggunakan fungsionalitas OS. Selain itu, koneksi pemantauan Anda dapat (misalnya jika masalah terkait waktu) mengubah hasilnya.
Alat preferensi mulai dengan koneksi debugger C / C ++ ke OS di akhir yang tinggi, dan pada tingkat yang sangat rendah mengirimkan data ke port serial / Kode POST atau pada perangkat keras non-X86, debugger JTAG atau yang setara. Hasil akhirnya adalah berjam-jam mengerjakan alur kode dan menemukan titik ketika berperilaku berbeda dari perilaku normal. Pada titik itu, perbaikannya biasanya jelas. Buat catatan yang baik, dan lakukan satu perubahan setiap kali.
Butuh 6 minggu untuk mengidentifikasi masalah peningkatan daya yang kami miliki dengan Windows CE. Kami memiliki papan prosesor PC104 yang dapat kami matikan selama 10 atau 60 detik dan hidup tanpa masalah. Namun jika daya dilepas selama 25 detik, itu tidak akan menyala. Ternyata kami memiliki kapasitansi yang cukup untuk menjaga konten DRAM tetap utuh tanpa daya selama sekitar 20 detik, sehingga pada siklus pematian pendek, Windows CE mengira itu melanjutkan dari keadaan tertunda. Ketika semua memori disimpan, itu benar-benar akan berhasil melakukan resume, ketika memori sebagian rusak, itu akan agak membingungkan selama resume.
Semoga berhasil.
sumber