You are not logged in.

#1 2017-07-11 07:33:30

lviggiani
Member
Registered: 2014-02-28
Posts: 141

[SOLVED] Installing intel microcode

Hi,
I've an Intel Core i7-7500U CPU which is affected by the Hyperthreading bug.
I've installed `intel-ucode` package and today I've received update to version 20170707-1 which match current version on official Intel download page:
https://downloadcenter.intel.com/downlo … a-File?v=t (my cpu model is in the list)

After installing the udpate (via pacman) I've reboot my computer and checked for the running micocode but I still get an older version:

$ dmesg | grep microcode
[    0.000000] microcode: microcode updated early to revision 0x62, date = 2017-04-27
[    0.727330] microcode: sig=0x806e9, pf=0x80, revision=0x62
[    0.727504] microcode: Microcode Update Driver: v2.2.
$ grep microcode /proc/cpuinfo
microcode	: 0x62
microcode	: 0x62
microcode	: 0x62
microcode	: 0x62

I've referred to this wiki page: https://wiki.archlinux.org/index.php/microcode and istalled iucode-tool which also tells me that there's an update available:

bsdtar -Oxf /boot/intel-ucode.img | iucode_tool -tb -lS -
iucode_tool: system has processor(s) with signature 0x000806e9
microcode bundle 1: (stdin)
selected microcodes:
  001/157: sig 0x000806e9, pf_mask 0xc0, 2017-04-27, rev 0x0062, size 97280
  001/158: sig 0x000806ea, pf_mask 0xc0, 2017-05-23, rev 0x0066, size 95232

even if according to the tool the latest update should be 2017-05-23 whereas Intel then takes me to the latest 2017-07-07

So it seems that microcode from inetl-ucode 20170707 has not been actually written to my cpu...
I'm usign grub bootloader, intel-ucode.img is in /boot folder and grub.cfg contains initrd  /intel-ucode.img /initramfs-linux.img

So why is it not loaded? Could it be that intel-ucode.img has not actually been updated in pacman package?

I could try to install the update manually... I've downloaded the package from intel site and tried to follow the instructions:

intel-ucode dirctory contains binary microcode files named in
family-model-stepping pattern. The file is supported in most modern Linux
distributions. It's generally located in the /lib/firmware directory,
and can be updated throught the microcode reload interface.

To update the intel-ucode package to the system, one need:
1. Ensure the existence of /sys/devices/system/cpu/microcode/reload
2. Copy intel-ucode directory to /lib/firmware, overwrite the files in
/lib/firmware/intel-ucode/
3. Write the reload interface to 1 to reload the microcode files, e.g.
  echo 1 > /sys/devices/system/cpu/microcode/reload

but I stopped at point two as there's no /lib/firmware/intel-ucode/ folder in my system and I don't know if it si safe to create it or not or if I should stop here.

Can someone help me please?

Last edited by lviggiani (2017-07-11 08:24:34)

Offline

#2 2017-07-11 08:10:42

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,740

Re: [SOLVED] Installing intel microcode

The version of the intel-ucode package simply contains all released microcode updates to this date. Whether your particular CPU has an update available is dependant on if one is available. However as this seems to be the case (you should have an update to a 2017-05-23 release) the most likely explanation is that you didn't have the boot partition mounted when installing the package. Make sure that it is and reinstall the intel-ucode package.

Edit: On rereading this shouldn't be the case, strange...

On rereading again, that other line is a different CPU model, so everything is correct. The 2017-04-27 microcode update is the latest available for your CPU and gets applied correctly.

Last edited by V1del (2017-07-11 08:16:39)

Offline

#3 2017-07-11 08:23:10

lviggiani
Member
Registered: 2014-02-28
Posts: 141

Re: [SOLVED] Installing intel microcode

Ok, my bad... the update is actually there. I've checked in releasenote file from update package downloaded from Intel and it reads:

-- New Platforms --
KBL H0 (06-8e-09:c0) 62
KBL Y0 (06-8e-0a:c0) 66
KBL B0 (06-9e-09:2a) 5e
SKX H0 (06-55-04:97) 2000022
/proc/cpuinfo

gives me

family: 6
model: 142 (hex is 8E)
stepping: 9
micorocode: 0x62

So my CPU is 06-8E-09 and has microcode 62, as reported in the releasenote file (first row) above...

Last edited by lviggiani (2017-07-11 08:25:18)

Offline

Board footer

Powered by FluxBB