smp_utils is a package of command line utilities for invoking SMP functions to monitor and manage SAS expanders. SMP is the Serial Attached SCSI (SAS) Serial Management Protocol. A SAS Host Bus Adapter (HBA) includes a SMP initiator (along with SSP and STP initiators). A SAS expander contains a SMP target. Most SAS HBAs have a SMP pass through interface that can be used to send SMP requests and receive the responses. This package is designed to work with the Linux kernel (lk) 2.6, 3, 4 and 5 series; FreeBSD 9.0 (and later) and recent Solaris versions. Three interfaces are available for Linux: "sgv4", "mptctl" and "aac". The "sgv4" interface uses the bsg driver. The "aac" interface requires a recent aacraid driver and firmware in the controller. The SAS-4 standard is broken into two parts. The latest freely accessible electrical and physical part is sas410b.pdf . The upper layers are found in the "SAS Protocol Layer" (SPL) document: spl5r09.pdf . Both pdfs can be found at https://www.t10.org/ . These utilities should be SAS-4 ready. SAS-4's baud rate of 22.5 Gbps is referred to as "G5" in SPL. Note that some SAS specific utilities required for SAS management can be found in other packages. For example the sdparm utility (package name: sdparm) lists SAS VPD pages (e.g. Protocol Specific LU/Port pages) and accesses SAS mode pages (e.g. select wide port connections with the "Shared Port Control" mode page). The sg_logs utility in sg3_utils decodes several SAS specific log pages. For an overview, examples and downloads of smp_utils see: http://sg.danny.cz/sg/smp_utils.html Changelog for smp_utils-0.99 [20200305] [svn: r171] - smp_discover(_list): add --dsn option to show device slot number in single line per phy summary - attached SAS device type, word SAS added (spl4r01) - add SAS connector types, shared with NVMe (ses3r8) - add buffered phy burst size field (spl4r07) - add attached apta capable field - update phy capabilities decode (spl5r02) - use Report general to get number phys rather than loop until an error occurs - smp_rep_general: add extended fairness field - add initial time to delay expander forward open indication field - add external port field (spl5r02) - smp_phy_test: change default linkrate from 3 to 6 Gbps which is value 0xa - smp_conf_phy_event: fix file pointer leak - add G5 (22.5 Gbps for SAS-4) settings [spl4r06] - convert many two valued ints to bools - smp_lib: - add smp_get_connector_type_str(), smp_get_num_nomult() and smp_get_llnum_nomult() - add dStrHexErr() and dStrHexStr() - add hex2stdout, hex2stderr and hex2str - add smp_is_big_endian(), smp_all_zeros() and smp_all_ffs() - add sg_unaligned.h and sg_pr2serr.h headers - change connector name: 'SAS SlimLine' to 'SlimSAS' - sync with spl5r08 - cleanup configure.ac + Makefile.am - update BSD license from 3 to 2 clause aka FreeBSD license (without reference to FreeBSD project) - debian: bump compat file contents from 7 to 10 Changelog for smp_utils-0.98 [20140526] [svn:r138] .... Doug Gilbert