Skip to content

Releases: Seagate/openSeaChest

v24.05-beta.hardening.2

02 May 15:17
Compare
Choose a tag to compare
Pre-release

Testing changes to get SLSA available for the source with submodules package and make sure it is publishing correctly.

v24.05-beta.hardening.1

01 May 21:17
Compare
Choose a tag to compare
Pre-release

This is a beta build to test that the changes implemented in the feature/hardening branch are working properly.

This branch has implemented compiling/linking flags recommended by the Open SSF and by OWasp for all builds.
In addition to adding these extra flags, we've gone through and fixed any warnings we saw while testing to make sure they are handled properly, and future builds will also stay free of warnings.

We've also implemented SLSA provenance and are testing that with this beta build. Provenance can be verified using the SLSA verifier on Github.

Any feedback on this build is welcome so we can continue to fine tune the settings/options and build outputs.

v24.03-beta.ciss.1

06 Mar 16:52
Compare
Choose a tag to compare
v24.03-beta.ciss.1 Pre-release
Pre-release

This is a beta release with support for issuing commands to drives behind RAID controllers using the CCISS passthrough.

This beta should support HBAs using the CISS driver, HPSA driver, and SmartPQI drivers in Linux.
At this time, this support is only enabled this code for the Linux builds.
These changes are setup so that they can be supported under FreeBSD and Illumos as well, but some additional information is needed before we turn it on. Feel free to reach out in the discussion if you have this configuration and can share some information with us.

A discussion has been added for this release to provide feedback on how this is working for those with these RAID controllers.

Internal testing has been done on HPE and Microchip controllers using HPSA and SmartPQI drivers and they seem to be working as expected, but any additional testing and feedback would be great.

v23.12

01 Dec 22:28
Compare
Choose a tag to compare

This release adds some new functionality and fixes numerous bugs.

Library level fixes that affect all utilities:

  • Fixed reading SAS Date of Manufacture for device information
  • Added functionality to read and display NVMe power state info
  • Added functionality to read and display partition table info
  • Fixed a bug in Windows where NVMe get features would fail
  • Fixed a bug pulling the NVMe telemetry log
  • Improved performance in read/write/verify tests when a defect is found
  • More SMART attribute definitions for Seagate HDDs & SSDs and Maxtor HDDs
  • Fixed bug interpretting Seagate airflow temperature attribute
  • Fixed reading SAS EPC recovery time. Units were wrong.
  • Improved detection of NVMe deallocate (trim/unmap) with various Windows NVMe drivers
  • Added ATA DCO feature support functionality
  • Added separate SMART warning (as opposed to failure) for attributes below threshold, but not marked as prefail/warranty
  • Support for additional ZBD zone descriptors from ZAC-2 and ZBC-2
  • Added zero verify function to verify all LBAs are set to zero
  • Fixed a bug in ATA security erase when SAT security protocol was used. Likely only affected a few NVMe devices supporting this method
  • Workaround for PMC8070 with firmware update
  • Added detection of ATA HPA security feature
  • Added information about which erase meets IEEE 2883 Purge vs Clear criteria
  • Fixed a bug in DST & Clean when a drive does not report regular progress updates as expected
  • Added showing log output filename on screen when pulling drive logs
  • More warnings for set sector size/fast format
  • Changed set sector size/fast format timeout to 1 hour since infinite timeout was not handled properly by some linux drivers and would hang rather than return any status when the drive was reset
  • Changed SAS Fast Format default mode in set sector size to use background + polling to reduce likelyhood of interruption with a reset
  • Improved temperature detection on old ATA HDDs
  • More verbose breakdown of ATA status bits when running in verbose mode
  • Minor changes to handle realtek 9210 adapter better
  • Fixed NVMe deallocate bug in Windows since this command needs to be translated back to SCSI Unmap and there was a bug in that translation
  • Fixed possible segmentation fault when attempting to read /etc/mtab in linux
  • Fixed incorrect offsets being used when building SCSI Start-stop unit and write-and-verify-16 CDBs
  • Workaround for strange hardware interaction between some SAS drives and some HBAs where they were not returning an aborted command when issued a SAT ATA passthrough CDB
  • Fixed NSID not being set in some NVMe NVM command set commands causing them to abort
  • Fixed a bug in FreeBSD's ATA passthrough causing commands to always report zeroes in results rather than the actual drive results.
  • Fixed a bug when byteswapping ATA strings. If they were too long this would not work properly.
  • No longer reading /etc/passwd file to determine the current user's name for utility banners. Now it will either show "root"/"admin" or "current user"
  • improved parsing of linux /etc/os-release file for system information

The following utilities have these specific updates:
openSeaChest_Configure:

  • Added options for configuring/restoring ATA DCO feature
  • Added new options for SCT Error Recovery Control to support new ACS-4 features

openSeaChest_Erase:

  • Help now indicates which erases meet IEEE 2883 clear vs purge
  • --showEraseSupport now indicates which IEEE 2883 clear vs purge in the output
  • Added --eraseRestoreMaxPrep to handle all interactions between HPA/DCO/AMAC when restoring Maxlba ahead of an erase
  • Added --zeroVerify option to verify all LBAs are written to zero (for overwrite verification only)
  • Fixed a hang that could occur when starting an erase, such as sanitize, then trying to ask the OS to rescan the device for filesystems. The filesystem rescan will now only happen if an erase has been completed.

