VERSION(8)

NAME
Version - =drive utilities

DESCRIPTION
==========================================================================================

    openSeaChest_Firmware - openSeaChest drive utilities - NVMe Enabled Copyright (c) 2014-2023 Seagate Technology LLC and/or its Affiliates, All Rights Reserved openSeaChest_Firmware Version: 4.0.0-6_2_0 X86_64 Build Date: Dec 1 2023 Today: Fri Dec 1 15:18:13 2023 User: current user

========================================================================================== Usage =====

    openSeaChest_Firmware [-d <sg_device>] {arguments} {options}

Examples ========

    openSeaChest_Firmware --scan openSeaChest_Firmware -d /dev/sg<#> -i openSeaChest_Firmware -d /dev/sg<#> --SATInfo openSeaChest_Firmware -d /dev/sg<#> --llInfo openSeaChest_Firmware -d /dev/sg<#> --fwdlInfo Updating firmware: openSeaChest_Firmware -d /dev/sg<#> --downloadFW file.bin Updating firmware with deferred download and activating: openSeaChest_Firmware -d /dev/sg<#> --downloadFW file.bin --downloadMode deferred --activateFW Updating firmware and specifying a firmware slot (NVMe) openSeaChest_Firmware -d /dev/sg<#> --downloadFW file.bin --downloadMode deferred

    +

    openSeaChest_Firmware -d /dev/sg<#> --activateFW --firmwareSlot 2

Return codes ============

    Generic/Common exit codes 0 = No Error Found 1 = Error in command line options 2 = Invalid Device Handle or Missing Device Handle 3 = Operation Failure 4 = Operation not supported 5 = Operation Aborted 6 = File Path Not Found 7 = Cannot Open File 8 = File Already Exists 9 = Need Elevated Privileges ---openSeaChest_Firmware specific exit codes--- 32 = Firmware Download Complete 33 = Deferred Firmware Download Complete 34 = Deferred Code Activated 35 = No Drive or Firmware match found 36 = Model number matched, but Firmware mismatched 37 = Firmware File Hash Error 38 = Firmware Already up to date 39 = Firmware Match Found for update 40 = Firmware Match Found for update - deferred update supported Anything else = unknown error

Utility Options ===============

--echoCommandLine

    Echo the command line entered into the utility on the screen.

--enableLegacyUSBPassthrough

    Only use this option on old USB or IEEE1394 (Firewire) products that do not otherwise work with the tool. This option will enable a trial and error method that attempts sending various ATA Identify commands through vendor specific means. Because of this, certain products that may respond in unintended ways since they may interpret these commands differently than the bridge chip the command was designed for.

--forceATA

    Using this option will force the current drive to be treated as a ATA drive. Only ATA commands will be used to talk to the drive.

--forceATADMA
    (SATA Only)

    Using this option will force the tool to issue SAT commands to ATA device using the protocol set to DMA whenever possible (on DMA commands). This option can be combined with --forceATA

--forceATAPIO
    (SATA Only)

    Using this option will force the tool to issue PIO commands to ATA device when possible. This option can be combined with --forceATA

--forceATAUDMA
    (SATA Only)

    Using this option will force the tool to issue SAT commands to ATA device using the protocol set to UDMA whenever possible (on DMA commands). This option can be combined with --forceATA

--forceSCSI

    Using this option will force the current drive to be treated as a SCSI drive. Only SCSI commands will be used to talk to the drive.

--forceNVME

    Using this option will force the current drive to be treated as a NVME drive. Only NVME commands will be used to talk to the drive.

-h, --help

    Show utility options and example usage (this output you see now) Please report bugs/suggestions to seaboard@seagate.com. Include the output of --version information in the email.

--license

    Display the Seagate End User License Agreement (EULA).

--modelMatch [model Number]

    Use this option to run on all drives matching the provided model number. This option will provide a closest match although an exact match is preferred. Ex: ST500 will match ST500LM0001

--newFW [firmware revision]

    Use this option to skip drives matching the provided firmware revision. This option will only do an exact match. This option should be used to skip performing an update if a drive already has this firmware revision loaded.

--noBanner

    Use this option to suppress the text banner that displays each time openSeaChest is run.

--onlyFW [firmware revision]

    Use this option to run on all drives matching the provided firmware revision. This option will only do an exact match.

--onlySeagate

    Use this option to match only Seagate drives for the options provided

-q, --quiet

    Run openSeaChest_Firmware in quiet mode. This is the same as -v 0 or --verbose 0

-v [0-4], --verbose [0 | 1 | 2 | 3 | 4]

    Show verbose information. Verbosity levels are: 0 - quiet 1 - default 2 - command descriptions 3 - command descriptions and values 4 - command descriptions, values, and data buffers Example: -v 3 or --verbose 3

-V, --version

    Show openSeaChest_Firmware version and copyright information & exit

Utility Arguments =================

-d, --device [deviceHandle | all]

    Use this option with most commands to specify the device handle on which to perform an operation. Example: /dev/sg<#> To run across all devices detected in the system, use the "all" argument instead of a device handle. Example: -d all NOTE: The "all" argument is handled by running the

