OPENSEACHEST_NVME(1)
โจ NAME โจ
okay so bestie, this is openSeaChest_NVMe โ manual page for openSeaChest_NVMe, that's the whole vibe ๐
๐ DESCRIPTION ๐
okay so first, the receipts (aka the banner it prints at you):
openSeaChest_NVMe - openSeaChest drive utilities - NVMe Enabled
Copyright (c) 2014-2026 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
openSeaChest_NVMe Version: 26.03.2
X86_64
Build Date: May 18 2026
Today: 20260605T144116
User: current user
๐ฆ Usage ๐ฆ
here's the shape of literally every call you're gonna make:
openSeaChest_NVMe [-d <sg_device>] {arguments} {options}
๐ฆ Examples ๐ฆ
not me giving you the greatest hits, no gatekeeping here ๐ธ
Just vibing / finding your drives and getting the tea:
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
openSeaChest_NVMe -d /dev/sg<#> --showNVMPowerStates
Pulling the Telemetry log:
openSeaChest_NVMe -d /dev/sg<#> --getTelemetry host
openSeaChest_NVMe -d /dev/sg<#> --getTelemetry host, --telemetryDataArea 2 --logMode bin
๐ Return codes ๐
fr fr, this is the part where the tool tells you what went down. Generic/Common exit codes, bestie:
0= No Error Found ๐1= Error in command line options2= Invalid Device Handle or Missing Device Handle3= Operation Failure4= Operation not supported5= Operation Aborted6= File Path Not Found7= Cannot Open File8= File Already Exists9= Need Elevated Privileges ๐10= Not enough resources11= Error Writing File12= Device not found when opening handle.13= Device not opened. Handle is busy.14= Insecure Directory to read or write file
Anything else = unknown error ๐
๐ UTILITY OPTIONS ๐
these are the general settings that tune how the whole utility behaves, not what it does to the drive ๐
--echoCommandLineโ makes the utility repeat the command line you typed back onto your screen. yes she's repeating you, it's a service โจ-h,--helpโ shows you the utility options and example usage (literally the output you're staring at right now). Puh-lease report bugs/suggestions to seaboard@seagate.com and include the output of the--versioninfo in the email ๐ซถ--licenseโ displays the Seagate End User License Agreement (EULA). the legal girlies love this one--modelMatch [model Number]โ use this to run only on the drives that match the model number you hand it. It'll give you a closest match, even though an exact match is the preferred situation. Ex:ST500will matchST500LM0001--newFW [firmware revision]โ use this to skip drives that are already running the firmware revision you named. This one only does an exact match. The whole point is to skip doing an update when a drive already has that firmware revision loaded on it already. no redo's, she's efficient ๐--noBannerโ suppresses the text banner that shows up every single time openSeaChest runs. for the girls who hate intros ๐--onlyFW [firmware revision]โ use this to run only on the drives matching the firmware revision you gave. Exact match only, no vibes-based guessing.--onlySeagateโ matches only Seagate drives for the options you're passing in. loyalty test, and only Seagate passes โจ-q,--quietโ runsopenSeaChest_NVMein quiet mode. It's literally the same thing as-v 0or--verbose 0. shhh ๐คซ-v [0-4],--verbose [0 | 1 | 2 | 3 | 4]โ shows verbose information. Verbosity levels are:0- quiet1- default2- command descriptions3- command descriptions and values4- command descriptions, values, and data buffers
Example: -v 3 or --verbose 3
-V,--versionโ showsopenSeaChest_NVMeversion and copyright information & exit. that's it, she's done, goodbye ๐ฆ
๐ UTILITY ARGUMENTS ๐
-s,--scanโ scans the system and lists every storage device with its logical/dev/sg<#>assignment. Shows model, serial and firmware numbers. Pro tip: if your device isn't showing up on a scan immediately after booting, wait 10 seconds and run it again. patience is a virtue bestie โณ-F,--scanFlags [option list]โ use this to control the output from scan, with the options listed right below. Multiple options can be combined, mix and match, she's flexible ๐ata- show only ATA (SATA) devicesusb- show only USB devicesscsi- show only SCSI (SAS) devicesnvme- show only NVMe devicesinterfaceATA- show devices on an ATA interfaceinterfaceUSB- show devices on a USB interfaceinterfaceSCSI- show devices on a SCSI or SAS interfaceinterfaceNVME= show devices on an NVMe interfacesd- show sd device handlessgtosd- show the sd and sg device handle mappingignoreCSMI- do not scan for any CSMI devicesallowDuplicates- allow drives with both CSMI and PD handles to show up multiple times in the list
-d,--device [deviceHandle | all]โ use this with most commands to say WHICH device handle the operation happens on. Example:/dev/sg<#>
CSMI device handles can be specified as <error<#><#><#>>
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. one at a time, she's not a multitasker on this one ๐ญ
-i,--deviceInfoโ shows information and features for the storage device. the lil info dump, iconic ๐ธ--llInfoโ dumps low-level information about the device to assist with debugging. for when you gotta go deep, iykyk ๐ฅ--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. two sources, one truth โจ--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 shown if one is available. she'll tell you exactly why she's not ready, no mysterious silence ๐--fastDiscoveryโ use this option to issue a fast scan on the specified drive. zoom zoom ๐ฆ--activateFWโ issues 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 alongside a--downloadFW&--downloadModeto automatically issue the activate command after the download has completed. auto-pilot slay โจ
WARNING: Firmware activation may affect all LUNs/namespaces for devices with multiple logical units or namespaces. ๐
--checkPowerModeโ gets 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 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. bestie pls be careful, she might ghost you ๐ญ
HINT: Use --showNVMPowerStates to view the supported states.
--downloadFW [firmware_filename]โ downloads 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 auto mode by default to choose the best method for updating the drive firmware. Use the--downloadModeoption 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 along with the--downloadFWoption 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 activates 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 to specify a firmware slot (NVMe) or a buffer ID (SCSI) alongside 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. she's got it, don't worry โจ--fwdlSegSize [segment size in 512B blocks]
โก๏ธ the segment size thing โ use this option to pick a segment size in 512B blocks for a segmented or deferred download. Heads up bestie: it does NOT touch an immediate download (that's the full buffer at once, no chill). The default segment size is 64. Bigger segments might be faster ๐โ๏ธ but they can also be incompatible with controllers or drivers in your system ๐ญ. Smaller values are more likely to be compatible, but also slower ๐ข. Use this option if the default the tool picks isn't working correctly for firmware updates.
--getFeatures[ help | list | # ] โ use this 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 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 to get the NVMe Telemetry data for a device ๐ก. Use the--telemetryDataAreaoption to control the amount of data collected.- Supported Modes:
hostโ get Host Telemetryctrlโ get Ctrl Telemetry
- Supported Modes:
--telemetryDataArea[1 | 2 | 3] โ this is a sub-command which defines the amount of data collected by the--getTelemetryoption. Data Area 3 is assumed if this option is not used. โจ- Supported Data Area:
1โ get minimal telemetry data2โ get telemetry data additional to data area 23โ get telemetry data additional to data area 3 (default data area)
- Supported Data Area:
--listSupportedLogsโ displays a list of all supported logs by this device type ๐.--onlyFW[firmware revision] โ use this to run on all drives matching the provided firmware revision. This option will only do an exact match ๐ฏ.--clearPciErrโ use this to clear correctable errors ๐งน.--pollโ use this 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 (%) plus 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, i.e. without the polling option (which is the default). You must specify a test you wish to get progress from, bestie. Ex:"--progress dst"or"--progress sanitize". The progress counts up from 0% to 100% ๐.--extSmartLogโ use this to Extract the Extended Smart Log Attributes ๐ฌ.--logMode[ raw | binary ] โ use this with other options such as--getNvmeLogPageand--deviceInfoto show a buffer output or to create a binary file. Supported Modes:rawโ prints the raw buffer onstdout๐จ๏ธbinaryโ writes data to a file with device Serial Number & time stamp ๐๏ธ
--tempStatsโ use this to get the NVMe Temperature Statistics ๐ก๏ธ--pciStatsโ use this to get the NVMe PCIe Statistics ๐--showNVMPowerStates(NVMe Only) โ use this to display a device's supported power states ๐.--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 ๐
okay so this is the part where we all hold hands and read very carefully, because these ones are DATA DESTRUCTIVE and they do not play.
--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 dataseparateโ 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--pollto poll for progress until the format is complete. A data sanitization compliant with IEEE 2883 Clear requires the--nvmFmtSecEraseoption to be provided. Without this option the controller may not erase all user data and substitute returning zeroes for performance instead. ๐
And here's the tool's own little intro card, exactly as it prints it ๐:
openSeaChest_NVMe - openSeaChest drive utilities - NVMe Enabled
Copyright (c) 2014-2026 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
openSeaChest_NVMe Version: 26.03.2 X86_64
Build Date: May 18 2026
Today: 20260605T144116
User: current user
Version Info for openSeaChest_NVMe:
Utility Version: 26.03.2
opensea-common Version: 6.1.0
opensea-transport Version: 10.3.0
opensea-operations Version: 9.4.0
Build Date: May 18 2026
Compiled Architecture: X86_64
Detected Endianness: Little Endian
Compiler Used: GCC
Compiler Version: 14.2.0
Operating System Type: Linux
Operating System Version: 6.6.114-1
Operating System Name: Ubuntu 24.04.4 LTS
๐ฆ SEE ALSO ๐ฆ
The full documentation for openSeaChest_NVMe is maintained as a Texinfo manual ๐. If the info and openSeaChest_NVMe programs are properly installed at your site, the command
info openSeaChest_NVMe
should give you access to the complete manual. โจ
and that's the whole page, bestie ๐ซถ this one's from the openSeaChest_NVMe man page fam, dated June 2026 โ go off, format responsibly, and please please please double-check your --nvmFormat before you send it ๐
mwah
๐ฆ where this page comes from
- nixpkgs unstable: openseachest 26.03.2
- ubuntu stonking: openseachest 26.03.2+ds-1
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms