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

オープン
#323 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
半日
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
powershell
領域
devops

調査の方向性

Start in Public/Functions/Catalogs/Lenovo/Get-LenovoDriverPackCatalog.ps1, which builds the catalog from Lenovo's catalogv2.xml, then trace how Get-OSDCloudDriverPack and Get-OSDCloudDriverPacks pick one URL per model and OS. Read how the <SCCM> entries are imported and compared by date. Done means a ThinkPad P14s Gen 5 (21G3) resolves to the full _sccm_ pack instead of the NVIDIA-only one, and the maintainers agree on whether to exclude or deprioritise nvidia URLs.

索引モデルが issue の本文から書いたものです。

説明

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

Impact

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

主要言語
PowerShell
スター
251
フォーク
102
平均マージ
2分
マージ済み PR(30日)
4

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

OSDeploy/OSD のほかの issue

OSDeploy/OSD の issue をすべて見る

似ている issue

DevOps の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。