[HELP] Why is H2OSDE unable to change SMBIOS string values on Acer E5-575?

Hi friends,

I bought a replacement mobo for my personal laptop and it came with screwed up SMBIOS values. After reading several forums I got hold of H2OSDE-Sx64.efi and used an EFI shell to change several SMBIOS values. Everything looks fine until I reboot and the old corrupted values appear. Can someone explain why these values cannot be modified permanently with H2OSDE-Sx64.efi -SM "Acer" for example?

By the way I bought a CH341A and a SOIC8 chip so if someone can modify the following SMBIOS variables in the attached BIOS dump I would really appreciate it.

[System Information] (Type 1)
Manufacturer String1 - "Acer"
Product Name String2 - "Aspire E5-575"
Version String3 - "V1.04"
Serial Number String4 - "NXGE6AA013621283787600"
SKU Number String5 - "Aspire E5-575_111A_1.04"

[Base Board Information] (Type 2)
Manufacturer String1 - "Acer"
Product String2 - "Ironman_SK"
Serial Number String4 - "NBGE611002621283787600"

E5-575-51GG-1.04-Need SMBIOS fix.zip (4.75 MB)

@rojocapo - Could be because that version is not compatible with this BIOS, or BIOS is too old for that version etc (There is many new BIOS you could update to, which would be advised - https://www.acer.com/ac/en/US/content/su…roduct/6752?b=1)
What do you want the above changed to? Or, is above what you want inserted? << If yes, please outline exact current contents for the above same things, which is incorrect that you want replaced with above.
I see already the serials do not match what you posted above, so I assume those above are what you want inserted instead, but rest I need exact current version info as you see it

@Lost_N_BIOS Thanks for your response. For the time being let’s keep this same BIOS version (instead of upgrading to 1.47) and just change the SMBIOS values from my previous post. I want to see if this fixes the problem I am having where the laptop does not recognize the keyboard and touchpad, forcing me to use external USB keyb+mouse. Please find attached a DMI report with the current values.

EDIT: I reread your previous message. Just to clarify, I need to replace the current DMI values contained in the attached file with the corrections from my first post.

----------------------

@Lost_N_BIOS I tested with 3 different H2OSDE-S 64 bit versions and all 3 would set the System Manufacturer value, but after rebooting it would go back to a corrupt value. So I guess you are my last hope to patch my BIOS dump.

DmiTable.txt (18.3 KB)

You’re welcome! I did not mean I would touch BIOS version (text, or otherwise), I was only saying maybe if you update BIOS then the tools you wanted to use may work better.

DMI values as shown above would not affect keyboard or touchpad, that would be INF drivers, possibly Intel ME drivers, and then whatever KB/Touch drivers are listed for download on the system driver download page.

Yes, that is what I needed clarified, since some of what’s in your BIOS is same as you noted above (ie Acer and Apsire E5-575)
I wanted to know what is current “Incorrect” and what you wanted it changed to, which i now see is the above due to serial #'s not being what is in BIOS.
Thanks, I will grab txt and make changes to match post #1

Yes, I will change directly in BIOS, so it will be what I change it to and it will not change back.

---------------

* Edit - I think these tools are possibly just reading some of this wrong, similar to why it’s not saving properly, due to not being compatible.
I started looking for some of this data shown, like UUID for example, it not in the BIOS (first or last segment, in plain text, unicode, or little endian or straight backwards), nor is @bdb (“Manufacturer” from System Info Type 1)
Hulk_SK is only there, along with all the other possible models, as you see below

CurrentInfo.png

AllPossibleSKU.png



What do you see in BIOS main page, all correct info, besides serials? I can correct the serials, not a problem there.
What do you see for this kind of DMI Data with tools like HWINFO64, or AIDA64, etc? Does it look all correct there, not corrupted info?

You may need to try x86 versions as well, there is never a need to use x64 and sometimes this can cause it’s own issues.
So try ALL these as well, except for any x64 version included here you already tried - http://s000.tinyupload.com/index.php?fil…294157103377360

Here is BIOS with fixed serials - http://s000.tinyupload.com/index.php?fil…314194927893929

@Lost_N_BIOS I flashed the patched dump you sent me. I am attaching the HWINFO64 report so you can look at the SMI info yourself. It seems the serial number is still showing garbage, just like the rest of the DMI section.

Maybe we could try patching the dump again with the latest 1.47 BIOS. The issue I have is that Acer distributed 1.47 as multifd supporting multiple boards (ZAA, ZAA2, ZAA3, ZAA4,ZAAR). Both new and old motherboard have ZAA stamped on it and the revision number match. I know the old mobo used ZAA.fd, so I am attaching the latest ZAA for the patch.

The strange thing is that the old mobo has DMI.ProductName=Ironman_SK while the replacement mobo reports as Hulk_SK. I believe that this new mobo is a pull from a repaired/badflashed laptop and the tech that refurbished it either didn’t have the tools, didn’t test it or didn’t care. I have tried making a BIOS dump from the old mobo and flashing it on the new one and the machine does not boot. I just get a black screen and the fan spins at max speed.

I Googled a bit on Hulk_SK. It seems it is the nextgen of this mobo, with Kabylake i5-7200U instead of the I5-6200U I have.

Unfortunately I can’t return the replacement mobo to the vendor because I bought it at the beginning of March in the US and I am now in Argentina. With the COVID19 pandemia I was not able to meet the ebay return window for a refund.

hwinfo64_report.zip (16.1 KB)

Bios_1.47_ZAA.zip (3.57 MB)

IMG_20200506_091707.jpg

Hi @Lost_N_BIOS ,

Thanks a lot for your help. I don’t want to annoy you by asking for several flash dump patches, but since I will be testing several images until I give up on this mobo, I believe it would be better if I learn to do this myself. I would appreciate if you just point me to a tutorial explaining how to replace the BIOS section of an Insyde flash dump? I am a professional C/C++ developer with over 25 years of experience dealing with embedded devices. I can probably do this myself without taking up much of your time, just need a little bit of guidance with the tools. Thanks man.

Hi @Lost_N_BIOS , were you able to see my previous message? Could you give me some guidance on how to patch the BIOS section of an Insyde flash dump?

Well, had some extra time on my hands so I patched the BIOS region on my dump from 1.04 to 1.47 which worked ok. However with the updated BIOS the mobo has the same issue recognizing the keyboard, so I guess this mobo is fubar.

Sorry, always buried here!! Maybe due to EC not matching and these mutiple board variants etc. Don’t “Patch” BIOS and program, I assume that’s what you did by the way you mentioned it. “patch” if backto 1.04, then update properly from 1.04 to 1.47 using standard update method.
Then dump that with programmer and send to me and I will look again and see if I can fix. Also, find and dump the EC FW chip if possible, it should look similar to the BIOS chip, but will be much smaller in data size (like 128kb-1MB)

Not sure what you are thinking about replacing BIOS section of BIOS? That’s not ideal, due to you will loose all this info we are trying to correct. But, it would be done with UEFITool (version 25).
If you use a stock region you will loose all system specific/variable data, that’s why this is not ideal, unless you edit it all in first, and that’s not ideal either dueto NVRAM is usually not populated in stock region yet so the areas where some wold go are not there. Best to properly flash to whatever BIOS, then dump and edit.

Keyboard issue is probably due to incorrect EC FW on the EC FW chip, or you need to use one of the driver packages for the other motherboard instead of your original board/system



The problem I am having is that normal H2OFFT BIOS update method fails without any explanation. The laptop shows that old and new versions, systems match, but it never starts flashing and then after a while it just shows unable to update.


Couldn’t find the Embedded Controller chip. The only SOIC8 I could find is a YB1282, which seems to be a Yobon power regulator. http://www.yobon.com.tw/product/LDO.htm



Well I had nothing to lose and I had a backup of the original flash contents so I can revert easily. I used latest UEFITool NE Alpha 57 from this month,extracted the 1.47 BIOS section from the old mobo image and then used HXD to patch the region on the new mobo image. Laptop booted fine, but still with the keyboard/trackpad issue.


I’ll try to find the EC chip physically on the board. On another forum someone mentioned I might need a different programmer, but unfortunately I only have a CH341A.

Could the EC chip be the ITE IT8987E QFP128? I checked both sides of the board. If so, unfortunately I don’t have a QFP128 clip or programmer.

EDIT: http://www.ite.com.tw/en/product/view?mid=121 yes, now how do I program the 128KB on this chip?

IT8987E programmer costs USD 295 FOB. Never gonna happen.

Doesn’t H2OFFT have an /EC option?

@rojocapo - Sorry for late reply again!
IF EC FW on that QFP chip, then only way to flash it would be via KB ribbon cable, or yes, possible some way using stock flash package, you’ll have to ask Acer or possibly ask the guys over at vinafix or badcaps
Maybe someone over at BIOS-mods forum knows as well, not sure

do u know any version of H2OSDE compair with insyde bios v1.26?

i got same problem too, used both h2osde .exe and efi shell but after reset it change back to original