sg3_utils is a package of command line utilities for sending SCSI commands to storage devices. In some contexts it can send ATA and/or NVMe commands. The package targets the Linux 2.4 and later kernel series. It has ports to FreeBSD, NetBSD, Android, Solaris, and Windows (cygwin and MinGW). For an overview of sg3_utils and downloads see either of these pages: https://sg.danny.cz/sg/sg3_utils.html https://doug-gilbert.github.io/sg3_utils.html The sg_ses utility (for enclosure devices) is discussed at: https://sg.danny.cz/sg/sg_ses.html A full changelog can be found at: https://sg.danny.cz/sg/p/sg3_utils.ChangeLog https://doug-gilbert.github.io/p/sg3_utils.ChangeLog This github mirror needs to be updated: https://github.com/hreinecke/sg3_utils Plus the author's own github mirror: https://github.com/doug-gilbert/sg3_utils That last mirror is up-to-date and has git tags going back to "r1.20" which is sg3_utils 1.20 released 17 years ago. Summary Changelog for release sg3_utils-1.48 [20230801] [svn: r1042] ==================================================================== New utilities: -------------- sg_rem_rest_elem: removing or restoring physical elements sg_rep_density: decode report density response (tape) sg_sat_datetime: accessing date/time (S)ATA commands sg_write_attr: for write attribute command (tape) sg_z_act_query: for zone activate or zone query command JSON support: ------------- utilities in this package that decode a significant amount of metadata (as defined by T10) now have optional JSON output. The default remains plain text output. The long forms of the new JSON options are --json[=JO] and -js-file=JFN where the (optional) 'JO' is a sequence of JSON one letter options. 'JFN' is a filename into which the JSON output will be sent; otherwise JSON output goes to stdout. The utilities with JSON support are: sg_decode_sense, sg_get_elem_status, sg_get_lba_status, sg_inq, sg_logs, sg_luns, sg_opcodes, sg_readcap, sg_rep_zones, sg_ses, sg_vpd . Snake notation is used for JSON names, similar to sysfs file naming conventions (e.g. 'vpd_pg83'). T10 command, page and field names are all converted to snake notation when they appear in a JSON name. BUILD changes: ------------- All the intermediate build files like configure and Makefile.in have been removed. This reduces the size of the source package in subversion and git. The downside is that an extra step is required at the start of the build process. The canonical form is now './autogen.sh ; ./configure ; make ; make install' . There is also a 'bootstrap' script that simply calls autogen.sh . The official tarballs will contain the intermediate files for compatibility with older versions. Others changes: ------------- - netbsd: experimental port, scsi only - rescan-scsi-bus.sh: lots of fixes and speed ups - track additions in recent drafts of SPC-5, SPC-6 and SBC-5 - expansion of support for the --inhex=HFN option. HFN is a filename assumed to contain hex representing the response to one or more SCSI commands. The new 'inhex' directory contains files of hex data for many utilities in this package. Invocation examples are included as comments in those files. For example inhex/get_lba_status.hex is response data for the sg_get_lba_status utility. Work in associated packages =========================== The sg_modes utility in sg3_utils does not decode mode pages. That chore has been left to the sdparm utility in a package of the same name. The sdparm utility also has an --inhex= option that can process data produced by sg_modes. sdparm can also produce JSON output with the same options as described above: --json[=JO] and --js-file=JFN . The lsscsi utility has also been expanded to produce JSON output with the same two options. In all cases, plain text remains the default. Previous release: sg3_utils-1.47 [20211110] [svn: r919] Douglas Gilbert 1 August 2023