Lenovo Windows Device
Drivers Test Bundle

Lenovo Windows Server Device Drivers Bundle Instructions


Quick Links:
Lenovo Windows Server Device Driver Bundle Design
Confirming Integrity and Authenticity of Repository Downloads - Public Key Download
Determining what devices are install on server
Updating Servers with Bundled Driver Updates
Updating Servers with Individual Driver Updates
Creating Deployment Images incorporating Bundled Driver Updates
Updating Deployment Images incorporating Bundled Driver Updates



Lenovo Windows Server Device Driver Bundle Design

Lenovo provides customers with easy and quick access to supported Microsoft Windows Server drivers. Customers can depend on Lenovo to maintain this repository with all the qualified drivers with links to firmware and utilities qualified in conjunction with these drivers.

Primary Windows Server Bundle features

  • Partitioned mini-bundles for each Lenovo ThinkSystem/SystemX Server and Microsoft Windows Server Version
  • Supported (Microsoft certified) out of box drivers for each supported devices on each server. In cases where Lenovo fully supports the driver provided within the Microsoft Windows Server Version image, InBox support is indicated.
  • Files structures optimized for effective and efficient use with Microsoft provided and support update and deployment tools.
  • Bundle portability. A single zip file contains the entire bundle's file structure; enables customer to create a replicated copy of the bundle on a locally hosted file server or USB key.
  • GPG signature files to confirm file integrity and Lenovo Authenticity
  • JSON based metadata files that can be used by customers to further automate server updates or deployment image creation.

Bundle Structure

  • The bundle's root directory index html page provides a map to what Lenovo servers and Microsoft Windows Server versions are supported.
  • The bundle's root directory also provides a ZIPed portable bundle version
  • Selecting a Microsoft Windows Server distro within the table of supported Lenovo Servers/Microsoft Windows Server versions displays a listing of that server's supported devices. Each device will include information/links to available drivers, required device firmware and suggested utilities. In situations where multiple drivers are required, please ensure ALL the drivers are installed to the operating system.


Confirming Integrity and Authenticity of Repository Downloads

Each download from this Repository provides a GPG signature file to confirm the download's integrity and Lenovo's Authenticity.

Procedure

  1. Obtain Open Source GnuPG tool. This tool is included on almost all Linux installations.
    1. The free Microsoft Windows version of the tool is available here: https://gpg4win.org/download.html
    2. Install the tool on Microsoft Windows workstation or server used to confirm file.

  2. Download and import the Lenovo Data Center Group Public key into the GPG checking workstation or server. Each download within a single repository bundle uses the same Public Key. Lenovo changes the Public Key on a yearly basis.
    1. The URL to download Public Side required to confirm the bundle's downloads is provided here.
      Authenticity Signature Public Key Download
      Securely Download Public Key here: https://download.lenovo.com/servers_pdf/LenovoDCG_publickey4096b2019
      (suggest using web browser "Save Link As..." feature to Download key)

      Key fingerprint:
      pub  4096R/3FB898C9 2018-10-22 Lenovo Data Center Group Software Repository 2019 Public Key <dcgrepos@lenovo.com>
            Key fingerprint = 6382 8830 9E18 493A 6D85  BE49 D112 38B9 3FB8 98C9
    2. Import the Public Key into your workstation or server's key repository.
      > gpg.exe --import public_key.txt
    3. Confirm Public Key fingerprint
      > gpg.exe --list-keys --fingerprint
      The 40-digit hexadecimal number provided should exactly match fingerprint provided on Public Key download page noted above.
    4. Mark the key as verified
      > gpg.exe --edit-key fingerprint of key
      gpg> trust
      Your decision? 5
      Do you really want to set this key to ultimate trust? (y/N) y
      gpg> quit
      >gpg.exe --list-keys --fingerprint
      Key uid should now have [ultimate] prefix

  3. Verification of download
    1. Download bundle file
    2. Download bundle's Lenovo Authenticity Signature file
    3. Verify download
      >gpg.exe --verify bundle_signature_file bundle_file
      The gpg tool replying with Good Signature indicates that tested file downloaded without error is authentictly provided by Lenovo.

Return to Instructions Quick Links



Determining what devices are install on server

Device Driver updates and deployment images customized to contain the correct set of out-of-drivers can result in reduced server maintenance down time and faster deployments. Properly identifying the server devices installed is an important step to optimizing the process.

