Go to main content

man pages section 8: System Administration Commands

Exit Print View

Updated: Wednesday, July 27, 2022

sg_sat_read_gplog (8)


sg_sat_read_gplog - use ATA READ LOG EXT command via a SCSI to ATA Translation (SAT) layer


sg_sat_read_gplog [--ck_cond]  [--count=CO]  [--dma]  [--help]  [--hex]
[--len={16|12}] [--log=LA] [--page=PN] [--readonly] [--verbose] [--ver-
sion] DEVICE


SG_SAT_READ_GPLOG(8)               SG3_UTILS              SG_SAT_READ_GPLOG(8)

       sg_sat_read_gplog  -  use  ATA  READ  LOG EXT command via a SCSI to ATA
       Translation (SAT) layer

       sg_sat_read_gplog [--ck_cond]  [--count=CO]  [--dma]  [--help]  [--hex]
       [--len={16|12}] [--log=LA] [--page=PN] [--readonly] [--verbose] [--ver-
       sion] DEVICE

       This utility sends an ATA READ LOG EXT or an ATA READ LOG DMA EXT  com-
       mand  to  the  DEVICE. This command is used to read the general purpose
       log of (S)ATA disks (not ATAPI devices such as DVD driver). Rather than
       send  the  READ LOG (DMA) EXT command directly to the device it is sent
       via a SCSI transport which is assumed to contain a SCSI to ATA Transla-
       tion (SAT) Layer (SATL). The SATL may be in an operating system driver,
       in host bus adapter (HBA) firmware or in some external enclosure.

       This utility does not currently attempt to decode the response from the
       ATA  disk,  rather it outputs the response in ASCII hexadecimal grouped
       in 16 bit words. Following ATA conventions those words are decoded lit-
       tle  endian  (note that SCSI commands use a big endian representation).
       In the future this utility may attempt to decode some log  pages,  per-
       haps using the --decode option.

       The  SAT-2 standard (SAT ANSI INCITS 465-2010, prior draft: sat2r09.pdf
       at www.t10.org) defines two SCSI "ATA PASS-THROUGH" commands: one using
       a 16 byte "cdb" and the other with a 12 byte cdb. This utility defaults
       to using the 16 byte cdb variant.

       Arguments to long options are mandatory for short options as well.

       -C, --ck_cond
              sets the CK_COND bit in  the  ATA  PASS-THROUGH  SCSI  cdb.  The
              default  setting  is  clear  (i.e.  0). When set the SATL should
              yield a sense buffer containing a ATA  Result  descriptor  irre-
              spective  of  whether  the ATA command succeeded or failed. When
              clear the SATL should only yield a sense buffer containing a ATA
              Result descriptor if the ATA command failed.

       -c, --count=CO
              the number CO is placed in the "count" field in the ATA READ LOG
              EXT command. This specified the number  of  512-byte  blocks  of
              data to be read from the specified log.

       -d, --dma
              use the ATA READ LOG DMA EXT command instead of ATA READ LOG EXT
              command.  Some devices require this to return valid log data.

       -h, --help
              outputs the usage message summarizing command line options  then
              exits.  Ignores DEVICE if given.

       -H, --hex
              when  given  once,  the  response is output in ASCII hexadecimal
              bytes. When given twice, then the response is  grouped  into  16
              bit  words  using  ATA conventions (i.e. little endian); this is
              the default output (i.e. when this option is  not  given).  When
              given  thrice  (i.e. '-HHH') the output is in hex, grouped in 16
              bit words (without a leading offset and trailing ASCII  on  each
              line),  in  a format that is acceptable for 'hdparm --Istdin' to

       -L, --log=LA
              the number LA is known as the "log address" in the ATA standards
              and is placed in bits 7:0 of the "lba" field of the ATA READ LOG
              (DMA) EXT command. This specifies the log to  be  returned  (See
              ATA-ACS  for  a  detailed  list of available log addresses). The
              default value placed in the  "lba  field  is  0,  returning  the
              directory  of  available logs. The maximum value allowed for LOG
              is 0xff.

       -p, --page=PN
              the number PN is the page number (within the log address) and is
              placed  in  bits  32:16  of  the "lba" field of the ATA READ LOG
              (DMA) EXT command. The default value placed in the  "lba"  field
              is 0. The maximum value allowed for LOG is 0xffff.

       -l, --len={16|12}
              this is the length of the SCSI cdb used for the ATA PASS-THROUGH
              commands.  The argument can either be 16 or 12. The  default  is
              16. Some SCSI transports cannot convey SCSI commands longer than
              12 bytes.

       -r, --readonly
              causes the DEVICE to be opened with the read-only flag (O_RDONLY
              in  Unix).  The  default  action  is  to  open  DEVICE  with the
              read-write flag (O_RDWR in Unix). In some  cases  sending  power
              management  commands  to ATA disks are defeated by OS actions on
              the close() if the DEVICE was opened with  the  read-write  flag
              (e.g. the OS might think it needs to flush something to disk).

       -v, --verbose
              increases the level or verbosity.

       -V, --version
              print out version string

       See attributes(7) for descriptions of the following attributes:

       |Availability   | system/storage/sg3_utils |
       |Stability      | Pass-through uncommitted |

       Prior  to Linux kernel 2.6.29 USB mass storage limited sense data to 18
       bytes  which  made  the  --ck_cond  option  yield  strange  (truncated)

       Source  code  for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-

       This     software     was    built    from    source    available    at
       https://github.com/oracle/solaris-userland.   The  original   community
       source was downloaded from  http://sg.danny.cz/sg/p/sg3_utils-1.46.tgz.

       Further information about this software can be found on the open source
       community website at http://sg.danny.cz/sg/sg3_utils.html.

       The exit status of sg_sat_read_gplog is 0 when it is successful. Other-
       wise see the sg3_utils(8) man page.

       Written by Hannes Reinecke and Douglas Gilbert

       Report bugs to <dgilbert at interlog dot com>.

       Copyright (C) 2014-2015 Hannes Reinecke, SUSE Linux GmbH
       This  software is distributed under a FreeBSD license. There is NO war-
       ranty; not even for MERCHANTABILITY or FITNESS FOR  A  PARTICULAR  PUR-

       sg_sat_identify(sg3_utils),      sg_inq(sg3_utils),     sdparm(sdparm),

sg3_utils-1.41                    April 2015              SG_SAT_READ_GPLOG(8)