Lenovo P50 Bricked by BIOS update

@lfb6 - I flashed it with the CH341. I don’t want to add other variables at the moment.

I only checked windows activation in Windows. I think I’m using a soft license that’s associated with my Microsoft account, so there may not be anything in the bios. That said, it was originally installed with Win7 on downgrade rights from Win10, so there may originally have been some sort of Windows/Microsoft license in the bios. I’ll have a look later.

Once this is complete, I’m planning to never touch the bios again. I may update using standard Lenovo updates in the future, but will certainly make sure I have a backup this time. It would be nice if we can enable the protection to the level it was before all this happened.

Thanks,
Ian.

@IanP50 Could you please go once into bios and check the main page regarding the Windows information? Thanks!

Made a (last) bios, it contains both changes, flash descriptor is back on old values, too. (link) Maybe not a bad idea to use flasher consequently- there are also some changes in ME region.

I assume this will be some reboots, too. Or in worst case a black screen. Would be interested how bios is looking after these changes!

Good luck!

@lfb6 - Boot Guard only matters if/when key is burned into PCH, otherwise nothing matters
ME FW is only other place this is set, not BIOS settings. What you showed above in spoiler is not related to Boot Guard and should be left as-is

INVALIDINVALID is ALWAYS There, this never changes (ie placeholder/indicator for next bytes), it’s what’s after that for activate/disable CPU features/functions, nothing to do about what you’re thinking (it’s stuff like AES, TSX, or regional (country) power restrictions etc)
These bytes (15DF014981B0298D69F5) are what is in his original BIOS after INVALIDINVALID, should be put back or you can leave all as FF now, provided he’s not lost any CPU functions he cares about (may have gained, not sure, original settings may have disabled certain things due to CPU type, or regional restrictions etc)

You mentioned BIOS lock, as far as a “BIOS Setting” for that, it’s in >> E6A7A1CE-5881-4B49-80BE-69C91811685C_Setup
But, it may not only be there, BIOS lock and FPRR etc may be locked down in a BIOS Module too
I’ve not checked and a test of changing this setting in Setup and NVRAM would be required to see if you still then get 167/280/368 in FPT or not when trying to flash the BIOS region (FPTw.exe -i will show you exact restricted write area in BIOS region by offset)

@Lost_N_BIOS Thanks for the explanation and help!

IanP50 should have a stock bios after flash with bios from #62. He has no intention to mess with his bios if it isn’t broken so I also changed the FD back to original values. Spoiler was just an explanation.

@lfb6 - Sorry, I see that now! I thought you were asking about boot guard and spoiler, as if that was related etc - My bad
Good work sorting all this out here, great to see someone jump in and help with BIOS editing like this!!

@lfb6 - Here’s the bios main page you requested.



Just flashed p50_padding, and all looks good. After expected boot loops, here’s a copy of the current dump.

https://we.tl/t-D9p13KKv2K

Also, here’s the main bios page and security page.




Looks like security has been tightened. Tried to use METools to dump the bios, but got this message.



Thanks,
Ian
--------------------------



Massive thanks to both of you for helping with this. Lenovo wanted to replace the entire motherboard for this. You’d think they would offer a re-flash service, especially when it was their update that caused the problem in the first place.

You’ll both be getting PM’s shortly

@IanP50 - Great to see all back in action and sorted out now!
You’re welcome, but you guys did all the heavy lifting here, good work to the both of you!!

@lfb6 - Great job, thanks for jumping in to help on this one, nice work!! Hope to see you jump in and help more often
I get buried here quick, and can never keep up anymore, so please feel free to jump in and help any user you can when time permits!

@IanP50 There’s not too much security back- what you mention is just the flash descriptor, the original settings deny reading and writing to the ME. (ME updates are still possible, since the FWUpdLcl (in the tools) starts just a mechanism that’s inside ME itself.)

fd.jpg



You still should be able to dump the bios region and I’d do that before making any bios update in the future. “FPT???.exe -bios -d biosreg.bak” should still work and dump the last 9 MB of your bios to “biosreg.bak” or whatever you choose here. I’d try that now- just to check and to be sure.

Some last things:

