OSDeploy / OSD

OSD Shared Functions
MIT License
132 stars 54 forks source link

Lenovo driver servicing #100

Open skyblaster opened 6 months ago

skyblaster commented 6 months ago

I just tried installing Win11 22H2 on two separate Lenovo's (20Q1 and 20R3) and ran into the same issue on both. During first boot, the "Getting ready" message appears and the progress circle just keeps spinning indefinitely.

No difference trying to install 23H2.

Please let me know if there is a better log file that I should be posting instead. 2023-12-24-124200-Deploy-OSDCloud.log

skyblaster commented 6 months ago

Rebuilt my USB from scratch with ADK 10.1.25398.1 (September 2023), but things are still stalling out. Typically Lenovo devices would launch the driver pack executable on first boot, but I don't see that happening now.

christiandekker commented 6 months ago

I'm having a similar issue. It seems to be caused by the Driver Pack that's downloaded is only 2Kb in size. According to the log:

DriverPack has been matched to Lenovo ThinkPad E16 Gen 1 Type 21JT 21JU Win11 22H2
Matching DriverPack identified
-Name Lenovo ThinkPad E16 Gen 1 Type 21JT 21JU Win11 22H2
-BaseName tp_e14_gen5_e16_gen1_mt21jr-21js-21jt-21ju_w1164_21h2_22h2_202308
-Product 21JT 21JU
-FileName tp_e14_gen5_e16_gen1_mt21jr-21js-21jt-21ju_w1164_21h2_22h2_202308.exe
-Url https://download.lenovo.com/pccbbs/mobiles/tp_e14_gen5_e16_gen1_mt21jr-21js-21jt-21ju_w1164_21h2_22h2_202308.exe

The download URL is broken, which apparently causes the 2Kb file to be 'downloaded' and executed during OSDCloud Deployment.

OSDeploy commented 6 months ago

I'm having a similar issue. It seems to be caused by the Driver Pack that's downloaded is only 2Kb in size. According to the log:

DriverPack has been matched to Lenovo ThinkPad E16 Gen 1 Type 21JT 21JU Win11 22H2
Matching DriverPack identified
-Name Lenovo ThinkPad E16 Gen 1 Type 21JT 21JU Win11 22H2
-BaseName tp_e14_gen5_e16_gen1_mt21jr-21js-21jt-21ju_w1164_21h2_22h2_202308
-Product 21JT 21JU
-FileName tp_e14_gen5_e16_gen1_mt21jr-21js-21jt-21ju_w1164_21h2_22h2_202308.exe
-Url https://download.lenovo.com/pccbbs/mobiles/tp_e14_gen5_e16_gen1_mt21jr-21js-21jt-21ju_w1164_21h2_22h2_202308.exe

The download URL is broken, which apparently causes the 2Kb file to be 'downloaded' and executed during OSDCloud Deployment.

It seems that there are several dead links for Lenovo Driver Packs, possibly some end of year changes. When I update the Catalogs, I validate the links to ensure that they are valid, but there isn't any logic if the file doesn't exist. I'll look into a solution, but this is something on Lenovo's end

image

skyblaster commented 6 months ago

The problem @christiandekker describes is a separate issue and it's one I've also experienced with files not matching the MD5. Allowing the user to manually specify a locally stored DriverPack similar to how we can choose a custom WIM would fix many catalog related issues IMO.

For the issue I'm experiencing, the file already exists on the USB drive, it's just not being applied from what I can tell.

D:\OSDCloud\DriverPacks\Lenovo\tp_t490s_x390_w11_22_202210.exe
DriverPack is being copied from OSDCloudUSB at D:\OSDCloud\DriverPacks\Lenovo\tp_t490s_x390_w11_22_202210.exe to C:\Drivers
VERBOSE: DriverPack: C:\Drivers\tp_t490s_x390_w11_22_202210.exe

I will test again with another drive to make sure it's not something local.

skyblaster commented 6 months ago

All back to normal with today's build. Not yet sure if it was my other USB stick or OSD 23.12.13.1

skyblaster commented 6 months ago

I spoke too soon. While my X390 is now working beautifully, my L13 (20R3) is still exhibiting the Getting ready wheel of death with no apparent launch of the driver EXE.

2023-12-28-201221-Deploy-OSDCloud.log

skyblaster commented 6 months ago

Mystery solved. It appears that I was missing a critical file!

A matching DriverPack JSON catalog file is created during the main OSD task sequence here, called from Save-MyDriverPack, however it doesn't appear that it is backed up to USB along with the exe.

tp_s2-5th-gen_s2-yoga-5th-gen_l13_l13yoga_l13-gen-1_l13yogagen-1_w11_22h2_202212.exe
tp_s2-5th-gen_s2-yoga-5th-gen_l13_l13yoga_l13-gen-1_l13yogagen-1_w11_22h2_202212.exe.json

Since these laptops lacks a built in NIC, I use a Realtek 2.5G USB-C adapter. Early on I was having trouble with it stalling out while downloading the ESD (probably a bad driver) and decided to download the driver pack manually. That was the start of my issues. When I moved to another OSDCloud USB, I copied the DriverPack manually (only after verifying the file) and the problem persisted. Luckily I let OSD download the X390 DriverPack, which generated the accompanying JSON file in C:\Drivers. It was only after I deleted the L13 driver pack and let OSD download it again that I was able to get things sorted on the 2nd machine.