06-11-2025, 01:24 PM (This post was last modified: 06-11-2025, 07:15 PM by ordi.)
Hi, this is my first time trying to mod a BIOS.
I'm working on a Praim Thin Client (model U22), an OEM Clientron E850. There’s not much info online about it, except for a PDF datasheet (attached)
The issue I’m trying to solve is related to EMT64. The CPU inside (Intel Atom D2550) is 64-bit capable, but the motherboard locks it to a 32-bit UEFI. This makes it hard (or impossible) to run any modern OS or programs, which is unfortunate, because it would make a great little low-power server for basic homelab services.
I dumped the BIOS using flashrom in FreeDOS and tried a couple of things:
- Used AMIBCP to change the EMT64 option to USER (didn't brick, but didn’t work)
- Replaced the CpuPei and Microcode modules with ones from another BIOS where EMT64 was working (found on Win-Raid, from what I understand someone had success with this, same CPU as this thin client)
I tried flashing that last modified BIOS and bricked the device. Luckily, I have another identical unit and a backup dump. I'm currently waiting for a CH341A programmer to arrive (should take about 6-7 days), so I can unbrick it and keep testing.
If anyone could mod the BIOS properly, or at least help me with it, I’d appreciate it. I’m still new to this and don’t have much assembly or BIOS modding experience.
Posts: 1,052
Threads: 5
Joined: Jan 2020
Reputation:
9
(06-11-2025, 11:57 PM)Maxinator500 Wrote: Hi, are you really interested in this or just hit and run?
EM64T lock is in CpuPei/PE32 image section at body-offset 508h and body-offset 1164h.
if (CPUID & FFFFFFF0h == 30660h){
WRMSR 0x122 0x3
}
Yes, I'm interested, not just hit and run
I’m still really new to BIOS modding, so keep that in mind.
I’ve tried patching the CpuPei module, but didn’t get it right. I probably missed something, or maybe there's more. (Maybe got it completely wrong)
Unfortunately, this last attempt resulted in bricking the second system as well (had already taken a dump of that one too).
So now I’m waiting for my CH341A programmer to arrive before I can recover both devices and keep testing.
Here’s what I did in this latest attempt:
Extracted the CpuPei module (of the first bios I dumped) body using UEFITool NE
Edited the binary with Cutter
Replaced the modified module into the BIOS image using UEFITool (non-NE), since NE doesn’t support editing yet
Flashed the BIOS using Flashrom under FreeDOS (via internal programmer)
(changed from jni to jmp)
I’ll attach the following:
Modded and stock CpuPei
BIOS dump from the second system
My modded bios (that DOESN'T WORK, based on the first system's dump)
If you ever have some free time, and you'd be willing to take a look, maybe you could help me patch the BIOS properly? Not really confident I did it right, and you definitely have more experience than me.
Posts: 1,052
Threads: 5
Joined: Jan 2020
Reputation:
9
(06-12-2025, 05:43 AM)ordi Wrote: Unfortunately, this last attempt resulted in bricking the second system as well
You patched only 1 location out of 2. This could be the reason why it bricked.
(06-12-2025, 05:43 AM)ordi Wrote: maybe you could help me patch the BIOS properly? Not really confident I did it right, and you definitely have more experience than me.
I'm neither sure if I can get it right. I hesitate to provide new patch suggestions, besides those already known working patches from other threads.
I had bad experience with modding one of these Atom laptops, Lenovo Ideapad S110. I could not for life get it support 64bit, spent too much time and eventually gave up.
Posts: 3
Threads: 1
Joined: Jun 2025
Reputation:
0
(06-12-2025, 05:43 AM)ordi Wrote: Unfortunately, this last attempt resulted in bricking the second system as well
You patched only 1 location out of 2. This could be the reason why it bricked.
(06-12-2025, 05:43 AM)ordi Wrote: maybe you could help me patch the BIOS properly? Not really confident I did it right, and you definitely have more experience than me.
I'm neither sure if I can get it right. I hesitate to provide new patch suggestions, besides those already known working patches from other threads.
I had bad experience with modding one of these Atom laptops, Lenovo Ideapad S110. I could not for life get it support 64bit, spent too much time and eventually gave up.
Yeah, that could definitely be the reason.
I saw a post on the Win-Raid forum (same CPU, and what looks like the same AMI BIOS) where someone mentioned that patching both instances of "or eax, 3" to "or eax, 0" should work. I'm gonna try this when I get the programmer.
What I’m unsure about is whether I actually replaced the module correctly, or if UEFITool might have done something strange during the replacement.
As I've said, not really into this stuff.
Oh, and no worries if you’re not able to do it. I appreciate the help.