Sistem sepenuhnya macet dengan Intel Bay Trail

29

Sistem saya membeku sepenuhnya secara acak, interval yang sering. Saya mulai memiliki masalah yang sama di Ubuntu 14,04 tetapi setelah upgrade baru-baru ini ke 16,04 tidak ada perbaikan, bahkan tampaknya lebih buruk.

Ketika itu terjadi, tidak mungkin untuk melakukan apa pun. Saya sudah mencoba semuanya di utas ini: Apa yang harus dilakukan ketika Ubuntu macet tetapi tidak ada yang berhasil, saya harus mengatur ulang dengan keras. Saya telah membaca semua log sistem dan journalctltetapi tidak pernah ada informasi yang dapat membantu mendiagnosis masalah tersebut.

Ini adalah sistem dual-boot dengan Windows 10 dan tidak ada masalah di sana, jadi itu bukan perangkat keras yang rusak.

Laptop saya memiliki prosesor Intel Bay Trail (Pentium N3540)

Jack Dix
sumber

Jawaban:

37

Prosesor Anda dipengaruhi oleh bug c-state

Ini menyebabkan pembekuan total ketika CPU mencoba memasuki kondisi tidur yang tidak didukung. Ini masalah bagi banyak perangkat Bay Trail terutama dengan kernel yang lebih baru (4. *).

Prosesor yang terpengaruh AFAIK:

Atom Z3735F (Asus X205TA, Acer Aspire Switch 10, Lenovo MIIX 3 1030) 
Atom Z3735G
Celeron J1900 (Asus ET2325IUK, shuttle XS35V4)
Celeron N2940 (Acer Aspire ES1-711, Chromebook)
Celeron N2840 (Acer Aspire ES1-311)
Celeron N2930 (Jetway JBC311U93, Zotac Nano CI320)
Pentium N3520 
Pentium N3530 (Acer V3-111P)
Pentium N3540 (Dell Inspiron 15 3000, Lenovo G50, ASUS X550MJ)

(tolong (sarankan an) sunting untuk menambahkan perangkat Anda sendiri jika terpengaruh)

Daftar lengkap prosesor Bay Trail dapat ditemukan di sini

Ada solusi sederhana untuk ini sampai diperbaiki dengan benar di hulu.

Anda hanya perlu melewatkan parameter boot kernel dan pembekuan acak berhenti sepenuhnya. Parameter dapat meningkatkan konsumsi baterai sedikit, tetapi itu akan memberi Anda sistem yang dapat digunakan.

Anda melakukan ini dengan mengedit file konfigurasi untuk GRUB:

Boot Ubuntu dan buka terminal dengan menekan Ctrl+ Alt+ Tlalu ketik

sudo nano /etc/default/grub

Temukan garis yang dimulai GRUB_CMDLINE_LINUX_DEFAULT=

Ini perlu diubah untuk dimasukkan intel_idle.max_cstate=1

Jadi setelah diedit Anda akan membaca sesuatu seperti

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_idle.max_cstate=1"

quietdan splashmerupakan parameter default untuk Ubuntu Desktop - tidak perlu mengubahnya, atau parameter lain yang sudah ada sebelumnya

Sekarang simpan file dengan menekan ctrl+ olalu enterdan keluar dengan menekan ctrl+x

Sekarang jalankan

sudo update-grub

Kemudian reboot.


Apa yang harus dilakukan jika Anda tidak memiliki cukup waktu untuk melakukan ini sebelum sistem hang

Tidak masalah. Seperti dijelaskan pada halaman bantuan yang saya tautkan sebelumnya, Anda dapat menambahkan parameter ke GRUB sebelum melakukan booting. Perhatikan bahwa ini hanya melewati parameter untuk boot saat ini, jadi Anda masih harus mengedit /etc/default/grubsetelah boot untuk membuat perubahan permanen.

Anda harus masuk ke menu GRUB . Jika Anda melakukan dual boot, ini akan tetap muncul, jika tidak Anda harus menekan dan menahan (atau mengetuk) shiftsetelah menekan tombol daya untuk menghidupkan.

Ketika Anda sampai ke layar ini pilih Opsi Lanjutan untuk Ubuntu . Anda dapat memindahkan kursor ke kernel lain, atau membiarkannya di tempat untuk mengedit opsi untuk default. Alih-alih menekan enter, tekan edan Anda akan masuk ke mode edit, tampak seperti ini samar-samar .

Pindahkan kursor ke bawah ke tempat katanya quiet splash, taruh spasi setelah splash dan ketik dengan hati-hati intel_idle.max_cstate=1memastikan ada ruang setelahnya.

Sekarang tekan F10atau Ctrl+ xuntuk boot.

