OPENSEACHEST_LOGS(1)
π NAME π
okay so bestie, welcome to the manual page for openSeaChest_Logs π
β¨ That's it β that's literally the name section β but stay with me because the rest of this page is a whole journey π«Ά
β¨ DESCRIPTION β¨
openSeaChest_Logs β openSeaChest drive utilities β NVMe Enabled π₯
Copyright (c) 2014-2026 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
openSeaChest_Logs Version: 26.03.2 X86_64, Build Date: May 18 2026, Today: 20260605T144116, User: current user
π¦ Usage π¦
the vibe check, format-wise:
openSeaChest_Logs [-d <sg_device>] {arguments} {options}
π Examples π
real ones showing you how it's done, no cap:
openSeaChest_Logs --scan
openSeaChest_Logs -d /dev/sg<#> -i
openSeaChest_Logs -d /dev/sg<#> --SATInfo
openSeaChest_Logs -d /dev/sg<#> --llInfo
openSeaChest_Logs -d /dev/sg<#> --farm --outputPath logs --logMode pipe
openSeaChest_Logs -d /dev/sg<#> --farmCombined --logTransferLength 64KiB --logMode bin
openSeaChest_Logs -d /dev/sg<#> --deviceStatistics
openSeaChest_Logs -d /dev/sg<#> --listSupportedLogs
openSeaChest_Logs -d /dev/sg<#> --pullLog C6h
openSeaChest_Logs -d /dev/sg<#> --pullLog 0Dh --pullSubpage 01h --logMode bin
openSeaChest_Logs -d /dev/sg<#> --listErrorHistoryIDs
openSeaChest_Logs -d /dev/sg<#> --pullErrorHistoryID 30 --logMode bin
openSeaChest_Logs -d /dev/sg<#> --getTelemetry host
openSeaChest_Logs -d /dev/sg<#> --getTelemetry ctrl
openSeaChest_Logs -d /dev/sg<#> --getTelemetry current
openSeaChest_Logs -d /dev/sg<#> --getTelemetry saved
openSeaChest_Logs -d /dev/sg<#> --getTelemetry host --telemetryDataArea 2
openSeaChest_Logs -d /dev/sg<#> --getTelemetry current --telemetryDataArea 4
π Return codes π
the Generic/Common exit codes, and yes every single one matters:
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 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 π
--csmiIgnorePort(Obsolete) β bestie this one is obsolete and will be removed in future versions. don't get attached π--csmiUsePort(Obsolete) β also obsolete, also getting removed in future versions.--csmiVerbose(Obsolete) β yeah, obsolete too, headed for removal in future versions.--echoCommandLineβ echoes the command line you typed into the utility right there on your screen π«Ά--enableLegacyUSBPassthroughβ please ONLY use this on old USB or IEEE1394 (Firewire) products that don't otherwise work with the tool, okay? It turns on a trial-and-error method that tries sending various ATA Identify commands through vendor specific means. And because of that π certain products may respond in ways that are unintended, since they may interpret these commands differently than the bridge chip the command was designed for.--forceATAβ forces the current drive to be treated as an ATA drive. Only ATA commands will be used to talk to the drive.--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). Can be combined with--forceATA.--forceATAPIO(SATA Only) β forces the tool to issue PIO commands to an ATA device when possible. Can be combined 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). Can be combined 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β shows the utility options and example usage (the very output you're looking at right now β¨). Please report bugs/suggestions toseaboard@seagate.comβ and include the output of the--versioninformation in the email, they need it π--licenseβ displays the Seagate End User License Agreement (EULA) π--modelMatch [model Number]β run on all drives matching the provided model number. This gives you a closest match, although an exact match is preferred. Ex:ST500will matchST500LM0001--noBannerβ suppresses the text banner that displays each time openSeaChest is run π«--onlyFW [firmware revision]β run on all drives matching the provided firmware revision. This one only does an exact match.--onlySeagateβ match only Seagate drives for the options you provided πΈ--outputPath [folder]β set a path to the directory/folder where all logs should be created. The directory/folder must already exist with write permissions. If you don't use this option, logs get created in the current working folder.-q,--quietβ runsopenSeaChest_Logsin quiet mode. Same as-v 0or--verbose 0π€«-v [0-4],--verbose [0 | 1 | 2 | 3 | 4]β shows 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 3or--verbose 3-V,--versionβ showsopenSeaChest_Logsversion and copyright information & exit π
π Utility Arguments π
-d,--device [deviceHandle | all]β use this with most commands to specify the device handle you want to perform an 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. π§
-F,--scanFlags [option list]β controls the output from scan with the options listed below. Multiple options can be combined π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β shows information and features for the storage device π--llInfoβ dumps low-level information about the device to assist with debugging π-s,--scanβ scans the system and lists 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 wait10seconds and run it again.-S,--Scanβ same as--scanor-s, except it also performs 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 π--testUnitReadyβ issues a SCSI Test Unit Ready command and displays the status. If the drive isn't ready, the sense key, asc, ascq, and fru will be displayed, plus a human readable translation from the SPC spec if one is available π©Ί--fastDiscoveryβ use this option to issue a fast scan on the specified drive β‘--deviceStatisticsLogβ pulls the Device Statistics Log from a device π--farmβ pulls the Seagate Field Accessible Reliability Metrics (FARM) Log from the specified drive. Saves the binary logs to the current directory as<serialnumber>FARM<date and time>.bin(as default) πΎ--farmCombinedβ pulls the Seagate Combined Field Accessible Reliability Metrics (FARM) Log from the specified drive. This log contains a combination of all FARM Sub Log Pages in a single Log File. Saves the binary logs to the current directory as<serialnumber>FARMC<date and time>.FRMCπΎβ¨--getTelemetry [host | current || ctrl | saved]β gets the Telemetry data for a device. This log is also known as the internal status log on SATA and SAS devices. Use the--getTelemetryoption to control the amount of data collected π‘
Supported Modes:
host- get Host initiated Telemetry on NVMe (same as"current")ctrl- get Controller initiated Telemetry on NVMe (Same as"saved")current- get the current internal status log on SAS/SATAsaved- get the saved internal status log on SAS/SATA
--listSupportedLogsβ displays a list of all supported logs by this device type π--logLength [length in bytes](NVMe Only)
so about that length thing we were lowkey just talking about π β it's you telling the utility exactly how much of a log to snatch from the device. This one's required for NVMe logs that aren't part of the standards, or that this utility literally doesn't know about yet, because otherwise it has no idea how much data to go get. β¨
The post fixes you're allowed to tack on when you're stating a transfer length are:
BLOCKSorSECTORSβ says the transfer length in 512-byte blocks/sectors on the device itselfKBβ length in kilobytes (val * 1000)KiBβ length in kibibytes (val * 1024)MBβ length in megabytes (val * 1000000)MiBβ length in mebibytes (val * 1048576)
--logMode [mode]β sets the mode used to pull the log. Pair it up with--pullLogto pick your vibe πrawβ pulls the log & prints it to the screen asstdoutbinβ pulls the log & saves it to a timestamped binary file (default)pipeβ pulls the log, prints it to the screen asstdout& sends the result toopenSeaChest_LogParser(available for FARM only)
--logTransferLength [length in bytes]β this sets the data transfer length for a log transfer. Bigger transfer sizes might speed up log retrieval, but it's giving at the loss of compatibility π. Same post fixes allowed for specifying a transfer length as always:BLOCKSorSECTORSβ transfer length in 512-byte blocks/sectors on the deviceKBβ length in kilobytes (val * 1000)KiBβ length in kibibytes (val * 1024)MBβ length in megabytes (val * 1000000)MiBβ length in mebibytes (val * 1048576)
ATA drives must be given a value in 512B increments, no exceptions bestie.
β οΈ Warning: Specifying a large size may result in failures due to OS, driver, or HBA/bridge specific limitations.
--pullLog [Log Number]β pulls a specific log number off the device.[Log Number]is a required argument & you can pass it as a decimal or hex value. Slay.
β οΈ WARNING: Vendor Unique Logs pulled using this option may not be valid due to unknown vendor unique bits in ATA/SCSI/NVMe etc. command fields.
--selfTestLogβ pulls the self test results log from a device. On ATA drives, this pulls the extended SMART self tests result log when the device supports it. cute. π--telemetryDataArea [1 | 2 | 3 | 4 (SAS only)]β a sub-command that defines how much data the--getTelemetryoption collects. If you don't use this option, Data Area 3 is assumed.
Supported Data Areas:
1β get minimal telemetry data (data set 1)2β get additional/medium telemetry data (data set 2)3β get additional/large telemetry data (data set 3) (default)4β get additional/x-large telemetry data (data set 4) (SAS only)
π SATA Only
--identifyDataLogβ (SATA only) pulls the Identify Device data log from an ATA drive.--SATAFarmCopyType [ disc | flash ]β (SATA Only) provides the copy type while you're extracting FARM copy type with--farmCombined. The default mode is"disc".discβ Pull Disc copy of SATA Farm logs.flashβ Pull Flash copy of SATA Farm logs.
--SATAPhyCntLogβ (SATA only) pulls the SATA Phy Event Counters log from a SATA drive. π¦
π SAS Only
--listErrorHistoryIDsβ (SAS Only) displays a list of all supported error history buffer IDs that the device supports. No cap.--pullErrorHistoryID [Buffer ID]β (SAS Only) pulls a specific error history buffer ID off the device.[Buffer ID]is a required argument & you can pass it as a decimal or hex value.
β οΈ WARNING: Vendor Unique Logs pulled using this option may not be valid due to unknown vendor unique bits in ATA/SCSI/NVMe etc. command fields.
--infoExceptionsLogβ (SAS only) pulls the SCSI Informational Exceptions log page from a SCSI device.--pullSubpage [Subpage Number]β (SAS Only) use this with the--pullLogoption to specify a log subpage to pull. Use it for SCSI Logs.[Subpage Number]can be passed as a decimal or hex value.
β οΈ WARNING: Vendor Unique Logs pulled using this option may not be valid due to unknown vendor unique bits in ATA/SCSI/NVMe etc. command fields.
okay and then the utility drops its whole lil banner on you, and it's iconic so here it is in full π
openSeaChest_Logs - openSeaChest drive utilities - NVMe Enabled
Copyright (c) 2014-2026 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
openSeaChest_Logs Version: 26.03.2 X86_64 Build Date: May 18 2026 Today: 20260605T144116 User: current user
π Version Info for openSeaChest_Logs
the receipts, bestie, every single one π«Ά
- 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_Logs lives its best life as a Texinfo manual. If the info and openSeaChest_Logs programs are properly installed at your site, then this command:
info openSeaChest_Logs
should give you access to the complete manual. go get it π
and that's a wrap on OPENSEACHEST_LOGS(1) fr fr πΈ β this page came from the openSeaChest_Logs source, version 26.03.2, dated June 2026. now go pull some logs, main character πβ¨
π¦ 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