[SOLVED] Lenovo ThinkCentre E96 BIOS with 9th Gen CPU Support

I asked customer service and they said it only supports 8th generation CPUs, but the B360 chipset supports 9th generation CPUs, right?


Edit by Fernando: Thread title shortened

the chipset does, the bios might says no, but it might be possible with a little bit bios modding (adding mcode, updating ME), well the worse part is that the bios itself blacklist 9th gen or whitelist 8th gen (i never see this kind of issue, maybe others have?).

Edit: It seems that it might support 9th gen, but only mcode listed only inside the bios, so this is not a full bios, only partly. You might try to update to the latest bios and dump the full bios after updating using intelfpt (probably you would need to set the Service Mode Jumper to unlock flash descriptor, take a look to the jumper pins on your board and see which is which)

The ME_DIS jumper on my motherboard is currently connected. Do I need to remove this jumper before updating the BIOS and then dumping the complete BIOS?

To be honest, I want to use CC150. The other CPUs like 8th and 9th gen are a bit expensive. Can CoffeeTime add microcode?


It seems that 906ED implies that the BIOS has the CFL R0 microcode required for CC150, so I donā€™t need to do anything else?


If I want to use UBU to update the microcode, should I use the command FPTW.exe -bios -d biosinginal.bin to only dump the BIOS section instead of the complete SPI ROM? Then, should I use FPT to separately flash the ME firmware and the BIOS updated with UBU?


The compressed file contains my ME information and full BIOS dump.
fullbios.zip (6.2 MB)

Try to flash this bios with this fpt command: -f biosname.rom (to flash full bios region) while ME_DIS is shorted (ME is updated to latest, fd region unlocked, latest mcode 906EA to 906ED, and much more): Darkiaji-E96.rar (6.0 MB)

1 Like
Intel (R) Flash Programming Tool Version: 12.0.85.1919
Copyright (C) 2005 - 2021, Intel Corporation. All rights reserved.

Reading HSFSTS register... Flash Descriptor: Valid 

    --- Flash Devices Found ---
    ID:0xEF4018    Size: 16384KB (131072Kb)

    --- Flash Image Information --
    Signature: VALID
    Number of Flash Components: 1
        Component 1 - 16384KB (131072Kb)
    Regions:
        DESC     - Base: 0x00000000, Limit: 0x00000FFF
        BIOS     - Base: 0x00800000, Limit: 0x00FFFFFF
        CSME     - Base: 0x00001000, Limit: 0x007FFFFF
        GbE      - NOT PRESENT
        PDR      - NOT PRESENT
        EC       - NOT PRESENT
    Master Region Access:
        BIOS     - ID: Read: 0x000F, Write: 0x000A
        CSME     - ID: Read: 0x000D, Write: 0x0004
        GbE      - ID: Read: 0x0009, Write: 0x0008
        EC       - ID: Read: 0x0101, Write: 0x0100

Total Accessible SPI Memory: 16384KB, Total Installed SPI Memory: 16384KB

FPT Operation Successful.

Is my FD region unlocked?

When I use FPTW.exe -d fullbios.bin to dump the BIOS, is it the full SPI ROM? Can I directly use this dumped ROM to program it with a programmer?

It should be but ME_DIS might still be needed to be shorted for a full dump.

Yes, it is.

Yes.

Also, did the bios i gave work?

When flashing the BIOS, FPT reported write protection. I tried flashing only the BIOS region, but it was the same.
AFUWIN verifies the BIOS signature, and I canā€™t use AFUWIN to flash the BIOS with the updated microcode.
My FT4232H programmer seems to have some issues. I think I should try CH341, and it seems flashrom supports B360, so Iā€™ll try that too.

So even with ME_DIS shorted, intel FPT could dump your entire bios (as you did use -d fullbios.bin without any arguments like -bios, -me, -desc, -gbe, etc., just -d, it means you did tell fpt to dump the entire bios chip), but couldnā€™t write back using -f only? So it seems the write permission is disabled in your current bios description region (as per what i saw on your fullbios.bin dump), and with the bios i gave, i did unlock the write permission in the Description region, tho i guess it will work only if ME_DIS is shorted.

