bdw-ucode-update-tool
bdw-ucode-update-tool copied to clipboard
Intel i5-5675C, i7-5775C, and i7-5700HQ microcode updates extracted from MSI's UEFI updates, along with a tiny zero-dependency install script for Linux users.
Broadwell μcode Update Installer
Intel i5-5675C, i7-5775C, and i7-5700HQ microcode updates extracted from MSI's UEFI updates, along with a tiny zero-dependency install script for Linux users.
WARNING: These updates have been extracted from UEFI firmware intended for very specific hardware. This may (though highly unlikely) damage your hardware. If that happens, that's your own fault. Not mine, not Intel's, and certainly not MSI's.
In addition to potentially damaging your hardware, incorrect installation on a
system where glibc
is compiled with hardware lock elision (hle) enabled may
cause anything linked to libpthread
to segfault (e.g. systemd
, udev
, etc).
To safely install, you must use use the kernel's early loading mechanism
(supported by --persist-debian
). If you wish to install this update without
the script, please read and understand this post.
If you do make your computer unbootable (for software reasons), it should be possible to fix it using a live CD.
Why?
Intel's late Broadwell chips shipped with a whole slew of stability issues, causing Machine Check Exception kernel panics on Linux and BSODs on Windows.
While Intel hasn't directly distributed any new microcode updates since January, they've apparently distributed updates to some motherboard vendors. Until Intel updates the downloads on their site, I've extracted the updates from MSI's firmware, using a custom python script.
What should this fix?
- MCE kernel panics on Linux under normal usage
- BSOD with Office 2016 Installation on Windows
- BSOD with Certain Source-engine games on Windows
- BSOD with Linux virtual machines on Windows
I don't use Windows however, so I've only personally verified the first case.
Install instructions
Windows
Some motherboard manufacturers are now distributing UEFI updates with this
microcode update. Check with your motherboard manufacturer first to see if a
UEFI update is available containing the 0x13
microcode update for Broadwell.
If it's available, you should use that instead.
-
Download the microcode update driver from VMware's website and extract the files contained within the zip. Make sure to read and understand the information on that page.
-
Download
microcode_amd.bin
andmicrocode_amd_fam15h.bin
and place them in the same directory as where the files from step 1 were placed.The VMware microcode update driver requires those two files even if you don't have an AMD CPU. Alternatively, you can use two empty files with the same name instead.
-
Download
0x13.dat
and rename it tomicrocode.dat
. Place it in the same directory as where the files from step 1 were placed. -
Right click the
install.bat
file from step 1 and click "Run as an Administrator"; It should work! -
After everything is done, you can check "Event Viewer" for check update status.
Once everything is working, you can use virtual machines with Linux or play Source Engine games, even if you reboot Windows.
See this github issue for more details.
Linux
Before using this tool, check with your distribution's available packages. Some
distributions now carry this microcode as part of their intel-microcode
packages. For example, if you're running Debian Jessie, you should install
intel-microcode
from jessie-backports
. Some motherboard
manufacturers also have UEFI updates that fix include this update.
You should be running microcode version 0x13
or greater. You can check this by
running grep microcode /proc/cpuinfo
.
$ git clone https://github.com/bgw/bdw-ucode-update-tool.git
$ cd bdw-ucode-update-tool
$ sudo ./install.sh
Repeat this every time your machine starts up or resumes from hibernation, as microcode updates aren't saved across reboots.
If you're on a Debian-based system, we have experimental persistence support:
$ sudo ./install.sh --persist-debian
By running with --persist-debian
, you should no longer need to re-run this
script after every reboot.
To uninstall the persistent Debian updates, simply delete
/lib/firmware/intel-ucode
and reinstall the intel-microcode
package:
$ sudo rm -rf /lib/firmware/intel-ucode
$ sudo aptitude reinstall intel-microcode
Tested on...
I only have a i5-5675C, so I've only tested it on that. The system seems to run fine, even under extreme CPU, GPU, and IO load, with Speedstep and Turbo boost enabled. Other people have verified that this does work on the 5775C and 5700HQ.
Processor | Verified? |
---|---|
i5-5675C | Works for me. |
i7-5775C | Here |
i7-5700HQ | Here |
Microcode sources:
-
0x13.bin
was extracted fromE16J2IMS.114
in http://download.msi.com/bos_exe/nb/E16J2IMS.114.zip