Asus X201E v209 - Unusual microcode container

Hi, I just came upon an unusual microcode container in this netbook’s BIOS. I wanted to ask, if anyone has seen something like this already, and what would be the best way to include updates.

It contains 4 patches, however there is a 1024 byte padding after the first patch and a second one with the same length after the last patch. MMTool 4.50.0023 shows only the first patch, probably because it fails to process the padding. AMIBCP 4.55.0070 shows all of them.

Basically I’m interested in updating just one patch. Simply removing the rest, including the paddings, would be the safest way in my opinion.

Thanks for your help. I attached the extracted container.



https://www.asus.com/Notebooks_Ultrabook…#specifications
http://dlcdnet.asus.com/pub/ASUS/nb/X201E/X201EPAS209.zip

uc.zip (35.5 KB)

@k3nny

It is not the first time I see this, especially with laptops. I think they are isolating the needed microcode for the current CPU type, thinking that the user won’t change the configuration. This is how the usual microcode looks like:

Intel Microcodes table.png


Intel Microcodes table ext.png



This is for your laptop:

Microcode.png



You only care about the total size of the patch and that they must be placed one after the other. So you delete the extra padding, but leave the final padding alone. You must also correct the header.

I have attached a clean microcode to see how it should look like. All patches visible in MMTool.

Edited: I forgot the most important thing. You can use UBU to update the microcodes. It will give you the latest version for Sandy and Ivy CPUs. You don’t need more than 2 microcode patches, because you are running a retail CPU, not some ES.

microcode-new.rar (35.4 KB)

@lordkag :

Is the presence of the final padding required? Theoretically I could delete it and adjust the ffs header with correct length and checksum.

UBU seems to replace the whole module, ignoring all present patches and paddings.

Thanks for sharing your experience and for the detailed description.

It is not required to keep the final padding, but I don’t see how it would interfere by being there. UBU uses a standalone ffs module adapted for each platform, because you can’t replace a specific patch with MMTool. For your laptop, UBU will give you a patch rev. 28/29 for Sandy and a patch rev. 19 for Ivy. These are for retail CPUs - I just don’t see the possibility to have an ES CPU in a commercial laptop.