Skip to main content

Updating drivers and firmware

Use the following information to update drivers and firmware.

Acquiring update packages for a target server

Pre-requisite: Refer to Network requirement of the acquire command.

Before applying updates to a target server, users should get the latest update packages for that specific server. OneCLI provides the function to acquire the package.

Typically, users can run a single OneCLI command to acquire the latest UXSP (recommended update stack) from Lenovo site for the target server according to the specific machine type and operating systems.

To acquire the latest UXSP to c:\pkgs\, which can then be updated/installed inside an RHEL7 installed on server xxxx, see the following sample command:

OneCli.exe update acquire --mt xxxx --ostype rhel7 --dir c:\pkgs
Note
Users can acquire updates for an OS different from the one where OneCLI runs. For example, run OneCLI on Windows to acquire a UXSP for RHEL7.

Remotely updating firmware for multiple BMC

From v2.5.0, OneCLI supports to remotely upgrade multiple BMC by running the multiflash command. Users can specify the BMC information and the configuration parameters by using a JSON configuration file.

  1. Acquire all necessary files for the multiple BMC by running the following command:
    OneCli.exe update acquire --ostype platform --mt xxxx,xxxx,xxxx --dir C:\pkg
  2. Input the information of multiple BMC and the configuration parameters to a JSON configuration file.
    Note
    For the JSON configuration file sample, refer to Sample/multi_task_config.json in OneCLI binary or the following JSON configuration file sample.
  3. Input the target server BMC password and the SFTP password to the following multiflash command in the interactive mode.
    OneCLI update multiflash --configfile multi_task_config.json [--sftp user:pass@ip/xx]
  4. Reflash the multiple server firmware in batch by running the multiflash command.

JSON configuration file sample

The following is the JSON configuration file sample for the multiflash command:

{
//Set the concurrency number, the max value is 50, if more than 50, use 50 as default
"parallel_number": 50,
//Set start task order by order or by random, 0 is for random; none zero is for order by order.
"parallel_order": 1,
// List of credentials to log in to the servers BMC
"bmc_credential":
{
// Use an alias to designate a user account, then specify that alias in the "target_bmc" section.
// Such as: "alias_user1@192.168.100.222",
// "alias_user1@192.168.100.233",
// "alias_websrv1@websrv1.test.lenovo.com",
// If no alias precedes the BMC address then the "default_alias" is assumed by default.
"default_alias": "USERID",
"alias_user1": "USERID",
"alias_websrv1": "ADMIN"
},
"target_bmc": [
//By default use "default_user" from bmc_credential or will use the user specified which defined in bmc_credential
"192.168.1.99",
"alias_user1@192.168.1.100",
"[2002:97b:c2bb:830:42f2:1001:1001:[10ee-10ef]]"
// Target bmc address using format:
// "127.0.0.1:5989"
// "127.0.0.[1-5]"
// "127.0.[2-3].[1-2]"
// "127.0.0.1", "127.0.0.2:5989"
// "[2002:97b:c2bb:830:42f2:1001:1001:ab30]"
// "[2002:97b:c2bb:830:42f2:1001:1001:ab30]:5989"
// "[2002:97b:c2bb:830:42f2:[1001-1002]:1001:[1fe0-1fe1]]"
// "user2@www.host.name"
// "www.host.name:5988"
],
"sftp_crendetial": "root",
"sftp_host":"192.168.1.121"
}

Staging firmware to local server within host OS on ThinkSystem V3

Some I/O components can only be updated on Lenovo Customized Bare Metal Environment, and OneCLI can not apply the firmware of them immediately on the host OS of ThinkSystem V3. In this case, OneCLI package all these firmware components in to a ZIP file and stage this file to XCC2. By default, XCC2 will apply these firmware after the system is reset.

Sample command:

OneCli.exe update flash --bundle --dir C:\pk
Note
  • The default apply time is OnReset.

  • If XCC2 firmware is staged and the apply time is OnReset or OnStartUpdateRequest, the XCC2 firmware will not be restarted automatically. To restart XCC firmware, users should manually restart XCC2 on web page or use the rebootbmc command.

Staging firmware to remote server in out-of-band mode on ThinkSystem V3

