Ubuntu – 16.04: How to get the recommended intel-microcode package to fix hyper-threading issue

16.04cpuintel

The Debian mailing list has a post relevant to some Skylake and Kaby Lake users: [WARNING] Intel Skylake/Kaby Lake processors: broken hyper-threading

Users are to run

grep name /proc/cpuinfo | sort -u

to obtain their processor details and then to check
http://ark.intel.com/products/codename/37572/Skylake or http://ark.intel.com/products/codename/82879/Kaby-Lake as appropriate.

If their processor is listed, they should next run

grep -q '^flags.*[[:space:]]ht[[:space:]]' /proc/cpuinfo && \
echo "Hyper-threading is supported"

According to a follow-up post, the above command which I've struck through is not reliable and users need to run lscpu and check if

the lscpu output reports: "Thread(s) per core: 2", that means
hyper-threading is enabled and supported.

If hyper-threading is supported, advice is provided for both Skylake and Kaby Lake.

I have an affected Skylake processor on 16.04 which can be fixed because

grep -E 'model|stepping' /proc/cpuinfo | sort -u

returns

model       : 78
model name  : Intel(R) Core(TM) i3-6006U CPU @ 2.00GHz
stepping    : 3

For such processors the fix suggested is to install

the non-free "intel-microcode" package
with base version 3.20170511.1, and reboot the system. THIS IS
THE RECOMMENDED SOLUTION FOR THESE SYSTEMS, AS IT FIXES OTHER
PROCESSOR ISSUES AS WELL.

But the 16.04 repo shows me an older version:

apt policy intel-microcode
intel-microcode:
Installed: (none)
Candidate: 3.20151106.1
Version table:
3.20151106.1 500
500 http://archive.ubuntu.com/ubuntu xenial/restricted amd64 Packages

Is it possible to get the recommended version and, if it is possible, how can I do so?

Edit: I found https://launchpad.net/ubuntu/xenial/+package/intel-microcode but they all seem to be older versions.

Second edit: https://launchpad.net/ubuntu/+source/intel-microcode has the relevant update but it is for Artful Aadvark.

Best Answer

Install the latest official package manually. i.e. for 64-bit OS:

wget http://ftp.us.debian.org/debian/pool/non-free/i/intel-microcode/intel-microcode_3.20170511.1~bpo8+1_amd64.deb
sudo dpkg -i intel-microcode_3.20170511.1~bpo8+1_amd64.deb

Reboot the machine, and you're set. ALSO, you need to install the latest BIOS update from your machine. Consult with your computer's manufacturer for the latest official BIOS update.

Related Question