openSeaChest_Format

  • Added more warnings about --setSectorSize and SAS --fastFormat options
  • default timeout on set sector size now set to 1 hour.

openSeaChest_Info

  • added --partitionInfo to dump MBR/GPT partition table information

openSeaChest_NVMe

  • improved support for get/set features to match latest specs
  • Added more complete information dump for host memory buffer feature to see what was allocated by the host and how it matches drive identify information

openSeaChest_PowerControl

  • Added --showNVMPowerStates option to see NVMe power state information
  • Fixed SAS EPC recovery time display

v23.03.1

27 Mar 21:15
Compare
Choose a tag to compare
rel: Finish v23.03.1

-Fixed hybrid SMART attribute counter output
-Added missing Seagate attribute name for attribute 198
-Fix for overwriting some drives in Windows. Previously a permissions issue was reported writing to LBA 0 when erasing a full drive.
-Added note about output of DST log entries (mostly for SATA since it reads based on pointer to latest result instead of first in buffer which can be confusing for those looking at a raw log view)
-Updated ATA verbose output with more information for some commands such as read log ext and write log ext
-Updated help output to show handle examples as /dev/sg<#> or PD<#> to prevent confusion of the ? which is a wildcard. Note: This wildcard is not supported in openSeaChest. Use -d all for a method of running on all devices instead
-Changed how legacy ATA standby timer is set. It will read the current state of the drive to decide between using the standby command or the idle command. Previously it only used standby which was causing drives to spin down immediately.

v23.03

01 Mar 20:45
Compare
Choose a tag to compare

March 2023 Release contains some important fixes and improvements over our last version.

  • Fixed 5 bugs that could cause the scan or -d all to crash and show either a segmentation fault or crash and do nothing
  • Added examples of most, if not all, options available in each tool to the -h output for the tool
  • Improved ATA smart check algorithm to work better on old drives and interfaces that may not provide the result registers
  • There is now a zip/tar file with the source including the submodules available
  • Added a more thorough and larger warning about running --setSectorSize
  • Made the Seagate vendor unique command "quick format" run automatically if set sector size fails in a way that is detectable (and is the most common we have had reported...reset while formatting)
  • Made NVM format with user data or crypto erase part of --quickestErase as well as standalone options in openSeaChest_Erase.
  • Improved the low-level Windows code to allow NVM format with data erase possible using Microsoft unique translation of the SCSI sanitize CDB for Windows 10, 1909 and up. This may work in earlier versions, but the Microsoft documentation does not go back that far.
  • Firmware update now has a better "automatic" mode to provide a better user experience. When possible, deferred download + activate is run, otherwise segmented download is run.
  • Firmware update properly detects Windows exit code for when a device requires a power cycle to finish NVMe firmware update and informs the user in the output.
  • RPM and Deb packages thanks to pull request #94
  • Portable packages are available for Linux on many different CPUs thanks to using the MUSL libc cross-compilers and statically linking MUSL libc
  • Added new --lowLevelInfo option to assist with debugging tricky problems that occasionally are reported and need to report information about internal structures to understand the code path when remotely debugging issues
  • Improvements in CSMI scanning to better work with other drivers that support CSMI in Windows.
  • AIX source code support (Binaries are not available at this time, but source code should be able to build using GCC and gmake in AIX)
  • Added detection for when SCSI security protocol commands are blocked by an HBA or driver (known issue with Broadcom MegaRAID controllers)
  • Added reading date of manufacture to -i for products that support electronically reporting this information (SAS and Seagate drives with FARM)
  • Improved colored text output with ANSI escape sequences under Linux. Needed for new set sector size warning.
  • FreeBSD CI can now upload release artifacts. These have been included for this release for amd64 architecture.
  • openSeaChest_Logs now has a pipe output option for FARM available that can be used to pipe the output to openSeaChest_LogParser

v23.02-alpha.8

28 Feb 03:25
Compare
Choose a tag to compare
v23.02-alpha.8 Pre-release
Pre-release
ci: fixing upload path for tag id lookup in Cirrus

Fixing the upload path to be $id rather than tag/$id

Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>

v23.02-alpha.6

28 Feb 00:57
Compare
Choose a tag to compare
v23.02-alpha.6 Pre-release
Pre-release
quick: Trying different method for cirrus

Checking release before tag now.

Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>

v23.02-alpha.2

27 Feb 23:58
Compare
Choose a tag to compare
v23.02-alpha.2 Pre-release
Pre-release
lib: Pulling in USB to the internal capabilities table

Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>

v23.02-alpha.1

02 Feb 00:06
Compare
Choose a tag to compare
v23.02-alpha.1 Pre-release
Pre-release
Starting this release branch off with an alpha tag that can be used a…

…s a baseline to test the changes and issues that have been corrected.

This is also being used to test some CI release functionality to ensure it works before the final version tag is pushed.
This release includes some fixes to segfaults that occur only in specific configurations. Most of these were limited to Windows specific code.
New options for FARM combined, nvmeLogLength when generically pulling NVMe logs.
Help now contains examples for how to run a variety of options. Most, if not all should have an example now.
This release also has source code level support for AIX on IBM power machines for at least AIX 7.1 and higher using the GCC compiler. Binaries are not available as no CI solution seems to exist for AIX at this time.
Please provide any feedback on this alpha build if you test it while we perform our internal testing and validation.