The bundle update function is introduced in the ThinkSystem V3 servers. OneCLI supports to remotely stage all firmware to the ThinkSystem V3 servers in the specified applytime on XCC2. Users can also set the apply time, check, cancel, or start the staged update task based on the actual needs.

  1. Send the firmware package (the ZIP file) to XCC2 and set the applytime for applying the firmware.

    Note
    The applytime values includes Immediate, OnReset, and OnStartUpdateRequest.

    Sample command:

    OneCli.exe update flash --bmc userid:password@bmcip --dir C:\pkg --bundle --applytime onreset
  2. Check, cancel, or start the staged update task:

    • Check the staged update task:

      Sample command:

      OneCli.exe update checktask --bmc userid:password@bmcip [--taskid "314e2aa0-5192-4bf1-8d62-23ba990df67d"]
    • Cancel the staged update task:

      Sample command:

      OneCli.exe update canceltask --bmc userid:password@bmcip [--taskid "314e2aa0-5192-4bf1-8d62-23ba990df67d"]
    • Start the staged update task whose applytime is set as OnStartUpdateRequest:

      Sample command:

      OneCli.exe update startstaged --bmc userid:password@bmcip [--taskid "314e2aa0-5192-4bf1-8d62-23ba990df67d"]
    Note
    If XCC2 firmware is staged and the apply time is OnReset or OnStartUpdateRequest, the XCC2 firmware will not be restarted automatically. To restart XCC firmware, users should manually restart XCC2 on web page or use the rebootbmc command.

Updating a local server within host OS

When users have candidate update packages available inside the host OS of a server, only a single OneCLI command shall apply the applicable updates within the host OS for that server.

To apply the UXSP (available at /tmp/pkgs/) to a server installed with a SLES12 from within that SLES12, see the following sample command:

./OneCli update flash --dir /tmp/pkgs/

For the ThinkSystem V3 servers, the service pack is named as Update Bundles. For some IO components (for example, Broadcom NX1 Adapter and some Intel NIC/HDD/SSD), the agentless or execuatable firmware binaries are not available in the host OS. In this case, these IO components would be staged to XCC2 with delay update on system reset.

Updating a remote server

  1. Acquire all necessary files for platform update against the target server.

    Sample command

    OneCli.exe update acquire --ostype platform --mt xxxx --dir C:\pkg
  2. Flash the update packages in out-of-band mode to the target server.

    Sample command:

    OneCli.exe update flash --bmc userid:password@bmcip --dir C:\pkg --uselocalimg --platform
    Note
    • OneCLI restarts the server automatically after some components are updated, for example, Hard Drive and Broadcom NX1 Network adapters. Use the following command to skip these updates and avoid restarting the server.

      OneCli.exe update flash --bmc userid:password@bmcip --dir C:\pkg --uselocalimg
    • The --fileserver parameter is mandatory for SystemX and optional for ThinkSystem. When using this parameter on the ThinkSystem servers, port 6990 must be enabled.

      Sample command:

      --fileserver sftp://user:password@host/tmp/

Updating legacy drive firmware on ThinkSystem V3 servers (in-band mode)

This section describes how to update legacy drive firmware on ThinkSystem V3 servers without restarting the host in in-band mode.

  1. Acquire all necessary files for a specific host OS, for example, rhel8.

    Sample command:

    OneCli update acquire --ostype rhel8 --mt xxxx --dir ./xxxx-pkg
    Note
    The BIN and EXE executable firmware packages of the legacy HDD/SSD can only be downloaded along with Update Bundles by using OneCLI.
  2. Do one of the following:
    • On Linux, find out lnvgy_fw_drives_all-xxxx_linux_indiv.bin under the directory ./xxxx-pkg.

    • On Windows, find out lnvgy_fw_drives_all_xxxx_windows_indiv.exe under the directory .\xxxx-pkg.

  3. Flash the hard drive packages in the host OS or run the binary file, do one of the following:

    • On Linux, do one of the following:
      • Flash the hard drive packages in the host OS.

        Sample command:

        OneCli update flash --scope individual --includeid lnvgy_fw_drives_all-xxxx_linux_indiv --dir ./xxxx-pkg
      • Run the binary file:

        lnvgy_fw_drives_all-xxxx_linux_indiv.bin -s
    • On Windows, do one of the following:

      • Flash the hard drive packages in the host OS.

        Sample command:

        OneCli update flash --scope individual --includeid lnvgy_fw_drives_all_xxxx_windows_indiv --dir .\xxxx-pkg
      • Run the binary file:

        lnvgy_fw_drives_all_xxxx_windows_indiv.exe -s