OPENSEACHEST_ZBD(1)

πŸ“¦
version 26.03.2 Β· 4 versions
, in nixpkgs unstable, ubuntu stonking

πŸ‘‘ openSeaChest_ZBD β€” like, the manual page for openSeaChest_ZBD πŸ’…

okay bestie, welcome to OPENSEACHEST_ZBD(1) from the User Commands section β€” this is the whole vibe, no skips, no cap. πŸ¦‹


✨ DESCRIPTION ✨

okay so first things first, here's the banner, verbatim, because it's literally the receipts:

openSeaChest_ZBD - openSeaChest drive utilities - NVMe Enabled
Copyright (c) 2014-2026 Seagate Technology LLC and/or its
Affiliates, All Rights Reserved openSeaChest_ZBD Version: 26.03.2
X86_64 Build Date: May 18 2026 Today: 20260605T144118 User:
current user

periodt. that's the whole intro card. πŸ’–

🌸 Usage 🌸

so like, the shape of the whole thing is:

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

that's it. that's the vibe check. -d <sg_device> where the drive is, then your arguments, then your options. simple. iconic. ✨

πŸŽ€ Examples πŸŽ€

here's how the girlies actually run it, fr fr:

openSeaChest_ZBD --scan openSeaChest_ZBD -d /dev/sg<#> -i
openSeaChest_ZBD -d /dev/sg<#> --SATInfo openSeaChest_ZBD -d
/dev/sg<#> --reportZones all openSeaChest_ZBD -d /dev/sg<#>
--reportZones empty --maxZones 256 openSeaChest_ZBD -d /dev/sg<#>
--openZone --zoneID 16 openSeaChest_ZBD -d /dev/sg<#>
--finishZone --zoneID 16 openSeaChest_ZBD -d /dev/sg<#>
--closeZone --zoneID 16 openSeaChest_ZBD -d /dev/sg<#>
--resetWritePointer --zoneID 16 openSeaChest_ZBD -d /dev/sg<#>
--resetWritePointer --zoneID all

slay. now go off. πŸ”₯

πŸ’€ Return codes πŸ’€

not me being obsessed with exit codes but here we are β€” miss thing tells you exactly what happened:

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
  • 10 = Not enough resources
  • 11 = Error Writing File
  • 12 = 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 🌈

--csmiIgnorePort (Obsolete)

ngl this one is obsolete and will be removed in future versions. not me warning you bestie πŸ’€

--csmiUsePort (Obsolete)

also obsolete, also getting yeeted in future versions. 😭

--csmiVerbose (Obsolete)

obsolete too!! will be removed in future versions. the trio of doom fr 😭

--echoCommandLine

Echoes the command line you typed into the utility right there on your screen. like a little mirror for your command. ✨

--enableLegacyUSBPassthrough

okay so heads up: ONLY use this on old USB or IEEE1394 (Firewire) products that just won't work with the tool any other way. it turns on a trial-and-error method that tries sending various ATA Identify commands through vendor specific means. because of that, some products might respond in ways you did NOT intend β€” they could interpret these commands differently than the bridge chip the command was actually designed for. πŸ™ˆ

--forceATA

Using this forces the current drive to be treated as an ATA drive. Only ATA commands get used to talk to the drive. periodt.

--forceATADMA (SATA Only)

Forces the tool to issue SAT commands to an ATA device using the protocol set to DMA whenever possible (on DMA commands). this one can be combined with --forceATA πŸ’…

--forceATAPIO (SATA Only)

Forces the tool to issue PIO commands to an ATA device when possible. also combinable with --forceATA ✨

--forceATAUDMA (SATA Only)

Forces the tool to issue SAT commands to an ATA device using the protocol set to UDMA whenever possible (on DMA commands). yep, you guessed it β€” combines with --forceATA 🫢

--forceSCSI

Forces the current drive to be treated as a SCSI drive. Only SCSI commands will be used to talk to the drive. iconic.

-h, --help

