digmorepaka / thinkpad-firmware-patches Goto Github PK
View Code? Open in Web Editor NEWCollection of ThinkPad UEFI patches.
License: Do What The F*ck You Want To Public License
Collection of ThinkPad UEFI patches.
License: Do What The F*ck You Want To Public License
Model | Yoga Thinkpad x1 gen2 |
---|---|
Patchset | xx80 |
TPM | Yes, (paranoidbashthot bypass) |
Notes | Changing memory profile / speed causes brick, spi flash near 4g module |
please change 'To get a working TPM use Thrimbor's uefi-sign for xx20, xx30, and xx40 ThinkPads. For soldered xx40, xx50 and xx80 replace 4C 4E 56 42 42 53 45 43 FB with 4C 4E 56 42 42 53 45 43 FF on the previously patched binary' to say that you MUST do this, as the the t480 does not have tmp support, and it can be interpreted as meaning that this only needs to be done for machines with tpm support, even though required on the t480 as well.
Hey @digmorepaka , I bricked a X240 :D
Just wanted to make sure, I do understand what went wrong to prevent this from happen to a newly bought X240 motherboard.
The device came with BIOS v2.25, which has been upgraded by myself to v2.49 using an external CD drive and the official BIOS utility. Embedded controller got updated to v1.18 sucessfully, too.
After dumping that image, I flashed a modified one which included only the patches from https://github.com/digmorepaka/thinkpad-firmware-patches/blob/master/xx40_xx50_patches_v7.txt - result: devices booted successful (I was able to see the Advanced menu in the BIOS) but with (not absolutley sure anymore) 5 beep tones. I thought that's the tamper protection complaining (but it seems to be the chassis intrusion only?).
From here everything went wrong: So is started to sign the image with "Thrimbor's uefi-sign" and flashed that image. Display wasn't working anymore, though the keyboard backlight turns on, even the fan for a short time, but I got no more beep tones. Flashed a BIOS image which included only the replacement of "4C 4E 56 42 42 53 45 43 FB" with "4C 4E 56 42 42 53 45 43 FF" (besides the patches, but no uefi-sign) with the same outcome. I read back the image several times to verify it's the one written to it (even though flashrom does that for me, just wanted to double check) - turned out it has the same md5sum. Flashed the patched one, which worked initially, same outcome. Flashed the initial v2.49 without any modifications - same outcome, still bricked. Flashed the v2.25 which I dumped too in the beginning, same outcome: still bricked.
My question: can you think of any recovery method to this issue? Or do you have an idea what could have gone wrong?
"uefi-sign" is not needed for X240, bc TPM is not working? I don't care about TPM, aiming to run Linux.
Do I really have to replace the "4C 4E 56 42 42 53 45 43 FB" with "4C 4E 56 42 42 53 45 43 FF" for the X240 (Intel i5-4210U)?
Thanks in advance :)
Model | T495 |
---|---|
Patchset | Default for generation |
TPM | Yes, fix_vendor_hashes |
Notes | Desoldering rom required, or possibly isolate programmer vcc and flash running system, similar to x60 |
Model | ThinkPad X1C2 |
---|---|
Patchset | xx40_xx50_patches_v7.txt |
TPM | Didn't test it, not sure how |
Notes | Doesn't work with thinkpad-uefi-sign |
Model | ThinkPad 11e Gen 6 |
---|---|
Patchset | xx70_xx80_patches_v7.txt |
TPM | Yes, Hex was already fixed |
Notes | None |
Model | T14 AMD Gen1 |
---|---|
Patchset | Gen1_AMD |
TPM | Unknown |
Notes | no POST, keyboard leds(FnLock, F1, F4, CapsLock) blink with 4-5 seconds interval. tried on BIOS ver.1.34 also, whitelist patch does nothing as pattern is not found at all. |
I'm willing to help test things
Tried to patch t480 twice, and all I got was error beeps. Used all relevant patches, unable to find hex string 4C 4E 56 42 42 53 45 43 FB
in patched BIOS. Thinkpad is on latest firmware update
hi guys i am patching i am signing i am inserting new card for whitelist i am writing with ch341a. The system still detects that it is an unauthorized card. Thanks for your help.
patched and unpatched version is here.
Hi I am new here, I recently bought thinkpad x395 with AMD Ryzen R5 3500u and 8 GB ram and I tried patching bios using both patches, but to no avail.
All I could hear on boot was just the melody and thats it, also when I clicked fn button it would make shorter melody 3 times.
If anybody knows whats up with that I would very much appriciate help.
And I would like to know what kind of tpm patch i need to use as I cant figure it out.
Thanks.
Model | ThinkPad Yoga 460 |
---|---|
Patchset | xx60_patches_v1.txt |
TPM | Yes, Hex was already fixed |
Notes | None |
Hi.
I am requesting firmware patches for Thinkpad T460p.
I was wondering why there isn't any patch for x90 thinkpads (T490, L390, X390 and so on). They share the same board, so if you patch one of them you'll have a patch for every laptop.
I can provide a dump of L390 yoga bios if somehow useful.
I am trying to figure out if the NVME slots of the Lenovo P53 have some sort of whitelist applied. It appears nobody has been able to run an eGPU via the NVME slots on a P53 yet. Is it technically possible to create a whitelist on a PCIe/M.2 slot which says "only allow storage devices to connect"?
And if this is indeed the case, is it possible to modify and flash the P53 BIOS to remove this limitation?
hi! anyone knows which patch can I use for ThinkPad X1 tablet 3gen?
After applying xx40_xx50_patches_v7.txt with the "show XMP and manual memory timings (cleaned up)" enabled, I now have options to select a memory profile. With a normal non XMP stick, I get Default Profile, XMP 1 and XMP 2, with XMP 1 profile having manual timing control, but CAS latency can go only to 10 and not any higher which is not acceptable. After I flashed a XMP profile to my RAM's SPD, I now only have XMP Profile 1 as an option with the manual timings, which in this case, CL10 is too low and the laptop won't boot with it. Tried flashing 2 different XMP profiles, even to a ram stick that was not the OEM hynix one, no dice. Attached some pics
Hey,
two points I'm unsure:
I've successfully been able to apply the patches to upen up the AMD menu, and it works fine.
I've loaded the related PE files into a disassembler, but I can't figure out what the data that's being edited by these patches represents. I'm wondering if there might be more hidden menus that can be enabled? Is there any documentation on what this data means?
Specifically, I'm wondering if there might be some option to control the amount of VRAM? I'd like to expand it a bit beyond the defaults...
Hello, my issue is very same as #18 - I have dumped the original firmware, applied the patch, replaced 4C 4E 56 42 42 53 45 43 FB
with 4C 4E 56 42 42 53 45 43 FF
, flashed the patched firmware, got the Advanced Menu with overclocking and all other stuff, but the WWAN whitelist is still in force - the laptop does not boot and shows error "1802: unauthorized network card" with a 3rd party card. If I put the original WWAN card the laptop boots normally.
Also there is another small issue - the laptop complains about incorrect time/date and wants me to adjust it but I could not find where to change the time/date in the patched BIOS. It is not on the 2nd tab as it was in the original BIOS (as far as I remember) and I wasn't able to find it anywhere else, could you advise how do I change the time/date?
The full model name is: 20HN0012UK SDK0J40697
I do patch my bios with the patch file provided, but after flash back to the bios chip ; It is not working.
My Bios version: 2.52 (the latest one)
I see that, The tested just on the bios 2.41.
My Dump Bios from flashrom :https://drive.google.com/file/d/1VfIPq9IYaQaMMazW0DTnYnkv889cCGB8/view?usp=sharing
Many Thanks
Title. What patch do I need for my P50 to unlock the BIOS? xx60?
do i need the 1.8v adapter or will item linked below work? i didnt use the adapter for my T440P before but i returned that CH341A to amazon when i was done with it lol
Hello, can someone assist me on removing the WWAN whitelist and maybe unlock advanced setting on a ThinkEdge SE30?
Unfurtatly I'm unable to find any trace of the infamous LenovoWmaPolicyDxe
module in my bios chip dump (see attachment)
Thank you in advance.
dump.gz
Hi, can you make patch for t470s? I've apply the patch (xx70_xx80_patches_v7) to my t470s BIOS, but no luck
My laptop beeping 5 times, but not boot to BIOS or OS. Just black screen
Thanks in advance!
Model | X380 Yoga |
---|---|
Patchset | Default for generation |
TPM | ?? |
Notes | TPM was off, didn't try to switch it on. Everything worked as expected on Linux, didn't test Windows |
Model: ThinkPad x280
Patchset: xx70_xx80_patches_v7.txt with all patches (nothig commented out)
TPM: 4C 4E 56 42 42 53 45 43 FB -> 4C 4E 56 42 42 53 45 43 FF
Notes: Do not use fix_vendor_hashes.py, it damages patched bios file and machine becomes unbootable. Just patch and change sequence (above).
TPM stick in "MFG mode".
A while ago I paid some guy on bios-mods to patch my BIOS, and requested the following for my X230...
What is needed to achieve this nowadays? Can I achieve the same functionality with 1vyrain and the firmware patcher on this github? would I need hamishcoleman/thinkpad-ec at all?
Model | ThinkPad 13 |
---|---|
Patchset | Default for generation (SkyLake) |
TPM | No |
Notes | Advanced UEFI menu unlocked, wwan whitelist removal not tested. No wwan slot availlable on this model, I will test in the wan slot if I get my hands on a card. Relevant hex was found and replaced during patching. |
Model | P51 |
---|---|
Patchset | xx70_xx80_patches_v7.txt ( Using Lenovo ThinkPad X270 - USB wwan whitelist - digmorepka) |
Bios version | 1.60 |
Bios chip location | Under the keyboard, on the left of the RAM slot (under the black protection). Chip is MX25L12873F and compatible with flashrom and a ch341a programmer. |
TPM | Yes, not tested |
Notes | Replaced 4C 4E 56 42 42 53 45 43 FB with 4C 4E 56 42 42 53 45 43 FF on the previously patched binary with a hex editor. Otherwise it will not POST with a 0285 Beep code "TCG-compliant functionality-related error (might be the TPM initialization failure)" |
X1 Carbon 6th owners, if your Thunderbolt and HDMI is working we need your ROM dump
Mods please delete if inappropriate and apologies in advance. I am very sorry for asking this here but situation is dire.
I am desperately looking for some X1 Carbon 6th gen owners with CH341a SPI Programmer and SOIC8 Clip and whose X1 Carbon Thunderbolt and HDMI ports work properly to extract the bin file in their laptop and share with us since our HDMI nor DP from TB ports do not work at all due some intel ME firmware is messing up things.
https://www.reddit.com/r/thinkpad/comments/rsri27/urgent_wanted_x1c6_thunderbolt_working_bin_file/
fwupd/firmware-lenovo#264
Thank you again and all the best
Model | Thinkpad X1 yoga gen 3 |
---|---|
Patchset | xx80 |
TPM | Yes, hexedit |
Everything is working fine, except for m.2 ssd, which worked good before patching.
No matter how I try. With every bios settings I've tried.
It's not being detected both in BIOS and Windows.
SSD is working fine itself. Checked in another laptop.
What could be the problem?
Model | T480s |
---|---|
Patchset | xx70_xx80_patches_v6.txt (only advance menu and wwan whitelist selected) |
TPM | MFG state |
Notes | I have the advanced menu in the BIOS, although the WWAN whitelist is still there. |
Hello everyone!
I'm trying to remove the WWAN whitelist on my T480s.
I've applied the patches "enable advance menu" and "remove wwan whitelist" in xx70_xx80_patches_v6.txt
To disable tamper protection I've replaced 4C 4E 56 42 42 53 45 43
FB
with 4C 4E 56 42 42 53 45 43
FF
in a hex editor, and after flashing it back, I have the advanced menu in the BIOS, but the WWAN whitelist is still there. If I leave the WWAN card inserted, I get error 1802:
1802: Unauthorized network card is plugged in - Power off and remove the network card
System is halted
TPM was previously disabled, but after the patch, it was in "MFG" state.
Should I use a different script on my T480s?
Could someone help me to remove the WWAN whitelist?
Thank you very much!
I'm trying to add an NVMe SSD to the WWAN slot on my T560, and getting the "1802: Unauthorized network card is plugged in" error. I've tried patches from "xx60_patches_v1.txt", "xx40_xx50_patches_v7.txt", and "xx70_xx80_patches_v7.txt". All of them either do not apply in UEFIPatcher or fail to remove the whitelist error when flashed to the machine.
I'm going to hazard a guess this is related to the several other outstanding requests here for help with WWAN issues.
Anyone have any ideas? Lenovo is doing a really good job of ensuring my next notebook purchase is from Framework.
xx40_xx50_patches_v7.txt untouched
confirmed removed WL for wifi and wwan
TPM and other specifics not tested
Thanks
Thinkpad t560
Most settings work, but a few in the advanced Intel platform settings will brick the bios.
Tpm works, and I can use bitlocker.
For example, bios guard in the bios settings will show as enabled, but disabling it and then save/exiting will require you to reflash the bios.
I'm trying to remove the whitelist on my 6th gen X1 Carbon so I can use a Sierra EM7455. I applied all the patches in xx70_xx80_patches_v6.txt, and replaced 4C 4E 56 42 42 53 45 43 FB
with 4C 4E 56 42 42 53 45 43 FF
in a hex editor, and I have the advanced menu in the BIOS, but it seems like the whitelist is (mostly) still there. Sometimes it boots fine and recognises the EM7455, and sometimes it gives me the "Unauthorized network card" error, and I don't know why. I updated the BIOS to version 1.54, so I'm wondering if it only works on older versions, or different models, or something. I double checked that I'd uncommented the right lines in the text file. Am I doing something wrong?
I have done WL removal and advanced tab unlock for lenovo M495 (E4325), I wonder if I can submmit the patch here.
Sorry, a little bit of an unrelated question, would you know if the 1.36 bios update disables undervolting for the T480?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.