ThinkPad x220: problem with a custom BIOS

Hello to all,

I ran into interesting problem while doing some work, and I would like to get some opinions from this forum (I hope CodeRush, with his extensive experience, can help here).

Here is the description of the problem:

> Recently I bought a refurbished x220 and flashed it with a custom BIOS (Lenovo ThinkPad
> x220_1.40-(8DET70WW)-8duj26us_NWL_ADV_AES_PM_Speedo) because I wanted to unlock
> the RAM speed to be 1866MHz (max RAM speed is locked to 1333Mhz in official BIOS),
> white-list some Wi-Fi cards, Advanced Chipset Config menu, etc.
> This custom BIOS worked perfectly until I changed some settings related with Intel VT-x. If I
> recall correctly, I activated SR-IOV for PCI-E, saved and exited and after that x220 = BRICKED.
> I tried every typical troubleshooting/workaround (Removing as much HW as possible, unplug
> BIOS battery for hours, etc), nothing worked.

This is peculiar… How SR-IOV feature/settings could break the BIOS??? Never saw such or similar brick.

Taking to account that introduced custom BIOS (Lenovo ThinkPad x220_1.40-(8DET70WW)-8duj26us_NWL_ADV_AES_PM_Speedo) added (probably) additional few Memory Reference Code algorithms to make DDR3 work @ 1866MHz, I have no clue how these two parameters (SR-IOV and MRC) are connected/in relations.

It is, after all, Sandy Bridge CORE:…-up-to-3_20-GHz

Any clues, advises, addendums, kludges, or similar experiences to share with me?

Thank you,

Get your current SPI flash dumped, change the value of SR-IOV back to default (it’s store in NVRAM variable called “Setup”) and flash the result back. You modified BIOS has unlocked BIOS Setup, and every settings hidden were hidden on purpose, so it’s no surprise it’s bricked now. You can upload your dump and I’ll show what to change.

Hi @_nobody , Hi @CodeRush ,

I’m the x220 owner who got the BIOS bricked.
Let me add some more details about the process:

1 - Laptop was with official BIOS_1.29 / EC_1.20;
2 - From windows, updated to official BIOS_1.40 / EC_1.24;
3 - From windows, installed custom 8duj26us_NWL_ADV_AES_PM_Speedo;
4 - Custom BIOS unlocked Advanced Menu (with tons of chipset related options);
5 - 2x8GB DDR3-1866Mhz modules installed. Changed RAM speed to 1866Mhz in BIOS;
6 - Booted to Archlinux and dmidecode reported 1333Mhz as RAM speed;
7 - I went back to BIOS and changed RAM speed to Auto and noticed that SR-IOV was not activated for PCI, so I decided to activate it since I plan to play a little with kvm and stuff (If I recall correctly, these were the only 2 changes that bricked the system).
8 - Save and exit: BIOS bricked. Infinite boot/restart loop until I remove ac/battery;
9 - Tried to remove all the hardware and clear CMOS. Nothing worked. Always in boot loop.

The flash dump (using flashrom) is here:
Let me know if you need any additional details.


Just FYI to check actual memory bus speed you need software that “looks” at the actual chipset registers (on Windows that’s CPU-Z, etc.); DMI/SMBIOS tables may or may not be updated by the BIOS with actual data. Or benchmark. Memory may well have been running at 1867 anyway…

I had a X220 until a few weeks ago, to be honest for higher speed memory support I just stuck with the older BIOS (1.37?) that did not limit the memory speed. I had good results with Camilomi’s modified BIOSes though I think he only removed white-listing, did not add other features - but grew tired of the beeps at each boot.

Hi everyone,

I have flashed my bios chip with Customer 1.43 bios to enhance the ram performance and I probably changed a bios config and now my Thinkpad x220 is bricked.

Laptop powers on, all of the led lights flashes, no screen(black screen no backlight even), no beep sound when I press the thinkvantage point button(the blue button) or f1.

When I remove the ram , I gives 1-3-3-1 beep code and when I reseat it , the notebook don’t give any error code sound.

I have tried, All of the classical solutions for the black screen error;
-Remove battery, remove all ram sticks, remove hdd, remove all mini pci express devices and discharge the notebook by pressing power button.
-detach the CMOS battery connector cable from mother board, discharge the notebook then reboot.

I think the configuration changes are not stored in the CMOS but inside of the bios chip instead. Could you please help me about this problem ?

Maybe I can take the dump of the bios and fix it and re flash the bios with the fixed bios. However I don’t now where to start this process.

Thank for your kind help

The easiest way out is to use hardware SPI flash programmer to dump the flash, clear NVRAM and flash the result back. Another option is to try this method, but IDK if it works:…ght/true#M59799

Hi everyone,

Problem SOLVED :slight_smile:
1- Find a working stock version of x220 bios bin (rom etc…)
2- Follow a x220 coreboot installation guide
3- Flash the chip with the stock bin rather than the coreboot.rom
4- After that you can try to compile coreboot with a working bios image which is read from your chip (Optional)

Your x220 should boot without any problem.

Thanks CodeRush for the tip.

Привет из 2021!я сделал ту же ошибку , что и ты с Advanced menu теперь мой биос не запускается . 1.6 modded расскажи пожалуйста подробнее , как ты всё починил

Greetings from 2021!I made the same mistake as you with Advanced menu now my bios won’t start . 1.6 modded please tell us more about how you fixed everything