1ledctl(8) Intel(R) Enclosure LED Control Application ledctl(8)
2
3
4
6 ledctl - Intel(R) LED control application for a storage enclosures.
7
9 ledctl [OPTIONS] pattern_name=list_of_devices ...
10
12 The ledctl is an user space application designed to control LEDs
13 associated with each slot in an enclosure or a drive bay. The LEDs of
14 devices listed in list_of_devices are set to the given pattern
15 pattern_name and all other LEDs are turned off. User must have root
16 privileges to use this application.
17
18 There are two types of systems: 2-LEDs systems (Activity LED, Status
19 LED) and 3-LEDs systems (Activity LED, Locate LED, Fail LED).
20
21 The ledctl application supports LED management of the SAS/SATA and PCIe
22 storages.
23
24 Supported protocols/methods for LED management are:
25
26 • SES-2 and SMP for SAS devices,
27
28 • LED messages over SGPIO for SATA,
29
30 • VMD and NPEM for PCIe.
31
32 SAF-TE protocol is not supported.
33
34 For SAS/SATA storages supporting controllers may transmit LED
35 management information to the backplane controllers via the SGPIO
36 interface. The SGPIO bus carries bit patterns, which translate into LED
37 blink patterns in accordance with the International Blinking Pattern
38 Interpretation (IBPI) of SFF-8489 specification for SGPIO. Please note
39 some enclosures do not stick close to the SFF-8489 specification. It
40 might happen that the enclosure processor will accept the IBPI pattern
41 but it will blink LEDs not according to SFF-8489 specification or it
42 has a limited number of patterns supported.
43
44 The ledctl application has been verified to work with Intel(R) storage
45 controllers (i.e. Intel(R) AHCI controller and Intel(R) SAS
46 controller). The application might work with storage controllers of
47 other vendors (especially SCSI/SAS controllers). However, storage
48 controllers of other vendors have not been tested.
49
50 The ledmon application has the highest priority when accessing LEDs.
51 It means that some patterns set by ledctl may have no effect if ledmon
52 is running (except Locate pattern).
53
54 The ledctl application is a part of Intel(R) Enclosure LED Utilities.
55
56 The ledctl utilizes the following documents as references:
57
58 • SGPIO (Serial GPIO) - SFF-8485
59
60 • IBPI (International Blinking Pattern Interpretation) - SFF-8489
61
62 • LED Enclosure management messages - AHCI specification rev 1.3,
63 section 12.2.1.
64
65 • SAS (Serial Attached SCSI) - T10/1760-D
66
67 • SES-2 (SCSI Enclosure Services-2) - T10/1559-D
68
69 • SMP (Serial Management Protocol) - T10/1760-D
70
71 • NPEM (Native PCIe Enclosure Management) - PCIe base specification
72 rev 4.0
73
74 • VMD (Intel(R) Volume Management Device) - Intel(R) VROC (VMD NVMe
75 RAID) Quick
76
77 Configuration Guide rev 1.2
78
79 Pattern Names
80 The ledctl application accepts the following names for pattern_name
81 argument according to SFF-8489 specification.
82
83 locate Turns Locate LED associated with the given device(s) on.
84
85 locate_off
86 Turns only Locate LED off.
87
88 normal Turns Status LED, Failure LED and Locate LED off.
89
90 off Turns only Status LED and Failure LED off.
91
92 ica or degraded
93 Visualizes "In a Critical Array" pattern.
94
95 rebuild Visualizes "Rebuild" pattern.
96
97 ifa or failed_array
98 Visualizes "In a Failed Array" pattern.
99
100 hotspare
101 Visualizes "Hotspare" pattern.
102
103 pfa Visualizes "Predicted Failure Analysis" pattern.
104
105 failure or disk_failed
106 Visualizes "Failure" pattern.
107
108 ses_abort
109 SES-2 R/R ABORD
110
111 ses_rebuild
112 SES-2 REBUILD/REMAP
113
114 ses_ifa SES-2 IN FAILED ARRAY
115
116 ses_ica SES-2 IN CRIT ARRAY
117
118 ses_cons_check
119 SES-2 CONS CHECK
120
121 ses_hotspare
122 SES-2 HOT SPARE
123
124 ses_rsvd_dev
125 SES-2 RSVD DEVICE
126
127 ses_ok SES-2 OK
128
129 ses_ident
130 SES-2 IDENT
131
132 ses_rm SES-2 REMOVE
133
134 ses_insert
135 SES-2 INSERT
136
137 ses_missing
138 SES-2 MISSING
139
140 ses_dnr SES-2 DO NOT REMOVE
141
142 ses_active
143 SES-2 ACTIVE
144
145 ses_enable_bb
146 SES-2 ENABLE BYP B
147
148 ses_enable_ba
149 SES-2 ENABLE BYP A
150
151 ses_devoff
152 SES-2 DEVICE OFF
153
154 ses_fault
155 SES-2 FAULT
156
157 ses_prdfail
158 SES-2 PRDFAIL
159
160 Patterns Translation
161 When non SES-2 pattern is send to device in enclosure automatic
162 translation is being done.
163
164 locate locate is translated to ses_ident
165
166 locate_off
167 locate_off is translated to ~ses_ident
168
169 normal or off
170 normal or off is translated to ses_ok
171
172 ica or degraded
173 ica or degraded is translated to ses_ica
174
175 rebuild rebuild is translated to ses_rebuild
176
177 ifa or failed_array
178 ifa or failed_array is translated to ses_ifa
179
180 hotspare
181 hotspare is translated to ses_hotspare
182
183 pfa pfa is translated to ses_prdfail
184
185 failure or disk_failed
186 failure or disk_failed is translated to ses_fault
187
188 List of Devices
189 The application accepts a list of devices in two formats. The first
190 format is a list with comma separated elements. The second format is
191 a list in curly braces and elements are separated by space. See
192 examples section below for details.
193
194 A device is a path to file in /dev directory or in /sys/block
195 directory.
196
197 The LEDs of devices listed in list_of_devices are set to the given
198 pattern pattern_name and all other LEDs, on all devices, are turned off
199 (unless --listed-only option is given).
200
202 -l or --log=path
203 Sets a path to local log file. If this option is specified the
204 global log file /var/log/ledctl.log is not used.
205
206 -h or --help
207 Prints this text out and exits.
208
209 -v or --version
210 Displays version of ledctl and information about the license
211 and exits.
212
213 -L or --list-controllers
214 Prints information (system path and type) of all controllers
215 detected by ledmon and exits.
216
217 -x or --listed-only
218 With this option ledctl will change state only on devices
219 listed in CLI. The rest of devices will not be touched.
220
221 --quiet or --error or --warning or --info or --debug or --all
222 Verbose level - 'quiet' means no logging at all and 'all' means
223 to log everything. The levels are given in order. If user
224 specifies more then one verbose option the last option comes
225 into effect. The default level is 'warning'. Verbose level also
226 can be set by --log-level=level.
227
229 /var/log/ledctl.log
230 Global log file, used by all instances of ledctl application.
231 To force logging to user defined file use -l option switch.
232
234 The following example illustrates how to set locate on a single block
235 device. Note that all remaining LEDs, on all devices, will be turned
236 off.
237
238 ledctl locate=/dev/sda
239
240 The following example illustrates how to set locate_off on a single
241 block device.
242
243 ledctl --listed-only locate_off=/dev/sda
244
245 The following example illustrates how to set off on the given devices.
246 It uses second format of device list.
247
248 ledctl --listed-only off={ /dev/sda /dev/sdb }
249
250 The following example illustrates how to set locate and rebuild on
251 different devices at the same time. It uses the second format of device
252 list.
253
254 ledctl --listed-only locate={ /dev/sdb } rebuild={ /sys/block/sdc }
255
256 The following example illustrates how to locate on three block devices.
257 It uses the first format of device list.
258
259 ledctl --listed-only locate=/dev/sda,/dev/sdb,/dev/sdc
260
261 The following example illustrates how to set locate and rebuild on
262 different devices at the same time. It uses the first format of device
263 list.
264
265 ledctl --listed-only locate=/dev/sdb rebuild=/sys/block/sdc
266
267 The following example illustrates how to set locate and rebuild on
268 different devices at the same time. It uses the both formats of device
269 list.
270
271 ledctl --listed-only locate={ /dev/sdb } rebuild=/sys/block/sdc
272
274 Copyright (c) 2009-2022 Intel Corporation.
275
276 This program is distributed under the terms of the GNU General Public
277 License as published by the Free Software Foundation. See the built-in
278 help for details on the License and the lack of warranty.
279
281 ledmon(8), ledmon.conf(5)
282
284 This manual page was written by Artur Wojcik <artur.wojcik@intel.com>.
285 It may be used by others.
286
287
288
289LEDCTL Version 0.96 May 2022 ledctl(8)