OSD icon indicating copy to clipboard operation
OSD copied to clipboard

Lenovo NVIDIA-only driver packs are selected over full SCCM packs in Lenovo catalog parsing (needs string filter)

Open AmirTerani opened this issue 2 months ago • 2 comments

Description

When parsing Lenovo’s catalogv2.xml, OSDCloud currently adds both NVIDIA-only and full SCCM driver pack URLs for the same model/OS. Because the NVIDIA-only packs have newer dates, OSDCloud’s selection logic ends up preferring those over the proper full driver packs.

This behavior causes deployments for Lenovo systems (such as ThinkPad P14s Gen 5 Type 21G2/21G3) to install incomplete driver sets, since the NVIDIA-only packs exclude Intel, AMD, or platform drivers.

To Reproduce

  1. Run OSDCloud with -DriverPack on a Lenovo P14s Gen 5 (21G3) system.
  2. Observe that the selected URL is an NVIDIA-only .exe instead of the proper full SCCM driver package.

Example from Lenovo’s catalogv2.xml:

<Model name="ThinkPad P14S Gen 5 Type 21G2 21G3">
  <Types>
    <Type>21G3</Type>
    <Type>21G2</Type>
  </Types>

  <SCCM os="win11" version="22H2" date="2025-10-01">
    https://download.lenovo.com/pccbbs/mobiles/tp_p14sg5_p16sg3_mt21g2_mt21g3_mt21ks_mt21kt_w11_22h2_sccm_202407.exe
  </SCCM>

  <SCCM os="win11" version="23H2" date="2025-10-01">
    https://download.lenovo.com/pccbbs/mobiles/tp_p14sg5_p16sg3_mt21g2_mt21g3_mt21ks_mt21kt_nvidia_w11_23h2_202508.exe
  </SCCM>

  <SCCM os="win11" version="24H2" date="2025-10-01">
    https://download.lenovo.com/pccbbs/mobiles/tp_p14sg5_p16sg3_mt21g2_mt21g3_mt21ks_mt21kt_nvidia_w11_24h2_202508.exe
  </SCCM>
</Model>

When Get-LenovoDriverPackCatalog.ps1 builds the driver catalog, it imports all of these <SCCM> entries equally. Since the NVIDIA packs have newer timestamps, the filtering logic in Get-OSDCloudDriverPack or Get-OSDCloudDriverPacks picks them over the older but complete _sccm_ packs.

Expected behavior Only full SCCM driver pack URLs (e.g. those containing _sccm_ or not containing nvidia) should be added to or prioritized within the Lenovo catalog cache.

Suggested Fix In Public/Functions/Catalogs/Lenovo/Get-LenovoDriverPackCatalog.ps1, add a filter to exclude NVIDIA-only packs when building the catalog:


# Skip NVIDIA-only driver packs
if ($Url -match 'nvidia') { return }

or adjust the logic to prefer _sccm_ URLs over _nvidia_ ones when multiple candidates exist for the same model/OS combination.

Environment

  • Module: OSD (current release)
  • Source: https://download.lenovo.com/cdrt/td/catalogv2.xml
  • Models affected: P14s Gen 5 (21G2/21G3), P16s Gen 3, and other NVIDIA-equipped ThinkPads

Impact

Deployments for affected Lenovo models end up with GPU-only drivers, missing chipset/network components, and fail hardware validation until manual driver installation.

AmirTerani avatar Oct 21 '25 19:10 AmirTerani

Per Lenovo's doc

Machines with NVIDIA graphics card need BOTH driver packages which makes things even more complicated!

Image

AmirTerani avatar Oct 21 '25 23:10 AmirTerani

@OSDeploy Hi David, Just FYI, we got some traction at the Lenovo forum about NVIDIA drivers and maintaining their catalogv2.xml file. Thought to let you know. Thank you again for looking into resolving this. Best, Amir-

AmirTerani avatar Oct 24 '25 21:10 AmirTerani