Zanna
sumber
@Arronical hehe terima kasih! Saya harus tahu ini - sistem saya akan begadang ~ 15 menit tanpanya, tetapi dengan param, itu tidak pernah membeku sekali :) Semua kredit untuk peretas yang benar - benar hebat yang menemukannya
Zanna
Terima kasih! Apakah ini menghentikan tanggapan terhadap Ctrl Alt REISUB? Juga respons terhadap edit GRUB di atas adalah bahwa jika Hidden Timeout diatur, maka edit di atas tidak akan berfungsi. Bagaimana seseorang mengatasi hal ini jika masalah berlanjut?
CLR
@ clr pembekuan c-state tidak merespons magic sysrq REISUB, tetapi perbaikan ini menghentikan pembekuan c-state. Jika sistem Anda macet karena alasan lain, REISUB mungkin berfungsi. GRUB_HIDDEN_TIMEOUT tidak berpengaruh pada parameter boot, dan Anda harus dapat mengakses menu dengan menekan shift saat startup. Jika Anda tidak bisa, dalam kasus di mana sistem membeku terlalu cepat untuk Anda edit /etc/default/grub, itu menyusahkan, tetapi Anda dapat mencoba mem-boot sesi live versi dengan kernel yang lebih lama untuk mengedit file - pasang partisi root ke /mntdan edit /mnt/etc/default/grubke tambahkan parameter.
Zanna
Terima kasih untuk instruksi yang jelas. Saya harap ini berhasil. Saya akan melaporkan kembali ke sini jika tidak. Saat ini saya menjalankan 16.10 pada Zotac Nano CI320. Saya telah mencoba 16,04 dan Debian 8 sebelumnya, dan juga mengalami pembekuan acak. Saya mencoba 16.10 berharap masalah akan hilang dengan kernel yang lebih baru. Menariknya, ketika saya mencoba REISUB (saya tidak ingat OS apa) itu berhasil - jadi mungkin ternyata saya menghadapi masalah yang berbeda.
Jeremy Cook
@ JeremyCook Saya baru saja menginstal 16.10 dan hal pertama yang saya lakukan adalah mengedit boot params saya - saya benar-benar harus memeriksa kernel baru ini! Tolong, beri tahu saya apakah ini berfungsi atau tidak di sini.
Zanna
1

Prosesor Linux on Bay Trail dan Braswell membeku secara acak dengan perangkat video bawaan.

Masalahnya dengan kontrol suhu. Hapus saja modul thermald:

sudo apt-get remove thermald 
Genia Li
sumber
3
Saya percaya bug untuk Bay Trail ada pada driver i915 (Intel CPU). Prosesor terus-menerus mencoba untuk memasuki kondisi tidur yang tidak didukung olehnya. Masalah untuk pengguna Bay Trail dimulai setelah komit ke i915, jadi itu selalu disalahkan. Namun, mungkin ada penyebab lain untuk beberapa, dan saya tidak tahu tentang Braswell membeku dan akan bagus untuk mengetahui bahwa mereka diperbaiki oleh beberapa tindakan (aman?). Apakah Anda memiliki referensi untuk informasi ini, atau dapatkah Anda memberi tahu kami perangkat keras mana yang diuji dan berfungsi?
Zanna
Tampaknya ini masih menjadi masalah dengan 19.04. Agak berharap itu akan diperbaiki sekarang. Telah terjadi di laptop saya sejak 14.04. 15.10 hampir mustahil untuk diperbaiki.
crip659
0

Untuk orang-orang yang mengikuti bug ini di sini adalah pembaruan. Pergi ke: Bug 109051 - intel_idle.max_cstate = 1 diperlukan pada baytrail untuk mencegah crash dan tekan Endtombol. Jika perlu tekan Page Upke pesan # 1013.

Menurut komentar # 1013 itu sekarang diperbaiki di kernel baru-baru ini:

Saya belum memeriksa utas ini dalam waktu yang lama, tetapi saya pikir saya harus memposting temuan saya kalau-kalau ada gunanya bagi siapa pun.

Komputer low-end yang ditenagai dengan Intel N2807 yang tidak pernah berfungsi lebih dari 30 juta tanpa crash ketika saya tidak mengatur ... max_cstates = 1 sekarang bekerja dengan sangat baik dengan kernel stock v. 5.3.1 atau 4.19.75. Saya menjalankannya selama beberapa hari dengan setiap versi tanpa masalah. Konsumsi daya rata-rata juga turun sedikit di atas 10%.

Butuh waktu sekitar empat tahun untuk memperbaiki bug ini pertama kali dilaporkan 8 Desember 2015.

WinEunuuchs2Unix
sumber