Hi,
I kindly ask for help with Thinkpad BIOS/ME repair.
Thinkpad W541 board bought from Aliexpress, so I have no service tag nor S/N. It is 1GB version Q1 (K1100 nVidia GPU). BIOS 2.23, EC 1.13, ME 9.1.32.1002.
It worked fine until I tried to remove whitelist.
Steps taken:
- battery out, CMOS coin cell out, laptop disassembled; I kept LAN/USB subboard connected
- i took SPI programmer (CH341A with 3.3V mod) and SOIC clip and did a full backup of all SPI flash chips (SPI1 and SPI2 - BIOS, EC, ME, GbE; SPI3 - video BIOS; SPI4 - Thunderbolt fw) for several times - all dumps from specific chip are identical
- prepared patches.txt for UEFIpatch (uncommented LenovoWmaPolicyDxe | Whitelist removal | W541 and advanced menu enable) and patched the 25Q032 dump with UEFIpatch
- signed the dump with sign.py
- verified the dump with verify.py (signatures correct)
- flashed the dump into 25Q032 chip
- connected CMOS coin cell, connected AC power
Laptop booted well, however when I try to power up the laptop, the power button only blinks three times and laptop does not power up.
Removing CMOS coin cell for few seconds fixed this issue and laptop powers on, but of course CMOS is cleared and I need to configure date/time and BIOS settings. Afterwards, OS boots fine.
After powering the machine off, the three blinks issue occurs again.
Also when CMOS is cleared and machine powers up, there is very long delay during POST until the first Lenovo splash screen is visible.
Steps taken:
- flashed backup dump into 25Q032 chip (problem still occurs)
- flashed backup dumps into 25Q032 and 25Q064 chips (problem still occurs)
- did a official BIOS update using gnuj39us.exe to version 2.42 (containing ME 9.1.20.1000) - problem still occurs
- did a official ME update using glrg22ww.exe to 9.1.45.3000 (problem still occurs)
- flashed backup dumps to both SPI chips, cleared CMOS, cleared TPM using tpm.msc method in Win7
I digged over various web forums and figured out that this could be caused by ME region corruption.
So I tried the following:
- cleaned ME region using FITC, tried various 5MB and 1.5MB versions around 9.1 branch but problem still occurs
- did fptw64 -greset ME reset, problem still occurs
- ran MEInfo.exe and MEManuf.exe - all seems to be fine, all tests passed, ME filesystem corruption not present
- did me_cleaner (both methods - flash "compacting" and HAP bit), problem still occurs
- disabled AMT, did ME unconfigure in BIOS Advanced menu, problem still occurs
- did some TPM stuff (disabling in BIOS, clearing, manufacturing mode patch FB->FF in flash), problem still occurs
- flashed both chips with dumps from other motherboard - the same problem + as I expected, the OS cannot boot
I am currently out of ideas what to try next.
Maybe is there some NVRAM embedded in PCH which needs to be cleared?
My equipment: CH341A programmer, SOIC8 clips, MiniPro TL866A and SOIC-DIP adapters, hotair and soldering stuff, some spare SPI flash chips, second W541 board but Q3 (K2100 GPU) version, donor W541 board, donor T440 board, other Win7 laptop used for programming (W520).
I kindly ask for help with Thinkpad BIOS/ME repair.
Thinkpad W541 board bought from Aliexpress, so I have no service tag nor S/N. It is 1GB version Q1 (K1100 nVidia GPU). BIOS 2.23, EC 1.13, ME 9.1.32.1002.
It worked fine until I tried to remove whitelist.
Steps taken:
- battery out, CMOS coin cell out, laptop disassembled; I kept LAN/USB subboard connected
- i took SPI programmer (CH341A with 3.3V mod) and SOIC clip and did a full backup of all SPI flash chips (SPI1 and SPI2 - BIOS, EC, ME, GbE; SPI3 - video BIOS; SPI4 - Thunderbolt fw) for several times - all dumps from specific chip are identical
- prepared patches.txt for UEFIpatch (uncommented LenovoWmaPolicyDxe | Whitelist removal | W541 and advanced menu enable) and patched the 25Q032 dump with UEFIpatch
- signed the dump with sign.py
- verified the dump with verify.py (signatures correct)
- flashed the dump into 25Q032 chip
- connected CMOS coin cell, connected AC power
Laptop booted well, however when I try to power up the laptop, the power button only blinks three times and laptop does not power up.
Removing CMOS coin cell for few seconds fixed this issue and laptop powers on, but of course CMOS is cleared and I need to configure date/time and BIOS settings. Afterwards, OS boots fine.
After powering the machine off, the three blinks issue occurs again.
Also when CMOS is cleared and machine powers up, there is very long delay during POST until the first Lenovo splash screen is visible.
Steps taken:
- flashed backup dump into 25Q032 chip (problem still occurs)
- flashed backup dumps into 25Q032 and 25Q064 chips (problem still occurs)
- did a official BIOS update using gnuj39us.exe to version 2.42 (containing ME 9.1.20.1000) - problem still occurs
- did a official ME update using glrg22ww.exe to 9.1.45.3000 (problem still occurs)
- flashed backup dumps to both SPI chips, cleared CMOS, cleared TPM using tpm.msc method in Win7
I digged over various web forums and figured out that this could be caused by ME region corruption.
So I tried the following:
- cleaned ME region using FITC, tried various 5MB and 1.5MB versions around 9.1 branch but problem still occurs
- did fptw64 -greset ME reset, problem still occurs
- ran MEInfo.exe and MEManuf.exe - all seems to be fine, all tests passed, ME filesystem corruption not present
- did me_cleaner (both methods - flash "compacting" and HAP bit), problem still occurs
- disabled AMT, did ME unconfigure in BIOS Advanced menu, problem still occurs
- did some TPM stuff (disabling in BIOS, clearing, manufacturing mode patch FB->FF in flash), problem still occurs
- flashed both chips with dumps from other motherboard - the same problem + as I expected, the OS cannot boot
I am currently out of ideas what to try next.
Maybe is there some NVRAM embedded in PCH which needs to be cleared?
My equipment: CH341A programmer, SOIC8 clips, MiniPro TL866A and SOIC-DIP adapters, hotair and soldering stuff, some spare SPI flash chips, second W541 board but Q3 (K2100 GPU) version, donor W541 board, donor T440 board, other Win7 laptop used for programming (W520).
Comment