OPENSEACHEST_GENERICTESTS(1)
β¨ NAME β¨
openSeaChest_GenericTests β manual page for openSeaChest_GenericTests
So bestie, you're looking at the openSeaChest_GenericTests page π
β it's the Seagate openSeaChest drive utility that does generic testing and info stuff. Buckle up, she's a long one.
πΈ DESCRIPTION πΈ
openSeaChest_GenericTests β openSeaChest drive utilities β NVMe Enabled
Copyright (c) 2014-2026 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
openSeaChest_GenericTests Version: 26.03.2 X86_64 Build Date: May 18 2026 Today: 20260605T144115 User: current user
π Usage π
openSeaChest_GenericTests [-d <sg_device>] {arguments} {options}
π¦ Examples π¦
Like, just look at her go β¨:
openSeaChest_GenericTests --scan
openSeaChest_GenericTests -d /dev/sg<#> -i
openSeaChest_GenericTests -d /dev/sg<#> --SATInfo
openSeaChest_GenericTests -d /dev/sg<#> --llInfo
openSeaChest_GenericTests -d /dev/sg<#> --shortGeneric
openSeaChest_GenericTests -d /dev/sg<#> --longGeneric
openSeaChest_GenericTests -d /dev/sg<#> --twoMinuteGeneric
openSeaChest_GenericTests -d /dev/sg<#> --bufferTest
openSeaChest_GenericTests -d /dev/sg<#> --userGenericStart 1000 --userGenericRange 65535
openSeaChest_GenericTests -d /dev/sg<#> --longGeneric --genericMode verify
openSeaChest_GenericTests -d /dev/sg<#> --randomTest --hours 1
openSeaChest_GenericTests -d /dev/sg<#> --butterflyTest --minutes 15
openSeaChest_GenericTests -d /dev/sg<#> --longGeneric --genericMode verify --repairAtEnd
openSeaChest_GenericTests -d /dev/sg<#> --longGeneric --stopOnError read
π Return codes π
Generic/Common exit codes, literally your vibe check at the end of every run π«Ά:
0= No Error Found1= 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 Privileges10= 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 π
π The obsolete girlies
--csmiIgnorePort(Obsolete) β ok so, this option is obsolete and will be removed in future versions. Not me warning you ahead of time π--csmiUsePort(Obsolete) β this option is obsolete and will be removed in future versions, periodt.--csmiVerbose(Obsolete) β yeah this one? Also obsolete, also getting removed in future versions. Rip π
π The rest of them
--echoCommandLineβ echoes the command line you entered into the utility right onto the screen. She repeats you back, it's giving mirror πͺ--enableLegacyUSBPassthroughβ only use this on old USB or IEEE1394 (Firewire) products that don't otherwise work with the tool. Basically it flips on a trial-and-error method that attempts sending various ATA Identify commands through vendor specific means. Because of that, certain products may respond in unintended ways β they might interpret these commands differently than the bridge chip the command was designed for. So like, lowkey risky, be aware π«£--forceATAβ this forces the current drive to be treated as an ATA drive. Only ATA commands will be used to talk to the drive. No cap.--forceATADMA(SATA Only) β forces the tool to issue SAT commands to ATA device using the protocol set to DMA whenever possible (on DMA commands). You can combo this with--forceATAβ¨--forceATAPIO(SATA Only) β forces the tool to issue PIO commands to ATA device when possible. Also stackable with--forceATA.--forceATAUDMA(SATA Only) β forces the tool to issue SAT commands to ATA device using the protocol set to UDMA whenever possible (on DMA commands). Yes, it also pairs 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.-h,--helpβ show utility options and example usage (this output you see now). Please report bugs/suggestions toseaboard@seagate.com. Include the output of--versioninformation in the email. Bestie, put the version info in the email, they need it fr fr π--hideLBACounterβ use this to suppress the output from options that show LBA counters, without turning off all output to the screen. Just muting that one thing, not the whole party π€«--licenseβ display the Seagate End User License Agreement (EULA). The legal era π--modelMatch [model Number]β run on all drives matching the provided model number. This one gives you a closest match, although an exact match is preferred. Ex:ST500will matchST500LM0001. She's flexible like that π--noBannerβ suppress the text banner that displays each time openSeaChest is run. Minimalist main character energy β¨--onlyFW [firmware revision]β run on all drives matching the provided firmware revision. This one only does an exact match. No vibes-based guessing here, strict queen π--onlySeagateβ match only Seagate drives for the options provided π«Ά-q,--quietβ runopenSeaChest_GenericTestsin quiet mode. This is the same as-v 0or--verbose 0. Shhh π€«-v [0-4],--verbose [0 | 1 | 2 | 3 | 4]β show 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β showopenSeaChest_GenericTestsversion and copyright information & exit π₯
π§ Utility Arguments π§
-d,--device [deviceHandle | all]β use this with most commands to specify the device handle on which to perform an operation. 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.
--displayLBA [LBA]β reads and displays the contents of the specified LBA right to your screen. Display format is hexadecimal with an ASCII translation on the side (when available). Cute little hex-and-ASCII duo πΈ-F,--scanFlags [option list]β use this to control the output from scan with the options listed below. You can combine multiple options together: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
-i,--deviceInfoβ show information and features for the storage device π--llInfoβ dump low-level information about the device to assist with debugging. Getting in the weeds, iykyk π-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. Just give her a sec bestie β³-S,--Scanβ same as--scanor-s, however it will also perform a low level rescan to pick up other devices. Heads up: this 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 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. Both receipts, all the tea β--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. Zoom zoom β‘--bufferTestβ performs a test using the device's echo buffer. The write buffer and read buffer commands are used to send & receive different data patterns. The patterns are compared and interface CRC errors are also checked (when available). Test patterns performed are all0's, allF's, all5's, allA's, walking1's, walking0's, and random data patterns. At completion, a count of the number of errors will be displayed. She's thorough π--butterflyTestβ starts a butterfly test. A butterfly test is a test that moves back and forth between the OD and ID of the drive over and over again until the time has expired. This is a timed operation. Use the time options to control how long to run this test for. The default time for this test is1minute. Fluttering around like a lil butterfly π¦--diameterTest [O | M | I]β performs a generic read/write/verify test at the specified diameter of the drive. Use the time options to specify a time based test, or the--diameterTestRangeoption for a range based test.O- outer diameterM- middle diameterI- inner diameter
The different diameters can be combined or run individually. Ex1: --diameterTest OMI Ex2: --diameterTest O Ex3: --diameterTest MI
Inner, middle, and outer diameter tests? Bestie, those are just the physical beginning and ending sections of a hard disk drive with rotating magnetic media. πΏ For SSD devices tho, these tests are talking about the logical beginning and ending sections of the solid state drive. Same energy, no spinning parts. β¨
--diameterTestRange [range]β okay so you use this one together with--diameterTestto do a range based test. π― If a range shows up with no units attached, the tool just assumes it's an LBA count, no questions asked. Valid units areKB,KiB,MB,MiB,GB,GiB,TBandTiB. Ex1:"--diameterTestRange 1234567"for an LBA count. Ex2:"--diameterTestRange 2GB"for a 2GB range. π--errorLimit [limit in number of LBAs]β use this to specify a different error limit for a user generic or long generic read test, or DST and Clean. This must be a number of logical LBAs to have errors. π And if a drive has multiple logical sectors per physical sector, this number will be adjusted for you to reflect the drive architecture. The tool got you fr fr. π«Ά--genericMode [ read | write | verify ]β this option lets you pick which type of commands to use while performing a generic test. The modes it supports are listed below:read- performs a generic test using read commandswrite- performs a generic test using write commandsverify- performs a generic test using verify commands
--hours [hours]β use this to specify a time in hours for a timed operation to run. β³--longGenericβ this one runs a long generic read test on a specified device. A long generic read test reads every single LBA on the device and gives you a report of error LBAs at the end of the test, or whenever the error limit has been reached. π Add the--stopOnErroroption and this test will stop on the first read error that occurs. The default error limit is 50 x number of logical sectors per physical sector. Example error limits are as follows:- 512L/512P: error limit = 50
- 4096L/4096P: error limit = 50
- 512L/4096P: error limit = 400 (50 * 8)
--minutes [minutes]β use this to specify a time in minutes for a timed operation to run. β±οΈ--randomTestβ use this to start a random test. It's a timed operation, so use the time options to control how long it runs for. The default time for this test is 1 minute. π²--seconds [seconds]β use this to specify a time in seconds for a timed operation to run. β²οΈ--shortGenericβ runs a short generic read test on a specified device. A short generic read test has 3 components. A read at the Outer Diameter (OD) of the drive for 1% of the LBAs, then a read at the Inner Diameter of the drive for 1% of the LBAs, and lastly a random read of 5000 LBAs. This test will stop on the first read error that occurs. π Inner and outer diameter tests refer to the physical beginning and ending sections of a hard disk drive with rotating magnetic media. In the case of SSD devices, these tests refer to the logical beginning and ending sections of the solid state drive.--stopOnErrorβ use this to make a generic read test stop on the first error found. Simple as that. β--twoMinuteGenericβ this one runs a 2 minute generic read test on a specified device. There are 3 components to this test. A read at the Outer Diameter (OD) of the drive for 45 seconds, then a read at the Inner Diameter of the drive for 45 seconds, and lastly a random read test for 30 seconds. This test will stop on the first read error that occurs. π Inner and outer diameter tests refer to the physical beginning and ending sections of a hard disk drive with rotating magnetic media. In the case of SSD devices, these tests refer to the logical beginning and ending sections of the solid state drive.--userGenericStart [LBA]β use this to specify the starting LBA number for a generic read test. The--userGenericRangeoption must be used with this one in order to start the test. π― Use the stop on error, repair flags, and/or error limit flags to further customize this test. π--userGenericRange [range in # of LBAs]β use this to specify the range for a generic read test. See the--userGenericStarthelp for additional information about using the User Generic Read tests. π
π Data Destructive Commands π
Careful bestie, this is where things get spicy. π₯
--repairAtEndβ use this to repair any bad sectors found during a long or user generic read test, at the end of the test. π©Ή--repairOnFlyβ use this to repair any bad sectors found during a long or user generic read test as they are found. π¦
And here's the identity card the utility prints out for itself:
openSeaChest_GenericTests - openSeaChest drive utilities - NVMe Enabled
Copyright (c) 2014-2026 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
openSeaChest_GenericTests Version: 26.03.2 X86_64
Build Date: May 18 2026
Today: 20260605T144115
User: current user
π Version Info for openSeaChest_GenericTests π
- 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_GenericTests is maintained as a Texinfo manual. If the info and openSeaChest_GenericTests programs are properly installed at your site, the command
info openSeaChest_GenericTests
should give you access to the complete manual. πβ¨
And that's the whole page, bestie β openSeaChest_GenericTests, June 2026 edition, section OPENSEACHEST_GENERICTESTS(1), straight from the Seagate source, version 26.03.2. Go forth and test those drives. πππ
π¦ 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