1) I think I forgot to ask you to load ‘setup defaults’ after first successful reboot? I’d do that once now, just to be sure that not a surprise hidden there- I think this could clean out these VSS2 stores a little bit.
(Some setup defaults depend on a setting in the restart menu called 'OS Optimized Defaults option" in the Restart menu of ThinkPad. According to the update description this cover mainly boot options like secure boot, cms- you shouldn’t change that, it’s probably disabled gor the Windows 7 (legacy?) installation that was first on this machine)

2) I’d do the Lenovo Bios update to bios 1.62 again thereafter. Now you know how to recover, you got a good backup (and maybe have a new one of just the bios region after installing setup defaults).

You’re welcome, IanP50! I like fiddling around with these things- especially if I don’t have to disassemble my own notebook after a brick And a lot of learning in it that might help me if i somtime in the future have to buy som newer hardware Otherwise it’s just a little bit of copy-paste, and try (and error) in small steps. You did a great job yourself, thanks a lot. It was very easy to work through these things with you- give yourself a pat on your shoulder, too

@Lost_N_BIOS Thank’s a lot for your help, for stepping in, and for your kind words! It’s much easier to begin if you know that there’s a backup- after all I’m light years from having your knowledge and experinece! I’m normally stuck with my own old stuff which is SNB/IVB/HSW. Considering the vast amount of “@ Lost_N_BIOS” I can find just in the threads i follow it’s very impressing how you manage to do all this work!

@lfb6 - You’re welcome! I was happy to see you helping so in-depth, so I stood back and let you do your thing
Yes, for sure, always much more comfortable to help user when they have a flash programmer! It’s a must in recovery situation anyway, but even for mod BIOS it’s always great when users have in advance (everyone should, it’s too cheap to not have before getting into mod BIOS)

Haha, yes I do get around here, and help as much as I can, when I can . But, I can’t always help, and I certainly now can’t ever keep up with all the help and or mod requests, so often peoples requests get lost and buried without any reply.
It would be awesome if we had a lot more people stepping in to help, so any help you can provide for users when you know how to help would be greatly appreciated by me, and the community as a whole too, and of course the users who you help will always be grateful too

@lfb6 - That worked. I was able to get a bios region dump using "FPTW64.exe -bios -d biosreg.bak"

I have loaded ‘setup defaults’, and here’s a bios region dump after another reboot.

https://we.tl/t-VHhSW5e8Om

It has cleared out some of the VSS2 store invalid entries, but not all of them.

I then flashed 1.62 which updated fine this time. Here’s the bios region dump for 1.62.

https://we.tl/t-YNf2nu7obx

It looks like this has made a big difference to the VSS2 stores. Much cleaner now.

I’m going to take a full 16MB backup with the CH341, and I think we can call this one fixed.

Thanks again for all your hard work with this.
Ian.

@IanP50 Thanks a lot and yes, looks better now I think there’s not many bioses out there that don’t have a little ‘invalid’ in NVRAM- that’s a picture of my Haswell/ H97 bios:

invalid.jpg



Again thanks for very good work! Hope you won’t have to deal with your bios again except for manufacturers updates! But anyway- you’re prepared now

@lfb6 - Could anything we’ve changed in my bios cause my system to not recognise external monitors?

My P50 has Intel HD Graphics 530 built into the main i7 processor, as well as Nvidia M2000M discrete graphics chip. I’m struggling to get either to work. Plugging directly into the HDMI port on the back of the laptop should work automatically on the Intel HD 530. It only uses the M2000M when required by specific applications. I get nothing on my monitors at all. It’s like the laptop doesn’t even see I’ve plugged it in.

In device manager, my Nvidia graphics are showing ‘Windows has stopped this device because it has reported problems. (Code 43)’. I’ve updated the drivers to the latest version, and tried older versions, but still the same error. Intel HD 530 has also been updated, but still won’t detect external monitors.

In the bios setup screen, it’s set to ‘Hybrid Graphics’, which should use the Intel HD 530 most of the time, and only use the Nvidia when required. I tried changing to ‘Discrete’, but after it booted, I had nothing on the laptop screen at all. I had to re-flash the bios to recover from this. Thankfully I had a backup

I also have a docking station/port replicator. My two screens are connected to this via Display Port cables, and always user to work fine before my bricked bios.

Any thoughts?
Ian.

@IanP50 I didn’t see that one coming… No spontaneous ideas, will have a lock at the dumps but this hybrid- graphics thing isn’t too easy.

To check if it’s bios realated or if there’s another reason you could flash the “good bios” you found earlier in the process. If all is working with this bios we’d know at least it’s (most probably) bios related (if there aren’t models with/ without descrete graphics and the bios comes from a version without).

