1

In Settings -> Software & Updates -> Additional Drivers tab this window appears (for me):

enter image description here

I have no idea what second driver name: Unknown:Unknown is. The option to use Intel microcode for Intel CPU was intriguing so I picked it and rebooted.

Looking at my Conky monitor:

enter image description here

I think the system is running cooler, CPU percentage and average load factor are a little bit lower.

Other than the fact Ubuntu developers can't vet the source code, are there any pitfalls with using Intel Microcode? Does anyone know how to find out what the "unknown device" is? ie CPU, Integrated Graphics GPU, Wifi card, USB controller, Memory Bus, etc. Could it be Ubuntu doesn't know specific details about my system and I can add it to a file?

Edit 1

@karel pointed out links to duplicate questions about Intel Proprietary Microcode however, none of them ask about the title of "Unknown:Unknown". It would be nice, for me at least, to change this to something more meaningful.

Edit 2

@Pilot6 pointed out this is not a "Driver" but rather "CPU Firmware". I have changed the word "driver" to "title" in Edit 1. Also in comments below; in order to change the title "Unknown:Unknown" requires downloading source code, modifying it and recompiling.

  • @karel I read those two duplicates after you linked them, thanks as I didn't see them in auto search results when entering my question title. I couldn't find any mention of how to change "Unknown:Unknown" to something meaningful though. – WinEunuuchs2Unix Sep 13 '16 at 16:49
  • 1
    You can't change it without recompilation of the source code. If this bothers you, you can file a bug report at Launchpad. – Pilot6 Sep 13 '16 at 17:03
  • 1
    Microcode is not a driver. It is installed this way for convenience of inexperienced users. Microcode is related to CPU and integrated GPU. – Pilot6 Sep 13 '16 at 17:04
  • There is a link in my answer where you can find out what microcode is. So it is a duplicate. – Pilot6 Sep 13 '16 at 17:05
  • @Pilot6 Should microcode fall into firmware category? I supposed I mistakenly said "Driver" because it's on the "Additional Drivers" tab which Ubuntu developers conveniently use as a generic title. It's on my to-do list to recompile kernel 4.7.3 to fix Ubuntu 14.04 uevent-helper not found and boot lock up. I guess I can add "Unknown:Unknown" to the list if I can find it's source. I won't file a bug report if only I'm the only one confused by "Unknown:Unknown" and others are comfortable with it. – WinEunuuchs2Unix Sep 13 '16 at 17:20
  • Yes, it is CPU firmware. If you enable it the microcode updater will install the latest microcode available in the repos, if it is newer that in BIOS. Not a rocket science. – Pilot6 Sep 13 '16 at 17:23
  • @Pilot6 If I understand you correctly when CPU microcode is updated by Ubuntu via above screen any other OSes that boot on the machine will also benefit? – WinEunuuchs2Unix Sep 13 '16 at 17:28
  • No, this is not correct. If you boot another OS, the microcode from Ubuntu will not be loaded. Microcode loads at boot time, it is not persistent. – Pilot6 Sep 13 '16 at 17:31
  • @Pilot6 Thank you for clarification. I thought you meant the BIOS was being changed via flashing perhaps. Is it safe to say a newer Kernel module is being loaded instead? – WinEunuuchs2Unix Sep 13 '16 at 17:40
  • Microcode updater is a kernel module, but it is not correct to say that "a newer kernel module is installed". – Pilot6 Sep 13 '16 at 17:46

1 Answers1

2

I will answer the "pitfalls" question. Yes, there are possible pitfalls when Intel gets something wrong in the updated microcode, and it causes a regression in processor behavior. Fortunately, this is rare in the extreme, and in that case, you can just uninstall the package (and report the bug to the Linux distro, please).

If the system hangs when it applies the update (i.e. right after the grub screen), you can boot with the "dis_ucode_ldr" kernel parameter in grub to skip the microcode update.

So far, there were very few regressions reported to Debian, Ubuntu or RedHat/Fedora, and most of them are for the Xeon E5v3 for whatever reason: a crash in specific memory configurations, and a slowdown after boot. Both have been fixed by Intel in the latest public microcode release (20160714).

It appears an specific Core2Duo processor can also become sluggish with an older update, I don't know if it still has an issue with the current microcode.

Almost all the time you really want the updated microcode to avoid the various extremely serious processor bugs they fix. And a BIOS/UEFI update to get these microcode fixes and any other fixes that are not done in microcode, but in some other BIOS/UEFI module.

anonymous
  • 231
  • The dis_ucode_ldr kernel boot parameter is useful to know. I haven't read that so far. I read about the Core2Duo problem in older comment. Someone else has problem with Xeon freezing and I wonder if microcode update will fix his problem. Do you know how to display the currently installed microcode release date? Solutions I found so far don't work in Ubuntu 16.04. – WinEunuuchs2Unix Sep 13 '16 at 19:31
  • Well, release 20160714 should fix any known Xeon freezings, but note that it won't help with any issues caused by real hardware defects, overclocking, bad RAM modules, etc. You can get the microcode currently running in your processor from "cat /proc/cpuinfo", and you can get the version of the intel-microcode package installed in a Debian derivative (and Ubuntu derivatives) using "dpkg -s intel-microcode". – anonymous Sep 14 '16 at 10:26
  • Also, once you know the cpu signature (/usr/sbin/iucode_tool -S will tell you) and microcode revision (from /proc/cpuinfo), you can look it up in intel-microcode's changelog to know when it was first added to the Intel public distribution, etc. The changelog will be at /usr/share/doc/intel-microcode, or online at https://anonscm.debian.org/cgit/users/hmh/intel-microcode.git/tree/changelog – anonymous Sep 14 '16 at 12:57
  • Wow thanks for all that info. I'll add it to my batch command processor / documenter. – WinEunuuchs2Unix Sep 14 '16 at 14:50