VERSION(8)

NAME
Version - =drive utilities

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

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

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

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

Examples ========

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

    +

    openSeaChest_NVMe -d /dev/sg<#> --activateFW --firmwareSlot 2 Formatting an NVMe device: openSeaChest_NVMe -d /dev/sg<#> --showSupportedFormats openSeaChest_NVMe -d /dev/sg<#> --nvmFormat current --poll openSeaChest_NVMe -d /dev/sg<#> --nvmFormat 4096 --poll openSeaChest_NVMe -d /dev/sg<#> --nvmFormat current --poll --nvmFmtSecErase user openSeaChest_NVMe -d /dev/sg<#> --nvmFormat current --poll --nvmFmtPI 1 Checking and changing power states: openSeaChest_NVMe -d /dev/sg<#> --checkPowerMode openSeaChest_NVMe -d /dev/sg<#> --transitionPowerState 1 Pulling the Telemetry log: openSeaChest_NVMe -d /dev/sg<#> --getTelemetry host openSeaChest_NVMe -d /dev/sg<#> --getTelemetry host, --telemetryDataArea 2 --logMode bin

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 Anything else = unknown error

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

--echoCommandLine

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

-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).

--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.

--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_NVMe 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_NVMe version and copyright information & exit

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

-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.

-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

-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.

-i, --deviceInfo

    Show information and features for the storage device

--llInfo

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

--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.

--checkPowerMode

    Get the current power mode of a drive. On SCSI devices, this will only work if the drive has transitioned from active state to another state.

--transitionPowerState [new power state]
    (NVMe Only)

    Use this option to transition to a specific power state. WARNING: Transitioning the drive to a non-operational power state

may make the device stop responding. The operating system
    may or may not block this transition. It is recommended to only use this option for operational power states

    HINT:

    Use --showNVMPowerStates to view the supported states

--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.

--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.

--getFeatures
    [ help | list | # ]

    Use this option to list the NVMe features Supported Modes:

help
    - prints the descriptions of all

the features
    list - lists raw values of all mandatory

features supported by device
    # - feature number will print the

    humanized details

--getNvmeLogPage
    [ error | smart | fwSlots | suppCmds | selfTest | # ]

    Use this option to get the NVMe log pages Supported Modes:

error
    - lists the valid entries found in the

Error Information Log.
    smart - lists information found in the

SMART/Health Information Log
    fwSlots - lists currently active Firmware slot

and Firmware Revision in each slot.
    suppCmds - lists the commands that the controller

supports and the effects of those commands.
    selfTest - lists the status of any device

self-test operation in progress
    and the results of the last 20 device self-test operations.

#   - option to get the log page using

    a number

--getTelemetry [host | ctrl]

    Use this option to get the NVMe Telemetry data for a device. Use the --telemetryDataArea option to control the amount of data collected.

Supported Modes:
    host - get Host Telemetry ctrl - get Ctrl Telemetry

--telemetryDataArea [1 | 2 | 3]

    This is a sub-command which defines the amount of data collected by the --getTelemetry option. Data Area 3 is assumed if this option is not used.

    Supported Data Area. 1 - get minimal telemetry data 2 - get telemetry data additional to data area 2 3 - get telemetry data additional to data area 3 (default data area)

--onlyFW [firmware revision]

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

--clearPciErr

    Use this option to clear correctable errors.

--poll

    Use this option to cause another operation to poll for progress until it has completed. This argument does not return to the command prompt and prints ongoing completion percentages (%)

the final test result.
    Full drive procedures will take a

very long time.
    Used with --sanitize, or --writeSame (SATA).

--progress [nvmformat]

    Get the progress for a test that was started quietly without the polling option (default). You must specify a test you wish to get progress from. Ex: "--progress dst" or "--progress sanitize" The progress counts up from 0% to 100%.

--extSmartLog

    Use this option to Extract the Extended Smart Log Attributes.

--logMode
    [ raw | binary ]

    Use this option with others options such as --getNvmeLogPage and --deviceInfo to show a buffer output or to create a binary file. Supported Modes:

raw - prints the raw buffer on stdout

binary - writes data to a file with device
    Serial Number & time stamp

--tempStats

    Use this option to get the NVMe Temperature Statistics

--pciStats

    Use this option to get the NVMe PCIe Statistics

--showSupportedFormats

    This option will show the supported formats of a device. These can be used to change the sector size or used with a format operation. On SAS, this is the supported block lengths and protection types VPD page. (SBC4 and later) On SATA, this is the sector configuration log. (ACS4 and later) If the device does not report supported sector sizes, please consult your product manual.

WARNING: Customer unique firmware may have specific requirements that
    restrict sector sizes on some products. It may not be possible to format/ fast format to common sizes like 4K or 512B due to these customer requirements.

Data Destructive Commands =========================

--nvmFmtMetadataSet [ xlba | separate ] (NVMe Only)

    Use this option to specify how metadata is transmitted to the host system. Options:

    xlba - metadata is transferred as part of the logical block data separate - metadata is transferred as a separate buffer

    Note: Not all devices support specifying this. If this option is not provided, the NVM format will reuse the current setting.

--nvmFmtMS [ # of bytes for metadata ]
    (NVMe Only)

    This option is used to specify the length of metadata with a requested logical block size. The device must support the combination of logical block size and metadata size or the format will be rejected by the device.

--nvmFmtNSID [all | current]
    (NVMe Only)

    This option changes the NSID used when issuing the NVM format command. This can be used to control formatting an entire device or a specific namespace if the device supports specifying specific namespaces for a format command. Not all devices support this behavior. This has no effect on devices that do not support targeting a specific namespace and will format the entire device If this option is not given, the format will be issued to all namespaces by default.

--nvmFmtPI [ 0 | 1 | 2 | 3 ]
    (NVMe Only)

    Use this option to specify the protection type to format the medium with. Note: Not all devices support protection types. If this option is not provided, the NVM format will reuse the current setting.

--nvmFmtPIL [ beginning | end ] (NVMe Only)

    Use this option to specify the location protection information in an NVM device's metadata. Note: Not all devices support specifying this. If this option is not provided, the NVM format will reuse the current setting.

--nvmFmtSecErase [none | user | crypto] (NVMe Only)
    (None | Clear | Clear, Possible Purge)

    This option is used to specify the type of erase to perform during an NVM format operation. All user data will be inaccessible upon completion of an NVM format, no matter the erase requested. Options:

none - no secure erase requested (previous data will not be accessible,
    however the media may not have been erased by the controller.)

    user - requests all user data is erased by the device. (Clear) crypto - requests a cryptographic erase of all user data. Note: this mode

    is not supported on all devices. (Clear, Possible Purge)

--nvmFormat [current | format # | sector size]
    (NVMe Only)

    This option is used to start an NVM format operation. Use "current" to perform a format operation with the Sector size currently being used. If a value between 0 and 15 is given, then that will issue the NVM format with the specified sector size/metadata size for that supported format on the drive. Values 512 and higher will be treated as a new sector size to switch to and will be matched to an appropriate lba format supported by the drive. This command will erase all data on the drive. Combine this option with--poll to poll for progress until the format is complete. A data sanitization compliant with IEEE 2883 Clear requires the --nvmFmtSecErase option to be provided. Without this option the controller may not erase all user data and substitute returning zeroes for performance instead.

    Utility Version: 2.3.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