But if discrete graphics hardware is damaged the system should also display an error code, normally? Is there an error log somewhere in bios? Could something have happened when assembling/ disassembling? I suppose discrete graphics is soldered onto mainboard and not a module?

@IanP50 - Make sure you are connecting the external display before powering on system.
I don’t think anything done here should have caused this, especially since you reflashed stock BIOS after all that anyway, so anything changed in the BIOS during the fixing would have all been reset and fixed by the stock BIOS update

Could you use system like you’re trying now, before all this happened? Did you try clean install of the Nvidia driver?

You may need full menu unlocked BIOS before you could switch to discrete only, if this system will do that, because you may need to enable a few other options that are possibly disabled by default now in the hidden settings.
Unless you could do all that before, then if so, as mentioned, stock reflashed BIOS should have fixed all that back to original working order

@Lost_N_Bios According to manual the option discrete graphics is always available! Don’t need special bios to brick yyour Lenovo…

@IanP50 Might be bios related, but maybe/ maybe not our work- there’s some discussions out there with Lenovos P5x, others, that have same problem after Lenovo bios update…

https://www.reddit.com/r/thinkpad/commen…id_graphics_to/

https://forums.lenovo.com/t5/ThinkPad-P-…10/td-p/4193203

https://forums.lenovo.com/t5/ThinkPad-X-…lp/td-p/4286292

@lfb6 - I could try the other ‘Good bios’, but it’s a full 16MB bios. Can I use ME Tools to flash just the bios region, or would we need to flash using the CH341?

All P50 laptops had discrete graphics. I think there were three different Nvidia models available, but it wasn’t available without discrete graphics, so we should be fine.

I’m pretty confident nothing got damaged while I was working on the eeprom. Discrete graphics is just a chip soldered to the motherboard. You can’t even see it unless you remove the cooling system/fans. I didn’t disturb any of this to access the eeprom.

@Lost_N_BIOS - I’ve tried booting with the external display connected, but it makes no difference.

Before all this happened, my laptop was plugged into a docking station, with the two external monitors connected to the dock via Display Port (DP) cables. I could hot dock/undock, and the screens would be detected straight away. I’m only using an HDMI cable directly into the back of the laptop for testing, just to rule out any potential dock problems. I never tried with HDMI before, but when plugging in via DP, I used to get a beep that it had detected new hardware. I get nothing with HDMI. I don’t have a mini DP cable to plug directly into the laptop though. It’s all full size DP on the dock.

Yes, tried new Nvidia driver. Completely removed old, and installed new. Also tried older versions to see if that helped, but no change. All the settings in the bios look as I remember.

Regardless of the Nvidia discrete graphics, I would expect the Intel HD 530 to be working, as this is all built into the main i7 processor. It obviously works well enough to drive the laptop screen, but doesn’t seem to be able to route it to external devices. That, or the devices are just not being recognised, so the processor doesn’t know it needs to re-route the video.

Thanks,
Ian.

@lfb6 - Yeah, I’d already read those. Mine would have been bricked again if I didn’t have a bios backup and a programmer.

Thanks,
Ian.

@IanP50 It’s not very probable that you can flash the bios region with fpt, I assume it’ll be locked, but it’s worth a try. I think flashing the bios region only from a full image is possible, but I never tried- I flash always from a bios region. Anyway- you can open the ‘Good bios’ in UefitoolNE and right click on the bios region- ‘extract as’ is should give you the bios region, ‘fpt???.exe -bios -f Good_BIOS_region_own_EVSA_PAD.rgn’ would start flashing it.

Attached the “Good Bios region” with your own EVSA store. You could combine the original first 7 MB of your old bios (FD, GbE, ME- not cleaned from #11) to create a complete image. Or try to flash the region only, as described. In case this works you could simply use it since you’d have MAC from your own GbE and own Windows license/ confguration bytes…

Good_BIOS_region_own_EVSA_PAD.zip (4.54 MB)

@lfb6 - Thanks. I’m off to bed now. will try in the morning.

@IanP50 Seems that on many (?) systems the external display ports are routed/ powered through the discrete GPU. This would at least make your symptoms fit together: Nvidia graphics gone/ not available. If this is software/ bios or a hardware fault we’ll have to find out…

https://www.reddit.com/r/pop_os/comments…tors_on_laptop/, https://forum.thinkpads.com/viewtopic.php?t=129853 (older)

You didn’t change Thunderbolt settings in bios or used Thunderbolt lately?