Shows you the utility options and example usage (literally the output you're looking at right now). Please report bugs/suggestions to seaboard@seagate.com. Include the output of --version information in the email. πŸŽ€

--license

Displays the Seagate End User License Agreement (EULA). the fine print, bestie. πŸ‘‘

--modelMatch [model Number]

Use this to run on ALL drives matching the model number you give it. it'll give you a closest match, though an exact match is preferred. Ex: ST500 will match ST500LM0001 🌸

--noBanner

Suppresses the text banner that shows up every single time openSeaChest runs. for when you're too busy being the main character for banners. ✨

--onlyFW [firmware revision]

Runs on all drives matching the firmware revision you provide. this one only does an EXACT match β€” no closest-match energy here, she's strict. πŸ’…

--onlySeagate

Matches only Seagate drives for the options you provided. πŸ¦‹

-q, --quiet

Runs openSeaChest_ZBD in quiet mode. this is literally the same as -v 0 or --verbose 0. shhh. 🀫

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

Shows verbose information. the 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

Shows openSeaChest_ZBD version and copyright information & exits. the lil intro card. πŸŽ€


πŸ’œ Utility Arguments πŸ’œ

-d, --device [deviceHandle | all]

Use this with almost every command to say which device handle to do the operation 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.

so yeah, one at a time bestie, she's not doing parallel 😭

-F, --scanFlags [option list]

Controls the output from scan β€” multiple options can be combined! here's the whole menu:

  • 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
  • ignoreCSMI - do not scan for any CSMI devices
  • allowDuplicates - allow drives with both CSMI and PD handles to show up multiple times in the list

mix and match, go wild 🌈

-i, --deviceInfo

Shows information and features for the storage device. the lil biography of your drive. πŸ‘‘

--llInfo

Dumps low-level information about the device to help with debugging. for when you need to go ✨deep✨

-s, --scan

Scans the system and lists all storage devices with logical /dev/sg<#> assignments. shows model, serial and firmware numbers. if your device isn't listed on a scan immediately after booting, then wait 10 seconds and run it again. give her a sec bestie 🫢

-S, --Scan

Same as --scan or -s, except it ALSO does a low level rescan to pick up other devices. heads up though β€” that low level rescan may wake devices from low power states and may cause the OS to re-enumerate them. use this when a device is plugged in and just not showing up 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.

no promises, but she'll try πŸ’€

--SATInfo

Displays SATA device information on any interface using BOTH the SCSI Inquiry / VPD / Log reported data (translated according to SAT) AND the ATA Identify / Log reported data. double the data, double the fun. ✨

--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 get displayed, plus a human readable translation from the SPC spec if one's available. she'll tell you exactly what's wrong πŸ’…

--fastDiscovery

Use this option to issue a fast scan on the specified drive. zoom zoom. πŸ¦‹

--closeZone

Closes a zone specified with the --zoneID option. πŸŽ€

--finishZone

Finishes a zone specified with the --zoneID option. ✨

--maxZones [count]

Sets a maximum number of zones to display with the --reportZones option. keep it cute, keep it limited. πŸ’–

--openZone

Opens a zone specified with the --zoneID option. 🌸

--reportZones [all | empty | implicitOpen | explicitOpen | closed | full | readOnly | offline | resetRecommended | nonSeqResourceAvailable | allNonWP]

Displays the zones of a specific type: where they start, the length of the zones, and where the write pointer is at. combine this with --zoneID and --maxZones to show a different list/subset of the zones on the drive.

Ex: --reportZones empty --zoneID 123456 --maxZones 30

and here's the whole menu of what you can ask for:

  • all - show all zones
  • empty - show only empty zones
  • implicitOpen - show only implicitly opened zones
  • explicitOpen - show only explicitly opened zones
  • closed - show only closed zones
  • full - show only full zones
  • readOnly - show only read only zones
  • offline - show only offline zones
  • resetRecommended - show only zones that have the reset recommended bit set
  • nonSeqResourceAvailable - show only zones with a non sequential access resource available
  • allNonWP - show all non-write pointer zones.

so many options, she's flexible fr fr πŸ’…

--resetWritePointer

Resets a write pointer at the zone specified with the --zoneID option. fresh start energy ✨

--zoneID [LBA/zone ID | all]

Specifies a zone ID for use with other options like --reportZones, --closeZone, --finishZone, --openZone, --resetWritePointer.

A zone ID is an LBA at the start of a specified zone. use "all" with the options listed above to apply an action to all zones on the device. 🌈


and that's the closing card again because it repeats, so here:

openSeaChest_ZBD - openSeaChest drive utilities - NVMe Enabled
Copyright (c) 2014-2026 Seagate Technology LLC and/or its
Affiliates, All Rights Reserved openSeaChest_ZBD Version: 26.03.2
X86_64 Build Date: May 18 2026 Today: 20260605T144118 User:
current user

there's more coming bestie, don't go anywhere πŸ’–

🌸 VERSION INFO for openSeaChest_ZBD 🌸

okay bestie, receipts check πŸ’… before we go anywhere, here's exactly which build you're dealing with. no guessing, no vibes-based versioning, just the straight-up facts:

  • 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

like, it literally tells you everything: the version, when it was built, what it was compiled for, which way the bytes lean (little endian, as a treat πŸ¦‹), who compiled it, and what system it woke up on. screenshot it, send it to the group chat, whatever β€” this is the full identity card, no cap. ✨


πŸŽ€ SEE ALSO πŸŽ€

okay so if you want the FULL documentation for openSeaChest_ZBD, it's maintained as a Texinfo manual β€” yes, Texinfo, it's giving vintage and we respect it πŸ‘‘

so like, if the info program and openSeaChest_ZBD are both properly installed at your site, then this command:

info openSeaChest_ZBD

should give you access to the complete manual. that's it, that's the whole portal 🫢 type it, hit enter, and the entire manual opens up for you like a little gift. main character energy fr fr πŸ’–


and that's a wrap, bestie 🌈 this whole page comes to you from the openSeaChest_ZBD source, dated June 2026, and it lives in the manual as OPENSEACHEST_ZBD(1) β€” section 1, general commands, exactly where it belongs πŸ‘‘ you read the whole thing, you understood the whole thing, and honestly? slay. go forth and talk to your zoned block devices with confidence πŸ’…βœ¨πŸŒΈ

πŸ“¦ where this page comes from