Hello,
I have gained some insight regarding CPU microcode update for Acer 5740g bios.
From start, Acer did not make it easy, and this BIOS is a mess, like seriously...
Well, yesterday I played with Hex editor "HxD" and modified the microcodes available there by simply identifying them with
MC Extractor, which extracts the current intel microcodes from bios.
Finding the offset where they reside, I managed to calculate and fit new microcodes in this bios.
My newb mistake was that I have resized the bios, so my laptop is currently a soft brick. Ohh yea, I have tried with Crisis Recovery Acer, but it is a mess like the bios... for some, it works for me it doesn't. I presume that they are some issues with USB sticks + "phlash16.exe", the requirement is to have a USB stick of maximum capacity 2 GB. formatted as FAT partition, which Crisis Recovery does. And the bios itself has to be in the same directory of the Crisis Recovery disk maker along with working "phlash16.exe". I don't have the patience to identify the right combination to make a bios recovery so I have ordered for just 5$ a
bios programmer CH341A 24 25 Series EEPROM, remove the keyboard and flash the
[censored] thing.
I have made a correct version of bios which contains these microcodes with the fix for meltdown and spectre and removed the old microcodes completely:
The reason that they are duplicated is that in the bios has three modules, as stated by @BDMaster, _C00.PEI and _C01.PEI.
However, I did not find the BB.BIN module in bios.wph, dunno how BDMaster was opening this bios. Found the BB.BIN module,
HxD tool is somewhat failing to find all three microcodes, but they are inside the bios.wph, HxD doesn't have tagging or bookmark feature.
Figured it out by using this
Tool to Insert/Replace SLIC in Phoenix / Insyde / Dell / EFI BIOSes, the forums required account to see the info.
Tool is creating a dump with all the content inside the bios.wph.
Can be downloaded
here.
Anyway, as per his warning, I have checked and the "F8 00 D3 AB B4 46 00 C4 42 42 50 53 49 00 00 00 .....F..BBPSI... " is not overlapped.
The microcodes cover Arrandale CPUs as per my above request
Unfortunately, I will not release yet this bios, as I have soft bricked my laptop. But as soon as I will get the bios programmer and start testing, I will release 1 stable bios for you guys to use! Meanwhile, I can share the steps to get the microcodes and how to update:
Pre-steps: Create a working folder
Check if your laptop is ok with Acer Crisis recovery:
Acer Crisis Disk
Attempt one recovery to see if your laptop takes it, if not then you can continue but be warned, any problems that appear will brick your laptop and the only way I see to unbrick it is to reprogram the bios chip with CH341A.
1. Get unlocked bios from
page 1
2. Get
MC Extractor, read
documentation (it is easy)
3. Get lasted microcode from intel by downloading their
Linux* Processor Microcode Data File, you can check if your processor is present by reading the "This download is valid for the product(s) listed below." section and proceed to the previous release. (ctrl + F (find text) in browser.
4. Unpacking the microcodes its fairly easy, you will need just two tools:
a.
microdecode
b.
microcode.dat-Converter 32 bit
microcode.dat-Converter 64 bit
Once you have these, you can start by using micro
code converter to created a microcode.dat file (Intel has stopped supporting this file)
Afterwards, point the microcode.dat file in micro
decoder
Now you have all microcodes available for you, identify yours by looking for your cpuid and isolate the ones you wish to be in bios.
Note: microcode.dat-Converter has a graphical interface, but you need to point the last folder containing all the microcodes e.g.: Desktop\cpu_micro update wph\Gigabyte\microcode-20180807\microcode-20180807
microdecode can be used in cmd, like so: microdecode.exe microcode.dat (all microcodes will be extracted in the same path as microcode.exe)
5. Put your bios in MC Extractor folder, close to the "mce.exe"
Open cmd and go to mce.exe, type mce.exe
In "Option(s):" type your bios name. e.g.: bios.wph
A table will be shown with microcodes available in bios and at the same time, all shown microcodes will be available in MC Extractor path in folder "Extracted"
6. Open HxD app, open from HxD the bios.wph and 1 of the microcode extracted from MC Extractor folder "Extracted"
7. You can search microcode position in bios, offset is really important, you should keep it as so.
You can change the offset base to decimals from Tools > Options > View to keep it easier to track.
When you have identified offset position of the microcode, take notes, select it and note the Lenght(s), open the new microcode and note the Length(s) of the new microcode. Compare it with old one, make room and select new offset Lenght, copy and insert.
Note: Study the bios.wph in HxD, note the position of the first microcode in the module, and respect the same, overall keep the same structure.
In the end, open the modified bios in MC Extractor to see if microcodes are present, compare the size of both bios, to see if they are the same.
Good luck.
This is a collection of gathered sources, so kudos to them.
Use this guide at your own risk.