13

I've installed intel-microcode=2.20140913.1ubuntu2 but I'm still getting 2014-05-29 loaded according to

dmesg | head -n1

Do I have to use iucode-tool?

int_ua
  • 8,574
  • What's your processor? Are you sure there's a more recent file? – Jan Nov 05 '14 at 17:02
  • 2117U. 20140913 looks more recent than 2014-05-29, isn't it? – int_ua Nov 07 '14 at 09:03
  • 4
    Wrong assumption, check the comment on my answer. What Intel does is, they stick all microcode updates for all processors in a single file. This file, even the most recent one, does not contain a brand new microcode update for each and every processor. In the case of my Croe 2 Duo, the most most recent file is from 2010, even if the microcode package is just weeks old... – Jan Nov 07 '14 at 09:13

3 Answers3

22

Manual method

How to verify if there's a new microcode update for your processor (Intel)

Go to the Intel drivers download center. Download the most recent microcode and then unpack the file, giving you a microcode.dat file.

  1. make sure you have the package iucode-tool:

    sudo apt-get install iucode-tool
    
  2. Create temp folder:

    mkdir /tmp/micro
    
  3. "Unpack" this microcode.dat file to a temporary location:

    iucode_tool -K/tmp/micro microcode.dat
    
  4. You can now check if there's a more recent microcode file using:

    modprobe cpuid && iucode_tool -tb -lS /tmp/micro
    

    (or wherever you unpacked the microcodes to).

    On my old Core 2 Duo the output is like this:

    iucode_tool: system has processor(s) with signature 0x0001067a
    selected microcodes:
    001: sig 0x0001067a, pf mask 0xa0, 2010-09-28, rev 0x0a0b, size 8192
    002: sig 0x0001067a, pf mask 0x11, 2010-09-28, rev 0x0a0b, size 8192
    003: sig 0x0001067a, pf mask 0x44, 2010-09-28, rev 0x0a0b, size 8192
    
  5. Compare this to the output of:

    dmesg | grep "updated"
    

    Sample output:

    [    1.056012] microcode: CPU0 updated to revision 0xa0b, date = 2010-09-28
    [    1.112010] microcode: CPU1 updated to revision 0xa0b, date = 2010-09-28
    

    This shows that my system already uses the most recent microcode.

Method using a repository

Follow the instructions in this tutorial (note that you do not need to install synaptic)

  1. Install the following packages:

    sudo apt-get install microcode.ctl intel-microcode
    
  2. Reboot your computer.

  3. Now check whether the microcode has been loaded properly, with the following terminal command:

    dmesg | grep microcode
    

    If all is well you should see several reports about the applied microcode.

Byte Commander
  • 107,489
Jan
  • 12,291
  • 3
  • 32
  • 38
  • 1
    Thanks, but the question is not about comparing versions but applying a new one. Doesn't intel-microcode package already contain the microcode that is suitable for use? – int_ua Nov 07 '14 at 09:05
  • Your assumption that the release date of Intels microcode file automatically means that it contains a more recent microcode update four your processor is wrong. Use my answer to verify if there's a more recent microcode for your processor in the intel file. – Jan Nov 07 '14 at 09:11
  • When I run iucode_tool -Kmicrocode.dat I get iucode_tool: No valid microcodes were loaded, nothing to do..., but if I run iucode_tool -K microcode.dat then it works. Looks like it cares about the space. – nh2 Apr 12 '15 at 16:10
  • On my Linux Mint 18.3 (Ubuntu16.04.xx) the shipped version is 2017-01-27. Inte ìl instead published the 2018-01-18. How could apply it? – Antonio Petricca Mar 25 '18 at 15:23
8

Here is Pool of microcodes released by intel
http://ftp.ubuntu.com/ubuntu/pool/main/i/intel-microcode/
download latest .deb package and install via

sudo dpkg -i intel-microcode_3.20191115.1ubuntu3_amd64.deb  

in My case it's intel-microcode_3.20191115.1ubuntu3_amd64.deb

P.S: ubuntu 18.04 shipped with 3.20180807a.0ubuntu0.18.04.1 and maintained to the latest, so no longer has to manually install it.

3

While @Rajat had the way to do it, his link is outdated You will be able to find the latest microcode here: http://ftp.ubuntu.com/ubuntu/pool/main/i/intel-microcode/?C=M;O=D

than after that, as root on your machine, do something like this:

wget http://ftp.ubuntu.com/ubuntu/pool/main/i/intel-microcode/intel-microcode_3.20191115.1ubuntu0.19.10.3_amd64.deb
dpkg -i intel-microcode_3.20191115.1ubuntu0.19.10.3_amd64.deb
reboot
JOduMonT
  • 357
  • I have installed this version but still my system says the installed version is dated 03-10-2019 (dd-mm-yyyy). did anything like this happened to you. – sam Apr 18 '20 at 18:12