1SG_SAT_PHY_EVENT(8) SG3_UTILS SG_SAT_PHY_EVENT(8)
2
3
4
6 sg_sat_phy_event - Sends an ATA READ LOG EXT command via a SAT pass
7 through to fetch log page 11h which contains SATA phy event counters
8
10 sg_sat_phy_event [--ck_cond] [--extend] [--help] [--hex] [--ignore]
11 [--len=16|12] [--raw] [--reset] --verbose] [--version] DEVICE
12
14 This utility sends an ATA READ LOG EXT with the log page ("address")
15 set to 11h to DEVICE and outputs the response. Log page 11h is defined
16 in the SATA 2.5 standard and contains phy event counters. Rather than
17 send this command directly to the DEVICE, are sent via a SCSI transport
18 which is assumed to contain a SCSI to ATA Translation (SAT) Layer
19 (SATL). The SAT standard (SAT ANSI INCITS 431-2007, prior draft:
20 sat-r09.pdf at www.t10.org) defines two SCSI "ATA PASS-THROUGH" com‐
21 mands: one using a 16 byte "cdb" and the other with a 12 byte cdb. This
22 utility defaults to using the 16 byte cdb variant.
23
24 The SATL may be in an operating system driver, in host bus adapter
25 firmware or in some external enclosure.
26
28 Arguments to long options are mandatory for short options as well.
29
30 -c, --ck_cond
31 sets the CK_COND bit in the ATA PASS-THROUGH SCSI cdb. The
32 default setting is clear (i.e. 0). When set the SATL should
33 yield a sense buffer containing a ATA Result descriptor irre‐
34 spective of whether the command succeeded or failed. When clear
35 the SATL should only yield a sense buffer containing a ATA
36 Result descriptor if the command failed.
37
38 -e, --extend
39 sets the EXTEND bit in the ATA PASS-THROUGH SCSI cdb. The
40 default setting is clear (i.e. 0). When set a 48 bit LBA command
41 is sent to the device. This option has no effect when --len=12.
42
43 -h, --help
44 outputs the usage message summarizing command line options then
45 exits. Ignores DEVICE if given.
46
47 -H, --hex
48 outputs the ATA READ LOG EXT response in hex. The default action
49 (i.e. without any '-H' options) is to output the response in
50 hex, grouped in 16 bit words (i.e. the ATA standard's prefer‐
51 ence). When given once, the response is output in ASCII hex
52 bytes (i.e. the SCSI standard's preference). When given twice
53 (i.e. '-HH') the output is in hex, grouped in 16 bit words, the
54 same as the default but without a header.
55
56 -i, --ignore
57 usually the phy counter identifier names are decoded. When this
58 option is given, the numeric value of the identifier is output,
59 the vendor flag, the data length (in bytes) and the correspond‐
60 ing value.
61
62 -l, --len=16 | 12
63 this is the length of the SCSI cdb used for the ATA PASS-THROUGH
64 commands. The argument can either be 16 or 12. The default is
65 16. The larger cdb size is needed for 48 bit LBA addressing of
66 ATA devices. On the other hand some SCSI transports cannot con‐
67 vey SCSI commands longer than 12 bytes.
68
69 -r, --raw
70 output the ATA READ LOG EXT response in binary. The output
71 should be piped to a file or another utility when this option is
72 used. The binary is sent to stdout, and errors are sent to
73 stderr.
74
75 -R, --reset
76 reset the counters after the current values are returned,
77 decoded and displayed.
78
79 -v, --verbose
80 increases the level or verbosity.
81
82 -V, --version
83 print out version string
84
86 The SCSI ATA PASS-THROUGH (12) command's opcode is 0xa1 and it clashes
87 with the MMC set's BLANK command used by cd/dvd writers. So a SATL in
88 front of an ATAPI device that uses MMC (i.e. has peripheral device type
89 5) probably should treat opcode 0xa1 as a BLANK command and send it
90 through to the cd/dvd drive. The ATA PASS-THROUGH (16) command's opcode
91 (0x85) does not clash with anything so it is a better choice.
92
93 In the 2.4 series of Linux kernels the DEVICE must be a SCSI generic
94 (sg) device. In the 2.6 series block devices (e.g. disks and ATAPI
95 DVDs) can also be specified. For example "sg_inq /dev/sda" will work in
96 the 2.6 series kernels. From lk 2.6.6 other SCSI "char" device names
97 may be used as well (e.g. "/dev/st0m").
98
100 The exit status of sg_sat_identify is 0 when it is successful. Other‐
101 wise see the sg3_utils(8) man page.
102
104 Written by Doug Gilbert
105
107 Report bugs to <dgilbert at interlog dot com>.
108
110 Copyright © 2006-2007 Douglas Gilbert
111 This software is distributed under a FreeBSD license. There is NO war‐
112 ranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PUR‐
113 POSE.
114
116 sg_sat_identify(sg3_utils), smp_rep_phy_err_log(smp_utils),
117 sdparm(sdparm), hdparm(hdparm)
118
119
120
121sg3_utils-1.26 December 2007 SG_SAT_PHY_EVENT(8)