1

I bought a Dell Latitude e7470 recently. I immediately removed the preinstalled Windows 10, and installed Arch Linux.

It works fine, except for one thing: On shutdown or reboot, at the point where the pc would usually switch off (all processes ended, etc.), the laptop just hangs for around 30-60 secs. While it hangs, the battery led flickers in a pattern that, according to Dell's owners manual, signals "CPU failure". After the 30-60 secs, the fan spins up to max rpm, and then the system crashes (just shuts off, doesn't reboot until I press the power button again).

I suspect that somehow, the linux kernel issues the wrong shutdown command to the cpu, but I have very little knowledge on how to figure this out. Can anyone give me any tips on this? The cpu is an i-5 6300.

journalctl -p err

gives me

-- Reboot --
Jan 07 21:11:13 gaspodelaptop systemd-udevd[207]: Error calling EVIOCSKEYCODE on device node '/dev/input/event9' (scan code 0x150, key code 190): Invalid argument
Jan 07 21:11:13 gaspodelaptop kernel: dell_laptop: Setting old previous keyboard state failed
Jan 07 21:11:14 gaspodelaptop kernel: Bluetooth: hci0: Setting Intel event mask failed (-16)
Jan 08 01:49:19 gaspodelaptop gnome-session-binary[569]: GLib-GObject-CRITICAL: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
Jan 08 01:49:19 gaspodelaptop gnome-session-binary[569]: GLib-GObject-CRITICAL: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
Jan 08 01:49:19 gaspodelaptop gnome-session-binary[569]: GLib-GObject-CRITICAL: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
Jan 08 01:49:19 gaspodelaptop gnome-session-binary[569]: GLib-GObject-CRITICAL: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
Jan 08 01:49:19 gaspodelaptop gnome-session-binary[569]: GLib-GObject-CRITICAL: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
Jan 08 01:49:20 gaspodelaptop gnome-session-binary[569]: GLib-GObject-CRITICAL: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
Jan 08 01:49:20 gaspodelaptop gnome-session-binary[569]: GLib-GObject-CRITICAL: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
Jan 08 01:49:20 gaspodelaptop gnome-session-binary[569]: GLib-GObject-CRITICAL: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
Jan 08 01:49:20 gaspodelaptop gnome-session-binary[569]: GLib-GObject-CRITICAL: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
Jan 08 01:49:20 gaspodelaptop gnome-session-binary[569]: GLib-GObject-CRITICAL: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
Jan 08 01:49:22 gaspodelaptop gdm[357]: GLib: g_hash_table_find: assertion 'version == hash_table->version' failed
-- Reboot --

Output of dmesg | grep microcode:

[    0.878621] microcode: sig=0x406e3, pf=0x80, revision=0x9e
[    0.878759] microcode: Microcode Update Driver: v2.01 <tigran@aivazian.fsnet.co.uk>, Peter Oruba

UPDATE: It seems to be a kernel issue. After investigating my suspicion of the SSD, I stumbled upon this forum post. In there it is mentioned that it's a kernel Bug that is already being fixed. According to this Bugreport, it's going to be fixed in Kernel 4.9-rc7. I guess i will have to wait a while, but since I am on Arch Linux, it shouldn't take too long. I know I could also compile my own kernel, but I'm too lazy (or better: too busy with other things) for that. Guess I'll just use standby a lot.

  • 1
    Assuming that this happens on Linux, you can try pressing F12 just after shutdown procedure starts. This will give you a verbose output on what's happening in the background. – Mayank Verma Jan 5 '17 at 15:43
  • @MayankVerma I did, and the last thing it says is something like "Exception:Emask" but it is only there for half a second so I cannot read the rest – Gasp0de Jan 5 '17 at 15:47
  • And also something about bluetooth firmware that could not be loaded, but that shouldn't cause the shutdown process to crash, should it. Why is it loading firmware at shutdown anyways – Gasp0de Jan 5 '17 at 15:54
  • Can you post your errors from journalctl -p err ? – Michael D. Jan 7 '17 at 22:44
  • I can. The problem is, that my journalctl does not output everything due to ratelimiting, and the options "RateLimitIntervalSec" and "RateLimitBurst" seem to be ignored... – Gasp0de Jan 7 '17 at 22:48
2

Install the intel-ucode package!

Processor manufacturers release stability and security updates to the processor microcode. While microcode can be updated through the BIOS, the Linux kernel is also able to apply these updates during boot. These updates provide bug fixes that can be critical to the stability of your system. Without these updates, you may experience spurious crashes or unexpected system halts that can be difficult to track down. Users of CPUs belonging to the Intel Haswell and Broadwell processor families in particular must install these microcode updates to ensure system stability. But all Intel users should install the updates as a matter of course.

https://wiki.archlinux.org/index.php/Microcode

  • I did that during the installation. I added a second initrd line (the ucode line first) as described in the article you linked. However, I am experiencing some issues with systemd-boot, so is there any way I can verify that the microcode is loaded? – Gasp0de Jan 9 '17 at 11:55
  • dmesg | grep microcode – Michael D. Jan 9 '17 at 11:57
  • Thank you, I will check tonight. I am currently at work and don't have the laptop with me. – Gasp0de Jan 9 '17 at 12:00
  • Looks like microcode is loaded, I added the output of dmesg to the question – Gasp0de Jan 10 '17 at 14:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.