View previous topic :: View next topic |
Author |
Message |
pietinger Guru

Joined: 17 Oct 2006 Posts: 507 Location: Bavaria
|
Posted: Wed Jun 28, 2017 2:33 pm Post subject: Howto: Intel Skylake microcode update bug broken hyperthread |
|
|
Yesterday I read this article: https://lwn.net/Articles/726496/
... and thought its time to learn how to install a microcode update. I had a little help from the gentoo-wiki: https://wiki.gentoo.org/wiki/intel_microcode
It took me longer than I thought before ... maybe this will help you a little bit.
First of all, I had to emerge the unstable package "intel-microcode" to get the version: 20170511.
Now I have a lot of files in /lib/firmware/intel-ucode. But which one do I need ? After (a long) searching in the web I found the missing Info: All Versions showing me in "cat /proc/cpuinfo" are in decimal and I have to translate in in hexadecimal. I have an i7-6700 and got this Output:
Code: |
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 94
model name : Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz
stepping : 3
|
After translating dec 94 in hex 5E I knew I need the file 06-5e-03 (cpu family-model-stepping)
Edit 2020-07-24:With a newer kernel it is also possible to search for the needed infos:
Code: | ~ # dmesg | grep "Intel(R)"
[ 1.397890] smpboot: CPU0: Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz (family: 0x6, model: 0x5e, stepping: 0x3) |
I choosed the method "New method without initram-fs/disk" from the gentoo-wiki because I allready included a file before. If you want to load 2 files you only need to sperate them by a blank.
Code: |
.config - Linux/x86 4.9.34-gentoo Kernel Configuration
→ Device Drivers → Generic Driver Options
Generic Driver Options
│ Arrow keys navigate the menu. <Enter> selects submenus ---> (or empty submenus ----). Highlighted letters are hotkeys. │
│ Pressing <Y> includes, <N> excludes, <M> modularizes features. Press <Esc><Esc> to exit, <?> for Help, </> for Search. │
│ Legend: [*] built-in [ ] excluded <M> module < > module capable │
│ │
│ │ [ ] Support for uevent helper │ │
│ │ -*- Maintain a devtmpfs filesystem to mount at /dev │ │
│ │ [*] Automount devtmpfs at /dev, after the kernel mounted the rootfs │ │
│ │ [*] Select only drivers that don't need compile-time external firmware │ │
│ │ [*] Prevent firmware from being built │ │
│ │ -*- Userspace firmware loading support │ │
│ │ [*] Include in-kernel firmware blobs in kernel binary │ │
│ │ (i915/skl_dmc_ver1_26.bin intel-ucode/06-5e-03) External firmware blobs to build into the kernel│ │
│ │ (/lib/firmware) Firmware blobs root directory │ │
│ │ [ ] Fallback user-helper invocation for firmware loading │ │
│ │ [*] Allow device coredump
|
After rebooting the new kernel I saw in the log my new revision "0xba".
Code: |
Jun 28 15:57:38 big kernel: Symbols match kernel version 4.9.34.
Jun 28 15:57:38 big kernel: No module symbols loaded - kernel modules not enabled.
Jun 28 15:57:38 big kernel: [ 0.000000] microcode: microcode updated early to revision 0xba, date = 2017-04-09
[...]
Jun 28 15:57:38 big kernel: [ 1.114173] microcode: sig=0x506e3, pf=0x2, revision=0xba
Jun 28 15:57:38 big kernel: [ 1.114326] microcode: Microcode Update Driver: v2.01 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
[...]
|
Have a good time,
Peter
[Moderator edit: broke long whitespace-free lines in code tags to fix thread layout. -Hu]
Last edited by pietinger on Fri Jul 24, 2020 6:01 pm; edited 1 time in total |
|
Back to top |
|
 |
Shoaloak n00b


Joined: 05 Nov 2016 Posts: 48
|
Posted: Sat Jul 08, 2017 7:54 pm Post subject: |
|
|
Thanks for the post, works like a charm. _________________ Happy hacking. |
|
Back to top |
|
 |
statikregimen Apprentice

Joined: 16 Jul 2011 Posts: 173 Location: USA/Michigan
|
Posted: Wed Jul 26, 2017 8:49 pm Post subject: |
|
|
Wow....I never read forums unless I'm looking for something or have something useful to share. So normally would have missed this, and gone on in blissful ignorance of the fact that my CPU could go rogue at any moment. I suppose it's always a risk anyway...
Lucky me, I have the exact same model & stepping as you, so this just made the fix really easy. Thank you for posting! |
|
Back to top |
|
 |
Ant P. Watchman

Joined: 18 Apr 2009 Posts: 6862
|
Posted: Thu Jul 27, 2017 10:57 pm Post subject: |
|
|
Warning for anyone that wants to try this on a 32-bit-only CPU: the "include firmware in kernel" method doesn't work on those (it's actually documented as such but hard to find), your only option is to have iucode-tool write a cpio file and set that as the initrd. Remember to enable initramfs support (not initrd) in the kernel.
Turned out a waste of time for me, my Atom has a few errata warnings at boot, but it fixed none of them and made the system way less stable. It does matter for the Skylake bug though. (And the older Haswell TSX bug) |
|
Back to top |
|
 |
statikregimen Apprentice

Joined: 16 Jul 2011 Posts: 173 Location: USA/Michigan
|
Posted: Fri Sep 01, 2017 1:22 am Post subject: |
|
|
I just did this. As of now, the latest version of intel-microcode package is 20170707 - you shouldn't need to emerge the unstable now.
Any update on the issue itself or where can we go to get news like this? |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|