MSEndpointMgr / ConfigMgr

Microsoft Endpoint Configuration Manager scripts and tools
633 stars 281 forks source link

BIOS update problem with older Lenovo Desktop systems (Flash.cmd) - Modern BIOS Management #132

Closed Verbix2002 closed 4 years ago

Verbix2002 commented 5 years ago

There seem to be some problems with the BIOS update tool when used with older Lenovo systems using Flash.cmd. The BIOS solution works flawless with all kind of Lenovo Laptops and newer Lenovo desktops, but it seems to have problems with older Lenovo systems (M93p, P300).

I am getting these errors in the Invoke log (the BIOS package is downloaded and the Flash.cmd resides in the packages) :

Supported upgrade utility was not found. Using the following switches for BIOS file: /pass: An error occured while updating the system BIOS in OS online phase. Error message: The argument is null or empty.

Perhaps I'm just doing it wrong ?

I have found a similar problem here: https://www.reddit.com/r/SCCM/comments/9466b5/anyone_using_modern_bios_management_on_lenovo/

Thanks for a great tool

/Verb

NickolajA commented 5 years ago

Hi, in version 1.0.7 we added a breaking point if there's no flash utility found. This won't solve your issue, but the script should not attempt to execute further. We don't unfortunately have access to such Lenovo hardware, barely any at all to be frank, so if you're able to find a solution to your issue we'd be happy to implement it in the script.

Jtracy-ItPro commented 5 years ago

I've had struggles with any pre-Skylake desktops (anything before m900 etc), and not just with this script.

The main problem is, the way the updates are built. The flash EXE files from this time period are missing the /sccm parameter, so you can't control the reboot afterward. And they usually don't come with x64 EXEs, which sounds like the problem you're describing.

The wflash.exe files are specific to AMI flash EXE versions, so you can't just upgrade the wflash. Likewise, the AMI flash EXEs are specific to the AMI product used in the ROM file and PC model, so you can't upgrade those either. And some of the CMD files have other weird stuff going on, particularly with the M73 Tiny.

Another problem - The updates form this time period usually do a full reset on firmware settings, sometimes requiring keyboard interaction just to POST. And if you have GPT/MBR format on the disk, that might not match the default factory boot setting (uEFI or Legacy). There could be other customizations in your environment that would all be reset, too.

After hours of struggling, I have concluded that we can only upgrade firmware on these PCs by sending a guy into the building with a USB stick and lots of patience.

I have tried bringing this to various enterprise support people at Lenovo and they eventually stopped responding. My guess is that the updates are made by an overseas team, and the people I talked to have little input there.

OftKilted commented 5 years ago

I had a bunch of the m93p systems and found that It’s possible to perform a bios update using SCCM and the application model. (Though it could be done with a package that does a forced reboot at the end of the install.)