Version - =drive utilities
==========================================================================================
- openSeaChest_PassthroughTest - openSeaChest drive utilities - NVMe Enabled
Copyright (c) 2014-2023 Seagate Technology LLC and/or its Affiliates, All
Rights Reserved openSeaChest_PassthroughTest Version: 1.3.3-6_2_0 X86_64
Build Date: Dec 1 2023 Today: Fri Dec 1 15:18:14 2023 User: current
user
==========================================================================================
Usage =====
- openSeaChest_PassthroughTest [-d <sg_device>] {arguments}
{options}
Examples ========
- openSeaChest_PassthroughTest --scan openSeaChest_PassthroughTest
-d /dev/sg<#> -i openSeaChest_PassthroughTest
-d /dev/sg<#> --SATInfo openSeaChest_PassthroughTest
-d /dev/sg<#> --llInfo Typical use of this test tool
usually requires running it twice: 1. openSeaChest_PassthroughTest
-d /dev/sg<#> --runPTTest --ptDriveHint ata
--ptTypeHint sat Either reboot or power cycle the adapter between
runs 2. openSeaChest_PassthroughTest -d /dev/sg<#>
--runPTTest --ptDriveHint ata --ptTypeHint sat
--enableHangCmdsTest all Logs from each run should be collected to
share with the openSeaChest developers.
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 openSeaChest_PassthroughTest 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 openSeaChest_PassthroughTest 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.
--ptDriveHint [ata | nvme]
- This option passes a hint to the software that the device being tested is
an ATA or NVMe drive so it can appropriately test it. This option is most
useful when also using --ptTypeHint
--ptTypeHint [sat | legacyATA]
- Add this option if the device being tested is likely to support one of the
supported passthrough types. This hints to the software to perform
additional testing for these passthroughs if no other support is
apparent.
- sat - device supports SAT
ATA-passthrough commands (12 or 16 byte)
- legacyATA - device supports a legacy vendor unique method to
passthrough
- ATA commands. You must also
specify --enableLegacyATAPTTest
- in order for these commands to be tested.
--disablePassthroughTesting
- Disables all ATA passthrough testing. Device will only be tested with SCSI
commands from SPC and SBC specifications.
--enableLegacyATAPTTest
- Add this option to the command line to allow sending legacy passthrough
CDBs from old USB adapters or drivers. By default these are off since
these operation codes may perform unintended actions on devices that don't
actually support passthrough. For example: There is a USB thumbdrive that
receives one of these and bricks immediately. Only add this to the command
line if you understand and have high confidence that the device you are
testing is likely to support one of these passthroughs. Most of these
devices will have been created prior to 2006 when the SAT spec was added
for a standardized passthrough.
--enableHangCmdsTest [all | zlr | sctgpl | rrTdir]
- There are some commands that are known to cause some translators to hang
when they are received. This option covers some known commands for some
devices This must be enabled manually for a more complete test, but if it
hangs the device could cause problems. Each of these tests has a specific
hack/quirk related to it, so if the device hangs, then it must be added to
the list for higher compatibility. Not all hangs will be able to be
detected by the software! Put this option on the command line multiple
times to add different combinations of tests.
- all - run all known commands
that may cause hangs
- zlr - do SCSI read commands with zero transfer length sctgpl - try reading
the SCT status log with a GPL read log ext command rrTdir - in the SAT
return response information protocol, run it without setting the tdir bit
as the spec allows
--forceRetest
- Use this option to force this utility to retest this device if it reports
that it is already known. This may be useful when testing multiple devices
that use the same chip and are identified, or when trying to troubleshoot
compatibility on another OS.
--runPTTest
- This option is used to perform the passthrough test. The passthrough test
is an attempt to figure out quirks or hacks with different translators in
order to make the device more compatible with the rest of the openSeaChest
software. The default test is done using only what can be determined about
the device from the SCSI reported data. Attempting to passthrough ATA or
NVMe commands may not be done depending on how the device reports. Using
the other options can help tell this software to test for other behavior.
The other options to control the test are as follows:
- --ptDriveHint
- --ptTypeHint --disablePassthroughTesting
--enableLegacyATAPTTest --enableHangCmdsTest
--forceRetest
- Utility Version: 1.3.3 opensea-common Version: 2.0.0 opensea-transport
Version: 6.2.0 opensea-operations Version: 5.1.1 Build Date: Dec 1 2023
Compiled Architecture: X86_64 Detected Endianness: Little Endian Compiler
Used: GCC Compiler Version: 7.5.0 Operating System Type: Linux Operating
System Version: 4.15.0-211 Operating System Name: Ubuntu 18.04.6 LTS