specified options on each drive detected in the
    OS sequentially. For parallel operations, please use a script opening a separate instance for each device handle.

-F, --scanFlags [option list]

    Use this option to control the output from scan with the options listed below. Multiple options can be combined.

ata - show only ATA (SATA) devices
    usb - show only USB devices scsi - show only SCSI (SAS) devices nvme - show only NVMe devices interfaceATA - show devices on an ATA interface interfaceUSB - show devices on a USB interface interfaceSCSI - show devices on a SCSI or SAS interface interfaceNVME = show devices on an NVMe interface sd - show sd device handles sgtosd - show the sd and sg device handle mapping

-i, --deviceInfo

    Show information and features for the storage device

--llInfo

    Dump low-level information about the device to assist with debugging.

-s, --scan

    Scan the system and list all storage devices with logical /dev/sg<#> assignments. Shows model, serial and firmware numbers. If your device is not listed on a scan immediately after booting, then wait 10 seconds and run it again.

-S, --Scan

    This option is the same as --scan or -s, however it will also perform a low level rescan to pick up other devices. This low level rescan may wake devices from low power states and may cause the OS to re-enumerate them. Use this option when a device is plugged in and not discovered in a normal scan. NOTE: A low-level rescan may not be available on all interfaces or all OSs. The low-level rescan is not guaranteed to find additional devices in the system when the device is unable to come to a ready state.

--SATInfo

    Displays SATA device information on any interface using both SCSI Inquiry / VPD / Log reported data (translated according to SAT) and the ATA Identify / Log reported data.

--testUnitReady

    Issues a SCSI Test Unit Ready command and displays the status. If the drive is not ready, the sense key, asc, ascq, and fru will be displayed and a human readable translation from the SPC spec will be displayed if one is available.

--fastDiscovery

Use this option
    to issue a fast scan on the specified drive.

--activateFW

    Use this option to issue the command to activate code that was sent to the drive using a deferred download command. This will immediately activate the new code on the drive. You can use this along with a --downloadFW & --downloadMode to automatically issue the activate command after the download has completed.

WARNING: Firmware activation may affect all LUNs/namespaces for devices
    with multiple logical units or namespaces.

--downloadFW [firmware_filename]

    Download firmware to a Seagate storage product. Use only device manufacturer authorized firmware data files which are designated for the specific model drive. Improper use of this option may harm a device and or its data. You may specify the path (without spaces) if the firmware data file is in a different location. This option will use segmented download by default. Use the --downloadMode option to specify a different download mode.

WARNING: Firmware updates may affect all LUNs/namespaces
    for devices with multiple logical units or namespaces.

--downloadMode [ auto | full | segmented | deferred | deferred+activate ]

    Use this option along with the --downloadFW option to set the firmware download mode. Supported Modes:

auto - automatically determines the best mode to use to
    perform the firmware update.

full - performs a download in one large
    transfer to the device.

segmented - downloads the firmware in multiple
    segments to the device. (Most compatible)

deferred - performs a segmented download to the
    device, but does not activate the new firmware until a powercycle or activate command is sent.

deferred+activate - performs a deferred download and
    automatically acitvates it for you. Similar to how a segmented download works but uses a separate activate command. This is the recommended mode that "auto" will select when possible for maximum compatibility with Windows 10 and later operating systems.

WARNING: Firmware Updates may affect all LUNs/namespaces for devices
    with multiple logical units or namespaces.

--firmwareSlot/--fwBufferID slot#

    Use this option to specify a firmware slot (NVMe) or a buffer ID (SCSI) along with the --downloadMode (SCSI) or --activateFW (NVMe & SCSI) options. If this option is not used, a value of zero will be used instead, which means the drive will automatically select the slot number.

--fwdlInfo

    Use this option to show the firmware download support information for a drive.

--showLockedRegions

    This option should only be used when performing firmware updates on legacy products. What this does is it ignores a failing error code from the OS on the final segment of a firmware update, but this update is actually successful. This is needed to workaround hardware or firmware limitations that were present in some old products.

--fwdlSegSize [segment size in 512B blocks]

    Use this option to specify a segment size in 512B blocks to use for a segmented or deferred download. This option will not affect an immediate download (full buffer at once). The default segment size used is 64. Larger segment sizes may be faster, however they may also be incompatible with controllers or drivers in the system. Smaller values are more likely to be compatible, but also slower. Use this option if the default used by the tool is not working correctly for firmware updates.

--switchFW
    (NVMe Only)

    Use this option to switch to a different firmware slot on an NVMe drive. You must specify a slot with the --firmwareSlot option or this will fail. The specified slot must already have a valid firmware image in it as well.

WARNING: Switching firmware may affect all LUNs/namespaces for devices
    with multiple logical units or namespaces.

    Utility Version: 4.0.0 opensea-common Version: 2.0.0 opensea-transport Version: 6.2.0 opensea-operations Version: 5.1.1 Build Date: Dec 1 2023 Compiled Architecture: X86_64 Detected Endianness: Little Endian Compiler Used: GCC Compiler Version: 7.5.0 Operating System Type: Linux Operating System Version: 4.15.0-211 Operating System Name: Ubuntu 18.04.6 LTS