The device bundle web pages provide PCIe Sub Vendor and Sub Device ID information. The information collected here can be compared to that information to determine the code supported.
Two methods to collect device inventory are outlined below

  1. Query the Lenovo Base Management Controller (BMC (IMM: System x platforms, XCC: ThinkServer platforms))
    This process assume networking and administrative access to the controller

    1. Using the BMC web interface
      Direct browser to BMC url/ip address, log in.

      XCC: Select Inventory (1), then PCI Quick Link (2)

      Select Specific PCI device (3) and retrieve Sub Vendor ID and Sub Device ID indentifers (4).

      IMM: Select Server Management, then Adapters.

      Select Specific PCI device.

      Retrieve SubSystem Device and SubSystem Device indentifers.

    2. Using the BMC CLI
      Use SSH client to start BMC CLI session, then use the "adapter" command to query device(s)

  2. Query Windows Server Operating System
    PowerShell Command to type SubVendor and SubDevice IDs to console.
    Get-PnpDevice | Where-Object {$_.InstanceID.StartsWith('PCI\')} | ForEach-Object {Write-Host SubVendor: $_.InstanceID.Substring(33,4) SubDevice ID: $_.InstanceID.Substring(29,4) Devive Name: $_.FriendlyName}

Return to Instructions Quick Links



Updating Servers with Bundled Driver Updates

Using bundled updates is Lenovo's preferred approach to ensure servers represent configurations tested and certified by Lenovo Product Assurance organization.

Procedure

  1. Acquire mini-bundle (This step typically performed on separate Workstation)
    1. Use the bundle index's table to determine mini-bundle with specific Lenovo Server/Microsoft Windows Server version supported drivers.
    2. Select Lenovo Server/Microsoft Windows Server version configuration of interest. Near the top of the web page download the Portable bundle.
    3. (optional, suggested) Confirm authenticity of download using procedure provided here.
    4. Expand the bundle archive using the 7-zip tool. (https://www.7-zip.org/download.html)

  2. Choose the update method: Comprehensively install all supported, out of box device drivers (a.) OR tune out of box device driver install scope by selecting targeted devices (b.). Either step (a.) or (b.) required, not both.
    1. Comprehensively install/update all supported out of box device drivers
      1. Copy or make available on target server the expanded mini-bundle archive.
      2. Change directory (cd) into the archive's root directory
      3. Install/Update device drivers using Microsoft's pnputil tool.
        Command for Microsoft Windows Server 2016 and higher
        >pnputil /add-driver .\repos\*.inf /subdirs /install

        .
        .


        Command for Windows 2012R2 .
        >forfiles /p .\repos /s /m *.inf /c cmd /c pnputil -i -a @path

        .
        .
      4. Update process completed. An operating system reboot maybe required to load the updated driver(s)

    2. Focusing device update scope - Automated Filter
      1. Copy mini-bundle device directory onto target server. Enter PowerShell and enter device directory
      2. Then, use the PowerShell script filter_devices.ps1 to move the drivers not appicliable to the server out of the folder
        .\filter_devices.ps1
      3. Install drivers using the .\install_drivers_for_devices_listed_in_directory.bat file
        .\install_drivers_for_devices_listed_in_directory.bat
      4. Update process completed. An operating system reboot maybe required to load the updated driver(s)

    3. Focusing device update scope - Manual Filter
      1. Filter mini-bundle devices folder to contain only devices installed on the targeted server. On Workstation, using file explorer, select the devices not installed on the target server. Folders with name prefix core_system_device- should not be deleted. Files not in folders can also be deleted.

        Then, delete those device folders.
      2. Copy or make available on target server the expanded mini-bundle archive.
      3. Change directory (cd) into the archive's root directory
      4. Install/Update device drivers using Microsoft's pnputil tool.
        Command for Microsoft Windows Server 2016 and higher
        >pnputil /add-driver .\devices\*.inf /subdirs /install

        .
        .


        Command for Windows 2012R2
        >forfiles /p .\devices /s /m *.inf /c cmd /c pnputil -i -a @path

        .
        .
      5. Update process completed. An operating system reboot maybe required to load the updated driver(s)

Return to Instructions Quick Links



Updating Servers with Individual Driver Updates

Individual update driver downloads are available directly from the bundle web interface. Important caveats to using these download packages:

  1. When multiple driver downloads are presented for a specific device, it is a requirement that ALL the drivers are applied/installed together on the targeted server.
  2. Lenovo strongly recommends that comprehensive updates applied to servers, where all drivers and firmware match the configurations extensively tested by Lenovo Product Assurance. Using the bundled update method outline here result in server device driver configurations that match Lenovo best practices recommendations.

Procedure

  1. Acquire required driver downloads
    1. Use the bundle index's table to determine mini-bundle with specific Lenovo Server/Microsoft Windows Server version supported drivers.
    2. Scroll down mini-bundle web page to find drivers for targeted device.
    3. Download Driver ZIP package(s)
    4. (optional, suggested) Confirm authenticity of download(s) using procedure provided here.
  2. Performing update
    1. Copy or Move Driver ZIP package(s) to target server
    2. Extract ZIP package(s)
    3. Install updated drivers using install.bat script (Process the same for all Microsoft Windows Server Versions)

    4. Update process completed. An operating system reboot maybe required to load the updated driver(s)

Return to Instructions Quick Links



Creating Deployment Images incorporating Bundled Driver Updates

Using bundled Out of Box Device Drivers is Lenovo's preferred approach to ensure servers represent configurations tested and certified by Lenovo Product Assurance organization.

Procedure

  1. Acquire mini-bundle
    1. Use the bundle index's table to determine mini-bundle with specific Lenovo Server/Microsoft Windows Server version supported drivers.
    2. Select Lenovo Server/Microsoft Windows Server version configuration of interest. Near the top of the web page download the Portable bundle.
    3. (optional, suggested) Confirm authenticity of download using procedure provided here.
    4. Expand the bundle archive using the 7-zip tool. (https://www.7-zip.org/download.html)

  2. Choose the update method: Comprehensively install all supported, out of box device drivers (a.) OR tune out of box device driver install scope by selecting targeted devices (b.). Either step (a.) or (b.) required, not both.
    1. Comprehensively deploy all supported out of box device drivers
      1. Using the Microsoft's Deployment Workbench, after creating a Deployment Share, select Out-of-Box Drivers, then select Import Drivers from Actions menu
      2. Browse to the directory with the expanded portable mini-bundle, repos directory, then select Next and Next again
      3. Import Driver Wizard will provide confirmation that Out-of-box driver were imported (Warning messages are normal and can be ignored. Device Driver developers often package drivers for multiple versions/architectures (i.e: x86-64 and ia64) of Windows Server in to the same .inf definition, this message indicates that an incompatible driver was included in the bundle).
      4. Out-of-box drivers are now staged for deployment image creation.

    2. Focusing device update scope
      1. Filter mini-bundle devices folder to contain only devices installed on the targeted server. On Workstation, using file explorer, select the devices not installed on the target server. Folders with name prefix core_system_device- should not be deleted. Files not in folders can also be deleted.

        Then, delete those device folders.
      2. Using the Microsoft's Deployment Workbench, after creating a Deployment Share, select Out-of-Box Drivers, then select Import Drivers from Actions menu
      3. Browse to the directory with the expanded portable mini-bundle, devices directory, then select Next and Next again
      4. Import Driver Wizard will provide confirmation that Out-of-box driver were imported (Warning messages are normal and can be ignored. Device Driver developers often package drivers for multiple versions/architectures (i.e: x86-64 and ia64) of Windows Server in to the same .inf definition, this message indicates that an incompatible driver was included in the bundle).
      5. Out-of-box drivers are now staged for deployment image creation.

Return to Instructions Quick Links



Updating Deployment Images incorporating Bundled Driver Updates

Using bundled Out of Box Device Drivers is Lenovo's preferred approach to ensure servers represent configurations tested and certified by Lenovo Product Assurance organization.

Procedure

  1. Acquire mini-bundle
    1. Use the bundle index's table to determine mini-bundle with specific Lenovo Server/Microsoft Windows Server version supported drivers.
    2. Select Lenovo Server/Microsoft Windows Server version configuration of interest. Near the top of the web page download the Portable bundle.
    3. (optional, suggested) Confirm authenticity of download using procedure provided here.
    4. Expand the bundle archive using the 7-zip tool. (https://www.7-zip.org/download.html)

  2. Choose the update method: Comprehensively update all supported, out of box device drivers (a.) OR tune out of box device driver install scope by selecting targeted devices (b.). Either step (a.) or (b.) required, not both.
    1. Comprehensively update all supported out of box device drivers into existing image
      1. Mount deployment image on workstation
      2. Using Microsoft DISM Add-WindowsDriver cmdlet pointing to the directory with the expanded portable mini-bundle, repos directory, add the updated drivers
        >Add-WindowsDriver -Path "c:\offline" -Driver "C:\Users\Builder\Downloads\x440-2016\repos\" -Recurse

      3. .
        .
      4. Update process completed.
    2. Focusing device update scope
      1. Filter mini-bundle devices folder to contain only devices installed on the targeted server. On Workstation, using file explorer, select the devices not installed on the target server.

        Then, delete those device folders.
      2. Using Microsoft DISM Add-WindowsDriver cmdlet pointing to the directory with the expanded portable mini-bundle, devices directory, add the updated drivers
        >Add-WindowsDriver -Path "c:\offline" -Driver "C:\Users\Builder\Downloads\x440-2016\devices\" -Recurse

      3. .
        .
      4. Update process completed.

Return to Instructions Quick Links




Lenovo Data Center Group Windows Server OS Support Home Page
https://windows-server.lenovo.com