Actually, Iā€™m flashing the BIOS with the ME_DIS jumper shorted, but as you can see, the BIOS is write-protected.
I did some quick research online, and Lenovo doesnā€™t seem to offer a BIOS option or jumper to disable BIOS write protection.
Iā€™m wondering if flashrom can bypass the write protection limitation.

1 Like

As per what expected, since description region forbid that.

I dont really think flashrom/flashprog are able to bypass it? But it is worth the try. If youā€™re abt to use the DOS version of flashrom/flashprog, check this out: [Tool] Flashprog 1.1 + Flashrom v1.5 [DOS].

Either way use CH341A, or if you do use FT4232H spi programmer you could try to remove all power from the motherboard, remove cmos cable, and proceed connecting the bios chip to the programmer, and try to detect and read it.

The error report from AFUWIN seems to suggest that the firmware is being rejected because itā€™s not properly signed.
Lenovo also uses AFUWIN to update BIOS, so it looks like the write protection implemented on FPT isnā€™t a major issue for AFUWIN. And as far as I know, flashrom doesnā€™t support intel_spi, which might be a good thing.
However, worst case scenario, I might have to take the motherboard apart and try to get my SPI programmer to work.

Yes, afuwin does check for firmware signature which has been violated since bios sturcture changed, so the only way to do this is by programmer.

I tried using sudo flashrom -p internal to bypass the write protection, but it didnā€™t work. I then attempted to flash the firmware using my CH341 programmer. However, I suspect that the flashing clip might be causing poor contact when flashing the SPI ROM online on the motherboard, or there might be insufficient power due to motherboard differences. In any case, I failed, sometimes with a write error and other times with a verification error. I previously used a CH341/FT4232H+ flashing clip to flash the SPI ROM on a Lenovo ThinkCentre M710q without encountering such issues.
ļ»æ
In the end, I gave the motherboard to an acquaintance who repairs motherboards. He removed the SPI ROM and flashed it with the modified BIOS on his programmer. Now the computer is working properly. I want to see if there are any other problems.
ļ»æ
I will purchase a CC150 CPU in the future, and I hope it will work properly on this motherboard.

Maybe using spi debug port might work? Probably you could flash it after you did take off the cmos battery, unplug all power cable from the psu to the motherboard, leaving the motherboard with no power and no cmos, and then usually you could actually read/write that normally.

So, did the modded bios i gave to you worked?

I removed the motherboard from the case, with no CMOS battery installed and no PSU connected, but even then I couldnā€™t flash the BIOS using my CH341.

This motherboard doesnā€™t have an SPI debug port, so without using a hot air gun to remove the BIOS chip, the only option is to flash it using a clip.

Actually, the BIOS I flashed was the one you modified, and it worked perfectly.


Finally, I want to know if the BIOS limits the TDP of the CPU?

Great to know that it works, sad to know that the ch341a isnā€™t able to write the bios, probably the moment you connect it with soic8 clip the bios chip have WP enabled.

TDP limits might still sets at your mainboard limit if it were ever coded to the bios itself, you should try out an i9 9900 or i7 9700 of any variant (normal, K, KF) from a local shop or an aquintance of yours, and see if it would boot, and if does boot try out the igpu and see if the igpu also works.

It seems the CPU is working properly on this motherboard. Iā€™m currently running y-cruncher for stability testing.

1 Like

Your current cpu or any 9th gen (or CC150 you mentioned?)

Yes, itā€™s a CC150, 9th gen Core, with a rated TDP of 95W.

1 Like

I suggest you to test it with Prime95 (i suppose you do have a good cooling), and use the smallest fft possible for test, it should load the cpu heavy enough, but should be safe since the cpu max is 3.5 all core isnt it?

Oh also, do you mind to share your cpuz or HWInfo Summary screenshot here? Just a bit curious hehe