platomav / MCExtractor Public
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Issue with extracted microcode files and MMTool #3
Comments
Once you know if your microcode is updated or not, you can search with the CPUID and you'll see a list of all relevant DB entries. The parameter is -search and you can enter 000206C2.
Yes, the official releases from AMD, Intel and Microsoft's Windows libraries are often out of date. That's yet another reason why the DB and new microcode reports are so useful.
You answered that question yourself, these are MMTool errors and not relevant to MCE. For Intel and VIA, the microcode binaries have checksums so MCE can verify the integrity of each extracted microcode. The files are proper, it's just that MMTool is kind of a bad utility, especially for its cost.
You can use UEFITool to find where the microcodes are stored with a search or similar, extract the module, replace etc. Try your luck asking or searching for these questions at Win-Raid or similar forums. |
Sorry, I have missed that. :) Thanks for all the other hints! Unfortunetly, it is still an older board without UEFI support thus UEFITool didn't work. |
You are right! MCE had a logical bug which caused wrong detection of whether a microcode is Latest or Outdated in some cases. I thought you were referring to version 14 and not 1D which is indeed the latest and should be reported as such by MCE. Bug fixed at 55c5785. Thank you for the report.
Take the latest 206C2, version 1D, which has a size of 0x2400 and append 0x400 of 0x00 padding at the end to make its size 0x2800. MMTool should accept it then. |
|
this fix works with 3.26. 3.22 does not accept it |
|
Thanks, again. That was my first contribution to a software project ever. :) |
Maybe but it doesn't matter as this is not related to MCE at all. It was just a one-time off-topic comment. People can find on their own the minimum sizes that are acceptable by tools such as MMTool or similar.
And a useful one indeed, thank you. Also for using MCE. Since your original problem/report is now fixed/answered, I will go ahead and close this issue. |
|
HI Platon, how do I do this?
Thank you ! |
|
@nikallian just use hex editor. |
|
Hi, Yep, I have HxD but how do I do padding without destroying the file ? Where to put those bytes in order to change the file size? I'm not a programmer :) Thanks in advance! |
|
Me neither. Open microcode file with HexEdit, scroll down to the end of the last line. Click on Edit -> Insert Block -> Fill with Hex: 00 (= 0x00), data by 1024 bytes. The final file size must be divisible by 4096. |

Thanks a lot for your useful tool! I was looking for the newest Intel Xeon 5600 Series microcode (206C2) today and I used your tool to extract the microcode of an Intel S55xx BIOS file (R0068) as well as one HP server board (SP75718) which both include a more recent version 1D (2015/08/04) than what I could find on the web otherwise. Your tool tells me that this is not the most up-to-date version though and I wanted to suggest to provide the version number and the date of the newest one as well in your tool which would be very useful. By the way, the official files from Intel for Linux don't provide this particular microcode.
As I tried to integrate the extracted *.bin-file in the BIOS of my motherboard (Asus P6X58D-E) with MMTool (3.26 and 3.19 Mod 21-Fix), the tool rejects it with an error message: "This is not a valid CPU microcode patch file". I get this error with some of the official Intel Linux files as well, but some do work. Hence I can't say for sure if it is an issue of your tool or MMTool. Is there another easy to use method to integrate the *.bin-files into this particular AMI BIOS?
The text was updated successfully, but these errors were encountered: