ledctl: Intel LED control application for a storage enclosures.


ledctl [OPTIONS] pattern_name=list_of_devices …


The ledctl is an user space application designed to control LEDs associated with each slot in an enclosure or a drive bay. The LEDs of devices listed in list_of_devices are set to the given pattern pattern_name and all other LEDs are turned off. User must have root privileges to use this application.
There are two types of systems: 2-LEDs systems (Activity LED, Status LED) and 3-LEDs systems (Activity LED, Locate LED, Fail LED). The ledctl application uses SGPIO and SES-2 protocol to control LEDs. The program implements IBPI patterns of SFF-8489 specification for SGPIO. Please note some enclosures do not stick close to SFF-8489 specification. It might happen that enclosure’s processor will accept an IBPI pattern but it will blink the LEDs at variance with SFF-8489 specification or it has limited number of patterns supported.

LED management (AHCI) and SAF-TE protocols are not supported.

The ledctl application has been verified to work with Intel(R) storage controllers (i.e. Intel(R) AHCI controller and Intel(R) SAS controller). The application might work with storage controllers of other vendors (especially SCSI/SAS controllers). However, storage controllers of other vendors have not been tested.

The ledmon application has the highest priority when accessing LEDs. It means that some patterns set by ledctl may have no effect if ledmon is running (except Locate pattern).

The ledctl application is a part of Intel(R) Enclosure LED Utilities.

[root@confignotes ~]# yum install ledctl
Transaction Summary
Install  1 Package (+1 Dependent package)

Total download size: 123 k
Installed size: 324 k
Is this ok [y/d/N]: y
Downloading packages:
(1/2): sg3_utils-libs-1.37-12.el7.x86_64.rpm  |  64 kB  00:00:00
(2/2): ledmon-0.80-2.el7.x86_64.rpm           |  58 kB  00:00:00
Total                                431 kB/s | 123 kB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : sg3_utils-libs-1.37-12.el7.x86_64       1/2
  Installing : ledmon-0.80-2.el7.x86_64                2/2
  Verifying  : ledmon-0.80-2.el7.x86_64                1/2
  Verifying  : sg3_utils-libs-1.37-12.el7.x86_64       2/2

  ledmon.x86_64 0:0.80-2.el7

Dependency Installed:
  sg3_utils-libs.x86_64 0:1.37-12.el7




The following example illustrates how to locate a single block device.

# ledctl locate=/dev/sda


The following example illustrates how to turn Locate LED off for the same block device.

# ledctl locate_off=/dev/sda


The following example illustrates how to locate disks of a RAID device and how to set rebuild pattern for two block devices at the same time. This example uses both formats of device list.

# ledctl locate=/dev/md127 rebuild={ /sys/block/sd[a-b] }


The following example illustrates how to turn Status LED and Failure LED off for the given device(s).

# ledctl off={ /dev/sda /dev/sdb }


The following example illustrates how to locate a three block devices. This example uses the first format of device list.

# ledctl locate=/dev/sda,/dev/sdb,/dev/sdc

Global log file, used by all instances of ledctl application. To force logging to user defined file use -l option switch.

User configuration file, shared between ledmon and all ledctl application instances.

Global configuration file, shared between ledmon and all ledctl application instances.

For Ubuntu, the package name is ledmon
$ sudo apt-get install ledmon

Published by

Ferdy Mañago

Portland, Oregon