Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Howto: Intel Skylake microcode update bug broken hyperthread
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks
View previous topic :: View next topic  
Author Message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 5162
Location: Bavaria

PostPosted: Wed Jun 28, 2017 2:33 pm    Post subject: Howto: Intel Skylake microcode update bug broken hyperthread Reply with quote

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)


Edit 2023-11-21: In Kernel version 6.6 CONFIG_MICROCODE is enabled by default and so you will have no options anymore in "Processor type and features" to enable it. So all you have to do is add the name of your microcode file in the section "Device Drivers".

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 seperate them with a whitespace.

Code:
Processor type and features  --->
    <*> CPU microcode loading support
    [*]   Intel microcode loading support

Device Drivers  --->
  Generic Driver Options  --->
    Firmware Loader  --->
      -*-   Firmware loading facility
      (i915/skl_dmc_ver1_26.bin intel-ucode/06-5e-03) Build named firmware blobs into the kernel binary
      (/lib/firmware) Firmware blobs root directory


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
[...]



Update: Nowadays the logging is different - the first line is completely missing (here is my log for an i9):
Code:
# dmesg | grep microcode
[    9.201034] microcode: Current revision: 0x00000123
[    9.201039] microcode: Updated early from: 0x00000113



Have a good time,
Peter

[Moderator edit: broke long whitespace-free lines in code tags to fix thread layout. -Hu]
_________________
https://wiki.gentoo.org/wiki/User:Pietinger


Last edited by pietinger on Thu Jul 25, 2024 2:51 pm; edited 6 times in total
Back to top
View user's profile Send private message
Shoaloak
n00b
n00b


Joined: 05 Nov 2016
Posts: 48

PostPosted: Sat Jul 08, 2017 7:54 pm    Post subject: Reply with quote

Thanks for the post, works like a charm.
_________________
Happy hacking.
Back to top
View user's profile Send private message
statikregimen
Apprentice
Apprentice


Joined: 16 Jul 2011
Posts: 173
Location: USA/Michigan

PostPosted: Wed Jul 26, 2017 8:49 pm    Post subject: Reply with quote

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
View user's profile Send private message
Ant P.
Watchman
Watchman


Joined: 18 Apr 2009
Posts: 6920

PostPosted: Thu Jul 27, 2017 10:57 pm    Post subject: Reply with quote

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
View user's profile Send private message
statikregimen
Apprentice
Apprentice


Joined: 16 Jul 2011
Posts: 173
Location: USA/Michigan

PostPosted: Fri Sep 01, 2017 1:22 am    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks All times are GMT
Page 1 of 1

 
Jump to:  
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