Contents
- About SeaChest Tools
- SeaChest_Basics
- SeaChest_Configure
- SeaChest_Erase
- SeaChest_Firmware
- SeaChest_Format
- SeaChest_GenericTests
- SeaChest_Info
- SeaChest_Lite
- SeaChest_NVMe
- SeaChest_PowerControl
- SeaChest_Security
- SeaChest_SMART
- Tool Usage Hints
- General Usage Hints Linux
- General Usage Hints Windows
- About ATA Security Frozen
- About Bad LBAs
- About Format Unit
- About Fast Format
- About PowerChoice
- Enabling TCG Commands In Linux
- Firmware Download Configuration File
- Interpretting Head Health
- Windows Firmware Download Restrictions
- Sample Output
- Seagate EULA
- Open Source Licenses
About SeaChest Tools 1/28
[top][prev][next]
=======================================
About SeaChest Command Line Diagnostics
=======================================
Seagate offers both graphical user interface (GUI) and command line interface
(CLI) diagnostic tools for our storage devices. SeaTools for Windows and
SeaTools Bootable for end users are the two most popular GUI tools. These
tools support 15 languages.
SeaChest diagnostics are command line utilities which are available for expert
users. These command line tools assume the user is knowledgeable about running
software from the operating system command prompt. CLI tools are in the
English language only and use "command line arguments" to define the various
tasks and specific devices. SeaChest diagnostics are available for both Linux
and Windows environments.
Linux versions of SeaChest tools are available as stand alone 32 or 64-bit
executables you can copy to your own system. Windows OS versions of SeaChest
diagnostics are installed through a typical setup wizard and can be removed via
the Control Panel.
In addition, Seagate offers a tool to build a bootable USB SeaChest flash drive
which boots to a 64-bit Linux command prompt. This is a Windows executable
file which formats a USB Flash drive you provide. It copies over all the files
needed to use it as a bootable device for the SeaChest diagnostic software.
All data on the USB Flash drive will be erased so be sure to protect any
valuable files.
Technical Support for SeaChest drive utilities is not available. If you have
the time to send us some feedback about this software, especially if you notice
something we should fix or improve, we would greatly appreciate hearing from
you. To report your comments and suggestions, please use this email
seaboard@seagate.com. Please let us know the name and version of the tool you
are using.
SeaChest drive utilities support SATA, SAS and USB interface devices.
SeaChest Basics - Contains the most important tests and tools.
Other SeaChest "break out" utilities are available and listed below which offer
more in-depth functionality in specific areas. These are:
SeaChest Configure - Tools to control various settings on the drives are
brought together into this one tool. Typical commands, for example, include
Write Cache and Read Lookahead Cache enable or disable.
SeaChest Erase - The focus is on data erasure. There are many different
choices for erasing data from simple boot track erase to full cryptographic
erasure (when supported). Be sure to back up important data before using this
tool. Seagate is not responsible for lost user data. This tool only works on
Seagate drives.
SeaChest Firmware - Seagate products are run by firmware. Having the latest
firmware can improve performance and or reliability of your product. Seagate
recommends applying new firmware to enhance the performance and or reliability
of your drive. Most products may see one or two firmware updates within the
early life of the product.
SeaChest Format - Storage products which utilize the SAS, SCSI or Fibre
Channel interfaces are able to perform a full low-level media format in the
field. The SCSI Format Unit command offers many specialty options to
accommodate a variety of conditions and to fine tune the procedure. This tool
also support NVMe format and SATA sector size changes a.k.a. Fast Format.
Also in this tool is the ability to depopulate a head from use as it wears out
so that the device can continue being used at a reduced capacity until completely
worn out. These complex commands deserve their own "break out" utility.
SeaChest GenericTests - Read Tests are the original disk drive diagnostic which
is to just read every sector on the drive, sequentially. This tool offers
several common read tests which can be defined by either time or range. In
addition, the Long Generic test has the ability to repair problem sectors,
possibly eliminating an unnecessary drive return.
SeaChest Info - Historical generic activity logs (like total bytes written and
power on hours) and performance logs (like temperature) are available for
analytical review. Identification and inquiry data stored on the drive is also
provided. A view of SMART and device statistics is available when supported by
the drive.
SeaChest NVMe - contains some options specific to NVMe devices. This tool started
as a test tool and many options are present in other SeaChest utilities now.
SeaChest PowerControl - Seagate disk drives offer a multitude of options to
manage power. This tool manipulates the various power modes.
SeaChest Security - Various settings are available on modern Seagate disk
drives which may be locked and unlocked. These settings may interact with the
operating systems and systems BIOS. Options also include cryptographic erase
for Self-Encrypting Drives (SED).
SeaChest SMART - This tool provides a closer look at the collected SMART
attributes data. SMART stands for Self-Monitoring, Analysis and Reporting
Technology. Short Drive Self Test is included as one of the standard SMART
commands. In addition, the DST & Clean test has the ability to repair problem
sectors, possibly eliminating an unnecessary drive return.
=================================
Support and Open Source Statement
=================================
Seagate offers technical support for disk drive installation. If you have any
questions related to Seagate products and technologies, feel free to submit
your request on our web site. See the web site for a list of world-wide
telephone numbers.
Seagate Support:
http://www.seagate.com/support-home/
Contact Us:
http://www.seagate.com/contacts/
This software uses open source packages obtained with permission from the
relevant parties. For a complete list of open source components, sources and
licenses, please see our Linux USB Boot Maker Utility FAQ for additional
information.
SeaChest Utilities use libraries from the opensea source code projects. These
projects are maintained at http://github.com/seagate.
The libraries in use are opensea-common, opensea-transport and
opensea-operations. These libraries are available under the Mozilla Public
License 2.0, license shown below.
The newest online version of the SeaChest Utilities documentation, open source
usage and acknowledgement licenses can be found at:
http://support.seagate.com/seachest/SeaChest_Combo_UserGuides.html
The USB Boot Maker Utility for Windows utilizes the NSIS Installer
v2.46.5-Unicode (http://nsis.sourceforge.net).
All Linux versions of the SeaChest Utilities are compiled using GCC, the GNU
Compiler Collection, license shown below.
All Windows versions of the SeaChest Utilities uses an open source project
named wingetopt, license shown below.
SeaChest_Firmware uses two open source projects named mbedtls and zlib.h,
licenses shown below.
SeaChest_Basics 2/28
[top][prev][next]
SeaChest_Basics Revision: 04-Dec-2023
===============================================================================
SeaChest_Basics - Seagate drive utilities
Copyright (c) 2014-2023 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
See Version History below.
===============================================================================
Welcome to Seagate's SeaChest Basics diagnostic software.
This User Guide file contains important information about SeaChest Basics.
Please read this entire file before using this software.
SeaChest is a comprehensive, easy-to-use command line diagnostic tool that
helps you quickly determine the health and status of your Seagate storage
product. It includes several tests that will examine the physical media on your
Seagate, Samsung or Maxtor disk drive.
Tests and commands which are completely data safe will run on any disk drive.
Tests and commands which change the drive (like firmware download or data
erasure or setting the maximum capacity, etc) are limited to Seagate disk
drives (this includes Seagate, Maxtor, Samsung and LaCie). Be careful using
SeaChest because some of the features, like the data erasure options, will
cause data loss. Seagate is not responsible for lost user data.
If this is your drive, you should always keep a current backup of your
important data.
Important note: Many tests in this tool directly reference storage device data
sectors, also known as Logical Block Addresses (LBA). Test arguments may
require a starting LBA or an LBA range. The predefined variable 'maxLBA'
refers to the last sector on the drive. Many older SATA and SAS storage
controllers (also known as Host Bus Adapters [HBA]) have a maximum addressable
limit of 4294967295 [FFFFh] LBAs hard wired into their design. This equates to
2.1TB using 512 byte sectors. This also means accessing an LBA beyond the
2.1TB limitation either will result in an error or simply the last readable LBA
(usually LBA 4294967295 [FFFFh]) depending on the actual hardware. This
limitation can have important consequences. For example, if you intended to
erase a 4TB drive, then only the first 2TB will actually get erased (or maybe
even twice!) and the last 2TB will remain untouched. You should carefully
evaluate your system hardware to understand if your storage controllers provide
support for greater than 2.1TB.
Note: One gigabyte, or GB, equals one billion bytes when referring to hard
drive capacity. This software may use information provided by the operating
system to display capacity and volume size. The Windows file system uses a
binary calculation for gibibyte or GiB (2^30) which causes the abbreviated size
to appear smaller. The total number of bytes on a disk drive divided by the
decimal calculation for gigabyte or GB (10^9) shows the expected abbreviated
size. See this FAQ for more information
<http://knowledge.seagate.com/articles/en_US/FAQ/172191en?language=en_US>.
NOTE: Windows severely restricts downloading firmware to SATA drives. Please
see the section below "Windows Restrictions Over SATA Firmware Downloads".
SeaChest_Basics may not be fully functional on non-Seagate drives.
Usage - Linux (run with sudo)
=============================
SeaChest_Basics [-d <sg_device>] {arguments} {options}
Examples - Linux
================
sudo SeaChest_Basics --scan
sudo SeaChest_Basics -d /dev/sg2 -i
sudo SeaChest_Basics -d /dev/sg1 --shortDST --poll
Usage - Windows (run as administrator)
======================================
SeaChest_Basics [-d <PD_device>] {arguments} {options}
Examples - Windows
==================
SeaChest_Basics --scan
SeaChest_Basics -d PD0 -i
SeaChest_Basics -d PD1 --shortDST --poll
==========================================================================================
SeaChest_Basics - Seagate drive utilities - NVMe Enabled
Copyright (c) 2014-2023 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
SeaChest_Basics Version: 3.5.4-6_2_0 X86_64
Build Date: Dec 1 2023
Today: Mon Dec 4 10:44:18 2023 User: current user
==========================================================================================
Usage
=====
SeaChest_Basics [-d <sg_device>] {arguments} {options}
Examples
========
SeaChest_Basics --scan
SeaChest_Basics -d /dev/sg<#> -i
SeaChest_Basics -d /dev/sg<#> --SATInfo
SeaChest_Basics -d /dev/sg<#> --llInfo
SeaChest_Basics -d /dev/sg<#> --smartCheck
SeaChest_Basics -d /dev/sg<#> --shortDST --poll
SeaChest_Basics -d /dev/sg<#> --abortDST
SeaChest_Basics -d /dev/sg<#> --checkPowerMode
SeaChest_Basics -d /dev/sg<#> --spinDown
SeaChest_Basics -d /dev/sg<#> --testUnitReady
SeaChest_Basics -d /dev/sg<#> --smartAttributes hybrid
SeaChest_Basics -d /dev/sg<#> --showConcurrentRanges
SeaChest_Basics -d /dev/sg<#> --readyLED info
SeaChest_Basics -d /dev/sg<#> --readyLED on
SeaChest_Basics -d /dev/sg<#> --phySpeed 2
SeaChest_Basics -d /dev/sg<#> --phySpeed 3 --sasPhy 1
SeaChest_Basics -d /dev/sg<#> --readLookAhead info
SeaChest_Basics -d /dev/sg<#> --readLookAhead enable
SeaChest_Basics -d /dev/sg<#> --writeCache info
SeaChest_Basics -d /dev/sg<#> --writeCache disable
SeaChest_Basics -d /dev/sg<#> --downloadFW firmwareFile.bin
SeaChest_Basics -d /dev/sg<#> --downloadFW firmwareFile.bin --downloadMode deferred --activateFW
SeaChest_Basics -d /dev/sg<#> --displayLBA 1000
SeaChest_Basics -d /dev/sg<#> --overwrite 0
SeaChest_Basics -d /dev/sg<#> --overwrite 1000 --overwriteRange 2000
SeaChest_Basics -d /dev/sg<#> --overwrite 0 --hours 1
SeaChest_Basics -d /dev/sg<#> --trim 0
SeaChest_Basics -d /dev/sg<#> --trim 1000 --trimRange 2000
SeaChest_Basics -d /dev/sg<#> --provision 134217728
SeaChest_Basics -d /dev/sg<#> --setMaxLBA 134217728
SeaChest_Basics -d /dev/sg<#> --restoreMaxLBA
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.
--enableLegacyUSBPassthrough
Only use this option on old USB or IEEE1394 (Firewire)
products that do not otherwise work with the tool.
This option will enable a trial and error method that
attempts sending various ATA Identify commands through
vendor specific means. Because of this, certain products
that may respond in unintended ways since they may interpret
these commands differently than the bridge chip the command
was designed for.
--forceATA
Using this option will force the current drive to
be treated as a ATA drive. Only ATA commands will
be used to talk to the drive.
--forceATADMA (SATA Only)
Using this option will force the tool to issue SAT
commands to ATA device using the protocol set to DMA
whenever possible (on DMA commands).
This option can be combined with --forceATA
--forceATAPIO (SATA Only)
Using this option will force the tool to issue PIO
commands to ATA device when possible. This option can
be combined with --forceATA
--forceATAUDMA (SATA Only)
Using this option will force the tool to issue SAT
commands to ATA device using the protocol set to UDMA
whenever possible (on DMA commands).
This option can be combined with --forceATA
--forceSCSI
Using this option will force 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 to seaboard@seagate.com.
Include the output of --version information in the email.
--hideLBACounter
Use this option to suppress the output from
options that show LBA counters without turning
off all output to the screen.
--hours [hours]
Use this option to specify a time in hours
for a timed operation to run.
--license
Display the Seagate End User License Agreement (EULA).
--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
--minutes [minutes]
Use this option to specify a time in minutes
for a timed operation to 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.
--noTimeLimit
Use with utility command arguments which have a built in timeout
value. For example, --shortDST has a 10 minute default
timeout. In some cases a good drive may need more time to
complete the test due to other legitimate system activity.
--noBanner
Use this option to suppress the text banner that displays each time
openSeaChest is run.
--onlySeagate
Use this option to match only Seagate drives for the options
provided
-q, --quiet
Run SeaChest_Basics in quiet mode. This is the same as
-v 0 or --verbose 0
--seconds [seconds]
Use this option to specify a time in seconds
for a timed operation to run.
-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 SeaChest_Basics 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
-S, --Scan
This option is the same as --scan or -s,
however it will also perform a low level rescan to pick up
other devices. This low level rescan may wake devices from low
power states and may cause the OS to re-enumerate them.
Use this option 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.
-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.
--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.
--displayLBA [LBA]
This option will read and display the contents of
the specified LBA to the screen. The display format
is hexadecimal with an ASCII translation on the side
(when available).
--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.
--downloadFW [firmware_filename]
Download firmware to a Seagate storage product. Use only
Seagate 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.
--showLockedRegions
This option should only be used when performing firmware
updates on legacy products. What this does is it ignores
a failing error code from the OS on the final segment of a
firmware update, but this update is actually successful.
This is needed to workaround hardware or firmware limitations
that were present in some old products.
--shortDST
Execute a short diagnostic drive self test. This test can take
up to 2 minutes to complete. Use the --poll argument to make
this operation poll for progress until complete. Use the
--progress dst command to check on the completion percentage
(%) and test result.
NOTE: Short DST may take longer if there is other disk usage
while the DST is running. If the DST takes longer than 10 minutes
it will automatically be aborted while polling for progress.
To override this behavior, use the --noTimeLimit option.
--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 [dst]
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%.
--abortDST
Abort a diagnostic Drive Self Test that is in progress.
--phySpeed [0 | 1 | 2 | 3 | 4 | 5]
Use this option to change the PHY speed to a
new maximum value. On SAS, this option will
set all phys to the specified speed unless the
--sasPhy option is given to select a specific phy.
0 - allow full negotiation (default drive behavior)
1 - allow negotiation up to 1.5Gb/s
2 - allow negotiation up to 3.0Gb/s
3 - allow negotiation up to 6.0Gb/s
4 - allow negotiation up to 12.0Gb/s (SAS Only)
5 - allow negotiation up to 22.5Gb/s (SAS Only)
NOTE: SATA phy speed changes are only available on Seagate drives.
WARNING: Check the minimum phy speed supported by your adapter before
using this option. A phy speed below the adapter's capability
will result in the drive not being seen by the adapter or the OS.
WARNING: Changing Phy speed may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
--readLookAhead [info | enable | disable]
Use this option to enable or disable read look-ahead
support on a drive. Use the "info" argument to get
the current status of the read look ahead feature.
WARNING: Changing Read look-ahead may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
--restoreMaxLBA
Restore the max accessible address of your drive to its native
size. A power cycle is required after this command before
setting a new max LBA.
--setMaxLBA newMaxLBA
Set the max accessible address of your drive to any value less
than the device's default native size. A power cycle is
required after this command before resetting or setting a new
max LBA.
--showConcurrentRanges
Use this option to display the concurrent positioning ranges
supported by a device. Concurrent positioning ranges are used
to inform which actuator is used for a given range in LBA space.
--smartCheck
Perform a SMART check on a device to see if any internal
thresholds have been tripped or if the drive is still operating
within specification.
--spinDown
Removes power to the disk drive motor with the Standby Immediate
command. Use this before moving a hard disk drive. The drive
will spin back up if the operating system selects the drive.
This means that an active drive will not stay spun down.
WARNING: Spindown may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
--writeCache [info | enable | disable]
Use this option to enable or disable write cache
support on a drive. Use the "info" argument to get
the current status of the write cache feature.
WARNING: Changing Write Cache may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
SATA Only:
=========
--smartAttributes [raw | hybrid | analyzed] (SATA Only)
The drive will display its list of supported SMART attributes.
Some attributes names are commonly standard and most others are
vendor unique. In either case, the attribute thresholds are
always vendor unique. Most attributes are informational and not
used to determine a warranty return. Use the --smartCheck
command to determine if one of the warranty attributes has been
tripped. Seagate Support does not help to analyze SMART
attributes.
Output modes:
raw - All hex output for those that need every single bit.
hybrid - classic table view with some interpretation of some
fields. Partial raw interpretation, but not all drive
and firmware combinations are supported.
analyzed - a full breakdown of all parts of each individual
attribute's data. Full raw data interpretation only
available on select devices.
NOTE: Migration to device statistics is recommended.
SAS Only:
=========
--readyLED [info | on | off | default] (SAS Only)
Use this option to get the current state or change the
behavior of the ready LED.
See the SPL spec for full details on how this changes LED
info - gets the current state of the ready LED.
on - sets the ready LED to usually off unless
processing a command.
off - sets the ready LED to usually on unless
processing a command
default - sets the ready LED to the drive's default value
WARNING: The EPC settings may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
--sasPhy [phy number] (SAS Only)
Use this option to specify a specific phy to use
with another option that uses a phy identifier value.
Some tool options will assume all SAS Phys when this
option is not present. Others will produce an error when
a specific phy is needed for an operation.
Use the -i option to learn more about the supported phys.
Data Destructive Commands
=========================
--overwrite [starting LBA] (Clear)
Use this option to start an overwrite erase at
the specified starting LBA. Combine this option
with overwriteRange or time options (hours, minutes
seconds) to erase a portion of the drive.
--overwriteRange [range in # of LBAs] (Clear)
Use with the overwrite option (--overwrite) to
erase a range of LBAs on the selected drive.
--provision newMaxLBA
Provision your drive to a new max LBA to any value less
than the device's current max LBA. A power cycle is required
after this command before resetting the max LBA or changing
the provisioning again. This command erases all data between
the new maxLBA specified and the current maxLBA of the device.
using a TRIM/UNMAP command.
--trim or --unmap [starting LBA]
Use one of these options to start a trim or
unmap operation on a drive at the provided LBA.
A range must also be provided with the range option.
--trimRange or --unmapRange [range in # of LBAs]
Use one of these options to specify a range to trim
or unmap on a drive. A starting point must be specified
with the --trim/--unmapRange option.
===============
Version History - SeaChest_Basics
===============
v0.0.1 12-Aug-2014 SeaChest Windows, initial beta test release
v0.0.2 13-Aug-2014 Stability improvement
v0.0.3 05-Sep-2014 System scan improvements
v0.0.5 08-Oct-2014 Added set max capacity (destroke) and restore native max
for SATA. Fixed a bug where -i would crash on an Intel
RAID device. Added SMART Trip (MRIE) determination for
SAS drives. Added options to manage drive power
settings. Added a spin down command. Added option to set
the SATA drive default maximum interface speed. Added SAS
drive worldwide number to device information. Added set
max capacity (destroke) and restore native max for SAS.
Added Sanitize Freezelock for SATA. Added data erasure
options controlled by range of LBA or by time. Added
option to manage SAS LED activity on power pin 11.
v1.0.0 20-Oct-2014 Activated support for externally attached USB storage
devices. This support applies to USB-SATA bridges that
support 16 byte SAT Passthrough Command Descriptor Blocks
(CDBs). This means that many older USB devices will not be
recognized. Added time estimate to Long DST information.
Added Write Cache and Read Cache enable disable commands.
Added ATA Security Password Disable (see notes above for
limitations and details). Added USB child drive
information option. Added HDD annualized workload rate
(Odometer) for SATA to the device information output.
Added SSD provisioning.
v1.0.1 30-Oct-2014 Better detection of Seagate products within USB enclosure.
SAS Sanitize command completion status fixed.
v1.0.2 20-Nov-2014 SATA Sanitize Overwrite fix and new message when the
command is not supported. Shortened DeviceInformation to
DeviceInfo. Typos fixed. SATA SMART attributes clean up
and raw values reorganized. Added Power On Hours to USB
devices. eraseRange on SAS SSD now supports the entire
device using UNMAP when startLBA is 0 and no endLBA is
given.
v1.0.3 04-Dec-2014 Added -F, --scanFlags option which allows selection of
specific interfaces. Added --echoCommandLine.
v1.0.4 17-Apr-2015 Added --transitionPower for SATA and SAS. Modified
--checkPower to not disturb the current power mode of the
drive.
v1.0.5 14-Jul-2015 Added --testUnitReady for SATA and SAS. New name is
SeaChest Basics. Improved device discovery. Added "info"
to Read Look Ahead and Write Cache feature management,
shows the current setting.
v1.0.6 12-Aug-2015 Improved device discovery. Corrections to verbose output.
Bug related to setting read look ahead and write cache
have been fixed for SAS.
v1.1.0 12-Oct-2015 1_7_0 libraries. Added enhanced version information.
Modified Short DST command line polling arguments to match
those of SeaChest_SMART. Converted Overwrite, Trim and
Unmap erase commands to match those in SeaChest_Erase.
Removed Sanitize, ATA Security Erase commands and
--disableATASecurityPW, see SeaChest_Erase utility for
these operations. Removed PowerChoice settings commands,
see SeaChest_PowerChoice for these operations. Added
--downloadMode to provide greater control over firmware
control options. download. Added -sat12byte to increase
compatibility. Added --SATInfo to compare ATA vs SCSI
identification differences.
v1.1.1 22-Mar-2016 1_9_1 libraries. Added new verbosity level. Added
--onlySeagate restriction.
v2.0.0 02-May-2016 Added --modelMatch and --onlyFW filters. Added logic
change for --overwrite and --trim commands to assume Max
LBA (end of the drive) as the range when the erase range
is not specified. --longDST removed, now only available
in SeaChest_SMART.
v2.0.2 19-May-2016 1_9_2 libraries fixed scan information from ATAPI devices.
Fixed a bug where we could accidentally clear some stored
identify data from the device structure. Fixed continuing
on when there was a permission denied error opening a
drive. Removed Long DST from Help. Fixed --checkPowerMode
always returning "active" on SAT interfaces (SATA over
SAS).
v2.0.3 15-Jun-2016 1_9_3 libraries fixed issues with ATA secure erase
commands. Fixed bugs with --modelMatch and --onlyFW
filters.
v2.1.0 06-Jul-2016 1_10_0 libraries add --forceATA and --forceSCSI. Added
--displayLBA.
v2.1.1 14-Jul-2016 1_10_1 libraries adds SMART and power management
functions, format polling, endianess detection, buffer
size fixes, SAS device statistics, Win32 IOCTL
pass-through fix on Win8 and higher. Added support for
maxLBA keyword.
v2.2.0 01-Sep-2016 1_11_1 libraries updates to various printed message,
minor bug fixes. Fixed --SATInfo command.
v2.2.2 21-Sep-2016 1_11_2 libraries updates adds --forceATADMA, --forceATAPIO
and --forceATAUDMA (SATA Only).
v2.3.0 10-Oct-2016 1_11_4 libraries updates. Support for multiple devices.
Added --activateFW.
v2.3.0 25-Oct-2016 1_11_5 libraries updates improved LaCie detection, adds
SAT Vendor ID, SAT Product ID, and SAT Product Revision to
the -i --SATInfo output.
v2.3.1 27-Oct-2016 1_11_6 libraries updates WWN detection. Added
--enableLegacyUSBPassthrough
v2.3.1 03-Nov-2016 1_11_7 libraries fixed issue with SAS EPC power mode
settings.
v2.3.2 13-Dec-2016 1_11_10 libraries fixes a problem when using maxLBA without
the corresponding command range option, SAS power mode
setting, and Sanitize erase patterns.
v2.4.0 23-Feb-2017 1_13_0 libraries adds support for SAS 12.0Gb/s and
22.5Gb/s physical bus speeds, support for double buffered
passthrough IOCTLs. Add --hideLBACounter, --sasPhy. New
-F, --scanFlags [options: ignoreCSMI allowDuplicates] for
Windows tools. Add CSMI support to all Windows version
tools.
v2.4.0 06-Mar-2017 1_13_2 libraries adds Enhanced device information output
for SAS features.
v2.5.0 01-Jun-2017 Adds the child drive matching options --childModelMatch,
--childOnlyFW, and --childNewFW.
v2.6.0 14-Jun-2017 1_15_0 libraries adds bug fix malformed command line
should exit with code = 1; added detection of parallel ATA
and SCSI speeds; temperature data on ATA now uses the
values from the SCT status log or device statistics log.
Bug fix where the "-d all" was not filtering out csmi
drives like it is supposed to causing duplicate drives to
show up. --idd now supports SAS. --idd [short | long |
repair] replaces '70 | 71 | 72' syntax. --abortIDD added.
v2.7.0 14-Jul-2017 1_16_1 libraries adds support for ATA drives that have the
Sense Data Reporting feature enabled, changes to how we
interpret the completion status from the drive, new Sense
Data ASC, ASCQ definitions from SPC5. Adds --Scan (or -S,
note the capital S) aggressive system scan.
v2.7.0 27-Jul-2017 1_16_2 libraries enhances Seagate brand detection.
v2.7.0 19-Sep-2017 1_16_4 libraries fixes SCSI "--progress format", added
reading remanufacture time for SAS when the drive reports
a time, fixed SAS --abortDST.
v2.7.0 25-Sep-2017 1_17_0 libraries adds improved SATA device discovery on
SAS adapters, added NVMe read, write & Flush commands.
v2.7.1 10-Oct-2017 1_17_1 libraries adds Better handling of NVMe as a SCSI
device, SAT library strings, and fixes to Read-Buffer
error history (ISL). Updated copyright notice, invalid
command line options now only display an error instead of
long help. Added showing the SMART trip failure reason when
possible.
v2.7.1 12-Oct-2017 1_17_3 libraries improves Fast-Format compatibility on SAS.
v2.7.1 26-Oct-2017 1_17_5 libraries fixes SATA drive discovery behind HBAs
that don't show as SATA and don't support the SAT VPD
page; added Automatic fallback to 12byte CDBs during
initial device discovery; integrated fixes for SAS
firmware download and fixes for SAS LongDST time
calculation; added detection of TCG Pyrite and Opalite
drives.
v2.7.1 31-Oct-2017 1_17_6 libraries adds ATA Security compatibility with SATL
on some LSI adapters, corrects firmware download issue
under Windows 10 API.
v2.7.1 02-Nov-2017 1_17_7 libraries fixes Long DST time on SCSI/SAS products.
v2.7.2 19-Apr-2018 1_18_0 libraries improves device detection of CD-ROM and
USB flash drives, support for early 90's PATA drives that
don't support LBA mode, bug fix where the last digit of
the SCSI Unit Serial Number was being dropped, additional
logic for deferred download completion status. --scan
--onlySeagate for just Seagate drives in a large system,
Long Drive Self Test Time in the -i output, write protect
status has been added for SCSI and NVMe in the -i output,
IDD enhancements for SAS, IDD enhancements to allow
captive mode on SATA, added USB Hacks to better support
some odd-ball USB devices and prevent crashes and improve
performance for some operations on them by issuing test
unit ready commands when something fails during device
discovery, automatic fall back to SAT 10 byte commands
during device discovery to help work with some USB
devices, some Legacy SCSI support enhancements (partially
from USB hacks development), enhanced SD to SG mapping in
Linux.
v2.7.3 21-Sep-2018 1_18_2 libraries Added in reading os-release PRETTY_NAME
field to get the OS name under linux; NVMe enabled; fixed
a bug in the ATA activate FW command; added in reading ID
Data log and Device statistics logs page 0 to check the
list of supported pages; fixed a bug in the loop used to
read mode pages for -i information on SAS; IDD SAS
improvements; fixed a bug in DST & Clean with ATA drives
behind SCSI controllers. Fix for --modelMatch that have
spaces in the name. Added additional information to the
banner and -V data to show support levels. Add general
support for NVMe and NVMe specific identify data to "-i"
command.
v2.7.4 18-Oct-2018 1_18_3 libraries. Added NVMe generic read command support.
v2.8.0 03-May-2019 1_19_18 libraries added per device verbosity, --deviceInfo
adds SAS (not SATA) FastFormat for Features Supported
section.
v2.8.0 10-Jun-2019 1_19_23 libraries added SNTL (SCSI to NVMe translator),
updated software SAT translator to use dataset management
XL command, fixes for issuing vendor unique commands under
Windows, improved fast format support detection, and
refactored verbose output for NVMe commands.
v2.8.1 19-Jul-2019 1_19_24 libraries. Added --noTimeLimit.
v2.9.1 19-Feb-2020 1_21_30 libraries add in check for Elevated Privileges
(sudo, run as administrator) before trying to talk to
devices, new exit code 9 if privileges are missing;
printing the USB VID/PID in the device info; fix to sg
helper to support large systems; many changes in support
of dual actuators (example: warning that EPC settings
affect multiple LUNs); overhaul to USB device detection
and support, incorporating a new USB hacks and workarounds
approach which uses a lookup table listing various USB
bridge VIDs/PIDs and their specific issues; separate
Seagate SAS SN and PCBA SN.
v2.9.2 13-Apr-2020 1_21_30 libraries, fix memory allocation during the scan
command.
v3.0.0 20-Nov-2020 Changed how scan-flags are parsed. CSMI rewrite and initial
Intel RST NVMe support added. Numerous code quality improvements
which fixed many potential bugs and memory leaks. Improved
support for openfabrics NVMe drivers. Changed permissions
detection to show warnings rather than errors. Removed obsolete
CSMI and SAT 12B CDB options. CSMI handles now show as csmi:?:?:?
v3.0.2 12-Feb-2021 Added additional language for running/aborting Seagate IDD
operations. Also improved argument parsing for many options so
that hex or decimal inputs can be given for LBAs.
v3.1.0 16-Jun-2021 Pulled in FWDL change for making the ignore final segment
a standalone option: --fwdlIgnoreFinalSegment
This is only needed when updating specific legacy products
to new firmware.
Minor USB compatibility improvements and more products added
to the list with their specific workarounds.
Updated NVMe compatibility for FreeBSD 11.
Analyzed SMART attribute output for Seagate SATA HDDs.
Support for detection and showing of concurrent positioning
(new multi-actuator support from the standards).
v3.5.2 28-Feb-2023 Improved user experience with automatic FWDL mode. This will now
automatically do deferred download and activate or segmented
download automatically based on a drive's capabilities.
Includes new --noBanner option and new fast discovery option
that can be used in situations where super critical performance
is required at a loss of information about a drive's capabilities.
Help now has many more examples of the options in the tool.
Fixed a few bugs in scan and device discovery that could cause
a crash or the tool to list no devices found.
Added option to dump low-level info to assist with debugging.
Added date of manufacture info to the -i output when available.
Fixed some big endian compatibility issues discovered on AIX.
v3.5.2 27-Mar-2023 opensea-operations library updated to fix hybrid smart attribute
counters output. Also added note about DST log display order and
fixed attribute 198 name for Seagate HDDs.
Added automatic FWDL retry if deferred download fails in certain
scenarios to work around drive bugs.
Added workaround for overwrite not erasing some drives in Windows.
opensea-transport updated to fix CSMI scan duplicating devices
found in certain scenarios.
v3.5.4 01-Dec-2023 Updated to newer opensea-libs to pull in low-level fixes.
Stopped reading /etc/passwd file to show username in banner.
Banner will now show either "admin"/"root" or "current user".
Improved parsing of linux distro/release information from
/etc/os-release file.
Fixed a bug in byte swap string used to get ATA MN, SN, FW.
Fixed a bug in getting/reporting power on hours as years,
days, hours, etc where days was being truncated.
Fixed error reading NVMe features in Windows for drive info.
Fixed SAS Date of manufacture in drive info.
Added detection of HPA security feature.
Added more SMART attributes definitions for Seagate HDDs & SSDs,
and more definitions for Maxtor HDDs.
Improved temperature detection from older HDDs with only
SMART attribute 194 reporting current temperature.
Added separate warning for SMART attributes below threshold that
are not considered prefail/warranty attributes (aka failures).
Fixed output of Seagate Airflow temperature SMART attribute.
Added showing new capacity after changing Max LBA.
Fixed possible segmentation fault when reading /etc/mtab in Linux.
Workaround for some SAS drives on some HBAs reporting incorrect
response to SAT A1h CDB.
Fixed a bug in FreeBSD causing non-data ATA commands to report
all zeroes instead of expected output in RTFRs.
SeaChest_Configure 3/28
[top][prev][next]
SeaChest_Configure Revision: 04-Dec-2023
===============================================================================
SeaChest_Configure - Seagate drive utilities
Copyright (c) 2014-2023 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
See Version History below.
===============================================================================
Welcome to Seagate's SeaChest_Configure diagnostic software.
SeaChest_Configure is a comprehensive command line tool that can be used to
configure, change or set various properties on Seagate disk drives (this
includes Seagate, Maxtor, Samsung and LaCie). Some commands may cause existing
data on the drive to become inaccessible. Some commands may affect the
performance of the drive.
NOTE: SeaChest_Configure may not be fully functional on non-Seagate drives.
This User Guide file contains important information about SeaChest_Configure.
Please read this entire file before using this software.
If this is your drive, you should always keep a current backup of your
important data.
Be very careful using SeaChest_Configure. Power failure during a configuration
change may cause data loss. Seagate is not responsible for lost user data.
Important note: Many tests in this tool directly reference storage device data
sectors, also known as Logical Block Addresses (LBA). Test arguments may
require a starting LBA or an LBA range. The predefined variable 'maxLBA'
refers to the last sector on the drive. Many older SATA and SAS storage
controllers (also known as Host Bus Adapters [HBA]) have a maximum addressable
limit of 4294967295 [FFFFh] LBAs hard wired into their design. This equates to
2.1TB using 512 byte sectors. This also means accessing an LBA beyond the
2.1TB limitation either will result in an error or simply the last readable LBA
(usually LBA 4294967295 [FFFFh]) depending on the actual hardware. This
limitation can have important consequences. For example, if you intended to
erase a 4TB drive, then only the first 2TB will actually get erased (or maybe
even twice!) and the last 2TB will remain untouched. You should carefully
evaluate your system hardware to understand if your storage controllers provide
support for greater than 2.1TB.
Note: One gigabyte, or GB, equals one billion bytes when referring to hard
drive capacity. This software may use information provided by the operating
system to display capacity and volume size. The Windows file system uses a
binary calculation for gibibyte or GiB (2^30) which causes the abbreviated size
to appear smaller. The total number of bytes on a disk drive divided by the
decimal calculation for gigabyte or GB (10^9) shows the expected abbreviated
size. See this FAQ for more information
<http://knowledge.seagate.com/articles/en_US/FAQ/172191en?language=en_US>.
Usage - Linux (run with sudo)
=============================
SeaChest_Configure [-d <sg_device>] {arguments} {options}
Examples - Linux
================
sudo SeaChest_Configure --scan
sudo SeaChest_Configure -d /dev/sg2 --deviceInfo
Usage - Windows (run as administrator)
======================================
SeaChest_Configure [-d <PD_device>] {arguments} {options}
Examples - Windows
==================
SeaChest_Configure --scan
SeaChest_Configure -d PD0 --deviceInfo
==========================================================================================
SeaChest_Configure - Seagate drive utilities - NVMe Enabled
Copyright (c) 2014-2023 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
SeaChest_Configure Version: 2.5.0-6_2_0 X86_64
Build Date: Dec 1 2023
Today: Mon Dec 4 10:44:18 2023 User: current user
==========================================================================================
Usage
=====
SeaChest_Configure [-d <sg_device>] {arguments} {options}
Examples
========
SeaChest_Configure --scan
SeaChest_Configure -d /dev/sg<#> -i
SeaChest_Configure -d /dev/sg<#> --SATInfo
SeaChest_Configure -d /dev/sg<#> --llInfo
SeaChest_Configure -d /dev/sg<#> --phySpeed 2
SeaChest_Configure -d /dev/sg<#> --phySpeed 3 --sasPhy 1
SeaChest_Configure -d /dev/sg<#> --readLookAhead enable
SeaChest_Configure -d /dev/sg<#> --nvCache info
SeaChest_Configure -d /dev/sg<#> --writeCache disable
SeaChest_Configure -d /dev/sg<#> --sctWriteCache default
SeaChest_Configure -d /dev/sg<#> --sctWriteCacheReordering enable
SeaChest_Configure -d /dev/sg<#> --freeFall 0
SeaChest_Configure -d /dev/sg<#> --lowCurrentSpinup low
SeaChest_Configure -d /dev/sg<#> --puisFeature disable
SeaChest_Configure -d /dev/sg<#> --sscFeature enable
SeaChest_Configure -d /dev/sg<#> --readyLED info
SeaChest_Configure -d /dev/sg<#> --readyLED on
SeaChest_Configure -d /dev/sg<#> --sctReadTimer 5s
SeaChest_Configure -d /dev/sg<#> --sctWriteTimer 0 --volatile
SeaChest_Configure -d /dev/sg<#> --scsiLPReset all --scsiLPResetPage 06h
SeaChest_Configure -d /dev/sg<#> --scsiLPReset cumulative --scsiLPResetPage 02h --volatile
SeaChest_Configure -d /dev/sg<#> --showSCSIMP 0Ah
SeaChest_Configure -d /dev/sg<#> --showSCSIMP 0Ah --showSCSIMPControl saved
SeaChest_Configure -d /dev/sg<#> --showSCSIMP 0Ah --showMPOutputMode classic
SeaChest_Configure -d /dev/sg<#> --scsiMPReset 3Fh-FFh
SeaChest_Configure -d /dev/sg<#> --scsiMPSave 3Fh-FFh
SeaChest_Configure -d /dev/sg<#> --scsiMPRestore 3Fh-FFh
SeaChest_Configure -d /dev/sg<#> --setSCSIMP 08:2:2:1=0
SeaChest_Configure -d /dev/sg<#> --setSCSIMP file=modePageToChange.txt
SeaChest_Configure -d /dev/sg<#> --provision 134217728
SeaChest_Configure -d /dev/sg<#> --dcoIdentify
SeaChest_Configure -d /dev/sg<#> --dcoRestore
SeaChest_Configure -d /dev/sg<#> --dcoFreezeLock
SeaChest_Configure -d /dev/sg<#> --dcoSetMaxLBA 134217728 --dcoSetMaxMode udma4 --dcoDisableFeat hpa,puis,wrv
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.
--enableLegacyUSBPassthrough
Only use this option on old USB or IEEE1394 (Firewire)
products that do not otherwise work with the tool.
This option will enable a trial and error method that
attempts sending various ATA Identify commands through
vendor specific means. Because of this, certain products
that may respond in unintended ways since they may interpret
these commands differently than the bridge chip the command
was designed for.
--forceATA
Using this option will force the current drive to
be treated as a ATA drive. Only ATA commands will
be used to talk to the drive.
--forceATADMA (SATA Only)
Using this option will force the tool to issue SAT
commands to ATA device using the protocol set to DMA
whenever possible (on DMA commands).
This option can be combined with --forceATA
--forceATAPIO (SATA Only)
Using this option will force the tool to issue PIO
commands to ATA device when possible. This option can
be combined with --forceATA
--forceATAUDMA (SATA Only)
Using this option will force the tool to issue SAT
commands to ATA device using the protocol set to UDMA
whenever possible (on DMA commands).
This option can be combined with --forceATA
--forceSCSI
Using this option will force 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 to seaboard@seagate.com.
Include the output of --version information in the email.
--license
Display the Seagate End User License Agreement (EULA).
--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
--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 SeaChest_Configure 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 SeaChest_Configure version and copyright information & exit
Utility Arguments
=================
-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.
-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
-i, --deviceInfo
Show information and features for the storage device
--llInfo
Dump low-level information about the device to assist with debugging.
-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.
-S, --Scan
This option is the same as --scan or -s,
however it will also perform a low level rescan to pick up
other devices. This low level rescan may wake devices from low
power states and may cause the OS to re-enumerate them.
Use this option 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 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.
--phySpeed [0 | 1 | 2 | 3 | 4 | 5]
Use this option to change the PHY speed to a
new maximum value. On SAS, this option will
set all phys to the specified speed unless the
--sasPhy option is given to select a specific phy.
0 - allow full negotiation (default drive behavior)
1 - allow negotiation up to 1.5Gb/s
2 - allow negotiation up to 3.0Gb/s
3 - allow negotiation up to 6.0Gb/s
4 - allow negotiation up to 12.0Gb/s (SAS Only)
5 - allow negotiation up to 22.5Gb/s (SAS Only)
NOTE: SATA phy speed changes are only available on Seagate drives.
WARNING: Check the minimum phy speed supported by your adapter before
using this option. A phy speed below the adapter's capability
will result in the drive not being seen by the adapter or the OS.
WARNING: Changing Phy speed may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
--readLookAhead [info | enable | disable]
Use this option to enable or disable read look-ahead
support on a drive. Use the "info" argument to get
the current status of the read look ahead feature.
WARNING: Changing Read look-ahead may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
--restoreMaxLBA
Restore the max accessible address of your drive to its native
size. A power cycle is required after this command before
setting a new max LBA.
--setMaxLBA newMaxLBA
Set the max accessible address of your drive to any value less
than the device's default native size. A power cycle is
required after this command before resetting or setting a new
max LBA.
--writeCache [info | enable | disable]
Use this option to enable or disable write cache
support on a drive. Use the "info" argument to get
the current status of the write cache feature.
WARNING: Changing Write Cache may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
SATA Only:
========
--dcoFreezeLock (SATA Only)
Use this option to issue the DCO freeze-lock command. Issuing
this command will prevent the ability to modify available capabilities
or restore default capabilities until the device has been power cycled.
--dcoIdentify (SATA Only)
This option will list the capabilities that can be restricted with DCO.
Restricted capabilities are MWDMA and UDMA transfer modes, maximum LBA,
and some ATA features or commands.
This will not work if the device has been DCO frozen.
NOTE: Some motherboards will issue a DCO freezelock when booted.
If DCO is frozen each time the system is rebooted, try a
different system or add-in card to work around this.
--dcoRestore (SATA Only)
Use this option to restore device capabilities and features
hidden by DCO back to factory defaults.
This can only be used if DCO is not frozen and HPA has not
been used to reduce the maximum LBA already. Recommend restoring
the max LBA prior to this option for best results.
NOTE: Some motherboards will issue a DCO freezelock when booted.
If DCO is frozen each time the system is rebooted, try a
different system or add-in card to work around this.
--dcoSetMaxLBA [new max LBA] (SATA Only)
Use this option to set a lower max/native max LBA using the DCO
feature. This should be combined with --dcoSetMaxMode and --dcoDisableFeat
to make any and all DCO related changes at the same time in one command.
This will not work if the device has been DCO frozen.
NOTE: Some motherboards will issue a DCO freezelock when booted.
If DCO is frozen each time the system is rebooted, try a
different system or add-in card to work around this.
--dcoSetMaxMode [udma# | mwdma# | nodma] (SATA Only)
Use this option to set a different maximum supported DMA transfer mode
using the DCO feature. This should be combined with --dcoSetMaxLBA and --dcoDisableFeat
to make any and all DCO related changes at the same time in one command.
The following arguments are available. Supported modes are set based on
the provided maximum and all modes below the given maximum:
udma6 - UDMA 6 and lower, including all MWDMA modes
udma5 - UDMA 5 and lower, including all MWDMA modes
udma4 - UDMA 4 and lower, including all MWDMA modes
udma3 - UDMA 3 and lower, including all MWDMA modes
udma2 - UDMA 2 and lower, including all MWDMA modes
udma1 - UDMA 1 and lower, including all MWDMA modes
udma0 - UDMA 0 and lower, including all MWDMA modes
mwdma2 - MWDMA 2 and lower; No UDMA support
mwdma1 - MWDMA 1 and lower; No UDMA support
mwdma0 - MWDMA 0 and lower; No UDMA support
nodma - No MWDMA or UDMA mode support listed in identify.
This will not work if the device has been DCO frozen.
NOTE: Some motherboards will issue a DCO freezelock when booted.
If DCO is frozen each time the system is rebooted, try a
different system or add-in card to work around this.
--dcoDisableFeat [csv,list,of,features] (SATA Only)
Use this option to disable different ATA commands and features
using the DCO feature. This should be combined with --dcoSetMaxLBA and --dcoSetMaxMode
to make any and all DCO related changes at the same time in one command.
The following arguments are available. Specifying a feature that the drive
does not support restricting or does not support at all will not be
considered an error.
Below is a full list of features that can be given with this option.
it is unlikely a drive will support restricting all of these features.
wrv - Write-Read-Verify feature
smtCvSt - SMART Conveyance self-test
smtSelSt - SMART Seledtive self-test
fua - Forced Unit Access
tlc - Time Limited Commands
streaming - Streaming Feature set
48b - 48bit addressing
hpa - Host Protected Area (HPA)
aam - Automatic Accoustic Management
tcq - Tagged Command Queuing (TCQ)
puis - Power Up In Standby (PUIS)
sec - ATA Security
smtErrLog - SMART Error Logging
smtSt - SMART Self-test
smart - SMART Feature set
ssp - SATA Software Settings Preservation (SSP)
asyncNot - SATA Asynchronous Notification
ipm - SATA Interface Power Management
nzBuff - SATA Non-Zero Buffer Offsets
ncq - SATA Native Command Queuing (NCQ)
nvc - Non-Volatile Cache (NVCache)
nvcpm - NVCache Power Management
wue - Write Uncorrectable Ext
tcg - Trusted Computing Group
ffc - Free-fall Control
dsm - Data Set Management
trim - TRIM (Data Set Management)
epc - Extended Power Conditions
This will not work if the device has been DCO frozen.
NOTE: Some motherboards will issue a DCO freezelock when booted.
If DCO is frozen each time the system is rebooted, try a
different system or add-in card to work around this.
--freeFall [info | enable | disable | sensitivity value] (SATA only)
Use this option to configure the Free Fall control feature
found on some SATA drives. This feature allows the drive to
take action if it detects it is in free fall to protect the data
from harm due to a drop.
info - use this to see the current sensitivity value
enable - this option will set the sensitivity to the vendor's
recommended value.
disable - this will disable the free fall control feature.
sensitivity value - set a value between 1 and 255 to control
how sensitive the detection is. A value of zero
will set the vendor's recommended value.
--lowCurrentSpinup [ low | ultra | disable ] (SATA Only) (Seagate Only)
Use this option to set the state of the low current spinup
feature on Seagate SATA drives.
When this setting is enabled for low or ultra low mode,
the drive will take longer to spinup and become ready.
Note: This feature is not available on every drive.
Note: Some products will support low, but not the ultra
low current spinup mode.
--puisFeature [ enable | disable ] (SATA Only)
Use this option to enable or disable the power up in standby
(PUIS) feature on SATA drives.
Note: If this is configured on the drive with a jumper, this
command will fail.
Note2: Not all products support this feature.
WARNING: Before enabling this feature on any SAS/SATA HBA,
check the HBA documentation to see if this feature
is supported by the HBA. Enabling this on an HBA that
does not support this feature will cause the drive to
stop showing up to the host OS or even in the HBA's
firmware/BIOS/UEFI configuration.
--sscFeature [info | default | enable | disable] (SATA Only) (Seagate Only)
Use this option to change or view the SSC (Spread Spectrum
Clocking) mode on a Seagate SATA drive. Only change this
setting if you are experiencing compatibility problems with
the drive in a system.
info - show current SSC state
default - set to drive default mode
enable - enable SSC
disable - disable SSC
--sctReadTimer [info | value | default] (SATA Only)
Use this option to set the read command timer value for
synchronous commands and NCQ commands with in-order data
delivery enabled. Note: this timer starts at the time that
the drive processes the command, not the time it is received.
When using this option, the setting is non-volatile.
Use this with the --volatile flag to make the
Use the "info" argument to get the current status
of the read timer. A value of 0 means that all possible
error recovery will be performed before returning status.
Other values should include a unit to know the time to use.
If no unit is provided, it is assumed to be the value * 100 ms
Ex1: --sctReadTimer 15s for a 15 second timer.
Ex2: --sctReadTimer 15000ms for a 15 second timer expressed in milliseconds
Ex2: --sctReadTimer 150 for a 15 second timer with no units specified
The maximum time that can be specified is 1 hour, 49 minutes, 13 seconds
Using the "default" argument restores default settings.
Note: On some SAT HBAs/bridges, status will not be able to be
determined due to HBA/bridge limitations.
--sctWriteCache [info | enable | disable | default] (SATA Only)
Use this option to enable or disable write cache
support on a drive using SMART command transport.
When using this option, the setting is non-volatile.
Use this with the --volatile flag to make the
setting volatile.
When using this option, the --writeCache option
will always return success, but no write cache changes
will occur. This follows ATA spec.
Using the "default" argument returns the drive to
default settings and allowing the --writeCache
option to work again.
Use the "info" argument to get the current status
of the write cache feature. Note: On some SAT
HBAs/bridges, status will not be able to be
determined due to HBA/bridge limitations.
--sctWriteCacheReordering [info | enable | disable | default] (SATA Only)
Use this option to enable or disable write cache reordering
support on a drive using SMART command transport.
Write cache reordering allows the drive to reorder moving data
out of cache to media for better performance on synchronous
commands. Asynchronous commands are only affected when in-order
data delivery is enabled.
When using this option, the setting is non-volatile.
Use this with the --volatile flag to make the
setting volatile.
Use the "info" argument to get the current status
of the write cache reordering feature. Note: On some SAT
HBAs/bridges, status will not be able to be
determined due to HBA/bridge limitations.
--sctWriteTimer [info | value | default] (SATA Only)
Use this option to set the write command timer value for
synchronous commands and NCQ commands with in-order data
delivery enabled. Note: this timer starts at the time that
the drive processes the command, not the time it is received.
When using this option, the setting is non-volatile.
Use this with the --volatile flag to make the
Use the "info" argument to get the current status
of the write timer. A value of 0 means that all possible
error recovery will be performed before returning status.
Other values should include a unit to know the time to use.
If no unit is provided, it is assumed to be the value * 100 ms
Ex1: --sctWriteTimer 15s for a 15 second timer.
Ex2: --sctWriteTimer 15000ms for a 15 second timer expressed in milliseconds
Ex2: --sctWriteTimer 150 for a 15 second timer with no units specified
The maximum time that can be specified is 1 hour, 49 minutes, 13 seconds
Using the "default" argument restores default settings.
Note: On some SAT HBAs/bridges, status will not be able to be
determined due to HBA/bridge limitations.
SAS Only:
========
--nvCache [info | enable | disable] (SAS Only)
Use this option to enable or disable the SCSI Non-Volatile cache
on a drive. Use the "info" argument to get
the current status of the Non-Volatile Cache setting.
WARNING: Changing NV Cache may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
--readyLED [info | on | off | default] (SAS Only)
Use this option to get the current state or change the
behavior of the ready LED.
See the SPL spec for full details on how this changes LED
info - gets the current state of the ready LED.
on - sets the ready LED to usually off unless
processing a command.
off - sets the ready LED to usually on unless
processing a command
default - sets the ready LED to the drive's default value
WARNING: The EPC settings may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
--sasPhy [phy number] (SAS Only)
Use this option to specify a specific phy to use
with another option that uses a phy identifier value.
Some tool options will assume all SAS Phys when this
option is not present. Others will produce an error when
a specific phy is needed for an operation.
Use the -i option to learn more about the supported phys.
--scsiLPReset [cumulative | threshold | defCumulative | defThreshold | all] (SAS only)
Use this option to reset all SCSI Log Pages.
If the device is compliant with SPC4 or later, the
--scsiLPResetPage option may be used to specify a specific page to reset.
The --volatile option may also be passed to prevent saving changes.
cumulative - reset the cumulative values
threshold - reset the threshold values
defCumulative - reset the cumulative values to default without saving.
defThreshold - reset the threshold values to default without saving.
all - sends the log page reset command to all of the above control values
WARNING: Resetting log pages may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
--scsiLPResetPage [page# | page-subpage#] (SAS only)
This option is used to specify a specific page, and/or subpage
to be used with the --scsiLPReset option.
NOTE: This option will only work on newer drives compliant with
the SPC4 specification.
WARNING: Resetting log pages may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
--scsiMPReset [page# | page-subpage#] (SAS only)
This option will reset the specified mode page(s) to their default
settings. Valid page numbers range from 0 to 3Fh. Valid subpage numbers
range from 0 to FFh.
(MP) Mode page 3Fh specifies all mode pages and can be used to reset all mode pages.
(SP) Subpage FFh specifies all subpages of a given page and will reset all those subpages.
Using both MP 3Fh and SP FFh will reset all pages and subpages on a device.
WARNING: Resetting mode pages may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
--scsiMPRestore [page# | page-subpage#] (SAS only)
This option will restore the specified mode page(s) to their saved
settings. Valid page numbers range from 0 to 3Fh. Valid subpage numbers
range from 0 to FFh.
(MP) Mode page 3Fh specifies all mode pages and can be used to restore all mode pages.
(SP) Subpage FFH specifies all subpages of a given page and will restore all those subpages.
Using both MP 3Fh and SP FFh will restore all pages and subpages on a device.
WARNING: Restoring mode pages may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
--scsiMPSave [page# | page-subpage#] (SAS only)
This option will save the current specified mode page(s) to the saved
settings. Valid page numbers range from 0 to 3Fh. Valid subpage numbers
range from 0 to FFh.
(MP) Mode page 3Fh specifies all mode pages and can be used to save all mode pages.
(SP) Subpage FFH specifies all subpages of a given page and will save all those subpages.
Using both MP 3Fh and SP FFh will save all pages and subpages on a device.
WARNING: Saving mode pages may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
--setSCSIMP [ mp[-sp]:byte:highestBit:fieldWidthInBits=value | file=filename.txt ] (SAS only)
Use this option to set a specific field in a mode page to a value.
There are two argument formats to this option:
1. The first format expects a mode page (in hex), optionally a subpage code (in hex),
the byte offset that the field starts at (in decimal), the highest bit the field starts
at (0-7), the width of the field in as a number of bits (decimal), and the value to set (hex or decimal)
A maximum of 64bits can be set at a time with this option.
2. The second format is a text file that contains all bytes of the mode page in hex. Each byte
must be separated by a space, new line, or underscore. It is recommended that this file
is created by copy-pasting the output of the --showSCSIMP option's default classic view, then modifying
after that. Example use of the arguments:
1. Setting WCE to zero on caching MP from a file:
command line: file=cachingModePage.txt
File contents: 88 12 10 00 FF FF 00 00 FF FF FF FF 90 20 00 00 00 00 00 00
2. Setting WCE to zero on caching MP from command line:
command line: 08:2:2:1=0
3. Setting DLC to one on Control Extension MP from command line:
command line: 0A-01:4:3:1=1
WARNING: Changing mode pages may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
--showMPOutputMode [classic | buffer] (SAS Only)
Use this option to control the format of the output when displaying a SCSI mode page.
Modes:
classic - This output is a classic output from old SCSI manuals where the bytes of
the page are output in a rows across the screen in hexadecimal format.
buffer - This output is a formatted buffer showing offsets on the top and side in hex.
This will output each row with up to 16 bytes of data before moving to the
next row.
--showSCSIMP [page# | page-subpage#] (SAS only)
This option will display the specified mode page on the screen as raw
hexadecimal data bytes. Use --showSCSIMPControl to control the output.
If --showSCSIMPControl is not provided, the current values will be shown.
--showSCSIMPControl [current | default | saved | changeable | all] (SAS only)
Use this option to control the output of the --showSCSIMP option.
current - show the current values of the mode page.
default - show the default values of the mode page.
saved - show the saved values of the mode page.
changeable - show the changable fields in a mode page.
all - show all of the above formats for a given mode page.
Data Destructive Commands
=========================
--provision newMaxLBA
Provision your drive to a new max LBA to any value less
than the device's current max LBA. A power cycle is required
after this command before resetting the max LBA or changing
the provisioning again. This command erases all data between
the new maxLBA specified and the current maxLBA of the device.
using a TRIM/UNMAP command.
===============
Version History - SeaChest_Configure
===============
v1.0.0 02-May-2016 1_9_1 libraries. SeaChest_Configure Linux, initial beta
test release. Branched from SeaChest_Basics v2.0.0.
Added --lowCurrentSpinup
v1.1.1 19-May-2016 1_9_2 libraries fixed scan information from ATAPI devices.
Fixed a bug where we could accidentally clear some stored
identify data from the device structure. Fixed continuing
on when there was a permission denied error opening a
drive. Adjustments to --setSectorSize. Added
--sctWriteCache, --sctWriteCacheReordering.
v1.1.2 15-Jun-2016 1_9_3 libraries fixed issues with ATA secure erase
commands. Fixed bugs with --modelMatch and --onlyFW
filters. Support SATA non-volatile WCE.
v1.3.0 06-Jul-2016 1_10_0 libraries add --forceATA and --forceSCSI. Added
--puisFeature.
v1.3.1 14-Jul-2016 1_10_1 libraries adds SMART and power management
functions, format polling, endianess detection, buffer
size fixes, SAS device statistics, Win32 IOCTL
pass-through fix on Win8 and higher. Added support for
maxLBA keyword.
v1.4.0 01-Sep-2016 1_11_1 libraries add updates to various printed message,
minor bug fixes. Fixed --SATInfo command.
v1.4.0 21-Sep-2016 1_11_2 libraries updates adds --forceATADMA, --forceATAPIO
and --forceATAUDMA (SATA Only).
v1.5.0 10-Oct-2016 1_11_4 libraries updates. Support for multiple devices.
v1.5.0 25-Oct-2016 1_11_5 libraries updates improved LaCie detection, adds
SAT Vendor ID, SAT Product ID, and SAT Product Revision to
the -i --SATInfo output.
v1.5.1 27-Oct-2016 1_11_6 libraries updates WWN detection. Added
--enableLegacyUSBPassthrough
v1.5.1 03-Nov-2016 1_11_7 libraries fixed issue with SAS EPC power mode
settings.
v1.5.1 13-Dec-2016 1_11_10 libraries fixes a problem when using maxLBA without
the corresponding command range option, SAS power mode
setting, and Sanitize erase patterns.
v1.7.0 23-Feb-2017 1_13_0 libraries adds support for SAS 12.0Gb/s and
22.5Gb/s physical bus speeds, support for double buffered
passthrough IOCTLs. Add --sasPhy, --sscFeature. New -F,
--scanFlags [options: ignoreCSMI allowDuplicates] for
Windows tools. Add CSMI support to all Windows version
tools.
v1.7.0 06-Mar-2017 1_13_2 libraries adds Enhanced device information output
for SAS features.
v1.8.0 14-Jun-2017 1_15_0 libraries adds bug fix malformed command line
should exit with code = 1; added detection of parallel ATA
and SCSI speeds; temperature data on ATA now uses the
values from the SCT status log or device statistics log.
Bug fix where the "-d all" was not filtering out csmi
drives like it is supposed to causing duplicate drives to
show up. Adds the child drive matching options
--childModelMatch, --childOnlyFW, and --childNewFW.
v1.9.0 06-Jul-2017 Added --sctReadTimer, --sctWriteTimer.
v1.10.0 14-Jul-2017 1_16_1 libraries adds support for ATA drives that have the
Sense Data Reporting feature enabled, changes to how we
interpret the completion status from the drive, new Sense
Data ASC, ASCQ definitions from SPC5. Adds --Scan (or -S,
note the capital S) aggressive system scan.
v1.10.0 27-Jul-2017 1_16_2 libraries enhances Seagate brand detection.
v1.10.0 19-Sep-2017 1_16_4 libraries fixes SCSI "--progress format", added
reading remanufacture time for SAS when the drive reports
a time, fixed SAS --abortDST.
v1.10.0 25-Sep-2017 1_17_0 libraries adds improved SATA device discovery on
SAS adapters, added NVMe read, write & Flush commands.
v1.11.0 10-Oct-2017 1_17_1 libraries adds Better handling of NVMe as a SCSI
device, SAT library strings, and fixes to Read-Buffer
error history (ISL). Updated copyright notice, invalid
command line options now only display an error instead of
long help. Removed --setSectorSize now in SeaChest_Format.
v1.11.0 12-Oct-2017 1_17_3 libraries improves Fast-Format compatibility on SAS.
v1.11.0 26-Oct-2017 1_17_5 libraries fixes SATA drive discovery behind HBAs
that don't show as SATA and don't support the SAT VPD
page; added Automatic fallback to 12byte CDBs during
initial device discovery; integrated fixes for SAS
firmware download and fixes for SAS LongDST time
calculation; added detection of TCG Pyrite and Opalite
drives.
v1.11.0 31-Oct-2017 1_17_6 libraries adds ATA Security compatibility with SATL
on some LSI adapters, corrects firmware download issue
under Windows 10 API.
v1.11.0 02-Nov-2017 1_17_7 libraries fixes Long DST time on SCSI/SAS products.
v1.12.0 19-Apr-2018 1_18_0 libraries improves device detection of CD-ROM and
USB flash drives, support for early 90's PATA drives that
don't support LBA mode, bug fix where the last digit of
the SCSI Unit Serial Number was being dropped, additional
logic for deferred download completion status. --scan
--onlySeagate for just Seagate drives in a large system,
Long Drive Self Test Time in the -i output, write protect
status has been added for SCSI and NVMe in the -i output,
IDD enhancements for SAS, IDD enhancements to allow
captive mode on SATA, added USB Hacks to better support
some odd-ball USB devices and prevent crashes and improve
performance for some operations on them by issuing test
unit ready commands when something fails during device
discovery, automatic fall back to SAT 10 byte commands
during device discovery to help work with some USB
devices, some Legacy SCSI support enhancements (partially
from USB hacks development), enhanced SD to SG mapping in
Linux.
v1.12.2 21-Sep-2018 1_18_2 libraries Added in reading os-release PRETTY_NAME
field to get the OS name under linux; NVMe enabled; fixed
a bug in the ATA activate FW command; added in reading ID
Data log and Device statistics logs page 0 to check the
list of supported pages; fixed a bug in the loop used to
read mode pages for -i information on SAS; IDD SAS
improvements; fixed a bug in DST & Clean with ATA drives
behind SCSI controllers. Fix for --modelMatch that have
spaces in the name. Added additional information to the
banner and -V data to show support levels. Add general
support for NVMe and NVMe specific identify data to "-i"
command. Add --freeFall.
v1.12.2 18-Oct-2018 1_18_3 libraries Added NVMe generic read command support.
v1.13.0 07-Jan-2019 1_19_0 libraries added per device verbosity, --deviceInfo
adds SAS (not SATA) FastFormat for Features Supported
section.
v1.14.0 24-Jan-2019 Add Log and Mode Page commands --scsiLPReset,
--scsiLPResetPage, --scsiMPReset, --scsiMPRestore,
--scsiMPSave, --setSCSIMP, --showMPOutputMode,
--showSCSIMP, --showSCSIMPControl
v1.15.0 10-Feb-2019 Device information now shows "Low Current Spinup" status
v1.16.0 28-Feb-2019 Add ultra to --lowCurrentSpinup
v1.17.0 03-May-2019 1_19_18 libraries added per device verbosity, --deviceInfo
adds SAS (not SATA) FastFormat for Features Supported
section.
v1.17.0 10-Jun-2019 1_19_23 libraries added SNTL (SCSI to NVMe translator),
updated software SAT translator to use dataset management
XL command, fixes for issuing vendor unique commands under
Windows, improved fast format support detection, and
refactored verbose output for NVMe commands.
v1.18.1 19-Feb-2020 1_21_30 libraries add in check for Elevated Privileges
(sudo, run as administrator) before trying to talk to
devices, new exit code 9 if privileges are missing;
printing the USB VID/PID in the device info; fix to sg
helper to support large systems; many changes in support
of dual actuators (example: warning that EPC settings
affect multiple LUNs); overhaul to USB device detection
and support, incorporating a new USB hacks and workarounds
approach which uses a lookup table listing various USB
bridge VIDs/PIDs and their specific issues; separate
Seagate SAS SN and PCBA SN.
v1.18.2 13-Apr-2020 1_21_30 libraries, fix memory allocation during the scan
command.
v2.0.0 20-Nov-2020 Changed how scan-flags are parsed. CSMI rewrite and initial
Intel RST NVMe support added. Numerous code quality improvements
which fixed many potential bugs and memory leaks. Improved
support for openfabrics NVMe drivers. Changed permissions
detection to show warnings rather than errors. Removed obsolete
CSMI and SAT 12B CDB options. CSMI handles now show as csmi:?:?:?
v2.0.1 12-Feb-2021 Improved argument parsing to accept hex in addition to decimal for
many different options.
v2.0.2 16-Jun-2021 Minor USB compatibility improvements and more products added
to the list with their specific workarounds.
Updated NVMe compatibility for FreeBSD 11.
Support for detection and showing of concurrent positioning
(new multi-actuator support from the standards).
Fixed a bug in --setSCSIMP file=myFile.txt where it would
never properly interpret the file.
v2.3.1 28-Feb-2023 Includes new --noBanner option and new fast discovery option
that can be used in situations where super critical performance
is required at a loss of information about a drive's capabilities.
Help now has many more examples of the options in the tool.
v2.3.1 27-Mar-2023 opensea-transport updated to fix CSMI scan duplicating devices
found in certain scenarios.
v2.5.0 01-Dec-2023 Updated to newer opensea-libs to pull in low-level fixes.
Added support for configuring ATA DCO feature.
Added additional options for ATA SCT ERC from ACS-4.
Stopped reading /etc/passwd file to show username in banner.
Banner will now show either "admin"/"root" or "current user".
Improved parsing of linux distro/release information from
/etc/os-release file.
Fixed a bug in byte swap string used to get ATA MN, SN, FW.
Fixed a bug in getting/reporting power on hours as years,
days, hours, etc where days was being truncated.
Fixed error reading NVMe features in Windows for drive info.
Fixed SAS Date of manufacture in drive info.
Added detection of HPA security feature.
Added more SMART attributes definitions for Seagate HDDs & SSDs,
and more definitions for Maxtor HDDs.
Improved temperature detection from older HDDs with only
SMART attribute 194 reporting current temperature.
Added separate warning for SMART attributes below threshold that
are not considered prefail/warranty attributes (aka failures).
Fixed output of Seagate Airflow temperature SMART attribute.
Added showing new capacity after changing Max LBA.
Fixed possible segmentation fault when reading /etc/mtab in Linux.
Workaround for some SAS drives on some HBAs reporting incorrect
response to SAT A1h CDB.
Fixed a bug in FreeBSD causing non-data ATA commands to report
all zeroes instead of expected output in RTFRs.
SeaChest_Erase 4/28
[top][prev][next]
SeaChest_Erase Revision: 04-Dec-2023
===============================================================================
SeaChest_Erase - Seagate drive utilities
Copyright (c) 2014-2023 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
See Version History below.
===============================================================================
Welcome to Seagate's SeaChest_Erase diagnostic software.
SeaChest_Erase is a comprehensive command line tool that can be used to
efficiently erase data on Seagate disk drives (this includes Seagate, Maxtor,
Samsung and LaCie).
NOTE: SeaChest_Erase may not be fully functional on non-Seagate drives.
NOTE: Windows 8, Windows Server 2012 and newer do not support the Sanitize
command set.
This User Guide file contains important information about SeaChest_Erase.
Please read this entire file before using this software.
If this is your drive, you should always keep a current backup of your
important data.
If this is not your drive and the original owner has no claim of ownership to
it or the data stored on it, then you may still be responsible for the data in
your possession. To protect yourself from potential liability and to protect
the previous owner's privacy, you should remove all data by performing a data
erasure on this drive.
Be very careful because using SeaChest_Erase will cause data loss. Seagate is
not responsible for lost user data.
Important note: Many tests in this tool directly reference storage device data
sectors, also known as Logical Block Addresses (LBA). Test arguments may
require a starting LBA or an LBA range. The predefined variable 'maxLBA'
refers to the last sector on the drive. Many older SATA and SAS storage
controllers (also known as Host Bus Adapters [HBA]) have a maximum addressable
limit of 4294967295 [FFFFh] LBAs hard wired into their design. This equates to
2.1TB using 512 byte sectors. This also means accessing an LBA beyond the
2.1TB limitation either will result in an error or simply the last readable LBA
(usually LBA 4294967295 [FFFFh]) depending on the actual hardware. This
limitation can have important consequences. For example, if you intended to
erase a 4TB drive, then only the first 2TB will actually get erased (or maybe
even twice!) and the last 2TB will remain untouched. You should carefully
evaluate your system hardware to understand if your storage controllers provide
support for greater than 2.1TB.
Note: One gigabyte, or GB, equals one billion bytes when referring to hard
drive capacity. This software may use information provided by the operating
system to display capacity and volume size. The Windows file system uses a
binary calculation for gibibyte or GiB (2^30) which causes the abbreviated size
to appear smaller. The total number of bytes on a disk drive divided by the
decimal calculation for gigabyte or GB (10^9) shows the expected abbreviated
size. See this FAQ for more information
<http://knowledge.seagate.com/articles/en_US/FAQ/172191en?language=en_US>.
NOTE: Windows 8, Windows Server 2012 and newer do not support the Sanitize
command set.
Usage - Linux (run with sudo)
=============================
SeaChest_Erase [-d <sg_device>] {arguments} {options}
Examples - Linux
================
sudo SeaChest_Erase --scan
sudo SeaChest_Erase -d /dev/sg2 -i
sudo SeaChest_Erase --device /dev/sg1 --sanitize info
Usage - Windows (run as administrator)
======================================
SeaChest_Erase [-d <PD_device>] {arguments} {options}
Examples - Windows
==================
SeaChest_Erase --scan
SeaChest_Erase -d PD2 -i
SeaChest_Erase --device PD1 --sanitize info
==========================================================================================
SeaChest_Erase - Seagate drive utilities - NVMe Enabled
Copyright (c) 2014-2023 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
SeaChest_Erase Version: 4.3.6-6_2_0 X86_64
Build Date: Dec 1 2023
Today: Mon Dec 4 10:44:18 2023 User: current user
==========================================================================================
Usage
=====
SeaChest_Erase [-d <sg_device>] {arguments} {options}
Examples
========
SeaChest_Erase --scan
SeaChest_Erase -d /dev/sg<#> -i
SeaChest_Erase -d /dev/sg<#> --SATInfo
SeaChest_Erase -d /dev/sg<#> --llInfo
SeaChest_Erase -d /dev/sg<#> --showEraseSupport
SeaChest_Erase -d /dev/sg<#> --performQuickestErase --poll
SeaChest_Erase -d /dev/sg<#> --overwrite 0
SeaChest_Erase -d /dev/sg<#> --overwrite 1000 --overwriteRange 2000
SeaChest_Erase -d /dev/sg<#> --overwrite 0 --hours 1
SeaChest_Erase -d /dev/sg<#> --overwrite 0 --pattern repeat:04ABCDEFh
SeaChest_Erase -d /dev/sg<#> --writeSame 0 --poll
SeaChest_Erase -d /dev/sg<#> --writeSame 1000 --writeSameRange 2000 --poll
SeaChest_Erase -d /dev/sg<#> --sanitize overwrite --poll
SeaChest_Erase -d /dev/sg<#> --sanitize overwrite --poll --pattern random
SeaChest_Erase -d /dev/sg<#> --sanitize cryptoerase --poll
SeaChest_Erase -d /dev/sg<#> --ataSecureErase enhanced
SeaChest_Erase -d /dev/sg<#> --ataSecureErase enhanced --ataSecPassword AutoATAWindowsString12345678901 --ataSecPassType user
SeaChest_Erase -d /dev/sg<#> --trim 0
SeaChest_Erase -d /dev/sg<#> --trim 1000 --trimRange 2000
SeaChest_Erase -d /dev/sg<#> --formatUnit current --poll
SeaChest_Erase -d /dev/sg<#> --formatUnit current --poll --pattern file:path/to/myFile.bin
SeaChest_Erase -d /dev/sg<#> --nvmFormat current --poll
SeaChest_Erase -d /dev/sg<#> --nvmFormat 4096 --poll
SeaChest_Erase -d /dev/sg<#> --nvmFormat current --poll --nvmFmtSecErase user
SeaChest_Erase -d /dev/sg<#> --nvmFormat current --poll --nvmFmtPI 1
SeaChest_Erase -d /dev/sg<#> --eraseRestoreMaxPrep
SeaChest_Erase -d /dev/sg<#> --eraseRestoreMaxPrep --overwrite 0
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
---SeaChest_Erase specific exit codes---
32 = Zero Validation Failure
Anything else = unknown error
Utility Options
===============
--echoCommandLine
Echo the command line entered into the utility on the screen.
--enableLegacyUSBPassthrough
Only use this option on old USB or IEEE1394 (Firewire)
products that do not otherwise work with the tool.
This option will enable a trial and error method that
attempts sending various ATA Identify commands through
vendor specific means. Because of this, certain products
that may respond in unintended ways since they may interpret
these commands differently than the bridge chip the command
was designed for.
--forceATA
Using this option will force the current drive to
be treated as a ATA drive. Only ATA commands will
be used to talk to the drive.
--forceATADMA (SATA Only)
Using this option will force the tool to issue SAT
commands to ATA device using the protocol set to DMA
whenever possible (on DMA commands).
This option can be combined with --forceATA
--forceATAPIO (SATA Only)
Using this option will force the tool to issue PIO
commands to ATA device when possible. This option can
be combined with --forceATA
--forceATAUDMA (SATA Only)
Using this option will force the tool to issue SAT
commands to ATA device using the protocol set to UDMA
whenever possible (on DMA commands).
This option can be combined with --forceATA
--forceSCSI
Using this option will force 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 to seaboard@seagate.com.
Include the output of --version information in the email.
--hideLBACounter
Use this option to suppress the output from
options that show LBA counters without turning
off all output to the screen.
--license
Display the Seagate End User License Agreement (EULA).
--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
--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 SeaChest_Erase 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 SeaChest_Erase version and copyright information & exit
Utility Arguments
=================
-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.
--displayLBA [LBA]
This option will read and display the contents of
the specified LBA to the screen. The display format
is hexadecimal with an ASCII translation on the side
(when available).
-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
-i, --deviceInfo
Show information and features for the storage device
--llInfo
Dump low-level information about the device to assist with debugging.
--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 [sanitize | format | 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%.
-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.
-S, --Scan
This option is the same as --scan or -s,
however it will also perform a low level rescan to pick up
other devices. This low level rescan may wake devices from low
power states and may cause the OS to re-enumerate them.
Use this option 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 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.
--hours [hours]
Use this option to specify a time in hours
for a timed operation to run.
--minutes [minutes]
Use this option to specify a time in minutes
for a timed operation to run.
--psid [32-digit alpha-numeric code from drive label]
This option can be used to specify the value of the PSID.
This may be required in order to perform certain TCG
operations.
On Seagate drives, PSIDs are 32 digits long, all uppercase,
and uses zeros and ones but do NOT use O's and I's.
Additionally, it is possible to exhaust the number of attempts
the device allows. Seagate drives have this set to 5 attempts.
Once this is exhausted, a full power cycle of the device is required
before you can try again.
--seconds [seconds]
Use this option to specify a time in seconds
for a timed operation to run.
--eraseRestoreMaxPrep
This option will attempt to restore the max LBA to the highest
user addressable sector prior to beginning a drive erasure.
If any failure is encountered while restoring the maxLBA, then
an error will be indicated and the erase will not be started or
attempted until other user intervention can be completed.
If a feature is frozen, locked, or has already been used during
the current power cycle, then these things can cause a failure.
The solution is to power cycle the drive, but in some cases it may
be necessary to try a different computer or adapter as commands may
be blocked by the system or automatically issued by the BIOS to lock
access to capacity changing commands.
This option will handle the ATA HPA (Host Protected Area), AMAC (Accessible
Max Address Configuration), HPA Security Extension, and DCO (Device
Configuration Overlay) features in accordance with the specifications.
If the restore completes without error, then the erase will proceed
and additional errors will only be in relation to those erasure methods.
--showEraseSupport
This option checks the drive to determine which methods of
data erasure are supported and lists them, from fastest to
slowest.
WARNING: Some erase methods may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
--sid [yourTCGpassword]
This option can be used to specify the value of SID.
This may be required in order to perform certain TCG
operations. If this is not provided, MSID will be used
--zeroVerify [full | quick]
Use this option to verify drive content, whether it's set to zero or not.
This operation will read user accessible address and validate if content at
that address is zero or not.
Validation modes:
full - Complete drive will be scanned for verification.
quick - 0.1% of total capacity will be scanned for ID and OD validation along with
2 random addresses from 10000 equal size sections each.
SATA Only:
=========
--ataSATsecurityProtocol [enable | disable] (SATA only)
This option can be used to force enable or disable using the
ATA security protocol as specified in the SAT specification.
By default, the tool will use this method when it is supported
to allow the SATL to understand and manage the security commands
being performed and prevent other issues.
--ataSecPassword ["ASCII password" | SeaChest | empty] (SATA only)
Use this option to specify a password to use with an ATA security
operation. If specifying a password with spaces, quotes must be used.
If SeaChest is given, the default SeaChest password will be used.
If empty is given, an empty password will be used.
Examples:
"This is a valid password"
ThisIsAlsoValid
"This password uses \"quotes\"
"This password is \/\/eird"
--ataSecPassType [user | master] (SATA only)
Use this option to specify if the password being given with the
--ataSecPassword option is a user or a master password.
If this option is not provided, user is assumed.
--ataSecPWMod [byteswapped | zeropad | spacepad | fpad | leftAlign | rightAlign | uppercase | lowercase | invertcase] (SATA Only)
Use this option to have the utility make modifications to
the ATA security password to attempt other various ways it may
be sent by a system bios. These are not guaranteed to work, but
may help unlock a drive that was locked by a BIOS that encoded
the password in a unique way.
This option can be presented multiple times to select multiple modificaitons.
EX: --ataSecPWMod byteswapped --ataSecPWMod invertcase
byteswapped - byteswaps the password. EX: blah -> lbha
zeropad - zero pads the password if less than 32 characters
spacepad - space pads the password if less than 32 characters
fpad - pads the passwords with Fh (all 1's) if less than 32characters
leftAlign - left aligns the password in the buffer
rightAlign - right aligns the password in the buffer
uppercase - sends the password as all uppercase
lowercase - sends the password as all lowercase
invertcase - switches uppercase for lower, and lowercase for upper
Data Destructive Commands
=========================
Data sanitization capabilities:
Recommendation - Restore the MaxLBA of the device prior to any erase in
order to allow the drive to erase all user addressable
sectors. For ATA devices this means restoring
HPA + DCO / AMAC to restore the maxLBA.
Restoring the MaxLBA also allows full verification of
all user addressable space on the device without a
limitation from a lower maxLBA.
Clear - Logical techniques are applied to all addressable storage
locations, protecting against simple, non-invasive data
recovery techniques.
Clear, Possible Purge - Cryptographic erase is a purge if the vendor
implementation meets the requirements in IEEE 2883-2022.
Purge - Logical techniques that target user data, overprovisioning,
unused space, and bad blocks rendering data recovery infeasible
even with state-of-the-art laboratory techniques.
This utility does not support clear/purge verification yet. All labels are
written according to the expectation that the device firmware will meet
these capabilities as defined in the appropriate standards from T10, T13,
SATA - IO, and NVMexpress.
=========================
--overwrite [starting LBA] (Clear)
Use this option to start an overwrite erase at
the specified starting LBA. Combine this option
with overwriteRange or time options (hours, minutes
seconds) to erase a portion of the drive.
--overwriteRange [range in # of LBAs] (Clear)
Use with the overwrite option (--overwrite) to
erase a range of LBAs on the selected drive.
--pattern [repeat:asciinospaces | random | increment:startValue | file:filename]
Use this option with overwrite, sanitize, and format unit
operations to write a specific pattern to a range of LBAs
or the whole drive.
* repeat - without spaces, enter an ASCII text string or a
hexadecimal string terminated by a lower case "h". This
pattern will be repeated until it fills the logical size
of the LBA. i.e. helloword or FFFFFFFFh
Note: A hexadecimal pattern will be interpreted as a 32bit
unsigned integer. 4 hex bytes (8 characters) must be given
for a hex value to be used. Ex: 1F037AC8h or 0000FFFFh
* random - the entire logical sector size will be filled with
random bytes.This pattern will be written to all LBAs in the
desired range.
* increment - enter the starting numerical value. Starting with
this value, each byte will be written with 1 + previous value.
* file - user supplied file name to use for a pattern. The file
will be truncated or padded with zeros to the logical sector size
Note 1: Each file will be interpreted as a binary file.
Note 2: A path must also be provided if the file is not in the
local directory.
Note 3: Sanitize Overwrite on SATA only supports a 32bit pattern.
The file option will get truncated to a 32bit pattern for
SATA products.
--performQuickestErase
This option checks the drive to determine which methods of
data erasure are supported and determines which is the
quickest to erase ALL data on the drive. It then starts the
quickest erase. Combine this option with the --poll option to
enable polling for progress on the fastest erase.
Note: Some erase methods require polling and will have polling
enabled by default.
Note 2: If revertSP is the fastest, it will not be started since
the drive PSID must be passed in on the command line.
WARNING: Some erase methods may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
--revert (Purge)
This operation performs an Opal SSC spec Revert on the adminSP.
This operation is only available on Seagate TCG Opal drives.
Revert meets data sanitization purge capabilities to erase data
for Opal, Opalite, and Ruby SSCs
The --psid flag can be provided to perform the revert with
the PSID authority in case of a lost password.
The --sid flag can be provided to perform the revert with SID.
If neither the --psid or the --sid options are provided, then the
revert will be sent setting SID as the MSID value. This will only work
on a drive not already activated by security software.
Upon completion, the drive will be "like new" with all
user data being cryptographically erased and all other settings
set to factory defaults. If this operation fails, try using --revertSP
instead.
WARNING: The Revert may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
--revertSP (Purge)
This operation performs a revertSP on a Seagate SED drive
in the adminSP with the PSID.
RevertSP meets data sanitization purge capabilities to erase data
for Opal, Opalite, and Ruby SSCs
RevertSP also meets data sanitization purge capabilities to erase data
on Seagate TCG Enterprise SSC HDDs
The PSID must be provided using the --psid option.
This operation is available on all Seagate SED HDD drives and some SSDs.
Upon completion, the drive will be "like new" with all
user data being cryptographically erased and all other
settings set to factory defaults.
WARNING: The RevertSP may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
--sanitize [info | blockerase | cryptoerase |
overwrite | freezelock | antifreezelock] (Purge)
Use the info argument to show supported sanitize operations.
Optionally, use blockerase, cryptoerase, or overwrite to start
a sanitize operation. Adding the --poll option will cause
SeaChest_Erase to poll the drive for progress until the
operation is complete, or has aborted for some reason. All
sanitize erase operations are persistent across a power cycle
and cannot be stopped
Example: --sanitize blockerase --poll
* blockerase on some solid state drives is very fast at less
than one (1) second, while others may take more that 30 seconds
This operation performs a physical low level block erase
operation on all current, past, and potential user data.
The contents on user data are indeterminate upon completion.
* cryptoerase is very fast at less than one (1) second. It
changes the internal encryption keys that are used for user
data causing all previous data to be useless.
* overwrite is a physical overwrite on all current, past, and
potential user data. The ATA and SCSI specifications allow a
user defined pattern and multiple passes. SeaChest_Erase will
use a zero pattern and a single pass for this operation.
* freezelock is a command to block processing of sanitize
operations until a power cycle is performed on a device.
It is only available on ATA drives. Once this command has been
sent, the freezelock status becomes immediate and cannot be
cleared until the drive has been powered off. All sanitize
commands, except a sanitize status will be aborted.
* antifreezelock is a command that is designed to block a
freezelock command from locking out the sanitize feature set.
It is only available on ATA drives that support the ACS3, or
newer specification.
WARNING: Sanitize may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
--trim or --unmap [starting LBA]
Use one of these options to start a trim or
unmap operation on a drive at the provided LBA.
A range must also be provided with the range option.
--trimRange or --unmapRange [range in # of LBAs]
Use one of these options to specify a range to trim
or unmap on a drive. A starting point must be specified
with the --trim/--unmapRange option.
--writeSame [starting LBA] (Clear)
Enter a starting lba to begin a write same on to erase a range
of data on the drive. On SCSI devices, this uses the
writesame16 command. On ATA devices, this uses the SCT writesame
feature. Combine this option with the writeSameRange option to
select the range. This operation will write 0's to the device for the
specified range. For SATA drives, this option will poll for progress
until the write same has completed. SAS/SCSI drives will hold the
tool busy until the write same has completed without progress
indication since this is not possible on SAS/SCSI due to specification
limitations on how write same was defined.
On SATA, if any other commands are sent to the drive while it's
performing a write same, the write same will be aborted.
NOTE: On SAS/SCSI drives this command is optional. Additionally,
the range may be limited to much less than the full device
size. Due to the history of this command, there is not a great
way to confirm support in all cases. Some ranges will be too
large, and some devices may or may not allow writing the full
medium in a single command. If you wish to write an entire
device, consider a different command such as format unit or
sanitize overwrite to accomplish this.
--writeSameRange [range in # of LBAs]
Specify a range to writesame to. Use this option with the
writeSame option in order to begin a write same operation.
SATA Only:
=========
--ataSecureErase [normal | enhanced] (SATA only) (Clear | Purge)
Use "normal" to start a standard ATA security erase (Clear)
or "enhanced" to start an enhanced ATA security erase (Purge).
ATA Security Erase takes a very long time to complete at
approximately three (3) hours per Tera-byte (HDD). Some Seagate
SED models will perform a quick cryptographic erase in enhanced
mode and the time for completion is reported as 2 minutes by
the drive, but will take only seconds. This industry
standard command begins by locking the drive with a temporary
password which is cleared at the end of the erasure. Do not run
this command unless you have ample time to allow it to run
through to the end. If the procedure is interrupted prior to
completion, then the drive will remain in a locked state and
you must manually restart from the beginning again. The
tool will attempt to automatically clear the password that was set
upon failure. The default password used by the tool is
"SeaChest", plain ASCII letters without the quotes
* normal writes binary zeros (0) or ones (1) to all user
data areas.
* enhanced will fill all user data areas and reallocated
user data with a vendor specific pattern. Some Seagate
Instant Secure Erase will perform a cryptographic
erase instead of an overwrite.
SAS Only:
=========
--fastFormat [fast format mode] (SAS Only) (SBC4 required)
Use this option with the --formatUnit option
to run a fast format.
Changing sector sizes is intended for supported Seagate products
used in some hardware RAID configurations. Please consult your
hardware RAID documentation for information about compatibility and
using 4K native sectors before using this option!
Software RAID or individual/JBOD drive solutions will see no benefit as modern
file systems and modern operating systems are already 4K aware even on
512 emulation drives. Modern operating systems already align file systems to 4K
boundaries required by these drives for optimal performance.
Performing a sector size change is data destructive and has a risk that
the adapter, driver, or operating system may not know how to communicate with
the device once this has completed.
[49m[38;5;9m There is an additional risk when performing a low-level fast format that may
make the drive inoperable if it is reset at any time while it is formatting.
[0m Available fast format modes:
0 - This is a standard format unit command. All logical
blocks will be overwritten. This command will take a
very long time
1 - This is a fast format unit command keeping existing
data in physical sector. This option can be used to
quickly change the the logical sector size between
5xxe and 4xxx. The media may be readable, but data
may be unspecified or may return errors on read access
according to it's error processing algorithms.
2 - This is a fast format unit command that can change the
logical sector size quickly. Media may or may not be
read accessible until a write has been performed to
the media.
[49m[38;5;11m WARNING: Any interruption to the device while it is formatting may render the
drive inoperable! Use this at your own risk!
WARNING: Set sector size may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
WARNING: Disable any out-of-band management systems/services/daemons
before using this option. Interruptions can be caused by these
and may prevent completion of a sector size change.
WARNING: It is recommended that this operation is done from a bootable environment
(Live USB) to reduce the risk of OS background activities running and
triggering a device reset while reformating the drive.
[0m --formatUnit [current | new sector size] (SAS Only) (Clear)
This option will start a format unit operation on a SAS drive
Use "current" to perform a format unit operation with the
Sector size currently being used, otherwise enter a new sector
size to use upon format completion. This command will erase all
data on the drive. Combine this option with --poll to poll
for progress until the format is complete.
Changing sector sizes is intended for supported Seagate products
used in some hardware RAID configurations. Please consult your
hardware RAID documentation for information about compatibility and
supported/required sector sizes!
WARNING: Format Unit may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
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.
NVMe Only:
=========
--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.
===============
Version History - SeaChest_Erase
===============
SeaChest_Erase is branched off from SeaChest Basics v1.0.3.
v0.0.1 14-Mar-2015 Added --writeSame, --revertSP and TCG --revert.
v0.0.2 21-May-2015 Added --testUnitReady. Improved device discovery.
v0.0.3 12-Aug-2015 Modified some commands to consist of two parts - starting
LBA and LBA range count. Improved device discovery.
Corrections to verbose output.
v0.0.3 16-Oct-2015 1_7_0 libraries. Added enhanced version information.
Added -sat12byte to increase compatibility. Added
--SATInfo to compare ATA vs SCSI identification
differences.
v1.0.0 02-May-2016 1_9_1 libraries. Added new verbosity level. Added
--onlySeagate restriction. Added --modelMatch and
--onlyFW filters. Added logic change for --overwrite and
--trim commands to assume Max LBA (end of the drive) as
the range when the erase range is not specified. Added
--performQuickestErase, --formatUnit, --fastFormat,
--showEraseSupport.
v1.0.1 19-May-2016 1_9_2 libraries fixed scan information from ATAPI devices.
Fixed a bug where we could accidentally clear some stored
identify data from the device structure. Fixed continuing
on when there was a permission denied error opening a
drive. Adjustments to --fastFormat.
v1.0.2 15-Jun-2016 1_9_3 libraries fixed issues with ATA secure erase
commands. Fixed bugs with --modelMatch and --onlyFW
filters.
v1.1.0 06-Jul-2016 1_10_0 libraries add --forceATA and --forceSCSI. Added
--displayLBA and --pattern.
v1.1.1 14-Jul-2016 1_10_1 libraries adds SMART and power management
functions, format polling, endianess detection, buffer
size fixes, SAS device statistics, Win32 IOCTL
pass-through fix on Win8 and higher. Added support for
maxLBA keyword.
v1.2.0 01-Sep-2016 1_11_1 libraries updates to various printed message,
minor bug fixes. Fixed --SATInfo command.
v1.2.0 21-Sep-2016 1_11_2 libraries updates adds --forceATADMA, --forceATAPIO
and --forceATAUDMA (SATA Only).
v1.3.0 10-Oct-2016 1_11_4 libraries updates. Support for multiple devices.
v1.3.0 25-Oct-2016 1_11_5 libraries updates improved LaCie detection, adds
SAT Vendor ID, SAT Product ID, and SAT Product Revision to
the -i --SATInfo output.
v1.3.1 27-Oct-2016 1_11_6 libraries updates WWN detection. Added
--enableLegacyUSBPassthrough
v1.3.1 03-Nov-2016 1_11_7 libraries fixed issue with SAS EPC power mode
settings.
v1.3.2 10-Nov-2016 1_11_8 libraries fixed issue with Sanitize Overwrite
patterns. Also improved logic when using the various Range
commands.
v1.3.2 13-Dec-2016 1_11_10 libraries fixes a problem when using maxLBA without
the corresponding command range option, SAS power mode
setting, and Sanitize erase patterns.
v1.4.0 23-Feb-2017 1_13_0 libraries adds support for SAS 12.0Gb/s and
22.5Gb/s physical bus speeds, support for double buffered
passthrough IOCTLs. --showEraseSupport now gives overwrite
erase time estimate. --progress support for writesame
removed (caused test to abort), use --poll instead. Add
--hideLBACounter. New -F, --scanFlags [options: ignoreCSMI
allowDuplicates] for Windows tools. Add CSMI support to
all Windows version tools.
v1.4.0 06-Mar-2017 1_13_2 libraries adds Enhanced device information output
for SAS features.
v1.5.0 24-May-2017 1_14_3 libraries. Added "Storage Element Depopulation" if
a supported feature. Adds --showPhysicalElementStatus,
--forceSeagateDepop, --removePhysicalElement.
v1.6.0 14-Jun-2017 1_15_0 libraries adds bug fix malformed command line
should exit with code = 1; added detection of parallel ATA
and SCSI speeds; temperature data on ATA now uses the
values from the SCT status log or device statistics log.
Bug fix where the "-d all" was not filtering out csmi
drives like it is supposed to causing duplicate drives to
show up. Adds the child drive matching options
--childModelMatch, --childOnlyFW, and --childNewFW. Bug
fix with --showEraseSupport showing non-ascii characters.
Added --showPhysicalElementStatus and
--removePhysicalElement.
v1.7.0 14-Jul-2017 1_16_1 libraries adds support for ATA drives that have the
Sense Data Reporting feature enabled, changes to how we
interpret the completion status from the drive, new Sense
Data ASC, ASCQ definitions from SPC5. Adds --Scan (or -S,
note the capital S) aggressive system scan.
v1.7.0 27-Jul-2017 1_16_2 libraries enhances Seagate brand detection.
v1.7.0 19-Sep-2017 1_16_4 libraries fixes SCSI "--progress format", added
reading remanufacture time for SAS when the drive reports
a time, fixed SAS --abortDST.
v1.7.0 25-Sep-2017 1_17_0 libraries adds improved SATA device discovery on
SAS adapters, added NVMe read, write & Flush commands.
v1.7.1 10-Oct-2017 1_17_1 libraries adds Better handling of NVMe as a SCSI
device, SAT library strings, and fixes to Read-Buffer
error history (ISL). Updated copyright notice, invalid
command line options now only display an error instead of
long help. Added remanufacturing time for SCSI.
v1.7.3 12-Oct-2017 1_17_3 libraries improves Fast-Format compatibility on SAS.
Added detection of current SAS format protection mode.
v1.7.3 26-Oct-2017 1_17_5 libraries fixes SATA drive discovery behind HBAs
that don't show as SATA and don't support the SAT VPD
page; added Automatic fallback to 12byte CDBs during
initial device discovery; integrated fixes for SAS
firmware download and fixes for SAS LongDST time
calculation; added detection of TCG Pyrite and Opalite
drives.
v1.7.3 31-Oct-2017 1_17_6 libraries adds ATA Security compatibility with SATL
on some LSI adapters, corrects firmware download issue
under Windows 10 API.
v1.7.3 02-Nov-2017 1_17_7 libraries fixes Long DST time on SCSI/SAS products.
v1.7.3 19-Apr-2018 1_18_0 libraries improves device detection of CD-ROM and
USB flash drives, support for early 90's PATA drives that
don't support LBA mode, bug fix where the last digit of
the SCSI Unit Serial Number was being dropped, additional
logic for deferred download completion status. --scan
--onlySeagate for just Seagate drives in a large system,
Long Drive Self Test Time in the -i output, write protect
status has been added for SCSI and NVMe in the -i output,
IDD enhancements for SAS, IDD enhancements to allow
captive mode on SATA, added USB Hacks to better support
some odd-ball USB devices and prevent crashes and improve
performance for some operations on them by issuing test
unit ready commands when something fails during device
discovery, automatic fall back to SAT 10 byte commands
during device discovery to help work with some USB
devices, some Legacy SCSI support enhancements (partially
from USB hacks development), enhanced SD to SG mapping in
Linux. Removed immediate bit from SAS Fast Format.
v1.7.4 21-Sep-2018 1_18_2 libraries Added in reading os-release PRETTY_NAME
field to get the OS name under linux; NVMe enabled; fixed
a bug in the ATA activate FW command; added in reading ID
Data log and Device statistics logs page 0 to check the
list of supported pages; fixed a bug in the loop used to
read mode pages for -i information on SAS; IDD SAS
improvements; fixed a bug in DST & Clean with ATA drives
behind SCSI controllers. Fix for --modelMatch that have
spaces in the name. Added additional information to the
banner and -V data to show support levels. Add general
support for NVMe and NVMe specific identify data to "-i"
command.
v1.7.4 18-Oct-2018 1_18_3 libraries Added NVMe generic read command support.
v1.9.0 28-Feb-2019 1_19_2 libraries. ATA Security password options sometimes
needed for ATA Security Erase controls. Added
--ataSATsecurityProtocol, --ataSecPassword,
--ataSecPassType, --ataSecPWMod. Removed
--disableATASecurityPW. Rename --secureErase to
--ataSecureErase.
v2.0.0 03-May-2019 1_19_18 libraries added per device verbosity, --deviceInfo
adds SAS (not SATA) FastFormat for Features Supported
section, --deviceInfo now gives Low Current Spinup
status. Adds --psid (removes that argument from
--revertSP), adds --sid.
v2.0.1 10-Jun-2019 1_19_23 libraries added SNTL (SCSI to NVMe translator),
updated software SAT translator to use dataset management
XL command, fixes for issuing vendor unique commands under
Windows, improved fast format support detection, and
refactored verbose output for NVMe commands.
v2.1.1 19-Feb-2020 1_21_30 libraries add in check for Elevated Privileges
(sudo, run as administrator) before trying to talk to
devices, new exit code 9 if privileges are missing;
printing the USB VID/PID in the device info; fix to sg
helper to support large systems; many changes in support
of dual actuators (example: warning that EPC settings
affect multiple LUNs); overhaul to USB device detection
and support, incorporating a new USB hacks and workarounds
approach which uses a lookup table listing various USB
bridge VIDs/PIDs and their specific issues; separate
Seagate SAS SN and PCBA SN.
v2.1.2 13-Apr-2020 1_21_30 libraries, fix memory allocation during the scan
command.
v3.0.0 20-Nov-2020 Changed how scan-flags are parsed. CSMI rewrite and initial
Intel RST NVMe support added. Numerous code quality improvements
which fixed many potential bugs and memory leaks. Improved
support for openfabrics NVMe drivers. Changed permissions
detection to show warnings rather than errors. Removed obsolete
CSMI and SAT 12B CDB options. CSMI handles now show as csmi:?:?:?
Depopulation options are being moved to SeaChest_Format in future
releases. Supported in this version, but will be moved in the future.
Removed Trim/Unmap from supported erase methods and quickest erase
since these are "hints" that may cause an erase, but are not guaranteed.
v3.0.3 12-Feb-2021 Improved argument parsing to accept hex in addition to decimal for
many different options.
Marking depopulate & getPhysicalElement status options as obsolete
as they have been migrated to SeaChest_Format.
Setting fast-format to hold busy until complete for better results.
More messages are now displayed warning not to interrupt format/fast
format operations and depopulate.
opensea-transport code pulled in enhancements to attempt to block
other applications and the OS from interrupting format, fast format,
depopulate, and ATA security erase to prevent potential problems
during these operations or which may leave the drive in a bad state
if they are interrupted.
v3.1.0 27-Apr-2021 SATA write same automatically implied poll since progress checks
are not possible without stopping the write same that is in progress.
Fixed bugs in SAS write same detection.
v3.1.1 16-Jun-2021 Added more information about Seagate PSIDs to assist with
troubleshooting why a revert or revertSP may have failed.
Minor USB compatibility improvements and more products added
to the list with their specific workarounds.
Updated NVMe compatibility for FreeBSD 11.
Support for detection and showing of concurrent positioning
(new multi-actuator support from the standards).
v4.1.0 28-Feb-2023 Includes new --noBanner option and new fast discovery option
that can be used in situations where super critical performance
is required at a loss of information about a drive's capabilities.
Help now has many more examples of the options in the tool.
Added nvm format to list of options to do user secure erase. This
has also been pulled into the performQuickestErase option.
Fixed error in parsing --psid option causing it to report it was
always missing.
v4.1.0 27-Mar-2023 opensea-operations library updated to fix to add
workaround for overwrite not erasing some drives in Windows.
opensea-transport updated to fix CSMI scan duplicating devices
found in certain scenarios.
v4.3.6 01-Dec-2023 Updated to newer opensea-libs to pull in low-level fixes.
Added whether an erase qualifies as clear vs purge according
to IEEE 2883 in --showEraseSupport output.
Fixed a bug in Windows translating NVMe deallocate to SCSI unmap.
Improved Deallocate support detection for NVMe drives in Windows
with other NVMe drivers.
Added --eraseRestoreMaxPrep to handle restoring maxLBA taking
into account HPA, DCO, and AMAC features on ATA drives ahead of erasure.
Added --zeroVerify option to check a drive is filled with zeroes.
Stopped reading /etc/passwd file to show username in banner.
Banner will now show either "admin"/"root" or "current user".
Improved parsing of linux distro/release information from
/etc/os-release file.
Fixed a bug in byte swap string used to get ATA MN, SN, FW.
Fixed a bug in getting/reporting power on hours as years,
days, hours, etc where days was being truncated.
Fixed error reading NVMe features in Windows for drive info.
Fixed SAS Date of manufacture in drive info.
Added detection of HPA security feature.
Added more SMART attributes definitions for Seagate HDDs & SSDs,
and more definitions for Maxtor HDDs.
Improved temperature detection from older HDDs with only
SMART attribute 194 reporting current temperature.
Added separate warning for SMART attributes below threshold that
are not considered prefail/warranty attributes (aka failures).
Fixed output of Seagate Airflow temperature SMART attribute.
Added showing new capacity after changing Max LBA.
Fixed possible segmentation fault when reading /etc/mtab in Linux.
Workaround for some SAS drives on some HBAs reporting incorrect
response to SAT A1h CDB.
Fixed a bug in FreeBSD causing non-data ATA commands to report
all zeroes instead of expected output in RTFRs.
SeaChest_Firmware 5/28
[top][prev][next]
SeaChest_Firmware Revision: 04-Dec-2023
===============================================================================
SeaChest_Firmware - Seagate drive utilities
Copyright (c) 2014-2023 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
See Version History below.
===============================================================================
Welcome to Seagate's SeaChest_Firmware diagnostic software.
SeaChest_Firmware is a comprehensive command line tool that can be used to
update firmware, also known as microcode, on Seagate disk drives (this includes
Seagate, Maxtor, Samsung and LaCie).
Seagate products are run by firmware. Having the latest firmware can improve
performance and or reliability of your product. Seagate recommends applying
new firmware to enhance the performance and or reliability of your drive. Like
any software, firmware is improved over time and problems are also fixed.ÂÂ
Every drive family has a couple of firmware releases during the life of the
product. Please check in regularly to determine if new firmware is available
for your drive.
SeaChest_Firmware allows for both single drive and sequential batch mode
firmware download.
NOTE: Windows severely restricts downloading firmware to SATA drives. Please
see the section below "Windows Restrictions Over SATA Firmware Downloads".
SeaChest_Firmware may not be fully functional on non-Seagate drives.
This User Guide file contains important information about SeaChest_Firmware.
Please read this entire file before using this software.
If this is your drive, you should always keep a current backup of your
important data.
Be very careful using SeaChest_Firmware. Power failure during a firmware
download will cause data loss. Never apply firmware to a drive unless you are
certain that the firmware data file is specifically prepared for your drive.
Seagate is not responsible for lost user data.
Usage - Linux (run with sudo)
=============================
SeaChest_Firmware [-d <sg_device>] {arguments} {options}
Examples - Linux
================
sudo SeaChest_Firmware --scan
sudo SeaChest_Firmware -d /dev/sg2 -i
sudo SeaChest_Firmware -d /dev/sg2 --fwdlInfo
sudo SeaChest_Firmware -d /dev/sg2 --downloadFW fwfilename
sudo SeaChest_Firmware -d /dev/sg2 --fwdlConfig configfile.cfs
Usage - Windows (run as administrator)
======================================
SeaChest_Firmware [-d <PD_device>] {arguments} {options}
Examples - Windows
==================
SeaChest_Firmware --scan
SeaChest_Firmware -d PD2 -i
SeaChest_Firmware -d PD2 --fwdlInfo
SeaChest_Firmware -d PD2 --fwdlConfig configfile.cfs
==========================================================================================
SeaChest_Firmware - Seagate drive utilities - NVMe Enabled
Copyright (c) 2014-2023 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
SeaChest_Firmware Version: 4.0.0-6_2_0 X86_64
Build Date: Dec 1 2023
Today: Mon Dec 4 10:44:18 2023 User: current user
==========================================================================================
Usage
=====
SeaChest_Firmware [-d <sg_device>] {arguments} {options}
Examples
========
SeaChest_Firmware --scan
SeaChest_Firmware -d /dev/sg<#> -i
SeaChest_Firmware -d /dev/sg<#> --SATInfo
SeaChest_Firmware -d /dev/sg<#> --llInfo
SeaChest_Firmware -d /dev/sg<#> --fwdlInfo
Updating firmware:
SeaChest_Firmware -d /dev/sg<#> --downloadFW file.bin
Updating firmware with deferred download and activating:
SeaChest_Firmware -d /dev/sg<#> --downloadFW file.bin --downloadMode deferred --activateFW
Updating firmware and specifying a firmware slot (NVMe)
SeaChest_Firmware -d /dev/sg<#> --downloadFW file.bin --downloadMode deferred
+
SeaChest_Firmware -d /dev/sg<#> --activateFW --firmwareSlot 2
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
---SeaChest_Firmware specific exit codes---
32 = Firmware Download Complete
33 = Deferred Firmware Download Complete
34 = Deferred Code Activated
35 = No Drive or Firmware match found
36 = Model number matched, but Firmware mismatched
37 = Firmware File Hash Error
38 = Firmware Already up to date
39 = Firmware Match Found for update
40 = Firmware Match Found for update - deferred update supported
41 =
42 =
43 =
44 =
45 =
46 =
Anything else = unknown error
Utility Options
===============
--echoCommandLine
Echo the command line entered into the utility on the screen.
--enableLegacyUSBPassthrough
Only use this option on old USB or IEEE1394 (Firewire)
products that do not otherwise work with the tool.
This option will enable a trial and error method that
attempts sending various ATA Identify commands through
vendor specific means. Because of this, certain products
that may respond in unintended ways since they may interpret
these commands differently than the bridge chip the command
was designed for.
--forceATA
Using this option will force the current drive to
be treated as a ATA drive. Only ATA commands will
be used to talk to the drive.
--forceATADMA (SATA Only)
Using this option will force the tool to issue SAT
commands to ATA device using the protocol set to DMA
whenever possible (on DMA commands).
This option can be combined with --forceATA
--forceATAPIO (SATA Only)
Using this option will force the tool to issue PIO
commands to ATA device when possible. This option can
be combined with --forceATA
--forceATAUDMA (SATA Only)
Using this option will force the tool to issue SAT
commands to ATA device using the protocol set to UDMA
whenever possible (on DMA commands).
This option can be combined with --forceATA
--forceSCSI
Using this option will force 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 to seaboard@seagate.com.
Include the output of --version information in the email.
--license
Display the Seagate End User License Agreement (EULA).
--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 SeaChest_Firmware 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 SeaChest_Firmware version and copyright information & exit
Utility Arguments
=================
-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.
-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
-i, --deviceInfo
Show information and features for the storage device
--llInfo
Dump low-level information about the device to assist with debugging.
-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.
-S, --Scan
This option is the same as --scan or -s,
however it will also perform a low level rescan to pick up
other devices. This low level rescan may wake devices from low
power states and may cause the OS to re-enumerate them.
Use this option 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 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.
--calculateFileHash [file]
Use this option to calculate the hash of a file.
The following hashes are computed and shown on the
screen:
MD5
SHA1
SHA2_224
SHA2_256
SHA2_384
SHA2_512
--downloadFW [firmware_filename]
Download firmware to a Seagate storage product. Use only
Seagate 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.
--fwdlConfig [config file]
Use this option to specify a Seagate config file to perform an
update based on a firmware match on multiple drives or a
single drive in the system.
--fwdlDryRun
Use this option to compare a given config file to the drives in a
system without performing a firmware update. This can be used to check
if any drives in the system require an update.
--fwdlInfo
Use this option to show the firmware download support
information for a drive.
--showLockedRegions
This option should only be used when performing firmware
updates on legacy products. What this does is it ignores
a failing error code from the OS on the final segment of a
firmware update, but this update is actually successful.
This is needed to workaround hardware or firmware limitations
that were present in some old products.
--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.
--switchFW (NVMe Only)
Use this option to switch to a different firmware slot on an
NVMe drive. You must specify a slot with the --firmwareSlot option
or this will fail. The specified slot must already have a
valid firmware image in it as well.
WARNING: Switching firmware may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
===============
Version History - SeaChest_Firmware
===============
v0.0.1 22-Mar-2016 1_9_1 libraries. SeaChest_Firmware Windows, initial beta
test release. Branched from SeaChest_Basics v1.1.0. Adds
firmware download batch modes by model number and various
firmware revision checks.
v0.0.2 19-May-2016 1_9_2 libraries fixed scan information from ATAPI devices.
Fixed a bug where we could accidentally clear some stored
identify data from the device structure. Fixed continuing
on when there was a permission denied error opening a
drive.
v1.0.0 15-Jun-2016 1_9_3 libraries fixed issues with ATA secure erase
commands. Fixed bugs with --modelMatch and --onlyFW
filters.
v1.1.0 06-Jul-2016 1_10_0 libraries add --forceATA and --forceSCSI.
v1.1.0 14-Jul-2016 1_10_1 libraries adds SMART and power management
functions, format polling, endianess detection, buffer
size fixes, SAS device statistics, Win32 IOCTL
pass-through fix on Win8 and higher.
v2.0.3 16-Aug-2016 Adds --fwdlInfo, --activateFW, --fwdlConfig and
--fwdlSegSize. Add user defined configuration
files.
v2.0.4 23-Aug-2016 Adds --calculateFileHash.
v2.1.0 01-Sep-2016 1_11_1 libraries updates to various printed message,
minor bug fixes. Fixed --SATInfo command. After firmware
download messages improved. Logic to exclude using both
--fwdlConfig and --downloadFW at the same time.
v2.1.0 21-Sep-2016 1_11_2 libraries updates adds --forceATADMA, --forceATAPIO
and --forceATAUDMA (SATA Only).
v2.2.0 10-Oct-2016 1_11_4 libraries updates. Support for multiple devices.
v2.2.0 25-Oct-2016 1_11_5 libraries updates improved LaCie detection, adds
SAT Vendor ID, SAT Product ID, and SAT Product Revision to
the -i --SATInfo output.
v2.2.2 27-Oct-2016 1_11_6 libraries updates WWN detection. Added
--enableLegacyUSBPassthrough
v2.2.2 03-Nov-2016 1_11_7 libraries fixed issue with SAS EPC power mode
settings.
v2.2.2 13-Dec-2016 1_11_10 libraries fixes a problem when using maxLBA without
the corresponding command range option, SAS power mode
setting, and Sanitize erase patterns.
v2.3.0 23-Feb-2017 1_13_0 libraries adds support for SAS 12.0Gb/s and
22.5Gb/s physical bus speeds, support for double buffered
passthrough IOCTLs. Add --fwdlDryRun. New -F, --scanFlags
[options: ignoreCSMI allowDuplicates] for Windows tools.
Add CSMI support to all Windows version tools.
v2.3.0 06-Mar-2017 1_13_2 libraries adds Enhanced device information output
for SAS features.
v2.3.2 09-Mar-2017 Fixes to config file processing.
v2.3.3 12-Apr-2017 1_13_4 libraries. Fixes issue where tool was not
defaulting to segmented download if not specified. Adds
several new return exit codes to help manage scripts using
configuration files.
v2.3.4 10-May-2017 1_13_4 libraries. Fixes issue where where --fwdlInfo
command was sometimes missing segmented on SAS products.
v2.4.0 14-Jun-2017 1_15_0 libraries adds bug fix malformed command line
should exit with code = 1; added detection of parallel ATA
and SCSI speeds; temperature data on ATA now uses the
values from the SCT status log or device statistics log.
Bug fix where the "-d all" was not filtering out csmi
drives like it is supposed to causing duplicate drives to
show up. Adds the child drive matching options
--childModelMatch, --childOnlyFW, and --childNewFW.
v2.5.0 14-Jul-2017 1_16_1 libraries adds support for ATA drives that have the
Sense Data Reporting feature enabled, changes to how we
interpret the completion status from the drive, new Sense
Data ASC, ASCQ definitions from SPC5. Adds --Scan (or -S,
note the capital S) aggressive system scan.
v2.5.0 27-Jul-2017 1_16_2 libraries enhances Seagate brand detection.
v2.5.0 19-Sep-2017 1_16_4 libraries fixes SCSI "--progress format", added
reading remanufacture time for SAS when the drive reports
a time, fixed SAS --abortDST.
v2.5.0 25-Sep-2017 1_17_0 libraries adds improved SATA device discovery on
SAS adapters, added NVMe read, write & Flush commands.
v2.5.1 10-Oct-2017 1_17_1 libraries adds Better handling of NVMe as a SCSI
device, SAT library strings, and fixes to Read-Buffer
error history (ISL). Updated copyright notice, invalid
command line options now only display an error instead of
long help. Added option to specify a buffer ID or FW slot,
file name added to the output of --showFileHash. Added
--firmwareSlot and --fwBufferID.
v2.5.1 12-Oct-2017 1_17_3 libraries improves Fast-Format compatibility on SAS.
v2.5.2 26-Oct-2017 1_17_5 libraries fixes SATA drive discovery behind HBAs
that don't show as SATA and don't support the SAT VPD
page; added Automatic fallback to 12byte CDBs during
initial device discovery; integrated fixes for SAS
firmware download and fixes for SAS LongDST time
calculation; added detection of TCG Pyrite and Opalite
drives.
v2.5.2 31-Oct-2017 1_17_6 libraries adds ATA Security compatibility with SATL
on some LSI adapters, corrects firmware download issue
under Windows 10 API.
v2.5.2 02-Nov-2017 1_17_7 libraries fixes Long DST time on SCSI/SAS products.
v2.5.2 19-Apr-2018 1_18_0 libraries improves device detection of CD-ROM and
USB flash drives, support for early 90's PATA drives that
don't support LBA mode, bug fix where the last digit of
the SCSI Unit Serial Number was being dropped, additional
logic for deferred download completion status. --scan
--onlySeagate for just Seagate drives in a large system,
Long Drive Self Test Time in the -i output, write protect
status has been added for SCSI and NVMe in the -i output,
IDD enhancements for SAS, IDD enhancements to allow
captive mode on SATA, added USB Hacks to better support
some odd-ball USB devices and prevent crashes and improve
performance for some operations on them by issuing test
unit ready commands when something fails during device
discovery, automatic fall back to SAT 10 byte commands
during device discovery to help work with some USB
devices, some Legacy SCSI support enhancements (partially
from USB hacks development), enhanced SD to SG mapping in
Linux.
v2.5.4 21-Sep-2018 1_18_2 libraries Added in reading os-release PRETTY_NAME
field to get the OS name under linux; NVMe enabled; fixed
a bug in the ATA activate FW command; added in reading ID
Data log and Device statistics logs page 0 to check the
list of supported pages; fixed a bug in the loop used to
read mode pages for -i information on SAS; IDD SAS
improvements; fixed a bug in DST & Clean with ATA drives
behind SCSI controllers. Fix for --modelMatch that have
spaces in the name. Added additional information to the
banner and -V data to show support levels. Add general
support for NVMe and NVMe specific identify data to "-i"
command. Add --allowFlexibleFWDLAPIUse.
v2.5.4 18-Oct-2018 1_18_3 libraries Added NVMe generic read command support.
v2.7.0 03-May-2019 1_19_18 libraries added per device verbosity, --deviceInfo
adds SAS (not SATA) FastFormat for Features Supported
section, --deviceInfo now gives Low Current Spinup
status. Adds --forceFWDLPassthrough and --swtchFW.
v2.7.0 10-Jun-2019 1_19_23 libraries added SNTL (SCSI to NVMe translator),
updated software SAT translator to use dataset management
XL command, fixes for issuing vendor unique commands under
Windows, improved fast format support detection, and
refactored verbose output for NVMe commands.
v2.8.1 19-Feb-2020 1_21_30 libraries add in check for Elevated Privileges
(sudo, run as administrator) before trying to talk to
devices, new exit code 9 if privileges are missing;
printing the USB VID/PID in the device info; fix to sg
helper to support large systems; many changes in support
of dual actuators (example: warning that EPC settings
affect multiple LUNs); overhaul to USB device detection
and support, incorporating a new USB hacks and workarounds
approach which uses a lookup table listing various USB
bridge VIDs/PIDs and their specific issues; separate
Seagate SAS SN and PCBA SN.
v2.8.2 13-Apr-2020 1_21_30 libraries, fix memory allocation during the scan
command.
v3.0.0 20-Nov-2020 Changed how scan-flags are parsed. CSMI rewrite and initial
Intel RST NVMe support added. Numerous code quality improvements
which fixed many potential bugs and memory leaks. Improved
support for openfabrics NVMe drivers. Changed permissions
detection to show warnings rather than errors. Removed obsolete
CSMI and SAT 12B CDB options. CSMI handles now show as csmi:?:?:?
v3.1.0 16-Jun-2021 Pulled in FWDL change for making the ignore final segment
a standalone option: --fwdlIgnoreFinalSegment
This is only needed when updating specific legacy products
to new firmware.
Minor USB compatibility improvements and more products added
to the list with their specific workarounds.
Updated NVMe compatibility for FreeBSD 11.
Support for detection and showing of concurrent positioning
(new multi-actuator support from the standards).
v3.4.0 28-Feb-2023 Includes new --noBanner option and new fast discovery option
that can be used in situations where super critical performance
is required at a loss of information about a drive's capabilities.
Help now has many more examples of the options in the tool.
Fixed a few bugs in scan and device discovery that could cause
a crash or the tool to list no devices found.
Added option to dump low-level info to assist with debugging.
Added date of manufacture info to the -i output when available.
Fixed some big endian compatibility issues discovered on AIX.
Automatic firmware update mode implemented for a better user
experience. This will do deferred download + activate for the best
experience if a product supports this option, otherwise it will
use segmented download. Also includes some options to override
the default nvme firmware update behavior as needed in special
circumstances.
v3.4.0 27-Mar-2023 opensea-operations library updated to add automatic retry to
the automatic firmware update mode in some scenarios to workaround
a drive bug.
opensea-transport updated to fix CSMI scan duplicating devices
found in certain scenarios.
v4.0.0 01-Dec-2023 Updated to newer opensea-libs to pull in low-level fixes.
Fixed compatibility issue with PMC 8070 by using segmented
download instead of deferred download by default.
New config file that uses json instead of old proprietary config
file.
Stopped reading /etc/passwd file to show username in banner.
Banner will now show either "admin"/"root" or "current user".
Improved parsing of linux distro/release information from
/etc/os-release file.
Fixed a bug in byte swap string used to get ATA MN, SN, FW.
Fixed a bug in getting/reporting power on hours as years,
days, hours, etc where days was being truncated.
Fixed error reading NVMe features in Windows for drive info.
Fixed SAS Date of manufacture in drive info.
Added detection of HPA security feature.
Added more SMART attributes definitions for Seagate HDDs & SSDs,
and more definitions for Maxtor HDDs.
Improved temperature detection from older HDDs with only
SMART attribute 194 reporting current temperature.
Added separate warning for SMART attributes below threshold that
are not considered prefail/warranty attributes (aka failures).
Fixed output of Seagate Airflow temperature SMART attribute.
Added showing new capacity after changing Max LBA.
Fixed possible segmentation fault when reading /etc/mtab in Linux.
Workaround for some SAS drives on some HBAs reporting incorrect
response to SAT A1h CDB.
Fixed a bug in FreeBSD causing non-data ATA commands to report
all zeroes instead of expected output in RTFRs.
SeaChest_Format 6/28
[top][prev][next]
SeaChest_Format Revision: 04-Dec-2023
===============================================================================
SeaChest_Format - Seagate drive utilities
Copyright (c) 2014-2023 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
See Version History below.
===============================================================================
Welcome to Seagate's SeaChest_Format diagnostic software.
Storage products which utilize the SAS, SCSI or Fibre Channel interfaces are
able to perform a full low-level media format in the field. These three
storage interfaces use, in generic terms, the SCSI command set. Unlike SATA,
which is low-level formatted only at the factory, SCSI command devices are able
to rescan the surface of the media while managing defective sectors (if any)
and even change the drive sector size. The SCSI Format Unit command offers
many specialty options to accommodate a variety of conditions and to fine tune
the procedure.
Some RAID adapters, for example, use 520 byte sectors rather than the common
512 size. Because of this ability to change to a new sector size (also called
block size), the resulting number of total sectors (Logical Block Addresses or
LBAs) on a drive can vary and the actual final count is determined at the end
of the format. In simple terms, if the new sector size is twice a large as the
previous format then the new count of sectors is half of what it was.
The SCSI Format Unit command is a drive background command which means that
once the command is accepted by the drive it then goes offline to manage the
task with no overhead impact to the host system. The drive will report
formatting progress in 1% increments.
Important note: Once a Format Unit command has begun on a device then it must
be allowed to complete to be usable again. If the format is interrupted then
it will subsequently report a corrupted format with Sense Key "03-31". The
only way to clear a corrupted format error is to start again and allow it to
finish.
03h - Medium error. The command was terminated with a non-recoverable
error condition, probably caused by a flaw in the media or an error in
the recorded data.
31h - The media format is corrupted.
Please see the section below "About the SCSI Format Unit Command" for
additional information.
NOTE: SeaChest_Format may not be fully functional on non-Seagate drives.
This User Guide file contains important information about SeaChest_FormatUnit.
Please read this entire file before using this software.
If this is your drive, you should always keep a current backup of your
important data.
If this is not your drive and the original owner has no claim of ownership to
it or the data stored on it, then you may still be responsible for the data in
your possession. To protect yourself from potential liability and to protect
the previous owner's privacy, you should remove all data by performing a data
erasure on this drive.
Be very careful because using SeaChest_Format will cause data loss. Seagate
is not responsible for lost user data.
Usage - Linux (run with sudo)
=============================
SeaChest_Format [-d <sg_device>] {arguments} {options}
Examples - Linux
================
sudo SeaChest_Format --scan
sudo SeaChest_Format -d /dev/sg2 -i
sudo SeaChest_Format --device /dev/sg1 --showSupportedFormats
Usage - Windows (run as administrator)
======================================
SeaChest_Format [-d <PD_device>] {arguments} {options}
Examples - Windows
==================
SeaChest_Format --scan
SeaChest_Format -d PD2 -i
SeaChest_Format --device PD1 --showSupportedFormats
==========================================================================================
SeaChest_Format - Seagate drive utilities - NVMe Enabled
Copyright (c) 2014-2023 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
SeaChest_Format Version: 3.0.4-6_2_0 X86_64
Build Date: Dec 1 2023
Today: Mon Dec 4 10:44:18 2023 User: current user
==========================================================================================
Usage
=====
SeaChest_Format [-d <sg_device>] {arguments} {options}
Examples
========
SeaChest_Format --scan
SeaChest_Format -d /dev/sg<#> -i
SeaChest_Format -d /dev/sg<#> --SATInfo
SeaChest_Format -d /dev/sg<#> --llInfo
SeaChest_Format -d /dev/sg<#> --showPhysicalElementStatus
SeaChest_Format -d /dev/sg<#> --removePhysicalElement 2
SeaChest_Format -d /dev/sg<#> --repopulateElements
SeaChest_Format -d /dev/sg<#> --showSupportedFormats
SeaChest_Format -d /dev/sg<#> --showFormatStatusLog
SeaChest_Format -d /dev/sg<#> --formatUnit current --poll
SeaChest_Format -d /dev/sg<#> --formatUnit current --poll --pattern file:path/to/myFile.bin
SeaChest_Format -d /dev/sg<#> --formatUnit 4096 --fastFormat 1 --poll
SeaChest_Format -d /dev/sg<#> --formatUnit current --poll --discardGList --disableCertification --disablePrimaryList
SeaChest_Format -d /dev/sg<#> --formatUnit current --protectionType 1 --poll
SeaChest_Format -d /dev/sg<#> --nvmFormat current --poll
SeaChest_Format -d /dev/sg<#> --nvmFormat 4096 --poll
SeaChest_Format -d /dev/sg<#> --nvmFormat current --poll --nvmFmtSecErase user
SeaChest_Format -d /dev/sg<#> --nvmFormat current --poll --nvmFmtPI 1
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.
--enableLegacyUSBPassthrough
Only use this option on old USB or IEEE1394 (Firewire)
products that do not otherwise work with the tool.
This option will enable a trial and error method that
attempts sending various ATA Identify commands through
vendor specific means. Because of this, certain products
that may respond in unintended ways since they may interpret
these commands differently than the bridge chip the command
was designed for.
--force
Use the --force option to attempt to override and force a specific
operation on a drive in case it is returning "Not supported"
messages. This can be used to override some checks for command or
feature support. Be aware that sending unsupported commands may
result in command failures, and in some circumstances, it may also
cause indeterminate behavior of a device.
Do not use this command unless you are certain that a device supports
the command or feature you are attempting to use.
This option is not guaranteed to make things work or fix issues. This
option is not available to override every support check or other
incompatibility check in the software.
--forceATA
Using this option will force the current drive to
be treated as a ATA drive. Only ATA commands will
be used to talk to the drive.
--forceATADMA (SATA Only)
Using this option will force the tool to issue SAT
commands to ATA device using the protocol set to DMA
whenever possible (on DMA commands).
This option can be combined with --forceATA
--forceATAPIO (SATA Only)
Using this option will force the tool to issue PIO
commands to ATA device when possible. This option can
be combined with --forceATA
--forceATAUDMA (SATA Only)
Using this option will force the tool to issue SAT
commands to ATA device using the protocol set to UDMA
whenever possible (on DMA commands).
This option can be combined with --forceATA
--forceSCSI
Using this option will force 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 to seaboard@seagate.com.
Include the output of --version information in the email.
--license
Display the Seagate End User License Agreement (EULA).
--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
--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 SeaChest_Format 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 SeaChest_Format version and copyright information & exit
Utility Arguments
=================
-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.
--displayLBA [LBA]
This option will read and display the contents of
the specified LBA to the screen. The display format
is hexadecimal with an ASCII translation on the side
(when available).
-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
-i, --deviceInfo
Show information and features for the storage device
--llInfo
Dump low-level information about the device to assist with debugging.
--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 [format | nvmformat | depop | repop]
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%.
-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.
-S, --Scan
This option is the same as --scan or -s,
however it will also perform a low level rescan to pick up
other devices. This low level rescan may wake devices from low
power states and may cause the OS to re-enumerate them.
Use this option 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 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.
--depopulateMaxLBA [requested MaxLBA]
Use this option to specify a new maximum LBA when
removing (depopulating) a physical storage element.
This is optional. If this is not specified, the device
will determine the new maximum LBA.
NOTE: If you specify a maximum LBA the device does not
support, it will not start the depopulation.
--showPhysicalElementStatus
Use this option to see the status/health of
the storage elements inside a drive.
Use the element # shown with the --removePhysicalElement
option to remove that storage element from use.
This option can also be used to see if a depopulation
is still in progress or if it has completed.
--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.
SAS Only:
=========
--showFormatStatusLog (SAS Only)
Use this option to view the SCSI format status log.
Note: This log is only valid after a successful format
unit operation.
Data Destructive Commands
=========================
--pattern [repeat:asciinospaces | random | increment:startValue | file:filename]
Use this option with overwrite, sanitize, and format unit
operations to write a specific pattern to a range of LBAs
or the whole drive.
* repeat - without spaces, enter an ASCII text string or a
hexadecimal string terminated by a lower case "h". This
pattern will be repeated until it fills the logical size
of the LBA. i.e. helloword or FFFFFFFFh
Note: A hexadecimal pattern will be interpreted as a 32bit
unsigned integer. 4 hex bytes (8 characters) must be given
for a hex value to be used. Ex: 1F037AC8h or 0000FFFFh
* random - the entire logical sector size will be filled with
random bytes.This pattern will be written to all LBAs in the
desired range.
* increment - enter the starting numerical value. Starting with
this value, each byte will be written with 1 + previous value.
* file - user supplied file name to use for a pattern. The file
will be truncated or padded with zeros to the logical sector size
Note 1: Each file will be interpreted as a binary file.
Note 2: A path must also be provided if the file is not in the
local directory.
Note 3: Sanitize Overwrite on SATA only supports a 32bit pattern.
The file option will get truncated to a 32bit pattern for
SATA products.
--removePhysicalElement [element #]
Use this option to remove a storage element
from use on a drive. When this is done, the
drive will erase all user data and lower the
capacity to a new point where the drive is still
usable without the provided element #.
Use the --showPhysicalElementStatus option to see the status
of the depopulation operation.
[49m[38;5;9m There is an additional risk when performing a remove physical element as it low-level formats
the drive and may make the drive inoperable if it is reset at any time while it is formatting.
[0m WARNING: Removing a physical element affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
--repopulateElements
Use this option to repopulate any physical storage
elements that have been removed from use.
A full disk overwrite is necessary before
the drive is usable.
[49m[38;5;9m There is an additional risk when performing a repopulate as it low-level formats
the drive and may make the drive inoperable if it is reset at any time while it is formatting.
[0m WARNING: Removing a physical element affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
--setSectorSize [new sector size]
Changing sector sizes is intended for supported Seagate products
used in some hardware RAID configurations. Please consult your
hardware RAID documentation for information about compatibility and
using 4K native sectors before using this option!
Software RAID or individual/JBOD drive solutions will see no benefit as modern
file systems and modern operating systems are already 4K aware even on
512 emulation drives. Modern operating systems already align file systems to 4K
boundaries required by these drives for optimal performance.
Performing a sector size change is data destructive and has a risk that
the adapter, driver, or operating system may not know how to communicate with
the device once this has completed.
[49m[38;5;9m There is an additional risk when performing a low-level format/fast format that may
make the drive inoperable if it is reset at any time while it is formatting.
[0m For SATA Drives, the set sector configuration command must be supported.
On SAS Drives, fast format must be supported to make these changes.
Use the --showSupportedFormats option to see the sector
sizes the drive reports supporting. If this option
doesn't list anything, please consult your product manual.
This option should be used to quickly change between 5xxe and
4xxx sector sizes. Using this option to change from 512 to 520
or similar is not recommended at this time due to limited drive
support
[49m[38;5;11m WARNING: Any interruption to the device while it is formatting may render the
drive inoperable! Use this at your own risk!
WARNING: Set sector size may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
WARNING (SATA): Do not interrupt this operation once it has started or
it may cause the drive to become unusable. Stop all possible background
activity that would attempt to communicate with the device while this
operation is in progress
WARNING: It is not recommended to do this on USB as not
all USB adapters can handle a 4k sector size.
WARNING: Disable any out-of-band management systems/services/daemons
before using this option. Interruptions can be caused by these
and may prevent completion of a sector size change.
WARNING: It is recommended that this operation is done from a bootable environment
(Live USB) to reduce the risk of OS background activities running and
triggering a device reset while reformating the drive.
[0m
SAS Only:
=========
--disableCertification
Use this option to disable the certification operation
when performing a format unit operation.
--disablePrimaryList
Use this option to disable using the primary defect list
when performing a format unit operation.
--discardGList
Use this option to discard the existing grown defect list
when performing a format unit operation. (set complete list bit)
--disableImmediateResponse
Use this option to disable the immediate response bit in
a format unit operation.
Note: This mode may take a long time to complete.
--formatMaxLBA [ new max LBA ]
Use this option to specify a new Max LBA for a drive during a
format unit operation. This may speed up a format unit if
formatting to test something, or also desiring to reduce a drive's
capacity while formatting.
NOTE: Not all devices support reducing capacity during a format.
Some may ignore this parameter and format the full medium anyways.
This is not guaranteed to stick or reduce formatting time.
--protectionIntervalExponent [ exponent value ]
Use this option to specify the protection interval exponent
for protection types 2 & 3. This option is ignored for all
other protection types.
--protectionType [ 0 | 1 | 2 | 3 ]
Use this option to specify the protection type to format the
medium with.
Note: Not all devices support protection types.
--fastFormat [fast format mode] (SAS Only) (SBC4 required)
Use this option with the --formatUnit option
to run a fast format.
Changing sector sizes is intended for supported Seagate products
used in some hardware RAID configurations. Please consult your
hardware RAID documentation for information about compatibility and
using 4K native sectors before using this option!
Software RAID or individual/JBOD drive solutions will see no benefit as modern
file systems and modern operating systems are already 4K aware even on
512 emulation drives. Modern operating systems already align file systems to 4K
boundaries required by these drives for optimal performance.
Performing a sector size change is data destructive and has a risk that
the adapter, driver, or operating system may not know how to communicate with
the device once this has completed.
[49m[38;5;9m There is an additional risk when performing a low-level fast format that may
make the drive inoperable if it is reset at any time while it is formatting.
[0m Available fast format modes:
0 - This is a standard format unit command. All logical
blocks will be overwritten. This command will take a
very long time
1 - This is a fast format unit command keeping existing
data in physical sector. This option can be used to
quickly change the the logical sector size between
5xxe and 4xxx. The media may be readable, but data
may be unspecified or may return errors on read access
according to it's error processing algorithms.
2 - This is a fast format unit command that can change the
logical sector size quickly. Media may or may not be
read accessible until a write has been performed to
the media.
[49m[38;5;11m WARNING: Any interruption to the device while it is formatting may render the
drive inoperable! Use this at your own risk!
WARNING: Set sector size may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
WARNING: Disable any out-of-band management systems/services/daemons
before using this option. Interruptions can be caused by these
and may prevent completion of a sector size change.
WARNING: It is recommended that this operation is done from a bootable environment
(Live USB) to reduce the risk of OS background activities running and
triggering a device reset while reformating the drive.
[0m --formatUnit [current | new sector size] (SAS Only) (Clear)
This option will start a format unit operation on a SAS drive
Use "current" to perform a format unit operation with the
Sector size currently being used, otherwise enter a new sector
size to use upon format completion. This command will erase all
data on the drive. Combine this option with --poll to poll
for progress until the format is complete.
Changing sector sizes is intended for supported Seagate products
used in some hardware RAID configurations. Please consult your
hardware RAID documentation for information about compatibility and
supported/required sector sizes!
WARNING: Format Unit may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
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.
--securityInitialize
Use this option to set the security initialize bit in the
initialization pattern for a format unit command.
SBC recommends migrating to sanitize to overwrite previously
reallocated sectors.
Note: Not all products support this option.
--stopOnListError
Use this option to set the stop format bit in a format unit.
If the device cannot locate or access an existing primary or
grown defect list, the format will stop and return with an error.
NVMe Only:
=========
--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.
===============
Version History - SeaChest_Format
===============
v0.0.1 23-May-2017 1_14_3 libraries. SeaChest_FormatUnit initial beta
test release. Branched from SeaChest_Erase v1.4.0.
v0.0.2 14-Jun-2017 1_15_0 libraries adds bug fix malformed command line
should exit with code = 1; added detection of parallel ATA
and SCSI speeds; temperature data on ATA now uses the
values from the SCT status log or device statistics log.
Bug fix where the "-d all" was not filtering out csmi
drives like it is supposed to causing duplicate drives to
show up. Adds the child drive matching options
--childModelMatch, --childOnlyFW, and --childNewFW.
v1.0.0 14-Jul-2017 1_16_1 libraries adds support for ATA drives that have the
Sense Data Reporting feature enabled, changes to how we
interpret the completion status from the drive, new Sense
Data ASC, ASCQ definitions from SPC5. Adds --Scan (or -S,
note the capital S) aggressive system scan.
v1.0.0 27-Jul-2017 1_16_2 libraries enhances Seagate brand detection.
v1.0.0 19-Sep-2017 1_16_4 libraries fixes SCSI "--progress format", added
reading remanufacture time for SAS when the drive reports
a time, fixed SAS --abortDST.
v1.0.0 25-Sep-2017 1_17_0 libraries adds improved SATA device discovery on
SAS adapters, added NVMe read, write & Flush commands.
v1.1.0 10-Oct-2017 1_17_1 libraries adds Better handling of NVMe as a SCSI
device, SAT library strings, and fixes to Read-Buffer
error history (ISL). Updated copyright notice, invalid
command line options now only display an error instead of
long help. Added --setSectorSize moved from
SeaChest_Configure. Name change from SeaChest_FormatUnit
to SeaChest_Format.
v1.1.1 12-Oct-2017 1_17_3 libraries improves Fast-Format compatibility on SAS.
v1.2.0 26-Oct-2017 1_17_5 libraries fixes SATA drive discovery behind HBAs
that don't show as SATA and don't support the SAT VPD
page; added Automatic fallback to 12byte CDBs during
initial device discovery; integrated fixes for SAS
firmware download and fixes for SAS LongDST time
calculation; added detection of TCG Pyrite and Opalite
drives. Removed --defaultFormat since that is now the
default behavior until other flags are added.
v1.2.0 31-Oct-2017 1_17_6 libraries adds ATA Security compatibility with SATL
on some LSI adapters, corrects firmware download issue
under Windows 10 API.
v1.2.0 02-Nov-2017 1_17_7 libraries fixes Long DST time on SCSI/SAS products.
v1.2.0 19-Apr-2018 1_18_0 libraries improves device detection of CD-ROM and
USB flash drives, support for early 90's PATA drives that
don't support LBA mode, bug fix where the last digit of
the SCSI Unit Serial Number was being dropped, additional
logic for deferred download completion status. --scan
--onlySeagate for just Seagate drives in a large system,
Long Drive Self Test Time in the -i output, write protect
status has been added for SCSI and NVMe in the -i output,
IDD enhancements for SAS, IDD enhancements to allow
captive mode on SATA, added USB Hacks to better support
some odd-ball USB devices and prevent crashes and improve
performance for some operations on them by issuing test
unit ready commands when something fails during device
discovery, automatic fall back to SAT 10 byte commands
during device discovery to help work with some USB
devices, some Legacy SCSI support enhancements (partially
from USB hacks development), enhanced SD to SG mapping in
Linux. Removed immediate bit from SAS Fast Format.
v1.2.1 21-Sep-2018 1_18_2 libraries Added in reading os-release PRETTY_NAME
field to get the OS name under linux; NVMe enabled; fixed
a bug in the ATA activate FW command; added in reading ID
Data log and Device statistics logs page 0 to check the
list of supported pages; fixed a bug in the loop used to
read mode pages for -i information on SAS; IDD SAS
improvements; fixed a bug in DST & Clean with ATA drives
behind SCSI controllers. Fix for --modelMatch that have
spaces in the name. Added additional information to the
banner and -V data to show support levels. Add general
support for NVMe and NVMe specific identify data to "-i"
command.
v1.2.1 18-Oct-2018 1_18_3 libraries Added NVMe generic read command support.
v1.4.0 03-May-2019 1_19_18 libraries added per device verbosity, --deviceInfo
adds SAS (not SATA) FastFormat for Features Supported
section, --deviceInfo now gives Low Current Spinup
status. Adds --showSupportedFormats, removes
--showSupportedSectorSizes. Adds several new commands in
support of NVMe format: --nvmFormat, --nvmFmtSecErase,
--nvmFmtMS, --nvmFmtNSID, --nvmFmtPI, --nvmFmtPIL,
--nvmFmtMetadataSet.
v1.4.0 10-Jun-2019 1_19_23 libraries added SNTL (SCSI to NVMe translator),
updated software SAT translator to use dataset management
XL command, fixes for issuing vendor unique commands under
Windows, improved fast format support detection, and
refactored verbose output for NVMe commands.
v1.5.1 19-Feb-2020 1_21_30 libraries add in check for Elevated Privileges
(sudo, run as administrator) before trying to talk to
devices, new exit code 9 if privileges are missing;
printing the USB VID/PID in the device info; fix to sg
helper to support large systems; many changes in support
of dual actuators (example: warning that EPC settings
affect multiple LUNs); overhaul to USB device detection
and support, incorporating a new USB hacks and workarounds
approach which uses a lookup table listing various USB
bridge VIDs/PIDs and their specific issues; separate
Seagate SAS SN and PCBA SN.
v1.5.2 13-Apr-2020 1_21_30 libraries, fix memory allocation during the scan
command.
v2.0.0 18-Oct-2020 Changed how scan-flags are parsed. CSMI rewrite and initial
Intel RST NVMe support added. Numerous code quality improvements
which fixed many potential bugs and memory leaks. Improved
support for openfabrics NVMe drivers. Changed permissions
detection to show warnings rather than errors. Removed obsolete
CSMI and SAT 12B CDB options. CSMI handles now show as csmi:?:?:?
v2.1.0 20-Nov-2020 Added Storage element depopulation commands to SeaChest_Format.
Added support for new storage element repopulation command.
v2.2.1 12-Feb-2021 Added depopulate and repopulate options to SeaChest_Format
Improved argument parsing to accept hex in addition to decimal for
many different options.
Setting fast-format to hold busy until complete for better results.
More messages are now displayed warning not to interrupt format/fast
format operations and depopulate.
opensea-transport code pulled in enhancements to attempt to block
other applications and the OS from interrupting format, fast format,
depopulate, and repopulate to prevent potential problems
during these operations or which may leave the drive in a bad state
if they are interrupted.
v2.3.1 27-Apr-2021 Adding Seagate quick format option for SATA drives. If a setSectorSize
operation fails, this may be necessary in order to get the drive back
to a good state. If a failure is detected this will automatically be run
to try and make sure the drive is left in a good state.
v2.3.1 16-Jun-2021 Pulled in updates to opensea-libs which includes the following:
Minor USB compatibility improvements and more products added
to the list with their specific workarounds.
Updated NVMe compatibility for FreeBSD 11.
Support for detection and showing of concurrent positioning
(new multi-actuator support from the standards).
v2.7.0 28-Feb-2023 New acceptance string for low-level format options that are not
obvious that they are doing a formwat. As these options are dangerous
and in some cases can be interrupted by the host, this new string
is required to be used to accept the risk since it may leave a device
in an unusable state if interrupted. New warnings accompany this change.
Tool also was updated to remove the manual option to perform a Seagate
quick format on SATA drives since this is now handled automatically when
it is detected as needed to recover the device to a fully functional state.
Includes new --noBanner option and new fast discovery option
that can be used in situations where super critical performance
is required at a loss of information about a drive's capabilities.
Help now has many more examples of the options in the tool.
Fixed a few bugs in scan and device discovery that could cause
a crash or the tool to list no devices found.
Added option to dump low-level info to assist with debugging.
Added date of manufacture info to the -i output when available.
Fixed some big endian compatibility issues discovered on AIX.
Added capability for NVM format with user data erase in Windows as well
as crypto erase with format in Windows. Reworked conditions for issuing
sanitize on NVMe devices so that it might work in Windows too.
v2.7.0 27-Mar-2023 opensea-transport updated to fix CSMI scan duplicating devices
found in certain scenarios.
v3.0.4 01-Dec-2023 Updated to newer opensea-libs to pull in low-level fixes.
Changed set sector size timeout to 1 hour instead of infinite to
improve compatibility with some drivers in Linux.
Added more warnings around set sector size option.
Changed default behavior of SAS fast format with --setSectorSize
to use polling while changing the sector size to reduce the
chance of OS interruption/resets.
Stopped reading /etc/passwd file to show username in banner.
Banner will now show either "admin"/"root" or "current user".
Improved parsing of linux distro/release information from
/etc/os-release file.
Fixed a bug in byte swap string used to get ATA MN, SN, FW.
Fixed a bug in getting/reporting power on hours as years,
days, hours, etc where days was being truncated.
Fixed error reading NVMe features in Windows for drive info.
Fixed SAS Date of manufacture in drive info.
Added detection of HPA security feature.
Added more SMART attributes definitions for Seagate HDDs & SSDs,
and more definitions for Maxtor HDDs.
Improved temperature detection from older HDDs with only
SMART attribute 194 reporting current temperature.
Added separate warning for SMART attributes below threshold that
are not considered prefail/warranty attributes (aka failures).
Fixed output of Seagate Airflow temperature SMART attribute.
Added showing new capacity after changing Max LBA.
Fixed possible segmentation fault when reading /etc/mtab in Linux.
Workaround for some SAS drives on some HBAs reporting incorrect
response to SAT A1h CDB.
Fixed a bug in FreeBSD causing non-data ATA commands to report
all zeroes instead of expected output in RTFRs.
SeaChest_GenericTests 7/28
[top][prev][next]
SeaChest_GenericTests Revision: 04-Dec-2023
===============================================================================
SeaChest_GenericTests - Seagate drive utilities
Copyright (c) 2014-2023 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
See Version History below.
===============================================================================
Welcome to Seagate's SeaChest_GenericTests diagnostic software.
One of the fundamental units of data on a storage device like a disk drive is
the sector. In the case of a hard disk drive, a sector is a physical section
of a circular magnetized track accessed by read write heads over the rotating
media. The original hard drive sectors are 512 bytes each. If you take the
number or logical sectors on a disk drive and multiply it by 512 you get the
total capacity of the drive in bytes. Since the mid-1990's the term sector has
been replaced by an acronym synonym LBA, which stands for Logical Block
Address. All drives start with LBA 0 and count up to the full capacity of the
drive.
In the example above, the physical sector size is 512 bytes and logical sector
size is also 512 bytes. Beginning around the year 2010 disk drives have been
manufactured with a physical sector size of 4096 bytes but the disk drive
delivers these bytes in 8 logical sectors of 512 bytes. The operating system
expects 512 and is not concerned about the actual physical size. These drives
are said to have 512 byte emulation. Beginning in 2014, some enterprise drives
are manufactured with 4096 byte for both physical and logical block sizes.
SeaChest_GenericTests reads LBA and reports errors when an LBA is unreadable.
It may be possible to repair a problem when a generic read test fails due to
failure to read a particular sector (LBA). You might consider the
--repairOnFly, --repairAtEnd or (SeaChest_SMART) -dstAndClean command line
options. See the sections below "Sector Repair Commands" and "Bad LBA (Sector)
Found" for more information on this subject.
NOTE: SeaChest_GenericTests may not be fully functional on non-Seagate drives.
This User Guide file contains important information about SeaChest.
Please read this entire file before using this software.
SeaChest is a comprehensive, easy-to-use command line diagnostic tool that
helps you quickly determine the health and status of your Seagate storage
product. It includes several tests that will examine the physical media on your
Seagate, Samsung or Maxtor disk drive.
Tests and commands which are completely data safe will run on any disk drive.
Tests and commands which change the drive (like firmware download or data
erasure or setting the maximum capacity, etc) are limited to Seagate disk
drives (this includes Seagate, Maxtor, Samsung and LaCie). Be careful using
SeaChest because some of the features, like the data erasure options, will
cause data loss. Seagate is not responsible for lost user data.
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.
Important note: Many tests in this tool directly reference storage device data
sectors, also known as Logical Block Addresses (LBA). Test arguments may
require a starting LBA or an LBA range. The predefined variable 'maxLBA'
refers to the last sector on the drive. Many older SATA and SAS storage
controllers (also known as Host Bus Adapters [HBA]) have a maximum addressable
limit of 4294967295 [FFFFh] LBAs hard wired into their design. This equates to
2.1TB using 512 byte sectors. This also means accessing an LBA beyond the
2.1TB limitation either will result in an error or simply the last readable LBA
(usually LBA 4294967295 [FFFFh]) depending on the actual hardware. This
limitation can have important consequences. For example, if you intended to
erase a 4TB drive, then only the first 2TB will actually get erased (or maybe
even twice!) and the last 2TB will remain untouched. You should carefully
evaluate your system hardware to understand if your storage controllers provide
support for greater than 2.1TB.
Usage - Linux (run with sudo)
=============================
SeaChest_GenericTests [-d <sg_device>] {arguments} {options}
Examples - Linux
================
sudo SeaChest_GenericTests --scan
sudo SeaChest_GenericTests -d /dev/sg2 -i
sudo SeaChest_GenericTests -d /dev/sg1 --twoMinuteGeneric
Usage - Windows (run as administrator)
======================================
SeaChest_GenericTests [-d <PD_device>] {arguments} {options}
Examples - Windows
==================
SeaChest_GenericTests --scan
SeaChest_GenericTests -d PD0 -i
SeaChest_GenericTests -d PD1 --twoMinuteGeneric
==========================================================================================
SeaChest_GenericTests - Seagate drive utilities - NVMe Enabled
Copyright (c) 2014-2023 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
SeaChest_GenericTests Version: 2.2.2-6_2_0 X86_64
Build Date: Dec 1 2023
Today: Mon Dec 4 10:44:18 2023 User: current user
==========================================================================================
Usage
=====
SeaChest_GenericTests [-d <sg_device>] {arguments} {options}
Examples
========
SeaChest_GenericTests --scan
SeaChest_GenericTests -d /dev/sg<#> -i
SeaChest_GenericTests -d /dev/sg<#> --SATInfo
SeaChest_GenericTests -d /dev/sg<#> --llInfo
SeaChest_GenericTests -d /dev/sg<#> --shortGeneric
SeaChest_GenericTests -d /dev/sg<#> --longGeneric
SeaChest_GenericTests -d /dev/sg<#> --twoMinuteGeneric
SeaChest_GenericTests -d /dev/sg<#> --bufferTest
SeaChest_GenericTests -d /dev/sg<#> --userGenericStart 1000 --userGenericRange 65535
SeaChest_GenericTests -d /dev/sg<#> --longGeneric --genericMode verify
SeaChest_GenericTests -d /dev/sg<#> --randomTest --hours 1
SeaChest_GenericTests -d /dev/sg<#> --butterflyTest --minutes 15
SeaChest_GenericTests -d /dev/sg<#> --longGeneric --genericMode verify --repairAtEnd
SeaChest_GenericTests -d /dev/sg<#> --longGeneric --stopOnError read
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.
--enableLegacyUSBPassthrough
Only use this option on old USB or IEEE1394 (Firewire)
products that do not otherwise work with the tool.
This option will enable a trial and error method that
attempts sending various ATA Identify commands through
vendor specific means. Because of this, certain products
that may respond in unintended ways since they may interpret
these commands differently than the bridge chip the command
was designed for.
--forceATA
Using this option will force the current drive to
be treated as a ATA drive. Only ATA commands will
be used to talk to the drive.
--forceATADMA (SATA Only)
Using this option will force the tool to issue SAT
commands to ATA device using the protocol set to DMA
whenever possible (on DMA commands).
This option can be combined with --forceATA
--forceATAPIO (SATA Only)
Using this option will force the tool to issue PIO
commands to ATA device when possible. This option can
be combined with --forceATA
--forceATAUDMA (SATA Only)
Using this option will force the tool to issue SAT
commands to ATA device using the protocol set to UDMA
whenever possible (on DMA commands).
This option can be combined with --forceATA
--forceSCSI
Using this option will force 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 to seaboard@seagate.com.
Include the output of --version information in the email.
--hideLBACounter
Use this option to suppress the output from
options that show LBA counters without turning
off all output to the screen.
--license
Display the Seagate End User License Agreement (EULA).
--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
--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 SeaChest_GenericTests 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 SeaChest_GenericTests version and copyright information & exit
Utility Arguments
=================
-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.
--displayLBA [LBA]
This option will read and display the contents of
the specified LBA to the screen. The display format
is hexadecimal with an ASCII translation on the side
(when available).
-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
-i, --deviceInfo
Show information and features for the storage device
--llInfo
Dump low-level information about the device to assist with debugging.
-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.
-S, --Scan
This option is the same as --scan or -s,
however it will also perform a low level rescan to pick up
other devices. This low level rescan may wake devices from low
power states and may cause the OS to re-enumerate them.
Use this option 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 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.
--bufferTest
This option will perform 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 all 0's, all F's, all 5's, all A's,
walking 1's, walking 0's, and random data patterns.
At completion, a count of the number of errors will be displayed.
--butterflyTest
Use this option to start 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 is 1 minute.
--diameterTest [O | M | I]
Use this option to perform 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 --diameterTestRange option for a range based test.
O - outer diameter
M - middle diameter
I - 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 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.
--diameterTestRange [range]
Use this option with the --diameterTest option to
perform a range based test. If a range is
specified without any units, it is assumed
to be an LBA count.
Valid units are KB, KiB, MB, MiB, GB, GiB, TB
and TiB.
Ex1: "--diameterTestRange 1234567" for an LBA count
Ex2: "--diameterTestRange 2GB" for a 2GB range.
--errorLimit [limit in number of LBAs]
Use this option 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. If a drive has multiple
logical sectors per physical sector, this number will
be adjusted for you to reflect the drive
architecture.
--genericMode [ read | write | verify ]
This options allows selection of the type of commands
to use while performing a generic test. The modes supported
are listed below:
read - performs a generic test using read commands
write - performs a generic test using write commands
verify - performs a generic test using verify commands
--hours [hours]
Use this option to specify a time in hours
for a timed operation to run.
--longGeneric
This option will run a long generic read test on a
specified device. A long generic read test reads every
LBA on the device and gives a report of error LBAs at
the end of the test, or when the error limit has been
reached. Using the --stopOnError option will make this
test 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 option to specify a time in minutes
for a timed operation to run.
--randomTest
Use this option to start a random test.
This is a timed operation. Use the time options
to control how long to run this test for. The
default time for this test is 1 minute.
--seconds [seconds]
Use this option to specify a time in seconds
for a timed operation to run.
--shortGeneric
This option will run 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 option to make a generic read test
stop on the first error found.
--twoMinuteGeneric
This option will run 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 option to specify the starting LBA number for a
generic read test. The --userGenericRange option 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 option to specify the range for a
generic read test. See the --userGenericStart
help for additional information about using
the User Generic Read tests.
Data Destructive Commands
=========================
--repairAtEnd
Use this option to repair any bad sectors
found during a long or user generic read
test at the end of the test.
--repairOnFly
Use this option to repair any bad sectors
found during a long or user generic read
test as they are found.
===============
Version History - SeaChest_GenericTests
===============
SeaChest_GenericTests is branched off from SeaChest Basics v1.0.4.
v0.0.1 06-May-2015 Initial ReadTests release. Added Short and Long Generic
sequential read tests. Added Random and Butterfly read
tests. Added sector repair on Long and user defined
generic read tests.
v0.0.2 21-May-2015 Added --testUnitReady. Improved device discovery.
v0.0.3 12-Aug-2015 Added --twoMinuteGeneric test. Improved device discovery.
Corrections to verbose output.
v0.0.3 16-Oct-2015 1_7_0 libraries. Added enhanced version information.
Added -sat12byte to increase compatibility. Added
--SATInfo to compare ATA vs SCSI identification
differences.
v1.0.0 02-May-2016 1_9_1 libraries. Added new verbosity level. Added
--onlySeagate restriction. Added --modelMatch and
--onlyFW filters. Added --genericMode.
v1.0.1 19-May-2016 1_9_2 libraries fixed scan information from ATAPI devices.
Fixed a bug where we could accidentally clear some stored
identify data from the device structure. Fixed continuing
on when there was a permission denied error opening a
drive.
v1.0.2 15-Jun-2016 1_9_3 libraries fixed issues with ATA secure erase
commands. Fixed bugs with --modelMatch and --onlyFW
filters.
v1.1.0 06-Jul-2016 1_10_0 libraries add --forceATA and --forceSCSI.
v1.1.1 14-Jul-2016 1_10_1 libraries adds SMART and power management
functions, format polling, endianess detection, buffer
size fixes, SAS device statistics, Win32 IOCTL
pass-through fix on Win8 and higher. Added support for
maxLBA keyword.
v1.2.0 01-Sep-2016 1_11_1 libraries updates to various printed message,
minor bug fixes. Fixed --SATInfo command.
v1.2.0 21-Sep-2016 1_11_2 libraries updates adds --forceATADMA, --forceATAPIO
and --forceATAUDMA (SATA Only).
v1.3.0 10-Oct-2016 1_11_4 libraries updates. Support for multiple devices.
v1.3.0 25-Oct-2016 1_11_5 libraries updates improved LaCie detection, adds
SAT Vendor ID, SAT Product ID, and SAT Product Revision to
the -i --SATInfo output.
v1.3.1 27-Oct-2016 1_11_6 libraries updates WWN detection. Added
--enableLegacyUSBPassthrough
v1.3.1 03-Nov-2016 1_11_7 libraries fixed issue with SAS EPC power mode
settings.
v1.3.1 13-Dec-2016 1_11_10 libraries fixes a problem when using maxLBA without
the corresponding command range option, SAS power mode
setting, and Sanitize erase patterns.
v1.5.0 23-Feb-2017 1_13_0 libraries adds support for SAS 12.0Gb/s and
22.5Gb/s physical bus speeds, support for double buffered
passthrough IOCTLs. Add --hideLBACounter, --diameterTest,
--diameterTestRange. New -F, --scanFlags [options:
ignoreCSMI allowDuplicates] for Windows tools. Add CSMI
support to all Windows version tools. Random Range scaling
has less biasing.
v1.5.0 06-Mar-2017 1_13_2 libraries adds Enhanced device information output
for SAS features. --userGenericStart now able to use timed
options.
v1.5.1 15-May-2017 1_14_3 libraries. Fixed issue with --userGenericRange.
v1.6.0 14-Jun-2017 1_15_0 libraries adds bug fix malformed command line
should exit with code = 1; added detection of parallel ATA
and SCSI speeds; temperature data on ATA now uses the
values from the SCT status log or device statistics log.
Bug fix where the "-d all" was not filtering out csmi
drives like it is supposed to causing duplicate drives to
show up. Adds the child drive matching options
--childModelMatch, --childOnlyFW, and --childNewFW. Bug
fix user generic test start LBA gets reset when a defect
is encountered.
v1.7.0 14-Jul-2017 1_16_1 libraries adds support for ATA drives that have the
Sense Data Reporting feature enabled, changes to how we
interpret the completion status from the drive, new Sense
Data ASC, ASCQ definitions from SPC5. Adds --Scan (or -S,
note the capital S) aggressive system scan.
v1.7.0 27-Jul-2017 1_16_2 libraries enhances Seagate brand detection.
v1.7.0 19-Sep-2017 1_16_4 libraries fixes SCSI "--progress format", added
reading remanufacture time for SAS when the drive reports
a time, fixed SAS --abortDST.
v1.7.0 25-Sep-2017 1_17_0 libraries adds improved SATA device discovery on
SAS adapters, added NVMe read, write & Flush commands.
v1.7.1 10-Oct-2017 1_17_1 libraries adds Better handling of NVMe as a SCSI
device, SAT library strings, and fixes to Read-Buffer
error history (ISL). Updated copyright notice, invalid
command line options now only display an error instead of
long help.
v1.7.1 12-Oct-2017 1_17_3 libraries improves Fast-Format compatibility on SAS.
v1.7.1 26-Oct-2017 1_17_5 libraries fixes SATA drive discovery behind HBAs
that don't show as SATA and don't support the SAT VPD
page; added Automatic fallback to 12byte CDBs during
initial device discovery; integrated fixes for SAS
firmware download and fixes for SAS LongDST time
calculation; added detection of TCG Pyrite and Opalite
drives.
v1.7.1 31-Oct-2017 1_17_6 libraries adds ATA Security compatibility with SATL
on some LSI adapters, corrects firmware download issue
under Windows 10 API.
v1.7.1 02-Nov-2017 1_17_7 libraries fixes Long DST time on SCSI/SAS products.
v1.7.2 19-Apr-2018 1_18_0 libraries improves device detection of CD-ROM and
USB flash drives, support for early 90's PATA drives that
don't support LBA mode, bug fix where the last digit of
the SCSI Unit Serial Number was being dropped, additional
logic for deferred download completion status. --scan
--onlySeagate for just Seagate drives in a large system,
Long Drive Self Test Time in the -i output, write protect
status has been added for SCSI and NVMe in the -i output,
IDD enhancements for SAS, IDD enhancements to allow
captive mode on SATA, added USB Hacks to better support
some odd-ball USB devices and prevent crashes and improve
performance for some operations on them by issuing test
unit ready commands when something fails during device
discovery, automatic fall back to SAT 10 byte commands
during device discovery to help work with some USB
devices, some Legacy SCSI support enhancements (partially
from USB hacks development), enhanced SD to SG mapping in
Linux. Added --bufferTest.
v1.7.3 21-Sep-2018 1_18_2 libraries Added in reading os-release PRETTY_NAME
field to get the OS name under linux; NVMe enabled; fixed
a bug in the ATA activate FW command; added in reading ID
Data log and Device statistics logs page 0 to check the
list of supported pages; fixed a bug in the loop used to
read mode pages for -i information on SAS; IDD SAS
improvements; fixed a bug in DST & Clean with ATA drives
behind SCSI controllers. Fix for --modelMatch that have
spaces in the name. Added additional information to the
banner and -V data to show support levels. Add general
support for NVMe and NVMe specific identify data to "-i"
command.
v1.7.3 18-Oct-2018 1_18_3 libraries Added NVMe generic read command support.
v1.8.0 03-May-2019 1_19_18 libraries added per device verbosity, --deviceInfo
adds SAS (not SATA) FastFormat for Features Supported
section, --deviceInfo now gives Low Current Spinup
status.
v1.8.0 10-Jun-2019 1_19_23 libraries added SNTL (SCSI to NVMe translator),
updated software SAT translator to use dataset management
XL command, fixes for issuing vendor unique commands under
Windows, improved fast format support detection, and
refactored verbose output for NVMe commands.
v1.9.0 19-Feb-2020 1_21_30 libraries add in check for Elevated Privileges
(sudo, run as administrator) before trying to talk to
devices, new exit code 9 if privileges are missing;
printing the USB VID/PID in the device info; fix to sg
helper to support large systems; many changes in support
of dual actuators (example: warning that EPC settings
affect multiple LUNs); overhaul to USB device detection
and support, incorporating a new USB hacks and workarounds
approach which uses a lookup table listing various USB
bridge VIDs/PIDs and their specific issues; separate
Seagate SAS SN and PCBA SN.
v1.9.1 13-Apr-2020 1_21_30 libraries, fix memory allocation during the scan
command.
v2.0.0 20-Nov-2020 Changed how scan-flags are parsed. CSMI rewrite and initial
Intel RST NVMe support added. Numerous code quality improvements
which fixed many potential bugs and memory leaks. Improved
support for openfabrics NVMe drivers. Changed permissions
detection to show warnings rather than errors. Removed obsolete
CSMI and SAT 12B CDB options. CSMI handles now show as csmi:?:?:?
v2.0.1 12-Feb-2021 Improved argument parsing to accept hex in addition to decimal for
many different options.
v2.0.1 16-Jun-2021 Pulled in updates to opensea-libs which includes the following:
Minor USB compatibility improvements and more products added
to the list with their specific workarounds.
Updated NVMe compatibility for FreeBSD 11.
Support for detection and showing of concurrent positioning
(new multi-actuator support from the standards).
v2.2.1 28-Feb-2023 Includes new --noBanner option and new fast discovery option
that can be used in situations where super critical performance
is required at a loss of information about a drive's capabilities.
Help now has many more examples of the options in the tool.
Fixed a few bugs in scan and device discovery that could cause
a crash or the tool to list no devices found.
Added option to dump low-level info to assist with debugging.
Added date of manufacture info to the -i output when available.
Fixed some big endian compatibility issues discovered on AIX.
v2.2.1 27-Mar-2023 opensea-transport updated to fix CSMI scan duplicating devices
found in certain scenarios.
v2.2.2 01-Dec-2023 Updated to newer opensea-libs to pull in low-level fixes.
Improved performance for read/write/verify tests when a
defect is encountered.
Stopped reading /etc/passwd file to show username in banner.
Banner will now show either "admin"/"root" or "current user".
Improved parsing of linux distro/release information from
/etc/os-release file.
Fixed a bug in byte swap string used to get ATA MN, SN, FW.
Fixed a bug in getting/reporting power on hours as years,
days, hours, etc where days was being truncated.
Fixed error reading NVMe features in Windows for drive info.
Fixed SAS Date of manufacture in drive info.
Added detection of HPA security feature.
Added more SMART attributes definitions for Seagate HDDs & SSDs,
and more definitions for Maxtor HDDs.
Improved temperature detection from older HDDs with only
SMART attribute 194 reporting current temperature.
Added separate warning for SMART attributes below threshold that
are not considered prefail/warranty attributes (aka failures).
Fixed output of Seagate Airflow temperature SMART attribute.
Added showing new capacity after changing Max LBA.
Fixed possible segmentation fault when reading /etc/mtab in Linux.
Workaround for some SAS drives on some HBAs reporting incorrect
response to SAT A1h CDB.
Fixed a bug in FreeBSD causing non-data ATA commands to report
all zeroes instead of expected output in RTFRs.
SeaChest_Info 8/28
[top][prev][next]
SeaChest_Info Revision: 04-Dec-2023
===============================================================================
SeaChest_Info - Seagate drive utilities
Copyright (c) 2014-2023 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
See Version History below.
===============================================================================
Welcome to Seagate's SeaChest_Info diagnostic software.
Disk drives are constantly monitoring and analyzing their own performance,
integrity and environment. The current state of this technology is the result
of more than 20 years of innovative Seagate engineering focused on self-testing.
With the backing of personal computer manufacturers, the disk drive industry
adopted an analysis system in the 1990's called Self Monitoring Analysis and
Reporting Technology, or SMART. The idea then and today is to predict a failure
before it happens. Various attributes are being monitored and measured against
certain threshold limits. If any one attribute exceeds a threshold then a
general SATA SMART Status test will change from Pass to Fail.
Many computers automatically check SATA SMART Status when they start up which is
when most people become aware of the issue. If still under warranty, then SMART
Status FAIL is a valid condition for warranty replacement.
You can use SeaChest_Basics or SeaChest_SMART software with --smartCheck to
test the SATA SMART status of the drive.
When a SMART Status test has a FAIL it is extremely important that you back up
all of your important data. SMART Status FAIL is a near-term prediction of
drive failure and the drive usually functions like normal. Unfortunately, there
is no way to specifically predict when the failure will occur, so your best
response is to back up your data as soon as possible.
SMART attributes are also supplemented by SATA Device Statistics Notification
(DSN) feature set, including a set of Device Statistics Notifications log
pages. This data provides further insight into a drive's performance and can
be used to help measure its usage and potentially identify problem areas of
concern.
Likewise, SAS SCSI and FibreChannel interface products collect ongoing
performance data and save this information in many different "vital data" and
"log" pages, also call Vital Product Data (VPD). This data is similar and
overlaps most of the same data collection categories as the SATA interface.
SeaChest does not interpret attributes or thresholds. As a practical matter,
the technology supporting SMART is constantly being improved. Each new design
incorporates improvements that increase the accuracy of the SMART prediction.
As a matter of policy, Seagate does not publish attributes and thresholds.
Seagate Support does not help to analyze SMART attributes.
This User Guide file contains important information about SeaChest_Info.
Please read this entire file before using this software.
SeaChest is a comprehensive, easy-to-use command line diagnostic tool that
helps you quickly determine the health and status of your Seagate storage
product. It includes several tests that will examine the physical media on your
Seagate, Samsung or Maxtor disk drive.
Tests and commands which are completely data safe will run on any disk drive.
Tests and commands which change the drive (like firmware download or data
erasure or setting the maximum capacity, etc) are limited to Seagate disk
drives (this includes Seagate, Maxtor, Samsung and LaCie). Be careful using
SeaChest because some of the features, like the data erasure options, will
cause data loss. Seagate is not responsible for lost user data.
Note: One gigabyte, or GB, equals one billion bytes when referring to hard
drive capacity. This software may use information provided by the operating
system to display capacity and volume size. The Windows file system uses a
binary calculation for gibibyte or GiB (2^30) which causes the abbreviated size
to appear smaller. The total number of bytes on a disk drive divided by the
decimal calculation for gigabyte or GB (10^9) shows the expected abbreviated
size. See this FAQ for more information
<http://knowledge.seagate.com/articles/en_US/FAQ/172191en?language=en_US>.
Usage - Linux (run with sudo)
=============================
SeaChest_Info [-d <sg_device>] {arguments} {options}
Examples - Linux
================
sudo SeaChest_Info --scan
sudo SeaChest_Info -d /dev/sg2 -i
Usage - Windows (run as administrator)
======================================
SeaChest_Info [-d <PD_device>] {arguments} {options}
Examples - Windows
==================
SeaChest_Info --scan
SeaChest_Info -d PD0 -i
==========================================================================================
SeaChest_Info - Seagate drive utilities - NVMe Enabled
Copyright (c) 2014-2023 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
SeaChest_Info Version: 2.5.0-6_2_0 X86_64
Build Date: Dec 1 2023
Today: Mon Dec 4 10:44:18 2023 User: current user
==========================================================================================
Usage
=====
SeaChest_Info [-d <sg_device>] {arguments} {options}
Examples
========
SeaChest_Info --scan
SeaChest_Info -d /dev/sg<#> -i
SeaChest_Info -d /dev/sg<#> --SATInfo
SeaChest_Info -d /dev/sg<#> --llInfo
SeaChest_Info -d /dev/sg<#> --showConcurrentRanges
SeaChest_Info -d /dev/sg<#> --deviceStatistics
SeaChest_Info -d /dev/sg<#> --smartAttributes hybrid
SeaChest_Info -d /dev/sg<#> --showSCSIDefects g --defectFormat bfi
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.
--enableLegacyUSBPassthrough
Only use this option on old USB or IEEE1394 (Firewire)
products that do not otherwise work with the tool.
This option will enable a trial and error method that
attempts sending various ATA Identify commands through
vendor specific means. Because of this, certain products
that may respond in unintended ways since they may interpret
these commands differently than the bridge chip the command
was designed for.
--forceATA
Using this option will force the current drive to
be treated as a ATA drive. Only ATA commands will
be used to talk to the drive.
--forceATADMA (SATA Only)
Using this option will force the tool to issue SAT
commands to ATA device using the protocol set to DMA
whenever possible (on DMA commands).
This option can be combined with --forceATA
--forceATAPIO (SATA Only)
Using this option will force the tool to issue PIO
commands to ATA device when possible. This option can
be combined with --forceATA
--forceATAUDMA (SATA Only)
Using this option will force the tool to issue SAT
commands to ATA device using the protocol set to UDMA
whenever possible (on DMA commands).
This option can be combined with --forceATA
--forceSCSI
Using this option will force 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 to seaboard@seagate.com.
Include the output of --version information in the email.
--license
Display the Seagate End User License Agreement (EULA).
--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
--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 SeaChest_Info 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 SeaChest_Info version and copyright information & exit
Utility Arguments
=================
-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.
-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
-i, --deviceInfo
Show information and features for the storage device
--llInfo
Dump low-level information about the device to assist with debugging.
-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.
-S, --Scan
This option is the same as --scan or -s,
however it will also perform a low level rescan to pick up
other devices. This low level rescan may wake devices from low
power states and may cause the OS to re-enumerate them.
Use this option 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 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.
--deviceStatistics
Use this option to display the device statistics reported
by the device. On SATA, this uses the Device Statistics
log, and the notifications log (if DSN feature is supported)
to display these statistics. On SAS, various log pages are
read to collect a bunch of reported parameter information.
--showConcurrentRanges
Use this option to display the concurrent positioning ranges
supported by a device. Concurrent positioning ranges are used
to inform which actuator is used for a given range in LBA space.
--partitionInfo
Use this option to look for a partition table and dump
the list of partitions on a given disk.
Currently only MBR and GPT partition tables are supported.
SATA Only:
=========
--smartAttributes [raw | hybrid | analyzed] (SATA Only)
The drive will display its list of supported SMART attributes.
Some attributes names are commonly standard and most others are
vendor unique. In either case, the attribute thresholds are
always vendor unique. Most attributes are informational and not
used to determine a warranty return. Use the --smartCheck
command to determine if one of the warranty attributes has been
tripped. Seagate Support does not help to analyze SMART
attributes.
Output modes:
raw - All hex output for those that need every single bit.
hybrid - classic table view with some interpretation of some
fields. Partial raw interpretation, but not all drive
and firmware combinations are supported.
analyzed - a full breakdown of all parts of each individual
attribute's data. Full raw data interpretation only
available on select devices.
NOTE: Migration to device statistics is recommended.
SAS Only:
=========
--defectFormat [ # | shortBlock | longBlock | xbfi | xchs | bfi | chs ] (SAS Only)
This option set the format of the defects to output.
Not all drives will support all defect modes!
SSDs will only support block modes!
Arguments: (name | #)
shortBlock | 0 - show the defects in short block address mode (drives < 32bit LBA)
xbfi | 1 - show the defects in extended bytes from index mode
xchs | 2 - show the defects in extended physical cylinder-head-sector mode
longBlock | 3 - show the defects in long block address mode (drives > 32bit LBA)
bfi | 4 - show the defects in bytes from index mode
chs | 5 - show the defects in physical cylinder-head-sector mode
--showSCSIDefects [ p | g | pg ] (SAS Only)
This option will display the SCSI defects on the screen.
The arguments to this will tell whether to get the grown,
primary, or primary and grown defects from the drive.
Use the --defectFormat option to specify the mode to display the defects.
If no mode is specified, physical cylinder-head-sector mode is assumed
Arguments:
p - use this option to pull and display the primary (factory) defects
g - use this option to pull and display the grown (reallocated) defects
The above options can be combined to pull and display both defect lists.
===============
Version History - SeaChest_Info
===============
SeaChest_Info is branched off from SeaChest Basics v2.0.3.
v0.0.1 02-Jun-2016 Initial SeaChest_Info using 1_9_4 libraries.
v0.0.1 06-Jul-2016 1_10_0 libraries add --forceATA and --forceSCSI.
v0.0.1 14-Jul-2016 1_10_1 libraries adds SMART and power management
functions, format polling, endianess detection, buffer
size fixes, SAS device statistics, Win32 IOCTL
pass-through fix on Win8 and higher.
v0.1.0 01-Sep-2016 1_11_1 libraries updates to various printed message,
minor bug fixes. Fixed --SATInfo command.
v0.1.0 21-Sep-2016 1_11_2 libraries updates adds --forceATADMA, --forceATAPIO
and --forceATAUDMA (SATA Only).
v1.0.0 10-Oct-2016 1_11_4 libraries updates. Support for multiple devices.
v1.0.0 25-Oct-2016 1_11_5 libraries updates improved LaCie detection, adds
SAT Vendor ID, SAT Product ID, and SAT Product Revision to
the -i --SATInfo output.
v1.0.1 27-Oct-2016 1_11_6 libraries updates WWN detection. Added
--enableLegacyUSBPassthrough
v1.0.1 03-Nov-2016 1_11_7 libraries fixed issue with SAS EPC power mode
settings.
v1.0.1 13-Dec-2016 1_11_10 libraries fixes a problem when using maxLBA without
the corresponding command range option, SAS power mode
setting, and Sanitize erase patterns.
v1.1.0 23-Feb-2017 1_13_0 libraries adds support for SAS 12.0Gb/s and
22.5Gb/s physical bus speeds, support for double buffered
passthrough IOCTLs. New -F, --scanFlags [options:
ignoreCSMI allowDuplicates] for Windows tools. Add CSMI
support to all Windows version tools.
v1.1.0 06-Mar-2017 1_13_2 libraries adds Enhanced device information output
for SAS features. Add --csmiInfo.
v1.2.0 14-Jun-2017 1_15_0 libraries adds bug fix malformed command line
should exit with code = 1; added detection of parallel ATA
and SCSI speeds; temperature data on ATA now uses the
values from the SCT status log or device statistics log.
Bug fix where the "-d all" was not filtering out csmi
drives like it is supposed to causing duplicate drives to
show up. Adds the child drive matching options
--childModelMatch, --childOnlyFW, and --childNewFW.
v1.3.0 14-Jul-2017 1_16_1 libraries adds support for ATA drives that have the
Sense Data Reporting feature enabled, changes to how we
interpret the completion status from the drive, new Sense
Data ASC, ASCQ definitions from SPC5. Adds --Scan (or -S,
note the capital S) aggressive system scan.
v1.3.0 27-Jul-2017 1_16_2 libraries enhances Seagate brand detection.
v1.3.0 19-Sep-2017 1_16_4 libraries fixes SCSI "--progress format", added
reading remanufacture time for SAS when the drive reports
a time, fixed SAS --abortDST.
v1.3.0 25-Sep-2017 1_17_0 libraries adds improved SATA device discovery on
SAS adapters, added NVMe read, write & Flush commands.
v1.3.1 10-Oct-2017 1_17_1 libraries adds Better handling of NVMe as a SCSI
device, SAT library strings, and fixes to Read-Buffer
error history (ISL). Updated copyright notice, invalid
command line options now only display an error instead of
long help.
v1.3.1 12-Oct-2017 1_17_3 libraries improves Fast-Format compatibility on SAS.
v1.3.1 26-Oct-2017 1_17_5 libraries fixes SATA drive discovery behind HBAs
that don't show as SATA and don't support the SAT VPD
page; added Automatic fallback to 12byte CDBs during
initial device discovery; integrated fixes for SAS
firmware download and fixes for SAS LongDST time
calculation; added detection of TCG Pyrite and Opalite
drives.
v1.3.1 31-Oct-2017 1_17_6 libraries adds ATA Security compatibility with SATL
on some LSI adapters, corrects firmware download issue
under Windows 10 API.
v1.3.1 02-Nov-2017 1_17_7 libraries fixes Long DST time on SCSI/SAS products.
v1.3.1 19-Apr-2018 1_18_0 libraries improves device detection of CD-ROM and
USB flash drives, support for early 90's PATA drives that
don't support LBA mode, bug fix where the last digit of
the SCSI Unit Serial Number was being dropped, additional
logic for deferred download completion status. --scan
--onlySeagate for just Seagate drives in a large system,
Long Drive Self Test Time in the -i output, write protect
status has been added for SCSI and NVMe in the -i output,
IDD enhancements for SAS, IDD enhancements to allow
captive mode on SATA, added USB Hacks to better support
some odd-ball USB devices and prevent crashes and improve
performance for some operations on them by issuing test
unit ready commands when something fails during device
discovery, automatic fall back to SAT 10 byte commands
during device discovery to help work with some USB
devices, some Legacy SCSI support enhancements (partially
from USB hacks development), enhanced SD to SG mapping in
Linux.
v1.4.0 25-Jul-2018 Adds --defectFormat, --showSCSIDefects
v1.4.1 21-Sep-2018 1_18_2 libraries Added in reading os-release PRETTY_NAME
field to get the OS name under linux; NVMe enabled; fixed
a bug in the ATA activate FW command; added in reading ID
Data log and Device statistics logs page 0 to check the
list of supported pages; fixed a bug in the loop used to
read mode pages for -i information on SAS; IDD SAS
improvements; fixed a bug in DST & Clean with ATA drives
behind SCSI controllers. Fix for --modelMatch that have
spaces in the name. Added additional information to the
banner and -V data to show support levels. Add general
support for NVMe and NVMe specific identify data to "-i"
command.
v1.4.1 18-Oct-2018 1_18_3 libraries Added NVMe generic read command support.
v1.5.0 03-May-2019 1_19_18 libraries added per device verbosity, --deviceInfo
adds SAS (not SATA) FastFormat for Features Supported
section, --deviceInfo now gives Low Current Spinup
status.
v1.5.0 10-Jun-2019 1_19_23 libraries added SNTL (SCSI to NVMe translator),
updated software SAT translator to use dataset management
XL command, fixes for issuing vendor unique commands under
Windows, improved fast format support detection, and
refactored verbose output for NVMe commands.
v1.6.0 19-Feb-2020 1_21_30 libraries add in check for Elevated Privileges
(sudo, run as administrator) before trying to talk to
devices, new exit code 9 if privileges are missing;
printing the USB VID/PID in the device info; fix to sg
helper to support large systems; many changes in support
of dual actuators (example: warning that EPC settings
affect multiple LUNs); overhaul to USB device detection
and support, incorporating a new USB hacks and workarounds
approach which uses a lookup table listing various USB
bridge VIDs/PIDs and their specific issues; separate
Seagate SAS SN and PCBA SN.
v1.6.1 13-Apr-2020 1_21_30 libraries, fix memory allocation during the scan
command.
v2.0.0 20-Nov-2020 Changed how scan-flags are parsed. CSMI rewrite and initial
Intel RST NVMe support added. Numerous code quality improvements
which fixed many potential bugs and memory leaks. Improved
support for openfabrics NVMe drivers. Changed permissions
detection to show warnings rather than errors. Removed obsolete
CSMI and SAT 12B CDB options. CSMI handles now show as csmi:?:?:?
v2.1.0 16-Jun-2021 New option for showing the concurrent positioining ranges of new
multi-actuator drives.
Pulled in updates to opensea-libs which includes the following:
Minor USB compatibility improvements and more products added
to the list with their specific workarounds.
Updated NVMe compatibility for FreeBSD 11.
Support for detection and showing of concurrent positioning
(new multi-actuator support from the standards).
v2.3.1 28-Feb-2023 Includes new --noBanner option and new fast discovery option
that can be used in situations where super critical performance
is required at a loss of information about a drive's capabilities.
Help now has many more examples of the options in the tool.
Fixed a few bugs in scan and device discovery that could cause
a crash or the tool to list no devices found.
Added option to dump low-level info to assist with debugging.
Added date of manufacture info to the -i output when available.
Fixed some big endian compatibility issues discovered on AIX.
v2.3.1 27-Mar-2023 opensea-transport updated to fix CSMI scan duplicating devices
found in certain scenarios.
v2.5.0 01-Dec-2023 Updated to newer opensea-libs to pull in low-level fixes.
Added ability to dump partition table info (MBR and GPT).
Stopped reading /etc/passwd file to show username in banner.
Banner will now show either "admin"/"root" or "current user".
Improved parsing of linux distro/release information from
/etc/os-release file.
Fixed a bug in byte swap string used to get ATA MN, SN, FW.
Fixed a bug in getting/reporting power on hours as years,
days, hours, etc where days was being truncated.
Fixed error reading NVMe features in Windows for drive info.
Fixed SAS Date of manufacture in drive info.
Added detection of HPA security feature.
Added more SMART attributes definitions for Seagate HDDs & SSDs,
and more definitions for Maxtor HDDs.
Improved temperature detection from older HDDs with only
SMART attribute 194 reporting current temperature.
Added separate warning for SMART attributes below threshold that
are not considered prefail/warranty attributes (aka failures).
Fixed output of Seagate Airflow temperature SMART attribute.
Added showing new capacity after changing Max LBA.
Fixed possible segmentation fault when reading /etc/mtab in Linux.
Workaround for some SAS drives on some HBAs reporting incorrect
response to SAT A1h CDB.
Fixed a bug in FreeBSD causing non-data ATA commands to report
all zeroes instead of expected output in RTFRs.
SeaChest_Lite 9/28
[top][prev][next]
SeaChest_Lite Revision: 04-Dec-2023
===============================================================================
SeaChest_Lite - Seagate drive utilities
Copyright (c) 2014-2023 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
See Version History below.
===============================================================================
Welcome to Seagate's SeaChest Lite diagnostic software.
This User Guide file contains important information about SeaChest Lite.
Please read this entire file before using this software.
SeaChest is a comprehensive, easy-to-use command line diagnostic tool that
helps you quickly determine the health and status of your Seagate storage
product. It also includes a command to change the default sector size on
supported drive models.
Tests and commands which are completely data safe will run on any disk drive.
Tests and commands which change the drive (like changing the default sector
size) are limited to Seagate disk drives. Be careful using SeaChest because
some of the features, like the data erasure options, will cause data loss.
Seagate is not responsible for lost user data.
If you need additional diagnostics for your Seagate family drive, please see
the section below 'About SeaChest Command Line Diagnostics'.
If this is your drive, you should always keep a current backup of your
important data.
Important note: Many tests in this tool directly reference storage device data
sectors, also known as Logical Block Addresses (LBA). Test arguments may
require a starting LBA or an LBA range. The predefined variable 'maxLBA'
refers to the last sector on the drive. Many older SATA and SAS storage
controllers (also known as Host Bus Adapters [HBA]) have a maximum addressable
limit of 4294967295 [FFFFh] LBAs hard wired into their design. This equates to
2.1TB using 512 byte sectors. This also means accessing an LBA beyond the
2.1TB limitation either will result in an error or simply the last readable LBA
(usually LBA 4294967295 [FFFFh]) depending on the actual hardware. This
limitation can have important consequences. For example, if you intended to
erase a 4TB drive, then only the first 2TB will actually get erased (or maybe
even twice!) and the last 2TB will remain untouched. You should carefully
evaluate your system hardware to understand if your storage controllers provide
support for greater than 2.1TB.
NOTE: Windows severely restricts downloading firmware to SATA drives. Please
see the section below "Windows Restrictions Over SATA Firmware Downloads".
SeaChest_Lite may not be fully functional on non-Seagate drives.
Usage - Linux (run with sudo)
=============================
SeaChest_Basics [-d <sg_device>] {arguments} {options}
Examples - Linux
================
sudo SeaChest_Lite --scan
sudo SeaChest_Lite -d /dev/sg2 -i
sudo SeaChest_Lite -d /dev/sg1 --shortDST --poll
Usage - Windows (run as administrator)
======================================
SeaChest_Lite [-d <PD_device>] {arguments} {options}
Examples - Windows
==================
SeaChest_Lite --scan
SeaChest_Lite -d PD0 -i
SeaChest_Lite -d PD1 --shortDST --poll
==========================================================================================
SeaChest_Lite - Seagate drive utilities - NVMe Enabled
Copyright (c) 2014-2023 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
SeaChest_Lite Version: 1.9.2-6_2_0 X86_64
Build Date: Dec 1 2023
Today: Mon Dec 4 10:44:18 2023 User: current user
==========================================================================================
Usage
=====
SeaChest_Lite [-d <sg_device>] {arguments} {options}
Examples
========
SeaChest_Lite --scan
SeaChest_Lite -d /dev/sg<#> -i
Utility Arguments
=================
-d, --device <deviceHandle>
Use this option with all commands, except --scan, to specify
the device handle (target drive) on which to
perform an operation.
Example: -d /dev/sg<#> (case sensitive)
-i, --deviceInfo
Show information and features for the storage device. USB
devices will show the product name, serial and firmware numbers
as communicated by the USB-SATA bridge. Add --SATInfo
to display details about the drive within the USB enclosure.
-s, --scan
Scan the system and list all storage devices with Physical
Device 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.
--fastDiscovery
Use this option to issue a fast scan on the specified drive.
--downloadFW [firmware_filename]
Download firmware to a Seagate storage product. Use only
Seagate 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 prefer deferred download or segmented download
depending on the device's capabilities.
--shortDST
Execute a short diagnostic drive self test. This test can take
up to 2 minutes to complete. Use with the --poll argument to
let SeaChest check for progress and print it to the screen
until complete. If the --poll argument is not used then the
test begins and immediately returns to the command prompt. Use
the --progress DST command to check on the completion
percentage (%) and test result. The poll argument does not
return to the command prompt and prints ongoing completion
percentages (%) until the final test result.
Note: Use --progress DST to see details about the last DST
run on the drive.
NOTE: Short DST may take longer if there is other disk usage
while the DST is running. If the DST takes longer than 10 minutes
it will automatically be aborted while polling for progress.
To override this behavior, use the --noTimeLimit option.
--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 (%)
and the final test result. Used with --shortDST.
--progress [dst]
Get the progress for a test that was started quietly (default).
The progress counts up from 0% to 100%.
--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.
Utility Options
===============
-h, --help
Show utility options and example usage (this output you see now)
--license
Display the Seagate End User License Agreement (EULA).
--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.
The option --childModelMatch may be used to match drives in USB
enclosures.
--onlySeagate
Use this option to match only Seagate drives for the options
provided
--noTimeLimit
Use with utility command arguments which have a built in timeout
value. For example, --shortDST has a 10 minute default
timeout. In some cases a good drive may need more time to
complete the test due to other legitimate system activity.
--noBanner
Use this option to suppress the text banner that displays each time
openSeaChest is run.
-V, --version
Show SeaChest_Lite version and copyright information & exit
Data Destructive Commands (Seagate only)
========================================
Data destructive commands will require additional command line arguments as
confirmation of your understanding that data will be lost on the drive.
Seagate is not responsible for lost user data.
--setSectorSize [new sector size]
Changing sector sizes is intended for supported Seagate products
used in some hardware RAID configurations. Please consult your
hardware RAID documentation for information about compatibility and
using 4K native sectors before using this option!
Software RAID or individual/JBOD drive solutions will see no benefit as modern
file systems and modern operating systems are already 4K aware even on
512 emulation drives. Modern operating systems already align file systems to 4K
boundaries required by these drives for optimal performance.
Performing a sector size change is data destructive and has a risk that
the adapter, driver, or operating system may not know how to communicate with
the device once this has completed.
[49m[38;5;9m There is an additional risk when performing a low-level format/fast format that may
make the drive inoperable if it is reset at any time while it is formatting.
[0m This option is only available for drives that support sector
size changes. On SATA Drives, the Set Sector Configuration
command must be supported. On SAS Drives, Fast Format must be
supported. Please consult your product manual to verify support.
This option can be used to quickly change the logical
sector size between 5xx emulation and 4xxx native logical block
sizes, usually 512 and 4096. Resulting LBA (sector) count is
either /8 or *8 the current Read Capacity or Identify,
depending on the direction of the conversion. The conversion
between logical sector sizes can take a few minutes. Do not
interrupt this operation.
[49m[38;5;11m WARNING: Any interruption to the device while it is formatting may render the
drive inoperable! Use this at your own risk!
WARNING: Set sector size may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
WARNING (SATA): Do not interrupt this operation once it has started or
it may cause the drive to become unusable. Stop all possible background
activity that would attempt to communicate with the device while this
operation is in progress
WARNING: It is not recommended to do this on USB as not
all USB adapters can handle a 4k sector size.
WARNING: Disable any out-of-band management systems/services/daemons
before using this option. Interruptions can be caused by these
and may prevent completion of a sector size change.
WARNING: It is recommended that this operation is done from a bootable environment
(Live USB) to reduce the risk of OS background activities running and
triggering a device reset while reformating the drive.
[0m --confirm this-will-erase-data
This option should be used only with Data Destructive Commands
===============
Version History - SeaChest_Lite
===============
SeaChest_Lite is branched off from SeaChest Basics v2.7.1
v1.0.0 19-Apr-2018 Initial release.
v1.0.1 21-Sep-2018 1_18_2 libraries Added in reading os-release PRETTY_NAME
field to get the OS name under linux; NVMe enabled; fixed
a bug in the ATA activate FW command; added in reading ID
Data log and Device statistics logs page 0 to check the
list of supported pages; fixed a bug in the loop used to
read mode pages for -i information on SAS; IDD SAS
improvements; fixed a bug in DST & Clean with ATA drives
behind SCSI controllers. Fix for --modelMatch that have
spaces in the name. Added additional information to the
banner and -V data to show support levels. Add general
support for NVMe and NVMe specific identify data to "-i"
command.
v1.0.1 18-Oct-2018 1_18_3 libraries Added NVMe generic read command support.
v1.2.0 03-May-2019 1_19_18 libraries added per device verbosity, --deviceInfo
adds SAS (not SATA) FastFormat for Features Supported
section, --deviceInfo now gives Low Current Spinup
status. Adds --showSupportedFormats, removes
--showSupportedSectorSizes.
v1.2.0 10-Jun-2019 1_19_23 libraries added SNTL (SCSI to NVMe translator),
updated software SAT translator to use dataset management
XL command, fixes for issuing vendor unique commands under
Windows, improved fast format support detection, and
refactored verbose output for NVMe commands.
v1.3.0 19-Feb-2020 1_21_30 libraries add in check for Elevated Privileges
(sudo, run as administrator) before trying to talk to
devices, new exit code 9 if privileges are missing;
printing the USB VID/PID in the device info; fix to sg
helper to support large systems; many changes in support
of dual actuators (example: warning that EPC settings
affect multiple LUNs); overhaul to USB device detection
and support, incorporating a new USB hacks and workarounds
approach which uses a lookup table listing various USB
bridge VIDs/PIDs and their specific issues; separate
Seagate SAS SN and PCBA SN.
v1.3.1 13-Apr-2020 1_21_30 libraries, fix memory allocation during the scan
command.
v1.4.0 20-Nov-2020 CSMI rewrite and initial Intel RST NVMe support added.
Numerous code quality improvements which fixed many
potential bugs and memory leaks. Improved support for
openfabrics NVMe drivers. Changed permissions detection to
show warnings rather than errors. Removed obsolete CSMI and
SAT 12B CDB options. CSMI handles now show as csmi:?:?:?
Added additional warnings about set sector size over USB
adapters. Adding additional warnings about changing SATA
sector sizes.
v1.4.1 12-Feb-2021 Adding additional warnings around set sector size (fast format).
opensea-transport code pulled in enhancements to attempt to block
other applications and the OS from interrupting format, fast format,
set sector configuration and more to prevent potential problems
during these operations or which may leave the drive in a bad state
if they are interrupted.
v1.5.0 27-Apr-2021 Added Seagate quick format option that can be run if setSectorSize
fails. This can help return drives to a good state if a failure occurs.
This will automatically run if a failure is detected in the software
to try and keep the drive in a good state no matter what happens.
v1.5.0 16-Jun-2021 Pulled in updates to opensea-libs which includes the following:
Minor USB compatibility improvements and more products added
to the list with their specific workarounds.
Updated NVMe compatibility for FreeBSD 11.
Support for detection and showing of concurrent positioning
(new multi-actuator support from the standards).
v1.9.0 28-Feb-2023 New acceptance string for low-level format options that are not
obvious that they are doing a formwat. As these options are dangerous
and in some cases can be interrupted by the host, this new string
is required to be used to accept the risk since it may leave a device
in an unusable state if interrupted. New warnings accompany this change.
Tool also was updated to remove the manual option to perform a Seagate
quick format on SATA drives since this is now handled automatically when
it is detected as needed to recover the device to a fully functional state.
Includes new --noBanner option and new fast discovery option
that can be used in situations where super critical performance
is required at a loss of information about a drive's capabilities.
Help now has many more examples of the options in the tool.
Fixed a few bugs in scan and device discovery that could cause
a crash or the tool to list no devices found.
Added option to dump low-level info to assist with debugging.
Added date of manufacture info to the -i output when available.
Fixed some big endian compatibility issues discovered on AIX.
v1.9.0 27-Mar-2023 opensea-transport updated to fix CSMI scan duplicating devices
found in certain scenarios.
v1.9.2 01-Dec-2023 Updated to newer opensea-libs to pull in low-level fixes.
Changed set sector size timeout to 1 hour instead of infinite to
improve compatibility with some drivers in Linux.
Added more warnings around set sector size option.
Changed default behavior of SAS fast format with --setSectorSize
to use polling while changing the sector size to reduce the
chance of OS interruption/resets.
Stopped reading /etc/passwd file to show username in banner.
Banner will now show either "admin"/"root" or "current user".
Improved parsing of linux distro/release information from
/etc/os-release file.
Fixed a bug in byte swap string used to get ATA MN, SN, FW.
Fixed a bug in getting/reporting power on hours as years,
days, hours, etc where days was being truncated.
Fixed error reading NVMe features in Windows for drive info.
Fixed SAS Date of manufacture in drive info.
Added detection of HPA security feature.
Added more SMART attributes definitions for Seagate HDDs & SSDs,
and more definitions for Maxtor HDDs.
Improved temperature detection from older HDDs with only
SMART attribute 194 reporting current temperature.
Added separate warning for SMART attributes below threshold that
are not considered prefail/warranty attributes (aka failures).
Fixed output of Seagate Airflow temperature SMART attribute.
Added showing new capacity after changing Max LBA.
Fixed possible segmentation fault when reading /etc/mtab in Linux.
Workaround for some SAS drives on some HBAs reporting incorrect
response to SAT A1h CDB.
Fixed a bug in FreeBSD causing non-data ATA commands to report
all zeroes instead of expected output in RTFRs.
SeaChest_NVMe 10/28
[top][prev][next]
SeaChest_NVMe Revision: 04-Dec-2023
===============================================================================
SeaChest_NVMe - Seagate drive utilities
Copyright (c) 2014-2023 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
See Version History below.
===============================================================================
Welcome to Seagate's SeaChest NVMe diagnostic software.
This User Guide file contains important information about SeaChest NVMe.
Please read this entire file before using this software.
SeaChest is a comprehensive, easy-to-use command line diagnostic tool that
helps you quickly determine the health and status of your Seagate storage
product. It includes several tests that will examine the physical media on your
Seagate, Samsung or Maxtor disk drive.
Tests and commands which are completely data safe will run on any disk drive.
Tests and commands which change the drive (like firmware download or data
erasure or setting the maximum capacity, etc) are limited to Seagate disk
drives (this includes Seagate, Maxtor, Samsung and LaCie). Be careful using
SeaChest because some of the features, like the data erasure options, will
cause data loss. Seagate is not responsible for lost user data.
If this is your drive, you should always keep a current backup of your
important data.
Important note: Many tests in this tool directly reference storage device data
sectors, also known as Logical Block Addresses (LBA). Test arguments may
require a starting LBA or an LBA range. The predefined variable 'maxLBA'
refers to the last sector on the drive. Many older SATA and SAS storage
controllers (also known as Host Bus Adapters [HBA]) have a maximum addressable
limit of 4294967295 [FFFFh] LBAs hard wired into their design. This equates to
2.1TB using 512 byte sectors. This also means accessing an LBA beyond the
2.1TB limitation either will result in an error or simply the last readable LBA
(usually LBA 4294967295 [FFFFh]) depending on the actual hardware. This
limitation can have important consequences. For example, if you intended to
erase a 4TB drive, then only the first 2TB will actually get erased (or maybe
even twice!) and the last 2TB will remain untouched. You should carefully
evaluate your system hardware to understand if your storage controllers provide
support for greater than 2.1TB.
Note: One gigabyte, or GB, equals one billion bytes when referring to hard
drive capacity. This software may use information provided by the operating
system to display capacity and volume size. The Windows file system uses a
binary calculation for gibibyte or GiB (2^30) which causes the abbreviated size
to appear smaller. The total number of bytes on a disk drive divided by the
decimal calculation for gigabyte or GB (10^9) shows the expected abbreviated
size. See this FAQ for more information
<http://knowledge.seagate.com/articles/en_US/FAQ/172191en?language=en_US>.
Usage - Linux (run with sudo)
=============================
SeaChest_NVMe [-d <sg_device>] {arguments} {options}
Examples - Linux
================
sudo SeaChest_NVMe --scan
sudo SeaChest_NVMe -d /dev/nvme0n1 -i
sudo SeaChest_NVMe -d /dev/nvme0n1 --deviceInfo
Usage - Windows (run as administrator)
======================================
SeaChest_NVMe [-d <PD_device>] {arguments} {options}
Examples - Windows
==================
SeaChest_NVMe --scan
SeaChest_NVMe -d PD0 --deviceInfo
==========================================================================================
SeaChest_NVMe - Seagate drive utilities - NVMe Enabled
Copyright (c) 2014-2023 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
SeaChest_NVMe Version: 2.3.0-6_2_0 X86_64
Build Date: Dec 1 2023
Today: Mon Dec 4 10:44:18 2023 User: current user
==========================================================================================
Usage
=====
SeaChest_NVMe [-d <sg_device>] {arguments} {options}
Examples
========
SeaChest_NVMe --scan
SeaChest_NVMe -d /dev/sg<#> -i
SeaChest_NVMe -d /dev/sg<#> --SATInfo
SeaChest_NVMe -d /dev/sg<#> --llInfo
Updating firmware:
SeaChest_NVMe -d /dev/sg<#> --downloadFW file.bin
Updating firmware with deferred download and activating:
SeaChest_NVMe -d /dev/sg<#> --downloadFW file.bin --downloadMode deferred --activateFW
Updating firmware and specifying a firmware slot (NVMe)
SeaChest_NVMe -d /dev/sg<#> --downloadFW file.bin --downloadMode deferred
+
SeaChest_NVMe -d /dev/sg<#> --activateFW --firmwareSlot 2
Formatting an NVMe device:
SeaChest_NVMe -d /dev/sg<#> --showSupportedFormats
SeaChest_NVMe -d /dev/sg<#> --nvmFormat current --poll
SeaChest_NVMe -d /dev/sg<#> --nvmFormat 4096 --poll
SeaChest_NVMe -d /dev/sg<#> --nvmFormat current --poll --nvmFmtSecErase user
SeaChest_NVMe -d /dev/sg<#> --nvmFormat current --poll --nvmFmtPI 1
Checking and changing power states:
SeaChest_NVMe -d /dev/sg<#> --checkPowerMode
SeaChest_NVMe -d /dev/sg<#> --transitionPowerState 1
Pulling the Telemetry log:
SeaChest_NVMe -d /dev/sg<#> --getTelemetry host
SeaChest_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).
--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 SeaChest_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 SeaChest_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
Seagate 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.
===============
Version History - SeaChest_NVMe
===============
v0.0.2 14-Jul-2016 1_10_1 libraries. SeaChest_NVMe initial beta test
release. Branched from SeaChest_Basics v2.1.0.
v0.0.3 18-Oct-2018 1_18_3 libraries Added NVMe generic read command support.
v1.0.0 03-May-2019 1_19_18 libraries added per device verbosity, --deviceInfo
adds SAS (not SATA) FastFormat for Features Supported
section, --deviceInfo now gives Low Current Spinup
status. Adds --firmwareSlot/--fwBufferID, adds
--fwdlSegSize, adds --getTelemetry, adds
--telemetryDataArea, adds showSupportedFormats, removes
--formatUnit. Adds several new commands in support of NVMe
format: --nvmFormat, --nvmFmtSecErase, --nvmFmtMS,
--nvmFmtNSID, --nvmFmtPI, --nvmFmtPIL, --nvmFmtMetadataSet.
v1.0.0 10-Jun-2019 1_19_23 libraries added SNTL (SCSI to NVMe translator),
updated software SAT translator to use dataset management
XL command, fixes for issuing vendor unique commands under
Windows, improved fast format support detection, and
refactored verbose output for NVMe commands.
v1.1.0 21-Nov-2019 1_20_5 libraries. Added new exit code 9 = Need Elevated
Privileges; sudo or run as administrator now required for
all SeaChest and related tools. Rename --getLogPage to
--getNvmeLogPage.
v1.1.0 19-Feb-2020 1_21_30 libraries add printing the USB VID/PID in the
device info; fix to sg helper to support large systems;
many changes in support of dual actuators (example:
warning that EPC settings affect multiple LUNs); overhaul
to USB device detection and support, incorporating a new
USB hacks and workarounds approach which uses a lookup
table listing various USB bridge VIDs/PIDs and their
specific issues; separate Seagate SAS SN and PCBA SN.
v1.1.1 13-Apr-2020 1_21_30 libraries, fix memory allocation during the scan
command.
v2.0.0 20-Nov-2020 Changed how scan-flags are parsed. CSMI rewrite and initial
Intel RST NVMe support added. Numerous code quality improvements
which fixed many potential bugs and memory leaks. Improved
support for openfabrics NVMe drivers. Changed permissions
detection to show warnings rather than errors. Removed obsolete
CSMI and SAT 12B CDB options. CSMI handles now show as csmi:?:?:?
Fixed a bug in generic NVMe log pull commands.
v2.0.0 12-Feb-2021 opensea-transport code pulled in compatiblity fixes for Intel RST
NVMe devices in configurations that are not RAID, but show up
as RAID in the low-level OS code.
v2.0.0 16-Jun-2021 Pulled in updates to opensea-libs which includes the following:
Minor USB compatibility improvements and more products added
to the list with their specific workarounds.
Updated NVMe compatibility for FreeBSD 11.
Support for detection and showing of concurrent positioning
(new multi-actuator support from the standards).
v2.2.2 28-Feb-2023 Includes new --noBanner option and new fast discovery option
that can be used in situations where super critical performance
is required at a loss of information about a drive's capabilities.
Help now has many more examples of the options in the tool.
Fixed a few bugs in scan and device discovery that could cause
a crash or the tool to list no devices found.
Added option to dump low-level info to assist with debugging.
Added date of manufacture info to the -i output when available.
Fixed some big endian compatibility issues discovered on AIX.
Automatic firmware update mode implemented for a better user
experience. This will do deferred download + activate for the best
experience if a product supports this option, otherwise it will
use segmented download. Also includes some options to override
the default nvme firmware update behavior as needed in special
circumstances.
Added --logLength option to specify an expected number of bytes
when reading an NVMe log since it is not possible to determine
this for all logs, especially vendor unique log pages.
v2.2.2 27-Mar-2023 opensea-transport updated to fix CSMI scan duplicating devices
found in certain scenarios.
v2.3.0 01-Dec-2023 Updated to newer opensea-libs to pull in low-level fixes.
Improved support for reading more NVMe feature info.
Added interpretted output for host memory buffer feature.
Fixed a bug pulling the Telemetry log.
Stopped reading /etc/passwd file to show username in banner.
Banner will now show either "admin"/"root" or "current user".
Improved parsing of linux distro/release information from
/etc/os-release file.
Fixed a bug in byte swap string used to get ATA MN, SN, FW.
Fixed a bug in getting/reporting power on hours as years,
days, hours, etc where days was being truncated.
Fixed error reading NVMe features in Windows for drive info.
Fixed SAS Date of manufacture in drive info.
Added detection of HPA security feature.
Added more SMART attributes definitions for Seagate HDDs & SSDs,
and more definitions for Maxtor HDDs.
Improved temperature detection from older HDDs with only
SMART attribute 194 reporting current temperature.
Added separate warning for SMART attributes below threshold that
are not considered prefail/warranty attributes (aka failures).
Fixed output of Seagate Airflow temperature SMART attribute.
Added showing new capacity after changing Max LBA.
Fixed possible segmentation fault when reading /etc/mtab in Linux.
Workaround for some SAS drives on some HBAs reporting incorrect
response to SAT A1h CDB.
Fixed a bug in FreeBSD causing non-data ATA commands to report
all zeroes instead of expected output in RTFRs.
SeaChest_PowerControl 11/28
[top][prev][next]
SeaChest_PowerControl Revision: 04-Dec-2023
===============================================================================
SeaChest_PowerControl - Seagate drive utilities
Copyright (c) 2014-2023 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
See Version History below.
===============================================================================
Welcome to Seagate's SeaChest_PowerControl diagnostic software.
Optimization within the framework of a complex company data center requires
dynamic technology. As storage capacity demands increase due to virtualization
and growing volumes of data, managing power usage in an intelligent way is
critical for reducing Total Cost of Ownership (TCO).
There are, roughly, three general frameworks for disk drive power management.
The earlier specification is part of Advanced Power Management (APM) which
provided controls over many devices in a system, including disk drives. APM
has since been replaced by a new framework called Extended Power Controls
(EPC). Seagate's implementation of EPC began to phase in starting in 2010 and
is named by the marketing term "PowerChoice". Seagate PowerChoice
technology‚ specifically developed for enterprise environments‚ offers more
energy efficiency and control over the amount of power hard drives consume.
You may need to learn what capabilities for power management your drive offers,
such as supporting APM or EPC, and maybe both. See the commands
--showEPCSettings or --showAPMLevel(SATA Only) or --deviceInfo for various
reports containing power settings and features supported. Most enterprise
drives after 2016 only support EPC (PowerChoice).
PowerChoice technology improves on earlier technology and allows for
energy-saving during periods of command inactivity, allowing for greater power
reductions. As idle time increases, the power-saving benefits also increase,
and the drives will still quickly respond to commands even after long idling
periods. In addition, PowerChoice technology supports four customizable modes
to give businesses significantly more control of power usage by allowing for up
to a 54% reduction in the amount of energy used.
See the section below "How PowerChoice Technology Works"
The third and newest drive power management framework exists for SATA drives
and is named PowerBalance. Seagate's PowerBalance feature will adjust drive
performance during random operations to reduce power consumption of the drive.
This User Guide file contains important information about SeaChest_PowerControl.
Please read this entire file before using this software.
SeaChest is a comprehensive, easy-to-use command line diagnostic tool that
helps you quickly determine the status of your Seagate storage product.
Tests and commands which are completely data safe will run on any disk drive.
Tests and commands which change the drive (like firmware download or data
erasure or setting the maximum capacity, etc) are limited to Seagate disk
drives (this includes Seagate, Maxtor, Samsung and LaCie). Be careful using
SeaChest because some of the features, like the data erasure options, will
cause data loss. Seagate is not responsible for lost user data.
Note: One gigabyte, or GB, equals one billion bytes when referring to hard
drive capacity. This software may use information provided by the operating
system to display capacity and volume size. The Windows file system uses a
binary calculation for gibibyte or GiB (2^30) which causes the abbreviated size
to appear smaller. The total number of bytes on a disk drive divided by the
decimal calculation for gigabyte or GB (10^9) shows the expected abbreviated
size. See this FAQ for more information
<http://knowledge.seagate.com/articles/en_US/FAQ/172191en?language=en_US>.
If this is your drive, you should always keep a current backup of your
important data.
Usage - Linux (run with sudo)
=============================
SeaChest_PowerControl [-d <sg_device>] {arguments} {options}
Examples - Linux
================
sudo SeaChest_PowerControl --scan
sudo SeaChest_PowerControl -d /dev/sg2 -i
sudo SeaChest_PowerControl -d /dev/sg1 --deviceInfo
sudo SeaChest_PowerControl -d /dev/sg3 --showEPCSettings
sudo SeaChest_PowerControl -d /dev/sg2 --idle_a 5000
sudo SeaChest_PowerControl -d /dev/sg1 --idle_b disable
sudo SeaChest_PowerControl -d /dev/sg3 --transitionPower standby_z
sudo SeaChest_PowerControl -d /dev/sg45 --idle_a 5000 --standby_z 30000 --idle_b enable --idle_c disable
Usage - Windows (run as administrator)
======================================
SeaChest_PowerControl [-d <PD_device>] {arguments} {options}
Examples - Windows
==================
SeaChest_PowerControl --scan
SeaChest_PowerControl -d PD0 -i
SeaChest_PowerControl -d PD1 --deviceInfo
SeaChest_PowerControl -d PD3 --showEPCSettings
SeaChest_PowerControl -d PD2 --idle_a 5000
SeaChest_PowerControl -d PD1 --idle_b disable
SeaChest_PowerControl -d PD3 --transitionPower standby_z
SeaChest_PowerControl -d PD45 --idle_a 5000 --standby_z 30000 --idle_b enable --idle_c disable
==========================================================================================
SeaChest_PowerControl - Seagate drive utilities - NVMe Enabled
Copyright (c) 2014-2023 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
SeaChest_PowerControl Version: 3.4.0-6_2_0 X86_64
Build Date: Dec 1 2023
Today: Mon Dec 4 10:44:18 2023 User: current user
==========================================================================================
Usage
=====
SeaChest_PowerControl [-d <sg_device>] {arguments} {options}
Examples
========
SeaChest_PowerControl --scan
SeaChest_PowerControl -d /dev/sg<#> -i
SeaChest_PowerControl -d /dev/sg<#> --SATInfo
SeaChest_PowerControl -d /dev/sg<#> --llInfo
SeaChest_PowerControl -d /dev/sg<#> --checkPowerMode
SeaChest_PowerControl -d /dev/sg<#> --showEPCSettings
SeaChest_PowerControl -d /dev/sg<#> --idle_a 5000
SeaChest_PowerControl -d /dev/sg<#> --idle_b disable
SeaChest_PowerControl -d /dev/sg<#> --transitionPower standby_z
SeaChest_PowerControl -d /dev/sg<#> --spinDown
SeaChest_PowerControl -d /dev/sg<#> --transitionPowerState 1
SeaChest_PowerControl -d /dev/sg<#> --showNVMPowerStates
SeaChest_PowerControl -d /dev/sg<#> --idle_a 5000 --standby_z 30000 --idle_b enable --idle_c disable
SeaChest_PowerControl -d /dev/sg<#> --showPowerTelemetry
SeaChest_PowerControl -d /dev/sg<#> --requestPowerMeasurement 120 --powerMeasurementMode 12
SeaChest_PowerControl -d /dev/sg<#> --EPCfeature enable
SeaChest_PowerControl -d /dev/sg<#> --standby 15000
SeaChest_PowerControl -d /dev/sg<#> --idle 5000
SeaChest_PowerControl -d /dev/sg<#> --showAPMLevel
SeaChest_PowerControl -d /dev/sg<#> --setAPMLevel 128
SeaChest_PowerControl -d /dev/sg<#> --showPowerConsumption
SeaChest_PowerControl -d /dev/sg<#> --setPowerConsumption 12
SeaChest_PowerControl -d /dev/sg<#> --setPowerConsumption lowest
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.
--enableLegacyUSBPassthrough
Only use this option on old USB or IEEE1394 (Firewire)
products that do not otherwise work with the tool.
This option will enable a trial and error method that
attempts sending various ATA Identify commands through
vendor specific means. Because of this, certain products
that may respond in unintended ways since they may interpret
these commands differently than the bridge chip the command
was designed for.
--forceATA
Using this option will force the current drive to
be treated as a ATA drive. Only ATA commands will
be used to talk to the drive.
--forceATADMA (SATA Only)
Using this option will force the tool to issue SAT
commands to ATA device using the protocol set to DMA
whenever possible (on DMA commands).
This option can be combined with --forceATA
--forceATAPIO (SATA Only)
Using this option will force the tool to issue PIO
commands to ATA device when possible. This option can
be combined with --forceATA
--forceATAUDMA (SATA Only)
Using this option will force the tool to issue SAT
commands to ATA device using the protocol set to UDMA
whenever possible (on DMA commands).
This option can be combined with --forceATA
--forceSCSI
Using this option will force 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 to seaboard@seagate.com.
Include the output of --version information in the email.
--license
Display the Seagate End User License Agreement (EULA).
--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
--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 SeaChest_PowerControl 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 SeaChest_PowerControl version and copyright information & exit
Utility Arguments
=================
-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.
-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
-i, --deviceInfo
Show information and features for the storage device
--llInfo
Dump low-level information about the device to assist with debugging.
-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.
-S, --Scan
This option is the same as --scan or -s,
however it will also perform a low level rescan to pick up
other devices. This low level rescan may wake devices from low
power states and may cause the OS to re-enumerate them.
Use this option 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 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.
--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.
--EPCfeature [enable | disable]
Enables or disables Extended Power Conditions (EPC) support for
devices. To disable EPC use --EPCfeature disable. Note that the
EPC Feature Set is not supported on all devices.
Use --deviceInfo option to see if EPC is supported.
WARNING: The EPC settings may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
--idle_a [ enable | disable | default | timerValueMilliseconds ]
Use this setting to change the EPC Idle_A power mode settings.
enable - enable the power state
disable - disable the power state
default - restore default settings for this power state
timerValue - number of milliseconds to set for the timer
used in this power state. If a timer is provided
the state will also be enabled, if not already.
EPC spec timers are set in 100 millisecond increments.
Timers will be truncated to fit 100 millisecond increments.
WARNING: EPC Settings may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
--idle_b [ enable | disable | default | timerValueMilliseconds ]
Use this setting to change the EPC Idle_B power mode settings.
enable - enable the power state
disable - disable the power state
default - restore default settings for this power state
timerValue - number of milliseconds to set for the timer
used in this power state. If a timer is provided
the state will also be enabled, if not already.
EPC spec timers are set in 100 millisecond increments.
Timers will be truncated to fit 100 millisecond increments.
WARNING: EPC Settings may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
--idle_c [ enable | disable | default | timerValueMilliseconds ]
Use this setting to change the EPC Idle_C power mode settings.
enable - enable the power state
disable - disable the power state
default - restore default settings for this power state
timerValue - number of milliseconds to set for the timer
used in this power state. If a timer is provided
the state will also be enabled, if not already.
EPC spec timers are set in 100 millisecond increments.
Timers will be truncated to fit 100 millisecond increments.
WARNING: EPC Settings may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
--powerMeasurementMode [all | 5 | 12] (Seagate Only)
Use this option along with --requestPowerMeasurement to specify
which sources to measure power on for the requested time.
all - measure all power sources
5 - measure only the 5v power
12 - measure only the 12v power
--requestPowerMeasurement [seconds to perform measurement] (Seagate Only)
This option is used to specify a time to perform a power
measurement for. The minimum measurement time is 22 seconds
and the maximum is 65535 seconds. If a time less than 22 seconds
is provided, 22 seconds will be used by the drive. A value greater
than 65535 will result in error.
Use the --powerMeasurementMode option to specify which mode to measure.
--powerBalanceFeature [ info | enable | disable | limited] (Seagate Only)
Use this option to see the state of the Seagate Power Balance
feature or to change its state.
Seagate's PowerBalance feature will adjust drive performance during
random operations to reduce power consumption of the drive.
info - will dump the state of the Power Balance feature on the screen
enable - use this to enable Power Balance (lowest power consumption)
disable - use this to disable Power Balance (hihgest power consumption)
limited - 12w limited mode. Dual actuator SATA only
Note: While this feature is available on some SAS products,
it is recommended that the --setPowerConsumption option is
used instead since it allows more levels of control.
This option and the --setPowerConsumption option are incompatible
because they use the same mode page fields (1Ah-01h).
WARNING: Seagate Power Balance may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
--showEPCSettings
Use this option to show the current EPC settings on the screen.
Only drives supporting the EPC feature will show this data and
only supported power conditions will be shown.
--showPowerTelemetry (Seagate Only)
Use this option to show the power telemetry data from
a Seagate drive that supports the power telemetry feature
If a measurement was not previously requested, this will show
free-running mode data from the last 10 minutes.
If this option is provided while a measurement is still
in progress, this will show all data that is currently available
Use the --requestPowerMeasurement option to request a power
measurement with a set time window.
NOTE: Power measurements are for the full device, not individual
logical units. All logical units will be measured for this data.
--spinDown
Removes power to the disk drive motor with the Standby Immediate
command. Use this before moving a hard disk drive. The drive
will spin back up if the operating system selects the drive.
This means that an active drive will not stay spun down.
WARNING: Spindown may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
--standby [ enable | disable | default | timerValueMilliseconds ] (Some settings are SAS only)
Use this setting to change the standby power mode settings.
NOTE: This is the legacy standby timer before EPC drives.
If this is used on an EPC drive, this will modify
the standby_z power state and timer values.
enable - enable the power state (SAS Only)
disable - disable the power state (SAS Only)
default - restore default settings for this power state (SAS Only)
timerValue - number of milliseconds to set for the timer
used in this power state. If a timer is provided
the state will also be enabled, if not already.
Spec timers are set in 100 millisecond increments.
Timers will be truncated to fit 100 millisecond increments.
ATA drives can only change the standby timer, not disable it.
On ATA drives, the standby timer set by this command is volatile
and drive defaults are restored on next power cycle.
WARNING: EPC Settings may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
--standby_y [ enable | disable | default | timerValueMilliseconds ]
Use this setting to change the EPC Standby_Y power mode settings.
enable - enable the power state
disable - disable the power state
default - restore default settings for this power state
timerValue - number of milliseconds to set for the timer
used in this power state. If a timer is provided
the state will also be enabled, if not already.
EPC spec timers are set in 100 millisecond increments.
Timers will be truncated to fit 100 millisecond increments.
WARNING: EPC Settings may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
--standby_z [ enable | disable | default | timerValueMilliseconds ]
Use this setting to change the EPC Standby_Z power mode settings.
enable - enable the power state
disable - disable the power state
default - restore default settings for this power state
timerValue - number of milliseconds to set for the timer
used in this power state. If a timer is provided
the state will also be enabled, if not already.
EPC spec timers are set in 100 millisecond increments.
Timers will be truncated to fit 100 millisecond increments.
WARNING: EPC Settings may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
--transitionPower [active | idle | idleUnload | standby | idle_a | idle_b | idle_c | standby_y | standby_z | sleep]
Use this option to transition the drive to a specific power state.
EPC and legacy power states are supported. EPC states are only available
on devices supporting the EPC feature.
Supported power states:
active
idle - idle mode (legacy mode equivalent to idle_a on EPC)
idleUnload - same as above, but heads are unloaded. This may not
be supported on all devices.
standby - standby mode (legacy mode equivalent to standby_z on EPC)
idle_a - EPC idle mode
idle_b - EPC lower power idle mode
idle_c - EPC lowest power idle mode
standby_y - EPC low power standby mode
standby_z - EPC lowest power standby mode
sleep - Sleep state. WARNING: This requires a reset to wake from.
Once in this state, this tool cannot wake the drive on its own.
The OS or adapter will need to issue a reset, which may or may not happen.
WARNING: Transitioning power modes may affect all LUNs/namespaces
for devices with multiple logical units or namespaces.
SATA Only:
=========
--disableAPM (SATA Only)
Use this option to disable the APM feature on a device.
Note: This command is optional and some device may not
disabling the APM feature.
--sataDAPSfeature [info | enable | disable] (SATA Only)
Use this option to enable or disable the SATA Device Automatic
Partial To Slumber Transitions (DAPS) feature. Use the "info"
option to see the current state of the DIPM feature on the device.
The use of this feature requires that the DIPM feature is enabled.
NOTE: Please ensure that the host adapter/controller/driver can
handle this before enabling it, otherwise the drive link may
go down and the device will not be able to communicate.
--sataDIPMfeature [info | enable | disable] (SATA Only)
Use this option to enable or disable the SATA Device Initiated
Power Management (DIPM) feature. Use the "info" option to see
the current state of the DIPM feature on the device.
NOTE: Please ensure that the host adapter/controller/driver can
handle this before enabling it, otherwise the drive link may
go down and the device will not be able to communicate.
--setAPMLevel [1 - 254] (SATA Only)
Use this option to set the APM level of a device.
Valid values are between 1 and 254.
1 = Minimum power consumption with standby mode
2-127 = Intermediate power management with standby
mode
128 = Minimum power consumption without standby mode
129-253 = Intermediate power management without
standby mode
254 = Maximum Performance.
--showAPMLevel (SATA Only)
Use this option to show the current APM level of a device
SAS Only:
=========
--idle [ enable | disable | default | timerValueMilliseconds ] (SAS Only)
Use this setting to change the idle power mode settings.
NOTE: This is the legacy idle timer before EPC drives.
If this is used on an EPC drive, this will modify
the idle_a power state and timer values.
enable - enable the power state
disable - disable the power state
default - restore default settings for this power state
timerValue - number of milliseconds to set for the timer
used in this power state. If a timer is provided
the state will also be enabled, if not already.
Spec timers are set in 100 millisecond increments.
Timers will be truncated to fit 100 millisecond increments.
This is only available on SAS/SCSI drives as ATA drives did not
have a separate configurable idle timer.
WARNING: EPC Settings may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
--sasPhy [phy number] (SAS Only)
Use this option to specify a specific phy to use
with another option that uses a phy identifier value.
Some tool options will assume all SAS Phys when this
option is not present. Others will produce an error when
a specific phy is needed for an operation.
Use the -i option to learn more about the supported phys.
--sasPhyPartial [info | enable | disable] (SAS Only)
Use this option to enable or disable the partial phy power
condition. This is from the enhanced phy control mode page.
Use the --sasPhy option to specify an individual phy,
otherwise this will be changed on all phys.
WARNING: Configuring this setting may cause the drive to be
undetectable by other hardware if this power condition is not
supported by a controller or expander.
WARNING: Changing SAS Phy partial may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
--sasPhySlumber [info | enable | disable] (SAS Only)
Use this option to enable or disable the slumber phy power
condition. This is from the enhanced phy control mode page.
Use the --sasPhy option to specify an individual phy,
otherwise this will be changed on all phys.
WARNING: Configuring this setting may cause the drive to be
undetectable by other hardware if this power condition is not
supported by a controller or expander.
WARNING: Changing SAS Phy slumber may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
--setPowerConsumption [default | highest | intermediate | lowest | watt value] (SAS Only)
This option will set the power consumption rate of
the device to the value input.
Options:
-default - sets the device back to default settings
-highest - sets the active level to "highest"
-intermediate - sets the active level to "intermediate"
-lowest - sets the active level to "lowest"
-watt value - sets the device to a nearest watt value
less than or equal to the value entered.
Power consumption watt values are listed with the
--showPowerConsumption command line option.
--showPowerConsumption (SAS Only)
This option will show the power consumption
rates supported by the device and the current power
consumption rate of the device. Use a supported watt value
with the --setPowerConsumption option to set the
power consumption to that value.
NVMe Only:
=========
--showNVMPowerStates (NVMe Only)
Use this option to display a device's supported power states.
--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
===============
Version History - SeaChest_PowerControl
===============
SeaChest_PowerChoice is branched off from SeaChest Basics v1.0.3.
v0.0.1 14-Apr-2015 Intitial PowerChoice release.
v0.0.2 12-Aug-2015 Added --testUnitReady. Improved device discovery.
Corrections to verbose output.
v0.0.4 22-Sep-2015 Added --showPowerConsumption and --setPowerConsumption,
both are SAS only.
v0.0.4 16-Oct-2015 1_7_0 libraries. Added enhanced version information.
Added -sat12byte to increase compatibility. Added
--SATInfo to compare ATA vs SCSI identification
differences.
v0.0.6 26-Jan-2016 1_8_1 libraries. Added --EPCfeature for SATA.
v1.0.0 02-May-2016 1_9_1 libraries. Added new verbosity level. Added
--onlySeagate restriction. Added --modelMatch and
--onlyFW filters.
v1.0.2 19-May-2016 1_9_2 libraries fixed scan information from ATAPI devices.
Fixed a bug where we could accidentally clear some stored
identify data from the device structure. Fixed continuing
on when there was a permission denied error opening a
drive. Fixed --checkPowerMode always returning "active" on
SAT interfaces (SATA over SAS). Fixed --transitionPower
always failing (It was trying an incompatible value).
v1.0.3 15-Jun-2016 1_9_3 libraries fixed issues with ATA secure erase
commands. Fixed bugs with --modelMatch and --onlyFW
filters.
v1.2.0 06-Jul-2016 1_10_0 libraries add --forceATA and --forceSCSI. Added
--showEPCSettings, --showAPMLevel, and --setAPMLevel.
v1.2.1 14-Jul-2016 1_10_1 libraries adds SMART and power management
functions, format polling, endianess detection, buffer
size fixes, SAS device statistics, Win32 IOCTL
pass-through fix on Win8 and higher. Added --disableAPM.
v1.3.0 01-Sep-2016 1_11_1 libraries updates to various printed message,
minor bug fixes. Fixed --SATInfo command.
v1.3.0 21-Sep-2016 1_11_2 libraries updates adds --forceATADMA, --forceATAPIO
and --forceATAUDMA (SATA Only).
v1.4.0 10-Oct-2016 1_11_4 libraries updates. Support for multiple devices.
v1.4.0 25-Oct-2016 1_11_5 libraries updates improved LaCie detection, adds
SAT Vendor ID, SAT Product ID, and SAT Product Revision to
the -i --SATInfo output.
v1.4.1 27-Oct-2016 1_11_6 libraries updates WWN detection. Added
--enableLegacyUSBPassthrough
v1.4.2 03-Nov-2016 1_11_7 libraries fixed issue with SAS EPC power mode
settings.
v1.4.2 13-Dec-2016 1_11_10 libraries fixes a problem when using maxLBA without
the corresponding command range option, SAS power mode
setting, and Sanitize erase patterns.
v1.5.0 23-Feb-2017 1_13_0 libraries adds support for SAS 12.0Gb/s and
22.5Gb/s physical bus speeds, support for double buffered
passthrough IOCTLs. EPCfeature now supports SAS. New -F,
--scanFlags [options: ignoreCSMI allowDuplicates] for
Windows tools. Add CSMI support to all Windows version
tools.
v1.5.0 06-Mar-2017 1_13_2 libraries adds Enhanced device information output
for SAS features.
v1.6.0 14-Jun-2017 1_15_0 libraries adds bug fix malformed command line
should exit with code = 1; added detection of parallel ATA
and SCSI speeds; temperature data on ATA now uses the
values from the SCT status log or device statistics log.
Bug fix where the "-d all" was not filtering out csmi
drives like it is supposed to causing duplicate drives to
show up. Adds the child drive matching options
--childModelMatch, --childOnlyFW, and --childNewFW.
v1.7.0 14-Jul-2017 1_16_1 libraries adds support for ATA drives that have the
Sense Data Reporting feature enabled, changes to how we
interpret the completion status from the drive, new Sense
Data ASC, ASCQ definitions from SPC5. Adds --Scan (or -S,
note the capital S) aggressive system scan.
v1.7.0 27-Jul-2017 1_16_2 libraries enhances Seagate brand detection.
v1.7.0 19-Sep-2017 1_16_4 libraries fixes SCSI "--progress format", added
reading remanufacture time for SAS when the drive reports
a time, fixed SAS --abortDST.
v1.8.1 25-Sep-2017 1_17_0 libraries adds improved SATA device discovery on
SAS adapters, added NVMe read, write & Flush commands.
Added --powerBalanceFeature, --sataDAPSfeature and
--sataDIPMfeature, all of which are SATA only.
v1.8.2 10-Oct-2017 1_17_1 libraries adds Better handling of NVMe as a SCSI
device, SAT library strings, and fixes to Read-Buffer
error history (ISL). Updated copyright notice, invalid
command line options now only display an error instead of
long help. Name change from SeaChest_PowerChoice to
SeaChest_PowerControl.
v1.8.2 12-Oct-2017 1_17_3 libraries improves Fast-Format compatibility on SAS.
v1.8.2 26-Oct-2017 1_17_5 libraries fixes SATA drive discovery behind HBAs
that don't show as SATA and don't support the SAT VPD
page; added Automatic fallback to 12byte CDBs during
initial device discovery; integrated fixes for SAS
firmware download and fixes for SAS LongDST time
calculation; added detection of TCG Pyrite and Opalite
drives.
v1.8.2 31-Oct-2017 1_17_6 libraries adds ATA Security compatibility with SATL
on some LSI adapters, corrects firmware download issue
under Windows 10 API.
v1.8.2 02-Nov-2017 1_17_7 libraries fixes Long DST time on SCSI/SAS products.
v1.9.0 19-Apr-2018 1_18_0 libraries improves device detection of CD-ROM and
USB flash drives, support for early 90's PATA drives that
don't support LBA mode, bug fix where the last digit of
the SCSI Unit Serial Number was being dropped, additional
logic for deferred download completion status. --scan
--onlySeagate for just Seagate drives in a large system,
Long Drive Self Test Time in the -i output, write protect
status has been added for SCSI and NVMe in the -i output,
IDD enhancements for SAS, IDD enhancements to allow
captive mode on SATA, added USB Hacks to better support
some odd-ball USB devices and prevent crashes and improve
performance for some operations on them by issuing test
unit ready commands when something fails during device
discovery, automatic fall back to SAT 10 byte commands
during device discovery to help work with some USB
devices, some Legacy SCSI support enhancements (partially
from USB hacks development), enhanced SD to SG mapping in
Linux. Added --idle (Immediate), --idleUnload, --standby
(Immediate), --active.
v1.9.1 21-Sep-2018 1_18_2 libraries Added in reading os-release PRETTY_NAME
field to get the OS name under linux; NVMe enabled; fixed
a bug in the ATA activate FW command; added in reading ID
Data log and Device statistics logs page 0 to check the
list of supported pages; fixed a bug in the loop used to
read mode pages for -i information on SAS; IDD SAS
improvements; fixed a bug in DST & Clean with ATA drives
behind SCSI controllers. Fix for --modelMatch that have
spaces in the name. Added additional information to the
banner and -V data to show support levels. Add general
support for NVMe and NVMe specific identify data to "-i"
command.
v1.9.1 18-Oct-2018 1_18_3 libraries Added NVMe generic read command support.
v1.10.0 03-May-2019 1_19_18 libraries added per device verbosity, --deviceInfo
adds SAS (not SATA) FastFormat for Features Supported
section, --deviceInfo now gives Low Current Spinup
status.
v1.10.0 10-Jun-2019 1_19_23 libraries added SNTL (SCSI to NVMe translator),
updated software SAT translator to use dataset management
XL command, fixes for issuing vendor unique commands under
Windows, improved fast format support detection, and
refactored verbose output for NVMe commands.
v2.0.0 19-Feb-2020 1_21_30 libraries add in check for Elevated Privileges
(sudo, run as administrator) before trying to talk to
devices, new exit code 9 if privileges are missing;
printing the USB VID/PID in the device info; fix to sg
helper to support large systems; many changes in support
of dual actuators (example: warning that EPC settings
affect multiple LUNs); overhaul to USB device detection
and support, incorporating a new USB hacks and workarounds
approach which uses a lookup table listing various USB
bridge VIDs/PIDs and their specific issues; separate
Seagate SAS SN and PCBA SN.
v2 is a significant overhaul of the tool:
These old v1 commands are retired:
--active,--changePower, --defaultMode, --disableMode,
--enableMode, --idle, --idleUnload, --powerMode
[powermode], --sleep, --standby, --modeTimer [timer value
in milliseconds], --transitionPower.
And transitioned to these new v2 commands: --idle [ enable
| disable | default | timerValueMilliseconds ], --idle_a [
enable | disable | default | timerValueMilliseconds ],
--idle_b [ enable | disable | default |
timerValueMilliseconds ], --idle_c [ enable | disable |
default | timerValueMilliseconds ], --standby_y [ enable |
disable | default | timerValueMilliseconds ], --standby_z
[ enable | disable | default | timerValueMilliseconds ],
--standby [ enable | disable | default |
timerValueMilliseconds ] (Some settings are SAS only),
--transitionPower [active | idle | idleUnload | standby |
idle_a | idle_b | idle_c | standby_y | standby_z | sleep]
These v2 commands are new: --powerMeasurementMode [all | 5
| 12], --requestPowerMeasurement [seconds to perform
measurement], --showPowerTelemetry, --sasPhy [phy number]
(SAS Only), --sasPhyPartial [info | enable | disable] (SAS
Only), --sasPhySlumber [info | enable | disable] (SAS
Only), --transitionPowerState [new power state]
v2.0.1 13-Apr-2020 1_21_30 libraries, fix memory allocation during the scan
command.
v3.0.0 20-Nov-2020 Changed how scan-flags are parsed. CSMI rewrite and initial
Intel RST NVMe support added. Numerous code quality improvements
which fixed many potential bugs and memory leaks. Improved
support for openfabrics NVMe drivers. Changed permissions
detection to show warnings rather than errors. Removed obsolete
CSMI and SAT 12B CDB options. CSMI handles now show as csmi:?:?:?
Fixed a bug where changing SATA EPC settings only updated idle_a
v3.0.1 12-Feb-2021 Improved argument parsing to accept hex in addition to decimal for
many different options.
v3.0.2 27-Apr-2021 Change in API to get time for showing to the screen in power
telemetry.
v3.0.2 16-Jun-2021 Pulled in updates to opensea-libs which includes the following:
Minor USB compatibility improvements and more products added
to the list with their specific workarounds.
Updated NVMe compatibility for FreeBSD 11.
Support for detection and showing of concurrent positioning
(new multi-actuator support from the standards).
Update to new method for enabling Seagate Power-Balance on new
SAS products. Old method is preserved for old products as well.
v3.3.1 28-Feb-2023 Includes new --noBanner option and new fast discovery option
that can be used in situations where super critical performance
is required at a loss of information about a drive's capabilities.
Help now has many more examples of the options in the tool.
Fixed a few bugs in scan and device discovery that could cause
a crash or the tool to list no devices found.
Added option to dump low-level info to assist with debugging.
Added date of manufacture info to the -i output when available.
Fixed some big endian compatibility issues discovered on AIX.
v3.3.1 27-Mar-2023 opensea-transport updated to fix CSMI scan duplicating devices
found in certain scenarios.
v3.4.0 01-Dec-2023 Updated to newer opensea-libs to pull in low-level fixes.
Added showing NVMe power states.
Fixed reading SAS EPC recovery times.
Stopped reading /etc/passwd file to show username in banner.
Banner will now show either "admin"/"root" or "current user".
Improved parsing of linux distro/release information from
/etc/os-release file.
Fixed a bug in byte swap string used to get ATA MN, SN, FW.
Fixed a bug in getting/reporting power on hours as years,
days, hours, etc where days was being truncated.
Fixed error reading NVMe features in Windows for drive info.
Fixed SAS Date of manufacture in drive info.
Added detection of HPA security feature.
Added more SMART attributes definitions for Seagate HDDs & SSDs,
and more definitions for Maxtor HDDs.
Improved temperature detection from older HDDs with only
SMART attribute 194 reporting current temperature.
Added separate warning for SMART attributes below threshold that
are not considered prefail/warranty attributes (aka failures).
Fixed output of Seagate Airflow temperature SMART attribute.
Added showing new capacity after changing Max LBA.
Fixed possible segmentation fault when reading /etc/mtab in Linux.
Workaround for some SAS drives on some HBAs reporting incorrect
response to SAT A1h CDB.
Fixed a bug in FreeBSD causing non-data ATA commands to report
all zeroes instead of expected output in RTFRs.
SeaChest_Security 12/28
[top][prev][next]
SeaChest_Security Revision: 04-Dec-2023
===============================================================================
SeaChest_Security - Seagate drive utilities
Copyright (c) 2014-2023 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
See Version History below.
===============================================================================
Welcome to Seagate's SeaChest_Security diagnostic software.
SeaChest_Security is a comprehensive command line tool that can be used to
configure, change or set various properties on Seagate disk drives (this
includes Seagate, Maxtor, Samsung and LaCie). Some commands may cause existing
data on the drive to become inaccessible. Some commands may affect the
performance of the drive.
References are made to TCG (Trusted Computing Group), a standards organization
formed to promote open standards for hardware-enabled security technologies.
You can read about TCG at http://www.trustedcomputinggroup.org/ and
https://en.wikipedia.org/wiki/Trusted_Computing_Group.
NOTE: SeaChest_Security may not be fully functional on non-Seagate drives.
This User Guide file contains important information about SeaChest_Security.
Please read this entire file before using this software.
If this is your drive, you should always keep a current backup of your
important data.
Be very careful using SeaChest_Security. Power failure during a configuration
change may cause data loss. Seagate is not responsible for lost user data.
Important note: Many tests in this tool directly reference storage device data
sectors, also known as Logical Block Addresses (LBA). Test arguments may
require a starting LBA or an LBA range. The predefined variable 'maxLBA'
refers to the last sector on the drive. Many older SATA and SAS storage
controllers (also known as Host Bus Adapters [HBA]) have a maximum addressable
limit of 4294967295 [FFFFh] LBAs hard wired into their design. This equates to
2.1TB using 512 byte sectors. This also means accessing an LBA beyond the
2.1TB limitation either will result in an error or simply the last readable LBA
(usually LBA 4294967295 [FFFFh]) depending on the actual hardware. This
limitation can have important consequences. For example, if you intended to
erase a 4TB drive, then only the first 2TB will actually get erased (or maybe
even twice!) and the last 2TB will remain untouched. You should carefully
evaluate your system hardware to understand if your storage controllers provide
support for greater than 2.1TB.
Usage - Linux (run with sudo)
=============================
SeaChest_Security [-d <sg_device>] {arguments} {options}
Examples - Linux
================
sudo SeaChest_Security --scan
sudo SeaChest_Security -d /dev/sg2 -i
sudo SeaChest_Security --device /dev/sg1 --tcgInfo
Usage - Windows (run as administrator)
======================================
SeaChest_Security [-d <PD_device>] {arguments} {options}
Examples - Windows
==================
SeaChest_Security --scan
SeaChest_Security -d PD2 -i
SeaChest_Security --device PD1 --tcgInfo
==========================================================================================
SeaChest_Security - Seagate drive utilities - NVMe Enabled
Copyright (c) 2014-2023 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
SeaChest_Security Version: 3.3.0-6_2_0 X86_64
Build Date: Dec 1 2023
Today: Mon Dec 4 10:44:18 2023 User: current user
==========================================================================================
Usage
=====
SeaChest_Security [-d <sg_device>] {arguments} {options}
Examples
========
SeaChest_Security --scan
SeaChest_Security -d /dev/sg<#> -i
SeaChest_Security -d /dev/sg<#> --SATInfo
SeaChest_Security -d /dev/sg<#> --llInfo
SeaChest_Security -d /dev/sg<#> --ataSecurityInfo
SeaChest_Security -d /dev/sg<#> --ataSecureErase enhanced
SeaChest_Security -d /dev/sg<#> --ataSecureErase enhanced --ataSecPassword AutoATAWindowsString12345678901 --ataSecPassType user
SeaChest_Security -d /dev/sg<#> --disableATASecPW --ataSecPassword AutoATAWindowsString12345678901 --ataSecPassType user
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
---SeaChest_Security specific exit codes---
32 = Zero Validation Failure
Anything else = unknown error
Utility Options
===============
--echoCommandLine
Echo the command line entered into the utility on the screen.
--enableLegacyUSBPassthrough
Only use this option on old USB or IEEE1394 (Firewire)
products that do not otherwise work with the tool.
This option will enable a trial and error method that
attempts sending various ATA Identify commands through
vendor specific means. Because of this, certain products
that may respond in unintended ways since they may interpret
these commands differently than the bridge chip the command
was designed for.
--forceATA
Using this option will force the current drive to
be treated as a ATA drive. Only ATA commands will
be used to talk to the drive.
--forceATADMA (SATA Only)
Using this option will force the tool to issue SAT
commands to ATA device using the protocol set to DMA
whenever possible (on DMA commands).
This option can be combined with --forceATA
--forceATAPIO (SATA Only)
Using this option will force the tool to issue PIO
commands to ATA device when possible. This option can
be combined with --forceATA
--forceATAUDMA (SATA Only)
Using this option will force the tool to issue SAT
commands to ATA device using the protocol set to UDMA
whenever possible (on DMA commands).
This option can be combined with --forceATA
--forceSCSI
Using this option will force 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 to seaboard@seagate.com.
Include the output of --version information in the email.
--license
Display the Seagate End User License Agreement (EULA).
--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
--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 SeaChest_Security 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 SeaChest_Security version and copyright information & exit
Utility arguments
=================
-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.
--displayLBA [LBA]
This option will read and display the contents of
the specified LBA to the screen. The display format
is hexadecimal with an ASCII translation on the side
(when available).
-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
-i, --deviceInfo
Show information and features for the storage device
--llInfo
Dump low-level information about the device to assist with debugging.
-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.
-S, --Scan
This option is the same as --scan or -s,
however it will also perform a low level rescan to pick up
other devices. This low level rescan may wake devices from low
power states and may cause the OS to re-enumerate them.
Use this option 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 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.
--disableDataLocking
Use this option to disable data locking on a TCG drive.
This option is only available when the drive has not had
SID changed (taken ownership). This prevents locking the
drive when it isn't being used with security software.
Once this operation is completed, you will not be able to
authenticate to SID as MSID. This can be undone with a revertSP
Note: Not all Enterprise TCG drives support this feature or
they may need a firmware update to enable this capability
--psid [32-digit alpha-numeric code from drive label]
This option can be used to specify the value of the PSID.
This may be required in order to perform certain TCG
operations.
On Seagate drives, PSIDs are 32 digits long, all uppercase,
and uses zeros and ones but do NOT use O's and I's.
Additionally, it is possible to exhaust the number of attempts
the device allows. Seagate drives have this set to 5 attempts.
Once this is exhausted, a full power cycle of the device is required
before you can try again.
--rwfwdlPort [lock | unlock] (Seagate Only)
This option will set the logical rollback firmware download
port on a TCG drive to the requested state.
Use the --psid option to provide PSID for this operation.
lock - lock the port and prevent its use
unlock - unlock the port to allow its use
--fwdlPort [lock | unlock] (Seagate Only)
This option will set the logical firmware download
port on a TCG drive to the requested state.
Use the --sid option to provide SID for this operation.
If SID is not provided, MSID will be used.
lock - lock the port and prevent its use
unlock - unlock the port to allow its use
--ieee1667Port [lock | unlock] (Seagate Only)
This option will set the logical IEEE 1667
port on a TCG drive to the requested state.
Use the --sid option to provide SID for this operation.
If SID is not provided, MSID will be used.
lock - lock the port and prevent its use
unlock - unlock the port to allow its use
--showLockedRegions
Use this option to show the locked ranges or bands
on TCG Opal or TCG Enterprise SED drives.
--tcgInfo
This option shows information about a TCG device
--sid [yourTCGpassword]
This option can be used to specify the value of SID.
This may be required in order to perform certain TCG
operations. If this is not provided, MSID will be used
--zeroVerify [full | quick]
Use this option to verify drive content, whether it's set to zero or not.
This operation will read user accessible address and validate if content at
that address is zero or not.
Validation modes:
full - Complete drive will be scanned for verification.
quick - 0.1% of total capacity will be scanned for ID and OD validation along with
2 random addresses from 10000 equal size sections each.
SATA Only:
=========
--ataSATsecurityProtocol [enable | disable] (SATA only)
This option can be used to force enable or disable using the
ATA security protocol as specified in the SAT specification.
By default, the tool will use this method when it is supported
to allow the SATL to understand and manage the security commands
being performed and prevent other issues.
--ataSecFreeze (SATA only)
This option will send the ATA security freezelock command to
a device. This command prevents all other ATA security commands
from being processed until the next reset or power cycle.
--ataSecPassword ["ASCII password" | SeaChest | empty] (SATA only)
Use this option to specify a password to use with an ATA security
operation. If specifying a password with spaces, quotes must be used.
If SeaChest is given, the default SeaChest password will be used.
If empty is given, an empty password will be used.
Examples:
"This is a valid password"
ThisIsAlsoValid
"This password uses \"quotes\"
"This password is \/\/eird"
--ataSecPassType [user | master] (SATA only)
Use this option to specify if the password being given with the
--ataSecPassword option is a user or a master password.
If this option is not provided, user is assumed.
--ataSecPWMod [byteswapped | zeropad | spacepad | fpad | leftAlign | rightAlign | uppercase | lowercase | invertcase] (SATA Only)
Use this option to have the utility make modifications to
the ATA security password to attempt other various ways it may
be sent by a system bios. These are not guaranteed to work, but
may help unlock a drive that was locked by a BIOS that encoded
the password in a unique way.
This option can be presented multiple times to select multiple modificaitons.
EX: --ataSecPWMod byteswapped --ataSecPWMod invertcase
byteswapped - byteswaps the password. EX: blah -> lbha
zeropad - zero pads the password if less than 32 characters
spacepad - space pads the password if less than 32 characters
fpad - pads the passwords with Fh (all 1's) if less than 32characters
leftAlign - left aligns the password in the buffer
rightAlign - right aligns the password in the buffer
uppercase - sends the password as all uppercase
lowercase - sends the password as all lowercase
invertcase - switches uppercase for lower, and lowercase for upper
--ataSecurityInfo (SATA only)
This option shows information about the ATA security
feature on ATA devices. It will show the security state and
flags related to the state, Master password capability & ID,
time to perform a secure erase, whether user data is encrypted,
and whether sanitize can override ATA security to repurpose a drive.
--disableATASecPW (SATA Only)
Use this option to disable an ATA security password.
If the drive is in high security mode, either user or
master password may be provided. In maximum security mode
only the user password can be provided to unlock and disable the
ATA security password. The master may only be used to erase the drive
in maximum security mode.
Use the --ataSecPassword option to provide the password to use and
--ataSecPassType to specify whether it is the user or master password.
If a drive lost power during an ATA Security Erase in
SeaChest_Security, then providing --ataSecPassword SeaChest
will use the default SeaChest password used during the erase.
To disable a password set by a BIOS, the BIOS must have set the
password in ASCII. A BIOS may choose to hash or modify the
password typed in the configuration however it
chooses and this utility has no idea how to match what
the BIOS has done so it may not always work to remove
a password set by something other than this utility.
--unlockATASec (SATA only)
Use this option along with the --ataSecPassword option and
--ataSecPassType option to unlock a drive with the provided password.
If the drive is in maximum security mode, only the user password
may be used to unlock the device.
Data Destructive Commands (Seagate only)
========================================
--revert (Purge)
This operation performs an Opal SSC spec Revert on the adminSP.
This operation is only available on Seagate TCG Opal drives.
Revert meets data sanitization purge capabilities to erase data
for Opal, Opalite, and Ruby SSCs
The --psid flag can be provided to perform the revert with
the PSID authority in case of a lost password.
The --sid flag can be provided to perform the revert with SID.
If neither the --psid or the --sid options are provided, then the
revert will be sent setting SID as the MSID value. This will only work
on a drive not already activated by security software.
Upon completion, the drive will be "like new" with all
user data being cryptographically erased and all other settings
set to factory defaults. If this operation fails, try using --revertSP
instead.
WARNING: The Revert may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
--revertSP (Purge)
This operation performs a revertSP on a Seagate SED drive
in the adminSP with the PSID.
RevertSP meets data sanitization purge capabilities to erase data
for Opal, Opalite, and Ruby SSCs
RevertSP also meets data sanitization purge capabilities to erase data
on Seagate TCG Enterprise SSC HDDs
The PSID must be provided using the --psid option.
This operation is available on all Seagate SED HDD drives and some SSDs.
Upon completion, the drive will be "like new" with all
user data being cryptographically erased and all other
settings set to factory defaults.
WARNING: The RevertSP may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
SATA Only:
=========
--ataSecureErase [normal | enhanced] (SATA only) (Clear | Purge)
Use "normal" to start a standard ATA security erase (Clear)
or "enhanced" to start an enhanced ATA security erase (Purge).
ATA Security Erase takes a very long time to complete at
approximately three (3) hours per Tera-byte (HDD). Some Seagate
SED models will perform a quick cryptographic erase in enhanced
mode and the time for completion is reported as 2 minutes by
the drive, but will take only seconds. This industry
standard command begins by locking the drive with a temporary
password which is cleared at the end of the erasure. Do not run
this command unless you have ample time to allow it to run
through to the end. If the procedure is interrupted prior to
completion, then the drive will remain in a locked state and
you must manually restart from the beginning again. The
tool will attempt to automatically clear the password that was set
upon failure. The default password used by the tool is
"SeaChest", plain ASCII letters without the quotes
* normal writes binary zeros (0) or ones (1) to all user
data areas.
* enhanced will fill all user data areas and reallocated
user data with a vendor specific pattern. Some Seagate
Instant Secure Erase will perform a cryptographic
erase instead of an overwrite.
===============
Version History - SeaChest_Security
===============
v1.0.0 02-May-2016 1_9_1 libraries. SeaChest_Security Windows, initial beta
test release. Branched from SeaChest_Basics v2.0.0.
Added --tcgInfo, --fwdlPort, --udsPort, --ieee1667Port,
--sid, --disableDataLocking
v1.0.1 19-May-2016 1_9_2 libraries fixed scan information from ATAPI devices.
Fixed a bug where we could accidentally clear some stored
identify data from the device structure. Fixed continuing
on when there was a permission denied error opening a
drive.
v1.0.2 15-Jun-2016 1_9_3 libraries fixed issues with ATA secure erase
commands. Fixed bugs with --modelMatch and --onlyFW
filters.
v1.1.0 06-Jul-2016 1_10_0 libraries add --forceATA and --forceSCSI. Added
--displayLBA.
v1.1.0 14-Jul-2016 1_10_1 libraries adds SMART and power management
functions, format polling, endianess detection, buffer
size fixes, SAS device statistics, Win32 IOCTL
pass-through fix on Win8 and higher.
v1.2.0 01-Sep-2016 1_11_1 libraries updates to various printed message,
minor bug fixes. Fixed --SATInfo command.
v1.2.0 21-Sep-2016 1_11_2 libraries updates adds --forceATADMA, --forceATAPIO
and --forceATAUDMA (SATA Only).
v1.3.0 10-Oct-2016 1_11_4 libraries updates. Support for multiple devices.
v1.3.0 25-Oct-2016 1_11_5 libraries updates improved LaCie detection, adds
SAT Vendor ID, SAT Product ID, and SAT Product Revision to
the -i --SATInfo output.
v1.3.1 27-Oct-2016 1_11_6 libraries updates WWN detection. Added
--enableLegacyUSBPassthrough
v1.3.1 03-Nov-2016 1_11_7 libraries fixed issue with SAS EPC power mode
settings.
v1.3.1 13-Dec-2016 1_11_10 libraries fixes a problem when using maxLBA without
the corresponding command range option, SAS power mode
setting, and Sanitize erase patterns.
v1.4.0 23-Feb-2017 1_13_0 libraries adds support for SAS 12.0Gb/s and
22.5Gb/s physical bus speeds, support for double buffered
passthrough IOCTLs. New -F, --scanFlags [options:
ignoreCSMI allowDuplicates] for Windows tools. Add CSMI
support to all Windows version tools.
v1.4.0 06-Mar-2017 1_13_2 libraries adds Enhanced device information output
for SAS features. --tcgInfo now reports Use State.
v1.5.0 14-Jun-2017 1_15_0 libraries adds bug fix malformed command line
should exit with code = 1; added detection of parallel ATA
and SCSI speeds; temperature data on ATA now uses the
values from the SCT status log or device statistics log.
Bug fix where the "-d all" was not filtering out csmi
drives like it is supposed to causing duplicate drives to
show up. Adds the child drive matching options
--childModelMatch, --childOnlyFW, and --childNewFW. Added
"Data Access" to --tcgInfo. Added --showLockedRegions.
v1.6.0 14-Jul-2017 1_16_1 libraries adds support for ATA drives that have the
Sense Data Reporting feature enabled, changes to how we
interpret the completion status from the drive, new Sense
Data ASC, ASCQ definitions from SPC5. Adds --Scan (or -S,
note the capital S) aggressive system scan.
v1.6.0 27-Jul-2017 1_16_2 libraries enhances Seagate brand detection.
v1.6.0 19-Sep-2017 1_16_4 libraries fixes SCSI "--progress format", added
reading remanufacture time for SAS when the drive reports
a time, fixed SAS --abortDST.
v1.6.0 25-Sep-2017 1_17_0 libraries adds improved SATA device discovery on
SAS adapters, added NVMe read, write & Flush commands.
v1.6.1 10-Oct-2017 1_17_1 libraries adds Better handling of NVMe as a SCSI
device, SAT library strings, and fixes to Read-Buffer
error history (ISL). Updated copyright notice, invalid
command line options now only display an error instead of
long help.
v1.6.1 12-Oct-2017 1_17_3 libraries improves Fast-Format compatibility on SAS.
v1.6.1 26-Oct-2017 1_17_5 libraries fixes SATA drive discovery behind HBAs
that don't show as SATA and don't support the SAT VPD
page; added Automatic fallback to 12byte CDBs during
initial device discovery; integrated fixes for SAS
firmware download and fixes for SAS LongDST time
calculation; added detection of TCG Pyrite and Opalite
drives.
v1.6.1 31-Oct-2017 1_17_6 libraries adds ATA Security compatibility with SATL
on some LSI adapters, corrects firmware download issue
under Windows 10 API.
v1.6.1 02-Nov-2017 1_17_7 libraries fixes Long DST time on SCSI/SAS products.
v1.6.1 19-Apr-2018 1_18_0 libraries improves device detection of CD-ROM and
USB flash drives, support for early 90's PATA drives that
don't support LBA mode, bug fix where the last digit of
the SCSI Unit Serial Number was being dropped, additional
logic for deferred download completion status. --scan
--onlySeagate for just Seagate drives in a large system,
Long Drive Self Test Time in the -i output, write protect
status has been added for SCSI and NVMe in the -i output,
IDD enhancements for SAS, IDD enhancements to allow
captive mode on SATA, added USB Hacks to better support
some odd-ball USB devices and prevent crashes and improve
performance for some operations on them by issuing test
unit ready commands when something fails during device
discovery, automatic fall back to SAT 10 byte commands
during device discovery to help work with some USB
devices, some Legacy SCSI support enhancements (partially
from USB hacks development), enhanced SD to SG mapping in
Linux.
v1.6.2 21-Sep-2018 1_18_2 libraries Added in reading os-release PRETTY_NAME
field to get the OS name under linux; NVMe enabled; fixed
a bug in the ATA activate FW command; added in reading ID
Data log and Device statistics logs page 0 to check the
list of supported pages; fixed a bug in the loop used to
read mode pages for -i information on SAS; IDD SAS
improvements; fixed a bug in DST & Clean with ATA drives
behind SCSI controllers. Fix for --modelMatch that have
spaces in the name. Added additional information to the
banner and -V data to show support levels. Add general
support for NVMe and NVMe specific identify data to "-i"
command.
v1.6.2 18-Oct-2018 1_18_3 libraries Added NVMe generic read command support.
v2.0.0 03-May-2019 1_19_18 libraries added per device verbosity, --deviceInfo
adds SAS (not SATA) FastFormat for Features Supported
section, --deviceInfo now gives Low Current Spinup
status. Adds --psid (removes that argument from
--revertSP), adds --sid.
v2.0.1 10-Jun-2019 1_19_23 libraries added SNTL (SCSI to NVMe translator),
updated software SAT translator to use dataset management
XL command, fixes for issuing vendor unique commands under
Windows, improved fast format support detection, and
refactored verbose output for NVMe commands. Added
--ataSecureErase, --ataSATsecurityProtocol,
--ataSecFreeze, --ataSecPassword, --ataSecPassType,
--ataSecPWMod, --ataSecurityInfo, --disableATASecPW,
--unlockATASec, --ataSecureErase.
v2.1.0 19-Feb-2020 1_21_30 libraries add in check for Elevated Privileges
(sudo, run as administrator) before trying to talk to
devices, new exit code 9 if privileges are missing;
printing the USB VID/PID in the device info; fix to sg
helper to support large systems; many changes in support
of dual actuators (example: warning that EPC settings
affect multiple LUNs); overhaul to USB device detection
and support, incorporating a new USB hacks and workarounds
approach which uses a lookup table listing various USB
bridge VIDs/PIDs and their specific issues; separate
Seagate SAS SN and PCBA SN.
v2.1.1 13-Apr-2020 1_21_30 libraries, fix memory allocation during the scan
command.
v3.0.0 20-Nov-2020 Changed how scan-flags are parsed. CSMI rewrite and initial
Intel RST NVMe support added. Numerous code quality improvements
which fixed many potential bugs and memory leaks. Improved
support for openfabrics NVMe drivers. Changed permissions
detection to show warnings rather than errors. Removed obsolete
CSMI and SAT 12B CDB options. CSMI handles now show as csmi:?:?:?
Added better error messages if PSID is not provided with --psid,
but how it was provided in earlier versions.
v3.0.1 16-Jun-2021 Added more information about Seagate PSIDs to assist with
troubleshooting why a revert or revertSP may have failed.
Pulled in updates to opensea-libs which includes the following:
Minor USB compatibility improvements and more products added
to the list with their specific workarounds.
Updated NVMe compatibility for FreeBSD 11.
Support for detection and showing of concurrent positioning
(new multi-actuator support from the standards).
v3.2.1 28-Feb-2023 Includes new --noBanner option and new fast discovery option
that can be used in situations where super critical performance
is required at a loss of information about a drive's capabilities.
Help now has many more examples of the options in the tool.
Fixed a few bugs in scan and device discovery that could cause
a crash or the tool to list no devices found.
Added option to dump low-level info to assist with debugging.
Added date of manufacture info to the -i output when available.
Fixed some big endian compatibility issues discovered on AIX.
Fixed a bug that caused this to display a different tool's help.
v3.2.1 27-Mar-2023 opensea-transport updated to fix CSMI scan duplicating devices
found in certain scenarios.
v3.3.0 01-Dec-2023 Updated to newer opensea-libs to pull in low-level fixes.
Fixed SAT ATA security protocol use for issuing ATA security
commands. In some cases there could be a misinterpretation of
normal vs enhanced erase. Likely only affected some NVMe devices
that implemented this security protocol.
Added --zeroVerify option to check a drive is filled with zeroes.
Stopped reading /etc/passwd file to show username in banner.
Banner will now show either "admin"/"root" or "current user".
Improved parsing of linux distro/release information from
/etc/os-release file.
Fixed a bug in byte swap string used to get ATA MN, SN, FW.
Fixed a bug in getting/reporting power on hours as years,
days, hours, etc where days was being truncated.
Fixed error reading NVMe features in Windows for drive info.
Fixed SAS Date of manufacture in drive info.
Added detection of HPA security feature.
Added more SMART attributes definitions for Seagate HDDs & SSDs,
and more definitions for Maxtor HDDs.
Improved temperature detection from older HDDs with only
SMART attribute 194 reporting current temperature.
Added separate warning for SMART attributes below threshold that
are not considered prefail/warranty attributes (aka failures).
Fixed output of Seagate Airflow temperature SMART attribute.
Added showing new capacity after changing Max LBA.
Fixed possible segmentation fault when reading /etc/mtab in Linux.
Workaround for some SAS drives on some HBAs reporting incorrect
response to SAT A1h CDB.
Fixed a bug in FreeBSD causing non-data ATA commands to report
all zeroes instead of expected output in RTFRs.
SeaChest_SMART 13/28
[top][prev][next]
SeaChest_SMART Revision: 04-Dec-2023
===============================================================================
SeaChest_SMART - Seagate drive utilities
Copyright (c) 2014-2023 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
See Version History below.
===============================================================================
Welcome to Seagate's SeaChest_SMART diagnostic software.
Disk drives are constantly monitoring and analyzing their own performance,
integrity and environment. The current state of this technology is the result
of more than 20 years of innovative Seagate engineering focused on self-testing.
With the backing of personal computer manufacturers, the disk drive industry
adopted an analysis system in the 1990's called Self Monitoring Analysis and
Reporting Technology, or SMART. The idea then and today is to predict a failure
before it happens. Various attributes are being monitored and measured against
certain threshold limits. If any one attribute exceeds a threshold then a
general SATA SMART Status test will change from Pass to Fail.
Many computers automatically check SMART Status when they start up which is
when most people become aware of the issue. If still under warranty, then SMART
Status FAIL is a valid condition for warranty replacement.
You can use SeaChest_SMART software with --smartCheck to test the SATA SMART
status of the drive.
When a SMART Status test has a FAIL it is extremely important that you back up
all of your important data. SMART Status FAIL is a near-term prediction of
drive failure and the drive usually functions like normal. Unfortunately, there
is no way to specifically predict when the failure will occur, so your best
response is to back up your data as soon as possible.
SeaChest does not interpret attributes or thresholds. As a practical matter,
the technology supporting SMART is constantly being improved. Each new design
incorporates improvements that increase the accuracy of the SMART prediction.
As a matter of policy, Seagate does not publish attributes and thresholds.
Seagate Support does not help to analyze SMART attributes.
In addition, the SMART command set includes short and long Drive Self Test
(Offline Immediate).
Seagate drives employ a background media scan (BGMS) during idle activity
times. The BGMS is a sequential read of sectors from the beginning to the end
the of the drive. If BGMS is interrupted it later restarts where it left off.
BGMS has no effect on performance. BGMS collects information about
"suspicious" sectors. When the Short DST is run the first step is a review of
these "suspicious" sectors. It is possible for Short DST to fail quickly if
one of these BGMS sectors is unreadable.
It may be possible to repair a problem when Short DST fails due to failure to
read a particular sector (LBA). You might consider the --seagateClean or
-dstAndClean command line options. See the sections below "Sector Repair
Commands" and "Bad LBA (Sector) Found" for more information on this subject.
If you wish to test the drive for physical integrity, please use Short Drive
Self Test (--shortDST). Because the BGMS has continuously collected
information on the entire drive, Short DST is effectively testing the entire
drive.
This User Guide file contains important information about SeaChest_SMART.
Please read this entire file before using this software.
SeaChest is a comprehensive, easy-to-use command line diagnostic tool that
helps you quickly determine the health and status of your Seagate storage
product. It includes several tests that will examine the physical media on your
Seagate, Samsung or Maxtor disk drive.
Tests and commands which are completely data safe will run on any disk drive.
Tests and commands which change the drive (like firmware download or data
erasure or setting the maximum capacity, etc) are limited to Seagate disk
drives (this includes Seagate, Maxtor, Samsung and LaCie). Be careful using
SeaChest because some of the features, like the data erasure options, will
cause data loss. Seagate is not responsible for lost user data.
Note: One gigabyte, or GB, equals one billion bytes when referring to hard
drive capacity. This software may use information provided by the operating
system to display capacity and volume size. The Windows file system uses a
binary calculation for gibibyte or GiB (2^30) which causes the abbreviated size
to appear smaller. The total number of bytes on a disk drive divided by the
decimal calculation for gigabyte or GB (10^9) shows the expected abbreviated
size. See this FAQ for more information
<http://knowledge.seagate.com/articles/en_US/FAQ/172191en?language=en_US>.
If this is your drive, you should always keep a current backup of your
important data.
Usage - Linux (run with sudo)
=============================
SeaChest_SMART [-d <sg_device>] {arguments} {options}
Examples - Linux
================
sudo SeaChest_SMART --scan
sudo SeaChest_SMART -d /dev/sg2 -i
sudo SeaChest_SMART -d /dev/sg1 --shortDST --poll
Usage - Windows (run as administrator)
======================================
SeaChest_SMART [-d <PD_device>] {arguments} {options}
Examples - Windows
==================
SeaChest_SMART --scan
SeaChest_SMART -d PD0 -i
SeaChest_SMART -d PD1 --shortDST --poll
==========================================================================================
SeaChest_SMART - Seagate drive utilities - NVMe Enabled
Copyright (c) 2014-2023 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
SeaChest_SMART Version: 2.3.2-6_2_0 X86_64
Build Date: Dec 1 2023
Today: Mon Dec 4 10:44:18 2023 User: current user
==========================================================================================
Usage
=====
SeaChest_SMART [-d <sg_device>] {arguments} {options}
Examples
========
SeaChest_SMART --scan
SeaChest_SMART -d /dev/sg<#> -i
SeaChest_SMART -d /dev/sg<#> --SATInfo
SeaChest_SMART -d /dev/sg<#> --llInfo
SeaChest_SMART -d /dev/sg<#> --smartCheck
SeaChest_SMART -d /dev/sg<#> --shortDST --captive
SeaChest_SMART -d /dev/sg<#> --conveyanceDST --poll
SeaChest_SMART -d /dev/sg<#> --longDST --poll
SeaChest_SMART -d /dev/sg<#> --idd short
SeaChest_SMART -d /dev/sg<#> --idd long --captive
SeaChest_SMART -d /dev/sg<#> --abortDST
SeaChest_SMART -d /dev/sg<#> --showDSTLog
SeaChest_SMART -d /dev/sg<#> --smartAttributes hybrid
SeaChest_SMART -d /dev/sg<#> --showNvmeHealth
SeaChest_SMART -d /dev/sg<#> --deviceStatistics
SeaChest_SMART -d /dev/sg<#> --smartFeature enable
SeaChest_SMART -d /dev/sg<#> --setMRIE 6
SeaChest_SMART -d /dev/sg<#> --smartInfo
SeaChest_SMART -d /dev/sg<#> --smartAttributeAutosave disable
SeaChest_SMART -d /dev/sg<#> --smartAutoOffline enable
SeaChest_SMART -d /dev/sg<#> --showSMARTErrorLog comprehensive
SeaChest_SMART -d /dev/sg<#> --showSMARTErrorLog summary --smartErrorLogFormat raw
SeaChest_SMART -d /dev/sg<#> --showSCSIDefects g --defectFormat bfi
SeaChest_SMART -d /dev/sg<#> --dstAndClean --errorLimit 40
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.
--enableLegacyUSBPassthrough
Only use this option on old USB or IEEE1394 (Firewire)
products that do not otherwise work with the tool.
This option will enable a trial and error method that
attempts sending various ATA Identify commands through
vendor specific means. Because of this, certain products
that may respond in unintended ways since they may interpret
these commands differently than the bridge chip the command
was designed for.
--forceATA
Using this option will force the current drive to
be treated as a ATA drive. Only ATA commands will
be used to talk to the drive.
--forceATADMA (SATA Only)
Using this option will force the tool to issue SAT
commands to ATA device using the protocol set to DMA
whenever possible (on DMA commands).
This option can be combined with --forceATA
--forceATAPIO (SATA Only)
Using this option will force the tool to issue PIO
commands to ATA device when possible. This option can
be combined with --forceATA
--forceATAUDMA (SATA Only)
Using this option will force the tool to issue SAT
commands to ATA device using the protocol set to UDMA
whenever possible (on DMA commands).
This option can be combined with --forceATA
--forceSCSI
Using this option will force 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 to seaboard@seagate.com.
Include the output of --version information in the email.
--license
Display the Seagate End User License Agreement (EULA).
--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
--onlyFW [firmware revision]
Use this option to run on all drives matching the provided
firmware revision. This option will only do an exact match.
--noTimeLimit
Use with utility command arguments which have a built in timeout
value. For example, --shortDST has a 10 minute default
timeout. In some cases a good drive may need more time to
complete the test due to other legitimate system activity.
--noBanner
Use this option to suppress the text banner that displays each time
openSeaChest is run.
--onlySeagate
Use this option to match only Seagate drives for the options
provided
-q, --quiet
Run SeaChest_SMART 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 SeaChest_SMART version and copyright information & exit
Utility Arguments
=================
-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.
-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
-i, --deviceInfo
Show information and features for the storage device
--llInfo
Dump low-level information about the device to assist with debugging.
--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 [dst, idd]
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%.
-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.
-S, --Scan
This option is the same as --scan or -s,
however it will also perform a low level rescan to pick up
other devices. This low level rescan may wake devices from low
power states and may cause the OS to re-enumerate them.
Use this option 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 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.
--abortDST
Abort a diagnostic Drive Self Test that is in progress.
--abortIDD (Seagate Only)
Abort a Seagate In Drive Diagnostic (IDD) that is in progress.
This may return failure if IDD is not running or has already
completed running.
--captive or --foreground
Use this option to run a DST operation in captive/foreground
mode. This mode may allow a device to test more of itself and
may be slightly faster than offline/background mode since it does
not need to service additional command during the test.
When using this mode, the utility must wait the entire time for
the DST to complete and progress cannot be indicated during this time.
--conveyanceDST
Execute a conveyance diagnostic drive self test. A conveyance
test can be used to check if a drive has incurred handling damage.
This test can take up to 2 minutes to complete. Use the --poll
argument to make this operation poll for progress until complete.
Use the --progress dst command to check on the completion
percentage (%) and test result.
NOTE: conveyance DST may take longer if there is other disk usage
while the DST is running. If the DST takes longer than 10 minutes
it will automatically be aborted while polling for progress.
To override this behavior, use the --noTimeLimit option.
--deviceStatistics
Use this option to display the device statistics reported
by the device. On SATA, this uses the Device Statistics
log, and the notifications log (if DSN feature is supported)
to display these statistics. On SAS, various log pages are
read to collect a bunch of reported parameter information.
--errorLimit [limit in number of LBAs]
Use this option 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. If a drive has multiple
logical sectors per physical sector, this number will
be adjusted for you to reflect the drive
architecture.
--idd [short | long] (Seagate Only)
Start an In Drive Diagnostic (IDD) test on a Seagate
drive. Not all tests are supported by all products. If a
selected test is not supported, the utility will return
a error code meaning "not supported".
Short: Reset and Recalibration test. Be careful running this
test on the boot device.
Long: Reset and Recalibration test and test G list and
P list
Note: the --captive option can be added to run the long test in
foreground/captive mode. This allows for G-list healing
and some additional checks to be performed. This may not
work on some products.
Note: Progress cannot be checked for the first 2 minutes of IDD.
The drive is busy with the test and is not able to respond.
Attempting to retrieve progress during this time will hang and
may cause the IDD to abort due to the host issuing resets to
recover access to the drive.
--longDST
Execute a long diagnostic drive self test. This test takes
hours to complete. A 2TB drive may take six (6) hours to
complete. Use with the --poll argument to let SeaChest check
for progress and print it to the screen until complete.
Use the --progress dst command to check on the completion
percentage(%) and test result.
This test stops on the first error. Use --abortDST
to manually stop the test. SAS drives give status in 1%
increments. SATA drives give status in 10% increments which
means more than an hour may elapse between updates on a SATA
drive > 2TB.
If the --longDST poll option is running and you want to abort
the test then you will need to open a second terminal window
and run the --abortDST command. Otherwise, it is safe to
restart the system while long DST is running which also ends the
test.
NOTE: Long DST may take longer if there is other disk usage
while the DST is running. If the DST takes longer than 5x the
drive reported time, it will automatically be aborted while
polling for progress.
To override this behavior, use the--noTimeLimit option.
--shortDST
Execute a short diagnostic drive self test. This test can take
up to 2 minutes to complete. Use the --poll argument to make
this operation poll for progress until complete. Use the
--progress dst command to check on the completion percentage
(%) and test result.
NOTE: Short DST may take longer if there is other disk usage
while the DST is running. If the DST takes longer than 10 minutes
it will automatically be aborted while polling for progress.
To override this behavior, use the --noTimeLimit option.
--showDSTLog
This option will show the entries in the DST log.
Up to 21 entries may be shown (pending drive support)
and will be shown with the most recent entry first.
--smartCheck
Perform a SMART check on a device to see if any internal
thresholds have been tripped or if the drive is still operating
within specification.
--smartFeature [ enable | disable ] (SATA Only)
Use this option to enable or disable the SMART
feature on a SATA drive.
Note: This command is declared obsolete in ACS4.
SATA Only:
=========
--smartAttributes [raw | hybrid | analyzed] (SATA Only)
The drive will display its list of supported SMART attributes.
Some attributes names are commonly standard and most others are
vendor unique. In either case, the attribute thresholds are
always vendor unique. Most attributes are informational and not
used to determine a warranty return. Use the --smartCheck
command to determine if one of the warranty attributes has been
tripped. Seagate Support does not help to analyze SMART
attributes.
Output modes:
raw - All hex output for those that need every single bit.
hybrid - classic table view with some interpretation of some
fields. Partial raw interpretation, but not all drive
and firmware combinations are supported.
analyzed - a full breakdown of all parts of each individual
attribute's data. Full raw data interpretation only
available on select devices.
NOTE: Migration to device statistics is recommended.
--smartAttributeAutosave [ enable | disable ] (SATA Only)
Use this option to enable or disable SMART
attribute auto-save on an ATA drive.
Note: This command is declared obsolete in ACS4.
--smartAutoOffline [ enable | disable ] (SATA Only)
Use this option to enable or disable SMART
auto-off-line feature on an ATA drive.
--showSMARTErrorLog [ summary | comprehensive ] (SATA Only)
This option will display the ATA SMART Error log on the screen.
Use "summary" to view the summary SMART error log (last 5 entries)
Use "comprehensive" to view all the entires the drive has available.
Specifying "comprehensive" will automatically pull the ext error log
on drives that support 48bit LBAs.
Note: The summary error log will truncate 48bit commands, so some information
will be missing to describe the operation of certain commands.
--smartErrorLogFormat [ raw | detailed ] (SATA Only)
Use this option to change the format of the output from the --showSMARTErrorLog
option. The default mode is "detailed"
--smartInfo (SATA Only)
This option will show SMART information reported
by a given device.
SAS Only:
=========
--defectFormat [ # | shortBlock | longBlock | xbfi | xchs | bfi | chs ] (SAS Only)
This option set the format of the defects to output.
Not all drives will support all defect modes!
SSDs will only support block modes!
Arguments: (name | #)
shortBlock | 0 - show the defects in short block address mode (drives < 32bit LBA)
xbfi | 1 - show the defects in extended bytes from index mode
xchs | 2 - show the defects in extended physical cylinder-head-sector mode
longBlock | 3 - show the defects in long block address mode (drives > 32bit LBA)
bfi | 4 - show the defects in bytes from index mode
chs | 5 - show the defects in physical cylinder-head-sector mode
--setMRIE [ default | 0 - 6 ] (SAS Only)
Use this option to change the MRIE mode on the informational
exceptions mode page.
default - set to the drive default
0 - disable exception reporting
1 - Asynchronous reporting (obsolete)
2 - Establish unit attention condition
3 - Conditionally generate recovered error
4 - Unconditionally generate recovered error
5 - Generate no sense
6 - Report on request
WARNING: Changing MRIE may affect all LUNs/namespaces for devices
with multiple logical units or namespaces.
--showSCSIDefects [ p | g | pg ] (SAS Only)
This option will display the SCSI defects on the screen.
The arguments to this will tell whether to get the grown,
primary, or primary and grown defects from the drive.
Use the --defectFormat option to specify the mode to display the defects.
If no mode is specified, physical cylinder-head-sector mode is assumed
Arguments:
p - use this option to pull and display the primary (factory) defects
g - use this option to pull and display the grown (reallocated) defects
The above options can be combined to pull and display both defect lists.
NVMe Only:
=========
--showNvmeHealth (NVMe Only)
The drive will display the NVMe Health log (also called
SMART log). All standardized fields will be printed to the
screen for the device.
Data Destructive Commands
=========================
--dstAndClean
Runs DST, then checks for an error and repairs the
error if possible. This continues until all errors
reported by DST are fixed, or when the error limit is
reached. The default limit is 50 errors.
--seagateClean (Seagate Only)
Checks logs for errors and repairs them if possible.
After repairing all errors, each error is read around
to check for other errors to repair. Finally, a DST & Clean
operation is run to verify the drive is good and no more
errors exist. Test will stop when the error limit is reached.
The default limit is 50 errors.
===============
Version History - SeaChest_SMART
===============
SeaChest_SMART is branched off from SeaChest Basics v1.0.4.
v0.0.1 14-Apr-2015 Initial SMART release. Added --poll.
v0.0.2 12-Aug-2015 Added --testUnitReady. Improved device discovery.
Corrections to verbose output.
v0.0.2 16-Oct-2015 1_7_0 libraries. Added enhanced version information.
Added -sat12byte to increase compatibility. Added
--SATInfo to compare ATA vs SCSI identification
differences.
v1.0.0 02-May-2016 1_9_1 libraries. Added new verbosity level. Added
--onlySeagate restriction. Added --modelMatch and
--onlyFW filters. --smartAttributes update, added
--errorLimit, --dstAndClean
v1.0.2 19-May-2016 1_9_2 libraries fixed scan information from ATAPI devices.
Fixed a bug where we could accidentally clear some stored
identify data from the device structure. Fixed continuing
on when there was a permission denied error opening a
drive. Fixed missing Long DST confirmation.
v1.0.3 15-Jun-2016 1_9_3 libraries fixed issues with ATA secure erase
commands. Fixed bugs with --modelMatch and --onlyFW
filters.
v1.2.0 06-Jul-2016 1_10_0 libraries add --forceATA and --forceSCSI. Added
--smartInfo, --showDSTLog, --smartAutoOffline,
--conveyanceDST, --smartAttributeAutosave, and
--smartFeature
v1.2.1 14-Jul-2016 1_10_1 libraries adds SMART and power management
functions, format polling, endianess detection, buffer
size fixes, SAS device statistics, Win32 IOCTL
pass-through fix on Win8 and higher. Additional checks
when SMART is disabled.
v1.3.0 01-Sep-2016 1_11_1 libraries updates to various printed message,
minor bug fixes. Fixed --SATInfo command.
v1.3.0 21-Sep-2016 1_11_2 libraries updates adds --forceATADMA, --forceATAPIO
and --forceATAUDMA (SATA Only).
v1.4.0 10-Oct-2016 1_11_4 libraries updates. Support for multiple devices.
v1.4.0 25-Oct-2016 1_11_5 libraries updates improved LaCie detection, adds
SAT Vendor ID, SAT Product ID, and SAT Product Revision to
the -i --SATInfo output.
v1.4.1 27-Oct-2016 1_11_6 libraries updates WWN detection. Added
--enableLegacyUSBPassthrough
v1.4.1 03-Nov-2016 1_11_7 libraries fixed issue with SAS EPC power mode
settings.
v1.4.1 13-Dec-2016 1_11_10 libraries fixes a problem when using maxLBA without
the corresponding command range option, SAS power mode
setting, and Sanitize erase patterns.
v1.5.0 23-Feb-2017 1_13_0 libraries adds support for SAS 12.0Gb/s and
22.5Gb/s physical bus speeds, support for double buffered
passthrough IOCTLs. New -F, --scanFlags [options:
ignoreCSMI allowDuplicates] for Windows tools. Add CSMI
support to all Windows version tools.
v1.5.0 06-Mar-2017 1_13_2 libraries adds Enhanced device information output
for SAS features.
v1.6.0 02-May-2017 1_14_3 libraries. Adds --seagateClean.
v1.6.1 15-May-2017 Refinements to --seagateClean. Fixed an exit code for
unknown options
v1.7.0 01-Jun-2017 Adds --seagateClean.
v1.8.0 14-Jun-2017 1_15_0 libraries adds bug fix malformed command line
should exit with code = 1; added detection of parallel ATA
and SCSI speeds; temperature data on ATA now uses the
values from the SCT status log or device statistics log.
Bug fix where the "-d all" was not filtering out csmi
drives like it is supposed to causing duplicate drives to
show up. Adds the child drive matching options
--childModelMatch, --childOnlyFW, and --childNewFW. --idd
now supports SAS. --idd [short | long | repair] replaces
'70 | 71 | 72' syntax. --abortIDD added. --setMRIE added.
v1.9.0 14-Jul-2017 1_16_1 libraries adds support for ATA drives that have the
Sense Data Reporting feature enabled, changes to how we
interpret the completion status from the drive, new Sense
Data ASC, ASCQ definitions from SPC5. Adds --Scan (or -S,
note the capital S) aggressive system scan.
v1.9.0 27-Jul-2017 1_16_2 libraries enhances Seagate brand detection.
v1.9.0 19-Sep-2017 1_16_4 libraries fixes SCSI "--progress format", added
reading remanufacture time for SAS when the drive reports
a time, fixed SAS --abortDST.
v1.9.0 25-Sep-2017 1_17_0 libraries adds improved SATA device discovery on
SAS adapters, added NVMe read, write & Flush commands.
v1.9.1 10-Oct-2017 1_17_1 libraries adds Better handling of NVMe as a SCSI
device, SAT library strings, and fixes to Read-Buffer
error history (ISL). Updated copyright notice, invalid
command line options now only display an error instead of
long help. Added showing the SMART trip failure reason when
possible.
v1.9.1 12-Oct-2017 1_17_3 libraries improves Fast-Format compatibility on SAS.
v1.9.1 26-Oct-2017 1_17_5 libraries fixes SATA drive discovery behind HBAs
that don't show as SATA and don't support the SAT VPD
page; added Automatic fallback to 12byte CDBs during
initial device discovery; integrated fixes for SAS
firmware download and fixes for SAS LongDST time
calculation; added detection of TCG Pyrite and Opalite
drives.
v1.9.1 31-Oct-2017 1_17_6 libraries adds ATA Security compatibility with SATL
on some LSI adapters, corrects firmware download issue
under Windows 10 API. Added --captive or --foreground.
v1.9.1 02-Nov-2017 1_17_7 libraries fixes Long DST time on SCSI/SAS products.
v1.9.1 19-Apr-2018 1_18_0 libraries improves device detection of CD-ROM and
USB flash drives, support for early 90's PATA drives that
don't support LBA mode, bug fix where the last digit of
the SCSI Unit Serial Number was being dropped, additional
logic for deferred download completion status. --scan
--onlySeagate for just Seagate drives in a large system,
Long Drive Self Test Time in the -i output, write protect
status has been added for SCSI and NVMe in the -i output,
IDD enhancements for SAS, IDD enhancements to allow
captive mode on SATA, added USB Hacks to better support
some odd-ball USB devices and prevent crashes and improve
performance for some operations on them by issuing test
unit ready commands when something fails during device
discovery, automatic fall back to SAT 10 byte commands
during device discovery to help work with some USB
devices, some Legacy SCSI support enhancements (partially
from USB hacks development), enhanced SD to SG mapping in
Linux.
v1.10.0 25-Jul-2018 Adds --defectFormat, --showSCSIDefects
v1.11.0 21-Sep-2018 1_18_2 libraries Added in reading os-release PRETTY_NAME
field to get the OS name under linux; NVMe enabled; fixed
a bug in the ATA activate FW command; added in reading ID
Data log and Device statistics logs page 0 to check the
list of supported pages; fixed a bug in the loop used to
read mode pages for -i information on SAS; IDD SAS
improvements; fixed a bug in DST & Clean with ATA drives
behind SCSI controllers. Fix for --modelMatch that have
spaces in the name. Added additional information to the
banner and -V data to show support levels. Add general
support for NVMe and NVMe specific identify data to "-i"
command. Adds --showSMARTErrorLog, --smartErrorLogFormat.
v1.11.0 18-Oct-2018 1_18_3 libraries Added NVMe generic read command support.
v1.12.0 03-May-2019 1_19_18 libraries added per device verbosity, --deviceInfo
adds SAS (not SATA) FastFormat for Features Supported
section, --deviceInfo now gives Low Current Spinup
status.
v1.12.0 10-Jun-2019 1_19_23 libraries added SNTL (SCSI to NVMe translator),
updated software SAT translator to use dataset management
XL command, fixes for issuing vendor unique commands under
Windows, improved fast format support detection, and
refactored verbose output for NVMe commands.
v1.12.0 19-Jul-2019 1_19_24 libraries. Added --noTimeLimit.
v1.13.1 19-Feb-2020 1_21_30 libraries add in check for Elevated Privileges
(sudo, run as administrator) before trying to talk to
devices, new exit code 9 if privileges are missing;
printing the USB VID/PID in the device info; fix to sg
helper to support large systems; many changes in support
of dual actuators (example: warning that EPC settings
affect multiple LUNs); overhaul to USB device detection
and support, incorporating a new USB hacks and workarounds
approach which uses a lookup table listing various USB
bridge VIDs/PIDs and their specific issues; separate
Seagate SAS SN and PCBA SN.
v1.13.2 13-Apr-2020 1_21_30 libraries, fix memory allocation during the scan
command.
v2.0.0 20-Nov-2020 Changed how scan-flags are parsed. CSMI rewrite and initial
Intel RST NVMe support added. Numerous code quality improvements
which fixed many potential bugs and memory leaks. Improved
support for openfabrics NVMe drivers. Changed permissions
detection to show warnings rather than errors. Removed obsolete
CSMI and SAT 12B CDB options. CSMI handles now show as csmi:?:?:?
v2.0.1 12-Feb-2021 Added more information about IDD and aborting IDD to output
to help make it more clear what is happening or what to expect
in certain scenarios.
opensea-transport pulls in some enhancements to try and block
other software or the OS from interrupting IDD while it is running.
v2.0.1 16-Jun-2021 Pulled in updates to opensea-libs which includes the following:
Minor USB compatibility improvements and more products added
to the list with their specific workarounds.
Updated NVMe compatibility for FreeBSD 11.
Support for detection and showing of concurrent positioning
(new multi-actuator support from the standards).
Analyzed SMART attribute output for Seagate SATA HDDs
v2.3.1 28-Feb-2023 Includes new --noBanner option and new fast discovery option
that can be used in situations where super critical performance
is required at a loss of information about a drive's capabilities.
Help now has many more examples of the options in the tool.
Fixed a few bugs in scan and device discovery that could cause
a crash or the tool to list no devices found.
Added option to dump low-level info to assist with debugging.
Added date of manufacture info to the -i output when available.
Fixed some big endian compatibility issues discovered on AIX.
Improved support for detecting SMART trips and DST capabilities
on really old drives that conform to early standards including
SFF-8035i since definitions on mandatory and optional requirements
have changed a bit over time.
Fixed a bug when listing SCSI defects that would cause it to crash
instead of outputting information.
v2.3.1 27-Mar-2023 opensea-operations library updated to fix hybrid smart attribute
counters output. Also added note about DST log display order and
fixed attribute 198 name for Seagate HDDs.
opensea-transport updated to fix CSMI scan duplicating devices
found in certain scenarios.
v2.3.2 01-Dec-2023 Updated to newer opensea-libs to pull in low-level fixes.
Stopped reading /etc/passwd file to show username in banner.
Banner will now show either "admin"/"root" or "current user".
Improved parsing of linux distro/release information from
/etc/os-release file.
Fixed a bug in byte swap string used to get ATA MN, SN, FW.
Fixed a bug in getting/reporting power on hours as years,
days, hours, etc where days was being truncated.
Fixed error reading NVMe features in Windows for drive info.
Fixed SAS Date of manufacture in drive info.
Added detection of HPA security feature.
Added more SMART attributes definitions for Seagate HDDs & SSDs,
and more definitions for Maxtor HDDs.
Improved temperature detection from older HDDs with only
SMART attribute 194 reporting current temperature.
Added separate warning for SMART attributes below threshold that
are not considered prefail/warranty attributes (aka failures).
Fixed output of Seagate Airflow temperature SMART attribute.
Added showing new capacity after changing Max LBA.
Fixed possible segmentation fault when reading /etc/mtab in Linux.
Workaround for some SAS drives on some HBAs reporting incorrect
response to SAT A1h CDB.
Fixed a bug in FreeBSD causing non-data ATA commands to report
all zeroes instead of expected output in RTFRs.
Tool Usage Hints 14/28
[top][prev][next]
================
Tool Usage Hints
================
See Sample Output examples below.
First, run the SeaChest -s option to determine what /dev/sg? or PD? device
handle assignment lines up to your disk drive. This option will also show you
other details about the drive including the current firmware revision.
Linux:
Vendor Handle Model Number Serial Number FwRev
ATA /dev/sg0 ST94813AS 3AA043KP 3.03
SEAGATE /dev/sg1 ST1000NM0011 ZAA15VAS SN03
Windows:
Vendor Handle Model Number Serial Number FwRev
IDE PD0 ST94813AS 3AA043KP 3.03
SEAGATE PD1 ST1000NM0011 ZAA15VAS SN03
You can use SeaChest -s --onlySeagate to limit the display to just Seagate.
All utility arguments will require you to identify the specific drive by
providing the sg or PD device handle (-d, --device).
Lin example, SeaChest_Basics -d /dev/sg1 --shortDST --poll
Win example, SeaChest_Basics -d PD2 --shortDST --poll
You may combine multiple tests with a single command line. For example,
in Linux, SeaChest_Basics -d /dev/sg0 -i --smartCheck runs both identify and
SMART. In Windows, SeaChest_Basics -d PD0 -i --smartCheck runs both
identify and SMART.
Multiple device handles can be given by adding -d /dev/sg# for each additional
handle. Devices are processed in sequential order. For example, in Linux,
SeaChest_Basics -d /dev/sg0 -d /dev/sg3 -i runs identify on these two
devices. In Windows, SeaChest_Basics -d PD0 -d PD3 -i runs identify on
these two devices.
Caution: All device handles may be specified. However, great care should be
taken to fully anticipate the consequences of running a command on all storage
devices in a system. For example, a command to erase data on all drives could
be catastrophic or exactly what you want. The shortcut to select all devices is
-d all. Seagate is not responsible for lost user data. Along with the
designation for all devices, you can narrow the tasks to specific types of
drives by using the --onlySeagate, --modelMatch and --onlyFW filters.
If the task is an OFFLINE command like format unit or short DST, meaning that
the drive works on the task in the background and the tool quickly returns to
the command prompt (there is little or no I/O to the system), then you can
expect the system to run normally. If the task has high I/O to the system like
a sequential read of all sectors on the drive, then you can expect the system
to slow down with each additional device.
The discussion above is about starting SEQUENTIAL tests, or one after the
other. When the task does not return to the command prompt for a very long
time, then you have a few options to run tests in PARALLEL, also called
simultaneous, in other words all at the same time. One way is to start
different drives in different Terminal windows, if available. There are other
more sophisticated methods using parallel processing, for information about
these methods please see the information at this link:
https://github.com/Seagate/ToolBin/tree/master/SeaChest/parallel_testing
Tests which take a very long time to complete or erase all user data on the
drive will require a longer command line argument than indicated in the --help
output to the screen. This approach is taken to eliminate the possibility of
accidental data loss or the commitment of long test times. The longer command
arguments are similar to -I-understand-this-command-will-take-a-long-time or
-I-understand-this-command-will-erase-all-data.
Tests which alter the firmware or erase user data on the drive are limited to
Seagate-only products which include Seagate, Maxtor, Samsung and LaCie.
Advanced SAS installations may use dual ports. These are listed as Port 0 and
Port 1 on the device information report. When both ports are active, each one
may have a unique /dev/sg designation. The scan option may indicate that there
are two drives in the system with the same serial number. Dual port
installations will also report two different Worldwide Numbers (WWN).
Windows Only Usage
==================
All Windows version tools support finding CSMI devices and talking to them like
you would a normal device. The scan output will show all drives it detects
ONCE. CSMI device handles have a structure like csmi:<controller>:<port>:<lun>.
If a drive has both a PD? and csmi:?:?:? handle, then SeaChest will show the PD
handle instead of the CSMI handle.
When drives are in a RAID, the PD device handle is usually not available and
the CSMI handle may provide an alternate way to talk to the drive. Just
because a device has a CSMI handle doesn't mean it is part of a RAID.
If you want to see both handles, add --scanFlags allowDuplicates to the command
line. If you don't want to see any CSMI devices, add --scanFlags ignoreCSMI to
the command line. SeaChest_Info -d csmi:?:?:? --csmiInfo is useful when
troubleshooting CSMI device handles questions.
General Usage Hints Linux 15/28
[top][prev][next]
=========================
Linux General Usage Hints
=========================
Remember that Linux file names and command line arguments are cAsE SeNsiTiVe.
Display a file listing with the Linux command: ls -lah
The tool will require root privileges to run using either sudo or su commands.
Also, verify that the tool has executable rights.
A dot slash is a dot followed immediately by a forward slash (./). It is used
in Linux to execute a compiled program in the current directory when it is not
a built-in command or found in your path.
For example, ./SeaChest -d /dev/sg0 --shortDST --poll
or, sudo ./SeaChest -d /dev/sg0 --shortDST --poll
Shut down the files system and remove the power with the command:
poweroff
See previous screen history with the key combination:
Shift+PgUp or Shift+PgDn
Save a log file by redirecting the screen output to a text file by adding space
&>test.log at the end of your command line. Choose your own file name. To
append the screen output to an existing log file use >>test.log.
To save a log and display results at the conclusion of the tests, you can use
the "tee" command. Tee command writes to the STDOUT and to a file.
For example,
SeaChest --echoCommandLine -d /dev/sg0 -i --smartCheck | tee -a mySeaChestLog.txt
Display a log or text file with the Linux "less" command: less myfile.log
Press the letter q to quit displaying the file. Similarly, you can easily
read the Seagate License agreement by piping the output to the less
command with SeaChest --license |less
Display a list of sg (SCSI generic) devices with the command:
cat /sys/class/scsi_generic/sg*/device/model
or
ls /dev/sg*
sg devices include the following interfaces: SATA, USB, SCSI (SCSI, SAS and FC)
Add the command word 'time' on the same command line before the SeaChest
command to see how much time it takes to run a test.
For example, time ./SeaChest -d /dev/sg0 --shortDST --poll
When drives are not detected by SeaChest
--------------------------------------------
The problem is that the sg driver isn't loaded on the system on boot. You can
test if it is loaded by doing "ls /dev/sg*" and see if anything shows up. If
nothing shows up then the SG driver is missing (which is required by
SeaChest to issue commands).
You need to do "modprobe sg" as root to load the sg module (since it wasn't
compiled into the kernel), then you will get sg devices that we can scan and
find. Once you run the modprobe command and sg is successfully loaded, then you
can re-run "ls /dev/sg*" and see SG device nodes. SeaChest tools should
then be able to find devices once again.
How to control the amount of runtime kernel messages
----------------------------------------------------
When testing more drives than a system can hold, careful use of host adapters
and hot-plugging batches of drives (but never to direct motherboard
connections!) can help speed the process. The Linux operating system will
display various system error messages, or none, when storage devices are
powered down and exchanged with the next drives. The amount of information
contained in the OS error messages can be reviewed using the Linux utility
command "sysctl kernel.printk". The default setting is defined by the
particular distro. Tiny Core Linux, for example may set "4 4 1 7". To hide
hot-plugging messages try "3 4 1 7", to increase the messaging to include
device details like model numbers try "6 4 1 7". The command to set is 'sudo
sysctl -w kernel.printk="6 4 1 7"'. See man sysctl - "configure kernel
parameters at runtime" for more.
Tesing storage devices on the USB and Thunderbolt interfaces
------------------------------------------------------------
Sometimes, when testing a storage device, it is more convenient to attach it as
an external drive to the test system. In the case of SATA drives there are very
many SATA-to-USB 'bridge' adapters available. The quality and range of command
'passthrough' support for these adapters varies greatly. Our tools will
attempt to work through these adapters.
If your notebook has a Thunderbolt interface connection then you may be able to
test a wide range of devices. External Thunderbolt expansion systems provide a
PCIe slot in a chassis that can hold a SAS, NVMe, or SATA host adapter. The
host adapters would have cables that go out to your test bench where you would
provide the drive and an external power supply for the drives. Thunderbolt 2
expansion systems work in Linux by default. Thunderbolt 3 expansion systems
need to be enabled in the kernel with boot time options before it will be
recognized by the Linux operating system. See
https://www.kernel.org/doc/html/v4.14/admin-guide/thunderbolt.html for
information about how to activate the interface.
General Usage Hints Windows 16/28
[top][prev][next]
===========================
Windows General Usage Hints
===========================
The tool will require Administrative privileges to run.
Also, verify that the tool has executable rights.
Remember that the command line arguments are cAsE SeNsiTiVe.
Save a log file by redirecting the screen output to a text file by adding space
&>test.log at the end of your command line. Choose your own file name. To
append the screen output to an existing log file use >>test.log.
To save a log and display results at the conclusion of the tests, you can use
the powershell "tee" command. Tee command writes to the STDOUT and to a file.
For example:
powershell ".\SeaChest --echoCommandLine -d PD1 --smartCheck | tee -append mySeaChestLog.txt"
Setup for Windows
-----------------
The SeaChest Utilities Setup places all of the files at "C:\Program
Files\Seagate\SeaChest" and adds an icon on the Desktop. Clicking the icon
will open a Windows command prompt in Administrator mode at this location.
From there you will need to type the full command line for the tool and device
and options to run the test you require. See the various SeaChest Help
documentation for descriptions and examples of the various commands.
Manual Launch for Windows
-------------------------
An individual SeaChest utility for Windows cannot be launched by just
clicking on the file name. If started that way, the SeaChest utility will
briefly show a black window box and quickly close. That is what happens when
trying to run it from the Windows File Manager.
This is a command line tool and the requirement is to open a Command Prompt as
Administrator. There are two easy ways to do this:
1. Windows Accessories, right-click the Command Prompt icon and select Run as
Administrator.
2. Click Windows Start. In the Start Search box, type cmd, and then press
CTRL+SHIFT+ENTER.
Then change drives or directory to where the SeaChest utility is located and
run the tool file name from there.
About ATA Security Frozen 17/28
[top][prev][next]
When drives are reported Security "Frozen" by SeaChest
------------------------------------------------------
Note: Your system or the SeaChest software may report that a SATA password
cannot be changed because it is "frozen". Many systems BIOS will automatically
set the ATA SECURITY FREEZE LOCK command on all SATA drives at start up. The
SECURITY FREEZE LOCK command prevents changes to all Security states until a
following power-on reset or hardware reset. The purpose of the SECURITY FREEZE
LOCK command is to prevent password setting attacks on the security system.
The SeaChest --deviceInfo command will display something similar to this: "ATA
Security Information: Supported, Frozen". To disable Freeze Lock, first check
your BIOS SATA disk options to control the setting at start up. Otherwise, you
might pause the boot up shortly after powering on the system and then
temporarily remove the power to the security frozen drive (let it completely
spin down). When the power is back on the drive it will start without being
frozen.
Windows systems may also decide not to recognize the drive if it is ATA
Security Locked and it will not be listed by the SeaChest --scan command. If
the drive remains undetected in Windows, your alternative is to make a bootable
USB flash drive and run SeaChest_Erase from the Linux operating system.
About Bad LBAs 18/28
[top][prev][next]
======================
Bad LBA (Sector) Found
======================
IMPORTANT: Please read and carefully consider all of the following information
about your "Bad LBA (Logical Block Address, or Sector) Found" options.
A bad sector is a small 512-byte area on the disk drive that is reporting
errors and cannot be accessed properly. New bad sectors, sometimes called grown
defects, are often caused by some kind of physical damage. If a file or folder
uses this sector, then the file is already incomplete or corrupt because the
bytes are not readable.
**** NOTE **** The following information applies only to Seagate Technology,
Maxtor, Samsung and LaCie brand disk drives:
When SeaChest discovers a bad LBA (sector) through reading, it displays a count
of the bad sectors.
Sectors are often not in use. If a sector is in use, then that file is
incomplete or corrupt. When a bad sector happens to align with a folder or
directory listing structure, then the links to files and sub-folders it manages
may be broken.
You should carefully consider the importance of your data. While the sector is
currently unreadable, if the file or folder is important to you then you may
need professional recovery services to possibly reclaim the data. In this case,
select to scan without trying to repair sectors on the drive.
If you have decided that the file or folder is replaceable, already backed up
or just not important to you, then you can tell SeaChest to attempt to attempt
to repair the sector. See the Sector Repair Commands section above.
By design, modern disk drives maintain spare sectors for reallocation purposes.
Usually, sectors become difficult to read long before they become impossible to
read. In this situation the actual data bytes in the sector are preserved and
transferred to the new spare during a sector reallocation. Similarly, when a
disk drive writes data and encounters a problem, the drive firmware retires the
problem sector and activates a replacement before giving successful write
status.
If you give permission to attempt to repair a bad sector, then SeaChest will
attempt to write a 512-byte pattern of zeros to that single error sector.
Usually, this action will assist the disk drive firmware in managing the
problem by retiring the problem sector and activating a spare in its place. If
the attempted repair fails to reallocate the LBA to an available spare, then
the test is a FAIL and the drive is bad.
Note: Seagate Technology is not responsible for lost user data.
About Format Unit 19/28
[top][prev][next]
==================================
About the SCSI Format Unit Command
==================================
(from the Seagate SCSI Commands Reference Manual, 100293068 Rev. H July 2014)
http://www.seagate.com/files/staticfiles/support/docs/manual/Interface%20manuals/100293068h.pdf
The FORMAT UNIT command requests that the device server format the medium into
application client accessible logical blocks as specified in the number of
blocks and block length values received in the last mode parameter block
descriptor in a MODE SELECT command. In addition, the device server may certify
the medium and create control structures for the management of the medium and
defects. The degree that the medium is altered by this command is
vendor-specific.
If a device server receives a FORMAT UNIT command before receiving a MODE
SELECT command with a mode parameter block descriptor the device server shall
use the number of blocks and block length at which the logical unit is
currently formatted (i.e., no change is made to the number of blocks and the
block length of the logical unit during the format operation).
The simplest form of the FORMAT UNIT command (i.e., a FORMAT UNIT command with
no parameter data) accomplishes medium formatting with little application
client control over defect management. The device server implementation
determines the degree of defect management that is to be performed. Additional
forms of this command increase the application client's control over defect
management.
The application client may specify:
a) defect list(s) to be used;
b) defect locations;
c) that logical unit certification be enabled; and
d) exception handling in the event that defect lists are not accessible.
While performing a format operation, the device server shall respond to
commands attempting to enter into the task set except INQUIRY commands, REPORT
LUNS commands, and REQUEST SENSE commands with CHECK CONDITION status with the
sense key set to NOT READY and the additional sense code set to LOGICAL UNIT
NOT READY, FORMAT IN PROGRESS. Handling of commands already in the task set is
vendor-specific. If the device server receives an INQUIRY command, a REPORT
LUNS commands, or a REQUEST SENSE command, then the device server shall process
the command. The device server shall return data for an INQUIRY command based
on the condition of the SCSI target device before beginning the FORMAT UNIT
command (i.e., INQUIRY data shall not change until after successful completion
of a format operation). The processing of commands in the task set when a
FORMAT UNIT command is received is vendor specific.
About Fast Format 20/28
[top][prev][next]
================
About FastFormat
================
A FastFormat (quickly changing the logical sector size) may take a few minutes
for the process to complete. The disk activity LED may show activity during the
conversion. The larger the drive, the longer it takes.
NOTE: Operating systems do a device discovery during start up and set various
parameters, like total sectors and sector size, into the storage device
descriptions. The logical sector size times the number or logical sectors
defines the drive capacity. You should expect to see OS I/O errors if you
change the logical sector size on a drive and then perform read or write
operations before the OS has updated its storage device descriptions. Some
operating systems will throw an error after accessing a drive that has just run
a FastFormat but during its error recovery routines it may re-discover the
device parameters and update the system logs. A system restart, however, is
the most reliable way to refresh the storage device descriptions.
About PowerChoice 21/28
[top][prev][next]
================================
How PowerChoice Technology Works
================================
See the Seagate technology paper "Seagate' PowerChoice' Technology Provides
Unprecedented Hard Drive Power Savings and Flexibility"
http://www.seagate.com/files/docs/pdf/en-GB/whitepaper/tp608-powerchoice-tech-provides-gb.pdf
Each individual power condition builds on the capabilities of the previous
higher power condition in order to save incrementally more power. The specific
energy-saving steps implemented for each power condition are as follows:
Idle_A
- Disables most of the servo system, reduces processor and channel
power consumption
- Discs rotating at full speed (7,200 RPM)
Idle_B
- Disables most of the servo system, reduces processor and channel
power consumption
- Heads are unloaded to drive ramp.
- Discs rotating at full speed (7,200 RPM)
Idle_C/Standby_Y (SAS Only)
- Disables most of the servo system, reduces processor and channel
power consumption
- Heads are unloaded to drive ramp.
- Drive speed reduced to a lower RPM (reduced RPM)
Standby_Z
- Heads are unloaded to drive ramp.
- Drive motor is spun down.
- Drive still responds to non-media access host commands.
Flexibility is a key feature of PowerChoice technology, enabling commands from
the host side to customize power condition settings and direct a drive into or
out of power conditions as required. Two different options are available for
the user to modify PowerChoice technology settings, depending on the interface
used:
SAS
Host-definable timers via mode pages
Immediate host-commanded power transitions via Start/Stop Unit (SSU)
command
SATA
Host-definable timers via Set Features commands
Immediate host-commanded power transitions via Set Features commands
Enabling TCG Commands In Linux 22/28
[top][prev][next]
==============================
Enabling TCG Commands In Linux
==============================
Abstract
--------
The SeaChest_Erase --revert and --revertSP commands require specific support be
enabled in the Linux kernel. This document describes the process to enable
support for sending ATA Trusted Trusted Computing Group (TCG) commands in
Linux. The focus is on how to do this through Ubuntu Linux 14.04LTS, however,
the process should apply to other Linux's as well although others may vary
slightly.
Modifying The GRUB Configuration File (Ubuntu example used)
-----------------------------------------------------------
In order to make the change to allow TCG commands persist across reboots, you
must modify the kernel boot parameters. In Ubuntu, this is accomplished by
modifying the GRUB 2 configuration file. This section references the Grub2
configuration documentation from the Ubuntu Community:
https://help.ubuntu.com/community/Grub2/Setup#Configuring_GRUB_2
Follow these steps to perform this modification in Ubuntu (other Linux's may be
similar).
1. You must modify the file /etc/default/grub. You can do this by running "sudo
gedit /etc/default/grub"
2. Once this file is open in the editor of your choice, add
"libata.allow_tpm=1" to the line that begins with "GRUB_CMDLINE_LINUX_DEFAULT"
(or which ever line in grub is the one you use to boot your kernel, but this is
the default).
3. Close your editor
4. Run the command "sudo update-grub" to apply your changes to the grub boot
configuration (the file modified in these steps is a config file for the config
file).
5. Restart your computer to make this active
Temporarily Enabling TCG Commands In Linux
------------------------------------------
You can temporarily enable TCG commands without modifying the kernel boot
parameters. This can be accomplished by modifying the libata parameters file.
Below is a sample script that can be run to do this.
Sample Script:
cd /sys/module/libata/parameters
sudo chmod 644 allow_tpm
echo 1 | sudo dd of=./allow_tpm
sudo chmod 444 allow_tpm
Tiny Core - Enabling TCG Commands
------------------------------------------
Follow these steps to enable TCG commands on a Tiny Core bootable USB flash
drive.
1. Leave the USB flash drive in after you run the Windows-based USB boot maker
tool.
2. Using a (Windows) text editor go to USB:/boot/syslinux.cfg and in there, add
libata.allow_tpm=1 on the append line with the other kernel boot parameters.
3. Using a (Windows) text editor go to USB:/EFI/boot/refind.conf and add
libata.allow_tpm=1 on the options line with the other kernel boot parameters
Alternate method:
If Linux is already booted and you only want to temporarily enable TCG
commands, you can change the contents of
/sys/module/libata/parameters/allow_tpm from "0" to a "1".
Firmware Download Configuration File 23/28
[top][prev][next]
============================
Firmware Configuration Files
============================
There are two types of SeaChest_Firmware configuration (config) files:
encrypted CFS and plain text CFG.
Seagate-prepared configuration files are encrypted and carry the file extension
CFS. Seagate does not decrypt or disclose the contents of its CFS files.
Alternatively, you may prepare your own plain text configuration files which
must use the file extension CFG. SeaChest_Firmware configuration files are
simple text with multiple lines. Each line defines a model and previous
firmware match up to a new firmware data file. The structure of each line is
this:
fullModelNumber;$FWREV$oldFwVersion;fwDataFile;(optional)$FWREV$newFwVersion
No spaces, the first $FWREV$ and all three semi-colons (;) are mandatory.
Note: The full model number is the ELECTRONIC version. The label shows a
shorter version which may not include all of the necessary digits. When you
run SeaChest -s or --scan the output will display the full electronic model
number. For example the label may show ST4000DX001 but the full model is
actually ST4000DX001-1CE168. You must use the full model numbers as given by
the --scan command.
The --scan commmand also shows the current firmware, such as CC46 or SN03 or
0002 or 0001SDM7. There are several possible variations. This corresponds to
the old firmware version. You must precede the old firmware version with these
exact characters $FWREV$, like $FWREV$0001SDM7.
Seagate is the only authorized source for a firmware data file. The file name
and or other documentation should provide the new firmware version for the file.
The last section of the data line is optional, the new firmware version. If
you include this information correctly, then SeaChest_Firmware may give a
message stating that the drive already has the new firmware. If you omit the
new firmware details then you must still end the text string with a semi-colon
(;).
For example, this is a four-line configuration file for three different models
and three different firmware data files (not all model numbers have the longer
electronic version):
ST4000DX001-1CE168;$FWREV$CC42;BarracudaXT-CC44.LOD;$FWREV$CC44
ST4000DX001-1CE168;$FWREV$CC43;BarracudaXT-CC44.LOD;$FWREV$CC44
ST120FP0021;$FWREV$B770;SSD-B775.BIN;
ST4000NM0043;$FWREV$0004;Constellation3TB-0005.lod;$FWREV$0005
Remember, no spaces, the first $FWREV$ and all three semi-colons (;) are
mandatory.
Caution: Firmware download configuration files assume you have knowledge about
which models are compatible with the associated firmware files. If you are
unsure about the compatibility then you should NOT attempt to download the
firmware to the drive. Never apply firmware to a drive unless you are certain
that the firmware data file is specifically prepared for your drive. Be very
careful using SeaChest_Firmware. Power failure during a firmware download will
cause data loss. Seagate is not responsible for lost user data.
Finally, you may optionally add a hash check calculation on the firmware data
file to the SeaChest_Firmware configuration file. Simply, run the
--calculateFileHash option on the firmware data file. For example, run a MD5
calculation on the file and then add "@MD5=61b33014f2d2a4f9553f6ef64fb82e31"
(substituting your calculation) immediately following the file name, before the
semi-colon (;). For example:
ST4000DX001-1CE168;$FWREV$CC43;BarracudaXT-CC44.LOD@MD5=61b33014f2d2a4f9553f6ef64fb82e31;$FWREV$CC44
SeaChest_Firmware will compare its own MD5 calculation to the value in the
configuration file and if they do not match then the procedure will abort. Six
types of hash calculations are supported up to SHA2_512.
Interpretting Head Health 24/28
[top][prev][next]
Interpreting Head Health and Status
-----------------------------------
Beginning in 2016, some Seagate nearline drives started to support the
Remanufacture command set which allows a disk drive with a manageable
read/write head problem to remain in service at a reduced capacity by
"depopulating" the head element. You can check if a drive supports the
Remanufacture command set by running --deviceInfo and looking for 'Storage
Element Depopulation' in the list of supported features. (Not to be confused
with 'SATA Rebuild Assist' which is a feature used to rebuild RAID systems.)
A drive failure (due to a head problem) that is easily removed from the system
is replaced with a spare drive. A drive that is nearly inaccessible may make
sense to remain in the system at a reliable lesser capacity by depopulating the
problem head.
If supported by the drive, the --showPhysicalElementStatus command will display
a simple table showing head number, type, health, and status.
The Health level is represented like a percentage, 0-100. 0 is perfectly
healthy, 100 = at manufacturer's limit, above this to 207 is above the
manufacturer's limit. A report of 254 means a depopulate is in progress.
The Status levels are active, in limit, degraded, truncated, truncate failed.
If a drive head has developed isolated, degraded performance, and does not
affect any other reliability in the system, then the head can be removed from
service. A drive with seven platters and fourteen heads would lose 1/14th of
its storage capacity, or ~7%. Likewise, a four head drive would lose 25%.
If a drive is reported as "degraded" by --showPhysicalElementStatus then it can
be depopulated using the --removePhysicalElement command. When a head is
depopulated the drive must perform a complete full pack write; this is
obviously data destructive and takes a very long time to complete.
When disk drives are built the post assembly factory process includes media
scanning, any defects mapping, defining sector sizes, and establishing system,
cache and data zones. This activity is generically known as a low-level
format. During head depopulation (i.e. removing a physical element) the drive
performs a kind of 'mid-level format' using Sanitize Overwrite which has the
unique behavior that once started it must finish. If power is interrupted
during a Sanitize Overwrite it will pick up again where it left off when power
returns.
Windows Firmware Download Restrictions 25/28
[top][prev][next]
Windows Restrictions Over SATA Firmware Downloads
-------------------------------------------------
You should not attempt downloading firmware to a SATA disk drive in the Windows
operating system unless the drive supports the 'deferred' mode. You define the
mode with the SeaChest command line option '--downloadMode deferred'. If
the drive does not support deferred mode then the command will be aborted.
Windows may not be so restrictive on secondary, non-boot SATA drives or SATA
drives attached to host bus adapters (HBAs, controllers, USB, etc).
If you force a primary SATA boot drive to download firmware in Windows using a
different --downloadMode setting, then the result will likely be a BSOD (blue
screen of death) system crash. This is because the legacy SATA firmware
download modes require the drive to spin down and then back up and the
momentary disappearance of the drive causes the operating system to crash.
Windows is actually protecting the system when it thinks the drive has stopped
responding (see wikis about Ring 0 Protection).
The 'deferred' mode does not spin down the drive. Instead, the drive waits for
a future reboot of the system and self-activates the firmware at that time.
Other operating systems may utilize the SeaChest --activateFW command to
trigger the switch to the new firmware version.
Sample Output 26/28
[top][prev][next]
=============
Sample Output
=============
SATA HDD Device Information:
Lin: sudo ./SeaChest_Basics -i -d /dev/sg1
Win: SeaChest_Basics -i -d PD1
===============================================================================
SeaChest - Seagate drive utilities
Copyright (c) 2014-2022 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
===============================================================================
Model Number: ST4000DX001-1CE168
Serial Number: ZQ3034X7R
Firmware Revision: CC44
World Wide Name: 500Q0C5007A5FCF19
Drive Capacity (TB/TiB): 4.00/3.64
Native Drive Capacity (TB/TiB): 4.00/3.64
Temperature Data:
Current Temperature (C): 25
Highest Temperature (C): 40
Lowest Temperature (C): 18
Humidity Data:
Current Humidity (%): Not Reported
Highest Humidity (%): Not Reported
Lowest Humidity (%): Not Reported
Power On Time: 4 days 1 hour
Power On Hours: 97.00
MaxLBA: 7814037167
Native MaxLBA: 7814037167
Logical Sector Size (B): 512
Physical Sector Size (B): 4096
Sector Alignment: 0
Rotation Rate (RPM): 5900
Form Factor (inch): 3.5
Last DST information:
Time since last DST (hours): 0.00
DST Status/Result: 0x0
DST Test run: 0x1
Interface speed:
Max Speed (Gb/s): 6.0
Negotiated Speed (Gb/s): 6.0
Annualized Workload Rate (TB/yr): 2.51
Total Bytes Read (GB): 6.65
Total Bytes Written (GB): 21.27
Drive Reported Utilization (%): Not Reported
Encryption Support: Not Supported
Cache Size (MiB): 64.00
Read Look-Ahead: Enabled
Write Cache: Enabled
SMART Status: Good
ATA Security Information: Supported, Frozen
Zoned Device Type: Not a Zoned Device
Firmware Download Support: Immediate, Segmented
Specifications Supported:
ACS-2
ATA8-ACS
ATA/ATAPI-7
ATA/ATAPI-6
ATA/ATAPI-5
ATA/ATAPI-4
SATA 3.1
SATA 3.0
SATA 2.6
SATA 2.5
SATA II: Extensions
SATA 1.0a
Features Supported:
NCQ
HPA
Power Management
Security
SMART
DCO
48bit Address
APM
GPL
Free-fall Control
Write-Read-Verify
SATA SSD Device Information:
Lin: sudo ./SeaChest_Basics -i -d /dev/sg1
Win: SeaChest_Basics -i -d PD1
===============================================================================
SeaChest - Seagate drive utilities
Copyright (c) 2014-2022 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
===============================================================================
Model Number: ST120FP0021
Serial Number: PQ57011BD
Firmware Revision: B770
World Wide Name: 5000C501005A16633
Drive Capacity (GB/GiB): 120.03/111.79
Native Drive Capacity (GB/GiB): 120.03/111.79
Temperature Data:
Current Temperature (C): 26
Highest Temperature (C): 0
Lowest Temperature (C): 17
Humidity Data:
Current Humidity (%): Not Reported
Highest Humidity (%): Not Reported
Lowest Humidity (%): Not Reported
Power On Time: 2 days 23 hours
Power On Hours: 71.00
MaxLBA: 234441647
Native MaxLBA: 234441647
Logical Sector Size (B): 512
Physical Sector Size (B): 4096
Sector Alignment: 0
Rotation Rate (RPM): SSD
Form Factor (inch): 2.5
Last DST information:
Not supported
Interface speed:
Max Speed (Gb/s): 6.0
Negotiated Speed (Gb/s): 3.0
Annualized Workload Rate (TB/yr): 299.80
Total Bytes Read (TB): 2.35
Total Bytes Written (GB): 90.19
Drive Reported Utilization (%): Not Reported
Encryption Support: Not Supported
Cache Size (MiB): Not Reported
Percentage Used Endurance Indicator (%): 0.00000
Read Look-Ahead: Enabled
Write Cache: Enabled
SMART Status: Good
ATA Security Information: Supported, Frozen
Zoned Device Type: Not a Zoned Device
Firmware Download Support: Immediate, Segmented
Specifications Supported:
ATA8-ACS
ATA/ATAPI-7
ATA/ATAPI-6
ATA/ATAPI-5
ATA/ATAPI-4
SATA 3.0
Features Supported:
Sanitize
NCQ
HPA
Power Management
Security
SMART
48bit Address
GPL
TRIM
SAS HDD Device Information:
Lin: sudo ./SeaChest_Basics -i -d /dev/sg1
Win: SeaChest_Basics -i -d PD1
===============================================================================
SeaChest - Seagate drive utilities
Copyright (c) 2014-2022 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
===============================================================================
Model Number: ST4000NM0043
Serial Number: Z1QZ04KVG
Firmware Revision: 0004
World Wide Name: 500Q0C5005594AEFB
Copyright: Copyright (c) 2014-2022 Seagate All rights reserved
Drive Capacity (TB/TiB): 4.00/3.64
Temperature Data:
Current Temperature (C): 28
Highest Temperature (C): Not Reported
Lowest Temperature (C): Not Reported
Humidity Data:
Current Humidity (%): Not Reported
Highest Humidity (%): Not Reported
Lowest Humidity (%): Not Reported
Power On Time: 61 days 11 hours 14 minutes
Power On Hours: 1475.23
MaxLBA: 7814037167
Native MaxLBA: Not Reported
Logical Sector Size (B): 512
Physical Sector Size (B): 512
Sector Alignment: 0
Rotation Rate (RPM): 7200
Form Factor (inch): 3.5
Last DST information:
Time since last DST (hours): 548.23
DST Status/Result: 0x0
DST Test run: 0x1
Interface speed:
Port 0 (Current Port)
Max Speed (GB/s): 6.0
Negotiated Speed (Gb/s): 3.0
Port 1
Max Speed (GB/s): 6.0
Negotiated Speed (Gb/s): Not Reported
Annualized Workload Rate (TB/yr): 0.02
Total Bytes Read (GB): 2.27
Total Bytes Written (GB): 2.39
Drive Reported Utilization (%): Not Reported
Encryption Support: Self Encrypting
Cache Size (MiB): Not Reported
Read Look-Ahead: Enabled
Write Cache: Enabled
SMART Status: Good
ATA Security Information: Not Supported
Zoned Device Type: Not a Zoned Device
Firmware Download Support: Immediate
Specifications Supported:
SPC-4
Features Supported:
EPC
TCG
Self Test
Informational Exceptions
Format Unit
Sanitize
SAS SSD: Device Information
Lin: sudo ./SeaChest_Basics -i -d /dev/sg1
Win: SeaChest_Basics -i -d PD1
===============================================================================
SeaChest - Seagate drive utilities
Copyright (c) 2014-2022 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
===============================================================================
Model Number: ST400FM0053
Serial Number: P3QF13026
Firmware Revision: 0006
World Wide Name: 5000QC50069010B4B
Copyright: Copyright (c) 2014-2022 Seagate All rights reserved -
Drive Capacity (GB/GiB): 400.09/372.61
Temperature Data:
Current Temperature (C): 34
Highest Temperature (C): Not Reported
Lowest Temperature (C): Not Reported
Humidity Data:
Current Humidity (%): Not Reported
Highest Humidity (%): Not Reported
Lowest Humidity (%): Not Reported
Power On Time: 30 days 21 hours 29 minutes
Power On Hours: 741.48
MaxLBA: 781422767
Native MaxLBA: Not Reported
Logical Sector Size (B): 512
Physical Sector Size (B): 4096
Sector Alignment: 0
Rotation Rate (RPM): SSD
Form Factor (inch): 2.5
Last DST information:
Time since last DST (hours): 434.48
DST Status/Result: 0x0
DST Test run: 0x1
Interface speed:
Port 0 (Current Port)
Max Speed (GB/s): 12.0
Negotiated Speed (Gb/s): 3.0
Port 1
Max Speed (GB/s): 12.0
Negotiated Speed (Gb/s): Not Reported
Annualized Workload Rate (TB/yr): 9.48
Total Bytes Read (GB): 24.62
Total Bytes Written (GB): 837.41
Drive Reported Utilization (%): Not Reported
Encryption Support: Not Supported
Cache Size (MiB): Not Reported
Percentage Used Endurance Indicator (%): 1.00000
Read Look-Ahead: Enabled
Write Cache: Enabled
SMART Status: Good
ATA Security Information: Not Supported
Zoned Device Type: Not a Zoned Device
Firmware Download Support: Immediate, Segmented, Deferred
Specifications Supported:
SPC-4
Features Supported:
EPC
Power Comsumption
UNMAP
Self Test
Informational Exceptions
Format Unit
Sanitize
SATA SSD SMART Attributes example.
The drive will display its list of supported SMART attributes. Some attributes
are industry standard and most others are vendor unique. Most attributes are
informational and not used to determine a warranty return. Use the --smartCheck
command to determine if one of the warranty attributes has been tripped.
Reminder: Seagate Support does not help to analyze SMART attributes.
Lin: sudo ./SeaChest_Basics -d /dev/sg1 --smartAttributes
Win: SeaChest_Basics -d PD1 --smartAttributes
===============================================================================
SeaChest - Seagate drive utilities
Copyright (c) 2014-2022 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
===============================================================================
Attribute Name: Status: Nominal: Worst: Raw (hex):
1 Read Error Rate 0x000F 0x75 0x63 0x0000000969AFB4
3 Spin Up Time 0x0003 0x61 0x61 0x00000000000000
4 Start/Stop Count 0x0032 0x63 0x63 0x0000000000079E
5 Retired Sectors Count 0x0033 0x64 0x64 0x00000000000000
7 Seek Error Rate 0x000F 0x52 0x3C 0x0000000A4D0DAA
9 Power On Hours 0x0032 0x5D 0x5D 0x00000000001A84
10 Spin Retry Count 0x0013 0x64 0x64 0x00000000000000
12 Drive Power Cycle Count 0x0032 0x63 0x63 0x000000000007A5
184 IOEDC Count 0x0032 0x55 0x55 0x0000000000000F
187 Reported Un-correctable 0x0032 0x64 0x64 0x00000000000000
188 Command Timeout 0x0032 0x64 0xFD 0x00000000000000
189 High Fly Writes 0x003A 0x64 0x64 0x00000000000000
190 Airflow Temperature 0x0022 0x40 0x2E 0x00000026110024
191 Shock Sensor Counter 0x0032 0x64 0x64 0x00000000000000
192 Emergency Retract Count 0x0032 0x64 0x64 0x00000000000042
193 Load-Unlock Count 0x0032 0x44 0x44 0x0000000000FA61
194 Temperature 0x0022 0x24 0x36 0x00000A00000024
195 ECC On The Fly Count 0x001A 0x2D 0x29 0x0000000969AFB4
197 Pending-Sparing Count 0x0012 0x64 0x64 0x00000000000000
198 Offline Uncorrectable Sectors 0x0010 0x64 0x64 0x00000000000000
199 Ultra DMA CRC Error 0x003E 0xC8 0xC8 0x00000000000000
Seagate EULA 27/28
[top][prev][next]
Copyright (c) 2014-2023 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
======================================================================
END USER LICENSE AGREEMENT
FOR SEAGATE SOFTWARE
PLEASE READ THIS END USER LICENSE AGREEMENT ("EULA") CAREFULLY. BY CLICKING
"I AGREE" OR TAKING ANY STEP TO DOWNLOAD, SET-UP, INSTALL OR USE ALL OR ANY
PORTION OF THIS PRODUCT (INCLUDING, BUT NOT LIMITED TO, THE SOFTWARE AND
ASSOCIATED FILES (THE "SOFTWARE"), HARDWARE ("HARDWARE"), DISK (S), OR OTHER
MEDIA) (COLLECTIVELY, THE "PRODUCT") YOU AND YOUR COMPANY ACCEPT ALL THE
TERMS AND CONDITIONS OF THIS EULA. IF YOU ACQUIRE THIS PRODUCT FOR YOUR
COMPANY'S USE, YOU REPRESENT THAT YOU ARE AN AUTHORIZED REPRESENTATIVE WHO
HAS THE AUTHORITY TO LEGALLY BIND YOUR COMPANY TO THIS EULA. IF YOU DO NOT
AGREE, DO NOT CLICK "I AGREE" AND DO NOT DOWNLOAD, SET-UP, INSTALL OR USE THE
SOFTWARE.
1. Ownership. This EULA applies to the Software and Products of Seagate
Technology LLC and the affiliates controlled by, under common control with,
or controlling Seagate Technology LLC, including but not limited to
affiliates operating under the LaCie name or brand, (collectively, "Seagate",
"we", "us", "our"). Seagate and its suppliers own all right, title, and
interest in and to the Software, including all intellectual property rights
therein. The Software is licensed, not sold. The structure, organization,
and code of the Software are the valuable trade secrets and confidential
information of Seagate and its suppliers. The Software is protected by
copyright and other intellectual property laws and treaties, including,
without limitation, the copyright laws of the United States and other
countries. The term "Software" does not refer to or include "Third-Party
Software". "Third-Party Software" means certain software licensed by Seagate
from third parties that may be provided with the specific version of Software
that you have licensed. The Third-Party Software is generally not governed
by the terms set forth below but is subject to different terms and conditions
imposed by the licensors of such Third-Party Software. The terms of your use
of the Third-Party Software are subject to and governed by the respective
license terms, except that this Section 1 and Sections 5 and 6 of this
Agreement also govern your use of the Third-Party Software. You may identify
and view the relevant licenses and/or notices for such Third-Party Software
for the Software you have received pursuant to this EULA at
http://www.seagate.com/support/by-topic/downloads/ , or at
http://www.lacie.com/support/ for LaCie branded product. You agree to comply
with the terms and conditions contained in all such Third-Party Software
licenses with respect to the applicable Third-Party Software. Where
applicable, the URLs for sites where you may obtain source code for the Third
Party Software can be found at
http://www.seagate.com/support/by-topic/downloads/, or at
http://www.lacie.com/support/ for LaCie branded product.
2. Product License. Subject to your compliance with the terms of this EULA,
Seagate grants you a personal, non-exclusive, non-transferable, limited
license to install and use one (1) copy of the Software on one (1) device
residing on your premises, internally and only for the purposes described in
the associated documentation. Use of some third party software included on
the media provided with the Product may be subject to terms and conditions of
a separate license agreement; this license agreement may be contained in a
"Read Me" file located on the media that accompanies that Product. The
Software includes components that enable you to link to and use certain
services provided by third parties ("Third Party Services"). Your use of the
Third Party Services is subject to your agreement with the applicable third
party service provider. Except as expressly stated herein, this EULA does
not grant you any intellectual property rights in the Product. Seagate and
its suppliers reserve all rights not expressly granted to you. There are no
implied rights.
2.1 Software. You are also permitted to make a single copy of the
Software strictly for backup and disaster recovery purposes. You may not
alter or modify the Software or create a new installer for the Software. The
Software is licensed and distributed by Seagate for use with its storage
products only, and may not be used with non-Seagate storage product.
3. Restrictions. You are not licensed to do any of the following:
a. Create derivative works based on the Product or any part or
component thereof, including, but not limited to, the
Software;
b. Reproduce the Product, in whole or in part;
c. Except as expressly authorized by Section 11 below, sell,
assign, license, disclose, or otherwise transfer or make
available the Product, in whole or in part, to any third
party;
d. Alter, translate, decompile, or attempt to reverse engineer
the Product or any part or component thereof, except and only
to the extent that such activity is expressly permitted by
applicable law notwithstanding this contractual prohibition;
e. Use the Product to provide services to third parties;
f. Take any actions that would cause the Software to become
subject to any open source license agreement if it is not
already subject to such an agreement; and
g. Remove or alter any proprietary notices or marks on the
Product.
4. Updates. If you receive an update or an upgrade to, or a new version of,
any Software ("Update") you must possess a valid license to the previous
version in order to use the Update. All Updates provided to you shall be
subject to the terms and conditions of this EULA. If you receive an Update,
you may continue to use the previous version(s) of the Software in your
possession, custody or control. Seagate shall have no obligation to support
the previous versions of the Software upon availability of an Update. Seagate
has no obligation to provide support, maintenance, Updates, or modifications
under this EULA.
5. NO WARRANTY. THE PRODUCT AND THE THIRD-PARTY SOFTWARE ARE OFFERED ON AN
"AS-IS" BASIS AND NO WARRANTY, EITHER EXPRESS OR IMPLIED, IS GIVEN. SEAGATE
AND ITS SUPPLIERS EXPRESSLY DISCLAIM ALL WARRANTIES OF ANY KIND, WHETHER
STATUTORY, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NON-INFRINGEMENT. SEAGATE DOES NOT PROVIDE THE THIRD PARTY SERVICES AND
MAKES NO WARRANTIES WITH RESPECT TO THE THIRD PARTY SERVICES. YOUR USE OF
THE THIRD PARTY SERVICES IS AT YOUR RISK.
6. EXCLUSION OF INCIDENTAL, CONSEQUENTIAL, AND CERTAIN OTHER DAMAGES. TO
THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL SEAGATE OR
ITS LICENSORS OR SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, PUNITIVE,
INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, BUT NOT LIMITED TO,
DAMAGES FOR LOSS OF PROFITS OR CONFIDENTIAL OR OTHER INFORMATION, FOR
BUSINESS INTERRUPTION, FOR PERSONAL INJURY, FOR LOSS OF PRIVACY, FOR FAILURE
TO MEET ANY DUTY INCLUDING OF GOOD FAITH OR REASONABLE CARE, FOR NEGLIGENCE,
AND FOR ANY OTHER PECUNIARY OR OTHER LOSS WHATSOEVER) ARISING OUT OF OR IN
ANY WAY RELATED TO THE USE OF OR INABILITY TO USE THE PRODUCT OR ANY PART OR
COMPONENT THEREOF OR RELATED SERVICE OR ANY THIRD PARTY SERVICES, OR
OTHERWISE UNDER OR IN CONNECTION WITH ANY PROVISION OF THE EULA, EVEN IN THE
EVENT OF THE FAULT, TORT (INCLUDING NEGLIGENCE), MISREPRESENTATION, STRICT
LIABILITY, BREACH OF CONTRACT, OR BREACH OF WARRANTY OF SEAGATE OR ITS
LICENSORS OR SUPPLIERS, AND EVEN IF SEAGATE OR ITS LICENSOR OR SUPPLIER HAS
BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES AND NOTWITHSTANDING ANY
FAILURE OF THE ESSENTIAL PURPOSE OF THIS AGREEMENT OR ANY REMEDY.
7. LIMITATION OF LIABILITY. NOTWITHSTANDING ANY DAMAGES THAT YOU MIGHT
INCUR FOR ANY REASON WHATSOEVER, THE ENTIRE LIABILITY OF SEAGATE UNDER ANY
PROVISION OF THIS EULA AND YOUR EXCLUSIVE REMEDY HEREUNDER SHALL BE LIMITED
TO, AND IN NO EVENT WILL SEAGATE'S TOTAL CUMULATIVE DAMAGES EXCEED, THE FEES
PAID BY THE LICENSEE TO SEAGATE FOR THE PRODUCT. ADDITIONALLY, IN NO EVENT
SHALL SEAGATE'S LICENSORS OR SUPPLIERS BE LIABLE FOR ANY DAMAGES OF ANY KIND.
8. Privacy. Seagate's collection, use and disclosure of personally
identifiable information in connection with your use of the Product is
governed by Seagate's Privacy Policy which is located at
http://www.seagate.com/legal-privacy/privacy-policy/As further described in
Seagate's Privacy Policy, certain Products may include a Product dashboard
which allows users to manage Product settings, including but not limited to
use of anonymous statistical usage data in connection with personally
identifiable information. You agree to Seagate's collection, use, and
disclosure of your data in accordance with the Product dashboard settings
selected by you for the Product, or in the case of transfer as described in
Section 11, you agree to the settings selected by the prior licensee unless
or until you make changes to the settings.
9. Indemnification. By accepting the EULA, you agree to indemnify and
otherwise hold harmless Seagate, its officers, employees, agents,
subsidiaries, affiliates, and other partners from any direct, indirect,
incidental, special, consequential or exemplary damages arising out of,
relating to, or resulting from your use of the Product or any other matter
relating to the Product, including, without limitation, use of any of the
Third Party Services.
10. International Trade Compliance. The Software and any related technical
data made available for download under this EULA are subject to the customs
and export control laws and regulations of the United States ("U.S.") and may
also be subject to the customs and export laws and regulations of the country
in which the download is contemplated. Further, under U.S. law, the Software
and any related technical data made available for download under this EULA
may not be sold, leased or otherwise transferred to restricted countries, or
used by a restricted end-user (as determined on any one of the U.S.
government restricted parties lists, found at
http://www.bis.doc.gov/complianceandenforcement/liststocheck.htm) or an
end-user engaged in activities related to weapons of mass destruction
including, without limitation, activities related to designing, developing,
producing or using nuclear weapons, materials, or facilities, missiles or
supporting missile projects, or chemical or biological weapons. You
acknowledge that you are not a citizen, national, or resident of, and are not
under control of the governments of Cuba, Iran, North Korea, Sudan or Syria;
are not otherwise a restricted end-user as defined by U.S. export control
laws; and are not engaged in proliferation activities. Further, you
acknowledge that you will not download or otherwise export or re-export the
Software or any related technical data directly or indirectly to the
above-mentioned countries or to citizens, nationals, or residents of those
countries, or to any other restricted end user or for any restricted end-use.
11. General. This EULA between Licensee and Seagate is governed by and
construed in accordance with the laws of the State of California without
regard to conflict of laws principles. The EULA constitutes the entire
agreement between Seagate and you relating to the Product and governs your
use of the Product, superseding any prior agreement between you and Seagate
relating to the subject matter hereof. If any provision of this EULA is held
by a court of competent jurisdiction to be contrary to law, such provision
will be changed and interpreted so as to best accomplish the objectives of
the original provision to the fullest extent allowed by law and the remaining
provisions of the EULA will remain in force and effect. The Product and any
related technical data are provided with restricted rights. Use,
duplication, or disclosure by the U.S. government is subject to the
restrictions as set forth in subparagraph (c)(1)(iii) of DFARS 252.227-7013
(The Rights in Technical Data and Computer Product) or subparagraphs (c)(1)
and (2) of 48 CFR 52.227-19 (Commercial Computer Product - Restricted
Rights), as applicable. The manufacturer is Seagate. You may not transfer
or assign this EULA or any rights under this EULA, except that you may make a
one-time, permanent transfer of this EULA and the Software to another end
user, provided that (i) you do not retain any copies of the Software, the
Hardware, the media and printed materials, Upgrades (if any), and this EULA,
and (ii) prior to the transfer, the end user receiving this EULA and the
Software agrees to all the EULA terms. Any attempted assignment in violation
of this Section is void. Seagate, the Seagate logo, and other Seagate names
and logos are the trademarks of Seagate.
5.4.2016
===========================================================================
Open Source Licenses 28/28
[top][prev][next]
Various Open Source Licenses
GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (c) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies of this license
document, but changing it is not allowed.
This version of the GNU Lesser General Public License incorporates the terms
and conditions of version 3 of the GNU General Public License, supplemented
by the additional permissions listed below.
0. Additional Definitions.
As used herein, "this License" refers to version 3 of the GNU Lesser General
Public License, and the "GNU GPL" refers to version 3 of the GNU General
Public License.
"The Library" refers to a covered work governed by this License, other than
an Application or a Combined Work as defined below.
An "Application" is any work that makes use of an interface provided by the
Library, but which is not otherwise based on the Library. Defining a subclass
of a class defined by the Library is deemed a mode of using an interface
provided by the Library.
A "Combined Work" is a work produced by combining or linking an Application
with the Library. The particular version of the Library with which the
Combined Work was made is also called the "Linked Version".
The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code for
portions of the Combined Work that, considered in isolation, are based on the
Application, and not on the Linked Version.
The "Corresponding Application Code" for a Combined Work means the object
code and/or source code for the Application, including any data and utility
programs needed for reproducing the Combined Work from the Application, but
excluding the System Libraries of the Combined Work.
1. Exception to Section 3 of the GNU GPL.
You may convey a covered work under sections 3 and 4 of this License without
being bound by section 3 of the GNU GPL.
2. Conveying Modified Versions.
If you modify a copy of the Library, and, in your modifications, a facility
refers to a function or data to be supplied by an Application that uses the
facility (other than as an argument passed when the facility is invoked),
then you may convey a copy of the modified version:
* a) under this License, provided that you make a good faith effort to ensure
that, in the event an Application does not supply the function or data, the
facility still operates, and performs whatever part of its purpose remains
meaningful, or
* b) under the GNU GPL, with none of the additional permissions of this
License applicable to that copy.
3. Object Code Incorporating Material from Library Header Files.
The object code form of an Application may incorporate material from a header
file that is part of the Library. You may convey such object code under terms
of your choice, provided that, if the incorporated material is not limited to
numerical parameters, data structure layouts and accessors, or small macros,
inline functions and templates (ten or fewer lines in length), you do both of
the following:
* a) Give prominent notice with each copy of the object code that the Library
is used in it and that the Library and its use are covered by this License.
* b) Accompany the object code with a copy of the GNU GPL and this license
document.
4. Combined Works.
You may convey a Combined Work under terms of your choice that, taken
together, effectively do not restrict modification of the portions of the
Library contained in the Combined Work and reverse engineering for debugging
such modifications, if you also do each of the following:
* a) Give prominent notice with each copy of the Combined Work that the
Library is used in it and that the Library and its use are covered by this
License.
* b) Accompany the Combined Work with a copy of the GNU GPL and this license
document.
* c) For a Combined Work that displays copyright notices during execution,
include the copyright notice for the Library among these notices, as well as
a reference directing the user to the copies of the GNU GPL and this license
document.
* d) Do one of the following:
o 0) Convey the Minimal Corresponding Source under the terms of this
License, and the Corresponding Application Code in a form suitable for, and
under terms that permit, the user to recombine or relink the Application
with a modified version of the Linked Version to produce a modified
Combined Work, in the manner specified by section 6 of the GNU GPL for
conveying Corresponding Source.
o 1) Use a suitable shared library mechanism for linking with the Library.
A suitable mechanism is one that (a) uses at run time a copy of the Library
already present on the user's computer system, and (b) will operate
properly with a modified version of the Library that is
interface-compatible with the Linked Version.
* e) Provide Installation Information, but only if you would otherwise be
required to provide such information under section 6 of the GNU GPL, and only
to the extent that such information is necessary to install and execute a
modified version of the Combined Work produced by recombining or relinking
the Application with a modified version of the Linked Version. (If you use
option 4d0, the Installation Information must accompany the Minimal
Corresponding Source and Corresponding Application Code. If you use option
4d1, you must provide the Installation Information in the manner specified by
section 6 of the GNU GPL for conveying Corresponding Source.)
5. Combined Libraries.
You may place library facilities that are a work based on the Library side by
side in a single library together with other library facilities that are not
Applications and are not covered by this License, and convey such a combined
library under terms of your choice, if you do both of the following:
* a) Accompany the combined library with a copy of the same work based on the
Library, uncombined with any other library facilities, conveyed under the
terms of this License.
* b) Give prominent notice with the combined library that part of it is a
work based on the Library, and explaining where to find the accompanying
uncombined form of the same work.
6. Revised Versions of the GNU Lesser General Public License.
The Free Software Foundation may publish revised and/or new versions of the
GNU Lesser General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Library as you
received it specifies that a certain numbered version of the GNU Lesser
General Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that published version
or of any later version published by the Free Software Foundation. If the
Library as you received it does not specify a version number of the GNU
Lesser General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.
If the Library as you received it specifies that a proxy can decide whether
future versions of the GNU Lesser General Public License shall apply, that
proxy's public statement of acceptance of any version is permanent
authorization for you to choose that version for the Library.
===========================================================================
SeaChest tools for Windows utilize wingetopt
(https://github.com/alex85k/wingetopt).
getopt library for Windows compilers
This library was created to allow compilation linux-based software on Windows.
http://en.wikipedia.org/wiki/Getopt
The sources were taken from MinGW-runtime project.
AUTHORS:
Todd C. Miller Todd.Miller@courtesan.com
The NetBSD Foundation, Inc.
LICENSE
Copyright (c) 2002 Todd C. Miller <Todd.Miller@courtesan.com>
Permission to use, copy, modify, and distribute this software for any purpose
with or without fee is hereby granted, provided that the above copyright notice
and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
Sponsored in part by the Defense Advanced Research Projects
Agency (DARPA) and Air Force Research Laboratory, Air Force
Materiel Command, USAF, under agreement number F39502-99-1-0512.
Copyright (c) 2000 The NetBSD Foundation, Inc.
All rights reserved.
This code is derived from software contributed to The NetBSD Foundation by
Dieter Baron and Thomas Klausner.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS "AS
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
======================================================================
SOURCE CODE files of the opensea open source project have been made available
to you under the Mozilla Public License 2.0 (MPL). Mozilla is the custodian of
the Mozilla Public License ("MPL"), an open source/free software license.
https://www.mozilla.org/en-US/MPL/
Mozilla Public License Version 2.0
==================================
1. Definitions
--------------
1.1. "Contributor"
means each individual or legal entity that creates, contributes to
the creation of, or owns Covered Software.
1.2. "Contributor Version"
means the combination of the Contributions of others (if any) used
by a Contributor and that particular Contributor's Contribution.
1.3. "Contribution"
means Covered Software of a particular Contributor.
1.4. "Covered Software"
means Source Code Form to which the initial Contributor has attached
the notice in Exhibit A, the Executable Form of such Source Code
Form, and Modifications of such Source Code Form, in each case
including portions thereof.
1.5. "Incompatible With Secondary Licenses"
means
(a) that the initial Contributor has attached the notice described
in Exhibit B to the Covered Software; or
(b) that the Covered Software was made available under the terms of
version 1.1 or earlier of the License, but not also under the
terms of a Secondary License.
1.6. "Executable Form"
means any form of the work other than Source Code Form.
1.7. "Larger Work"
means a work that combines Covered Software with other material, in
a separate file or files, that is not Covered Software.
1.8. "License"
means this document.
1.9. "Licensable"
means having the right to grant, to the maximum extent possible,
whether at the time of the initial grant or subsequently, any and
all of the rights conveyed by this License.
1.10. "Modifications"
means any of the following:
(a) any file in Source Code Form that results from an addition to,
deletion from, or modification of the contents of Covered
Software; or
(b) any new file in Source Code Form that contains any Covered
Software.
1.11. "Patent Claims" of a Contributor
means any patent claim(s), including without limitation, method,
process, and apparatus claims, in any patent Licensable by such
Contributor that would be infringed, but for the grant of the
License, by the making, using, selling, offering for sale, having
made, import, or transfer of either its Contributions or its
Contributor Version.
1.12. "Secondary License"
means either the GNU General Public License, Version 2.0, the GNU
Lesser General Public License, Version 2.1, the GNU Affero General
Public License, Version 3.0, or any later versions of those
licenses.
1.13. "Source Code Form"
means the form of the work preferred for making modifications.
1.14. "You" (or "Your")
means an individual or a legal entity exercising rights under this
License. For legal entities, "You" includes any entity that
controls, is controlled by, or is under common control with You. For
purposes of this definition, "control" means (a) the power, direct
or indirect, to cause the direction or management of such entity,
whether by contract or otherwise, or (b) ownership of more than
fifty percent (50%) of the outstanding shares or beneficial
ownership of such entity.
2. License Grants and Conditions
--------------------------------
2.1. Grants
Each Contributor hereby grants You a world-wide, royalty-free,
non-exclusive license:
(a) under intellectual property rights (other than patent or trademark)
Licensable by such Contributor to use, reproduce, make available,
modify, display, perform, distribute, and otherwise exploit its
Contributions, either on an unmodified basis, with Modifications, or
as part of a Larger Work; and
(b) under Patent Claims of such Contributor to make, use, sell, offer
for sale, have made, import, and otherwise transfer either its
Contributions or its Contributor Version.
2.2. Effective Date
The licenses granted in Section 2.1 with respect to any Contribution
become effective for each Contribution on the date the Contributor first
distributes such Contribution.
2.3. Limitations on Grant Scope
The licenses granted in this Section 2 are the only rights granted under
this License. No additional rights or licenses will be implied from the
distribution or licensing of Covered Software under this License.
Notwithstanding Section 2.1(b) above, no patent license is granted by a
Contributor:
(a) for any code that a Contributor has removed from Covered Software;
or
(b) for infringements caused by: (i) Your and any other third party's
modifications of Covered Software, or (ii) the combination of its
Contributions with other software (except as part of its Contributor
Version); or
(c) under Patent Claims infringed by Covered Software in the absence of
its Contributions.
This License does not grant any rights in the trademarks, service marks,
or logos of any Contributor (except as may be necessary to comply with
the notice requirements in Section 3.4).
2.4. Subsequent Licenses
No Contributor makes additional grants as a result of Your choice to
distribute the Covered Software under a subsequent version of this
License (see Section 10.2) or under the terms of a Secondary License (if
permitted under the terms of Section 3.3).
2.5. Representation
Each Contributor represents that the Contributor believes its
Contributions are its original creation(s) or it has sufficient rights
to grant the rights to its Contributions conveyed by this License.
2.6. Fair Use
This License is not intended to limit any rights You have under
applicable copyright doctrines of fair use, fair dealing, or other
equivalents.
2.7. Conditions
Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
in Section 2.1.
3. Responsibilities
-------------------
3.1. Distribution of Source Form
All distribution of Covered Software in Source Code Form, including any
Modifications that You create or to which You contribute, must be under
the terms of this License. You must inform recipients that the Source
Code Form of the Covered Software is governed by the terms of this
License, and how they can obtain a copy of this License. You may not
attempt to alter or restrict the recipients' rights in the Source Code
Form.
3.2. Distribution of Executable Form
If You distribute Covered Software in Executable Form then:
(a) such Covered Software must also be made available in Source Code
Form, as described in Section 3.1, and You must inform recipients of
the Executable Form how they can obtain a copy of such Source Code
Form by reasonable means in a timely manner, at a charge no more
than the cost of distribution to the recipient; and
(b) You may distribute such Executable Form under the terms of this
License, or sublicense it under different terms, provided that the
license for the Executable Form does not attempt to limit or alter
the recipients' rights in the Source Code Form under this License.
3.3. Distribution of a Larger Work
You may create and distribute a Larger Work under terms of Your choice,
provided that You also comply with the requirements of this License for
the Covered Software. If the Larger Work is a combination of Covered
Software with a work governed by one or more Secondary Licenses, and the
Covered Software is not Incompatible With Secondary Licenses, this
License permits You to additionally distribute such Covered Software
under the terms of such Secondary License(s), so that the recipient of
the Larger Work may, at their option, further distribute the Covered
Software under the terms of either this License or such Secondary
License(s).
3.4. Notices
You may not remove or alter the substance of any license notices
(including copyright notices, patent notices, disclaimers of warranty,
or limitations of liability) contained within the Source Code Form of
the Covered Software, except that You may alter any license notices to
the extent required to remedy known factual inaccuracies.
3.5. Application of Additional Terms
You may choose to offer, and to charge a fee for, warranty, support,
indemnity or liability obligations to one or more recipients of Covered
Software. However, You may do so only on Your own behalf, and not on
behalf of any Contributor. You must make it absolutely clear that any
such warranty, support, indemnity, or liability obligation is offered by
You alone, and You hereby agree to indemnify every Contributor for any
liability incurred by such Contributor as a result of warranty, support,
indemnity or liability terms You offer. You may include additional
disclaimers of warranty and limitations of liability specific to any
jurisdiction.
4. Inability to Comply Due to Statute or Regulation
---------------------------------------------------
If it is impossible for You to comply with any of the terms of this
License with respect to some or all of the Covered Software due to
statute, judicial order, or regulation then You must: (a) comply with
the terms of this License to the maximum extent possible; and (b)
describe the limitations and the code they affect. Such description must
be placed in a text file included with all distributions of the Covered
Software under this License. Except to the extent prohibited by statute
or regulation, such description must be sufficiently detailed for a
recipient of ordinary skill to be able to understand it.
5. Termination
--------------
5.1. The rights granted under this License will terminate automatically
if You fail to comply with any of its terms. However, if You become
compliant, then the rights granted under this License from a particular
Contributor are reinstated (a) provisionally, unless and until such
Contributor explicitly and finally terminates Your grants, and (b) on an
ongoing basis, if such Contributor fails to notify You of the
non-compliance by some reasonable means prior to 60 days after You have
come back into compliance. Moreover, Your grants from a particular
Contributor are reinstated on an ongoing basis if such Contributor
notifies You of the non-compliance by some reasonable means, this is the
first time You have received notice of non-compliance with this License
from such Contributor, and You become compliant prior to 30 days after
Your receipt of the notice.
5.2. If You initiate litigation against any entity by asserting a patent
infringement claim (excluding declaratory judgment actions,
counter-claims, and cross-claims) alleging that a Contributor Version
directly or indirectly infringes any patent, then the rights granted to
You by any and all Contributors for the Covered Software under Section
2.1 of this License shall terminate.
5.3. In the event of termination under Sections 5.1 or 5.2 above, all
end user license agreements (excluding distributors and resellers) which
have been validly granted by You or Your distributors under this License
prior to termination shall survive termination.
************************************************************************
* *
* 6. Disclaimer of Warranty *
* ------------------------- *
* *
* Covered Software is provided under this License on an "as is" *
* basis, without warranty of any kind, either expressed, implied, or *
* statutory, including, without limitation, warranties that the *
* Covered Software is free of defects, merchantable, fit for a *
* particular purpose or non-infringing. The entire risk as to the *
* quality and performance of the Covered Software is with You. *
* Should any Covered Software prove defective in any respect, You *
* (not any Contributor) assume the cost of any necessary servicing, *
* repair, or correction. This disclaimer of warranty constitutes an *
* essential part of this License. No use of any Covered Software is *
* authorized under this License except under this disclaimer. *
* *
************************************************************************
************************************************************************
* *
* 7. Limitation of Liability *
* -------------------------- *
* *
* Under no circumstances and under no legal theory, whether tort *
* (including negligence), contract, or otherwise, shall any *
* Contributor, or anyone who distributes Covered Software as *
* permitted above, be liable to You for any direct, indirect, *
* special, incidental, or consequential damages of any character *
* including, without limitation, damages for lost profits, loss of *
* goodwill, work stoppage, computer failure or malfunction, or any *
* and all other commercial damages or losses, even if such party *
* shall have been informed of the possibility of such damages. This *
* limitation of liability shall not apply to liability for death or *
* personal injury resulting from such party's negligence to the *
* extent applicable law prohibits such limitation. Some *
* jurisdictions do not allow the exclusion or limitation of *
* incidental or consequential damages, so this exclusion and *
* limitation may not apply to You. *
* *
************************************************************************
8. Litigation
-------------
Any litigation relating to this License may be brought only in the
courts of a jurisdiction where the defendant maintains its principal
place of business and such litigation shall be governed by laws of that
jurisdiction, without reference to its conflict-of-law provisions.
Nothing in this Section shall prevent a party's ability to bring
cross-claims or counter-claims.
9. Miscellaneous
----------------
This License represents the complete agreement concerning the subject
matter hereof. If any provision of this License is held to be
unenforceable, such provision shall be reformed only to the extent
necessary to make it enforceable. Any law or regulation which provides
that the language of a contract shall be construed against the drafter
shall not be used to construe this License against a Contributor.
10. Versions of the License
---------------------------
10.1. New Versions
Mozilla Foundation is the license steward. Except as provided in Section
10.3, no one other than the license steward has the right to modify or
publish new versions of this License. Each version will be given a
distinguishing version number.
10.2. Effect of New Versions
You may distribute the Covered Software under the terms of the version
of the License under which You originally received the Covered Software,
or under the terms of any subsequent version published by the license
steward.
10.3. Modified Versions
If you create software not governed by this License, and you want to
create a new license for such software, you may create and use a
modified version of this License if you rename the license and remove
any references to the name of the license steward (except to note that
such modified license differs from this License).
10.4. Distributing Source Code Form that is Incompatible With Secondary
Licenses
If You choose to distribute Source Code Form that is Incompatible With
Secondary Licenses under the terms of this version of the License, the
notice described in Exhibit B of this License must be attached.
Exhibit A - Source Code Form License Notice
-------------------------------------------
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/.
If it is not possible or desirable to put the notice in a particular
file, then You may include the notice in a location (such as a LICENSE
file in a relevant directory) where a recipient would be likely to look
for such a notice.
You may add additional accurate notices of copyright ownership.
Exhibit B - "Incompatible With Secondary Licenses" Notice
---------------------------------------------------------
This Source Code Form is "Incompatible With Secondary Licenses", as
defined by the Mozilla Public License, v. 2.0.
Generated by GNU Enscript 1.6.5.90.