-
Notifications
You must be signed in to change notification settings - Fork 31
/
Copy pathSeaChest_Combo_UserGuides.txt
10513 lines (9259 loc) · 524 KB
/
SeaChest_Combo_UserGuides.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
All SeaChest Utilities User Guides
Date last edit: 04-Dec-2023
About SeaChest Utilities Command Line Diagnostics and Open Source Statement.
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
Linux General Usage Hints
Windows General Usage Hints
About ATA Security Frozen
About Bad LBAs (Sectors)
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
About SeaChest Diagnostics
END USER LICENSE AGREEMENT
Various Open Source Licenses
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 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