Provided by: ledmon_0.97-0ubuntu1_amd64 bug

NAME

       ledctl - Intel(R) LED control application for a storage enclosures.

SYNOPSIS

       ledctl [OPTIONS] pattern_name=list_of_devices ...

DESCRIPTION

       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 supports LED management of the SAS/SATA and PCIe storages.

       Supported protocols/methods for LED management are:

       •   SES-2 and SMP for SAS devices,

       •   LED messages over SGPIO for SATA,

       •   VMD and NPEM for PCIe.

       SAF-TE protocol is not supported.

       For  SAS/SATA  storages  supporting  controllers may transmit LED management information to the backplane
       controllers via the SGPIO interface. The SGPIO bus carries bit patterns, which translate into  LED  blink
       patterns  in  accordance  with  the  International  Blinking  Pattern  Interpretation  (IBPI) of SFF-8489
       specification for SGPIO.  Please note some enclosures do not stick close to the  SFF-8489  specification.
       It  might  happen  that  the  enclosure processor will accept the IBPI pattern but it will blink LEDs not
       according to SFF-8489 specification or it has a limited number of patterns 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.

       The ledctl utilizes the following documents as references:

       •   SGPIO (Serial GPIO) - SFF-8485

       •   IBPI (International Blinking Pattern Interpretation) - SFF-8489

       •   LED Enclosure management messages - AHCI specification rev 1.3, section 12.2.1.

       •   SAS (Serial Attached SCSI) - T10/1760-D

       •   SES-2 (SCSI Enclosure Services-2) - T10/1559-D

       •   SMP (Serial Management Protocol) - T10/1760-D

       •   NPEM (Native PCIe Enclosure Management) - PCIe base specification rev 4.0

       •   VMD (Intel(R) Volume Management Device) - Intel(R) VROC (VMD NVMe RAID) Quick

           Configuration Guide rev 1.2

   Pattern Names
       The ledctl application accepts the following  names  for  pattern_name  argument  according  to  SFF-8489
       specification.

       locate  Turns Locate LED associated with the given device(s) on.

       locate_off
               Turns only Locate LED off.

       normal  Turns Status LED, Failure LED and Locate LED off.

       off     Turns only Status LED and Failure LED off.

       ica or degraded
               Visualizes "In a Critical Array" pattern.

       rebuild Visualizes "Rebuild" pattern.

       ifa or failed_array
               Visualizes "In a Failed Array" pattern.

       hotspare
               Visualizes "Hotspare" pattern.

       pfa     Visualizes "Predicted Failure Analysis" pattern.

       failure or disk_failed
               Visualizes "Failure" pattern.

       ses_abort
               SES-2 R/R ABORD

       ses_rebuild
               SES-2 REBUILD/REMAP

       ses_ifa SES-2 IN FAILED ARRAY

       ses_ica SES-2 IN CRIT ARRAY

       ses_cons_check
               SES-2 CONS CHECK

       ses_hotspare
               SES-2 HOT SPARE

       ses_rsvd_dev
               SES-2 RSVD DEVICE

       ses_ok  SES-2 OK

       ses_ident
               SES-2 IDENT

       ses_rm  SES-2 REMOVE

       ses_insert
               SES-2 INSERT

       ses_missing
               SES-2 MISSING

       ses_dnr SES-2 DO NOT REMOVE

       ses_active
               SES-2 ACTIVE

       ses_enable_bb
               SES-2 ENABLE BYP B

       ses_enable_ba
               SES-2 ENABLE BYP A

       ses_devoff
               SES-2 DEVICE OFF

       ses_fault
               SES-2 FAULT

       ses_prdfail
               SES-2 PRDFAIL

   Patterns Translation
       When non SES-2 pattern is send to device in enclosure automatic translation is being done.

       locate  locate is translated to ses_ident

       locate_off
               locate_off is translated to ~ses_ident

       normal or off
               normal or off is translated to ses_ok

       ica or degraded
               ica or degraded is translated to ses_ica

       rebuild rebuild is translated to ses_rebuild

       ifa or failed_array
               ifa or failed_array is translated to ses_ifa

       hotspare
               hotspare is translated to ses_hotspare

       pfa     pfa is translated to ses_prdfail

       failure or disk_failed
               failure or disk_failed is translated to ses_fault

   List of Devices
       The application accepts a list of devices in two formats. The first format is a list with comma separated
       elements.  The  second format is a list in curly braces and elements are separated by space. See examples
       section below for details.

       A device is a path to file in /dev directory or in /sys/block directory.

       The LEDs of devices listed in list_of_devices are set to the given pattern  pattern_name  and  all  other
       LEDs, on all devices, are turned off (unless --listed-only option is given).

OPTIONS

       -l or --log=path
               Sets   a   path   to   local  log  file.  If  this  option  is  specified  the  global  log  file
               /var/log/ledctl.log is not used.

       -h or --help
               Prints this text out and exits.

       -v or --version
               Displays version of ledctl and information about the license and exits.

       -L or --list-controllers
               Prints information (system path and type) of all controllers detected by ledmon and exits.

       -P or --list-slots --controller-type=controller-type
               Prints all slots for the controller type. Slot definition depends on the controller and is unique
               across all controllers of the same type.

               Definitions for supported controller types are described below:

               •   VMD - PCI Express Hot Plug Controller Driver slot number

               •   NPEM - PCI Express Downstream Port address

               Command returns a list of all slots for the controller  type  with  current  state  and  attached
               device  name  (if  any). controller-type is type of controller (vmd, NPEM) that should be scanned
               here.

       -G or --get-slot --controller-type=controller-type --device=device
               Displays slot details of given device. device is devnode of selected drive.

       -G or --get-slot --controller-type=controlle-typer --slot=slot
               Displays details of given slot. slot is unique slot identifier.

       -S or --set-slot --controller-type=controller-type --slot=slot --state=IBPI_state
               Changes led state for given slot. controller-type is type of the controller.  slot is unique slot
               identifier. IBPI_state is led pattern.

       -x or --listed-only
               With this option ledctl will change state only on devices listed in CLI. The rest of devices will
               not be touched.

       --quiet or --error or --warning or --info or --debug or --all
               Verbose level - 'quiet' means no logging at all and 'all' means to log everything. The levels are
               given in order. If user specifies more then one verbose option the last option comes into effect.
               The default level is 'warning'. Verbose level also can be set by --log-level=level.

FILES

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

EXAMPLES

       The  following  example  illustrates  how to set locate on a single block device. Note that all remaining
       LEDs, on all devices, will be turned off.

           ledctl locate=/dev/sda

       The following example illustrates how to set locate_off on a single block device.

           ledctl --listed-only locate_off=/dev/sda

       The following example illustrates how to set off on the given devices. It uses second  format  of  device
       list.

            ledctl --listed-only off={ /dev/sda /dev/sdb }

       The following example illustrates how to set locate and rebuild on different devices at the same time. It
       uses the second format of device list.

            ledctl --listed-only locate={ /dev/sdb } rebuild={ /sys/block/sdc }

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

            ledctl --listed-only locate=/dev/sda,/dev/sdb,/dev/sdc

       The following example illustrates how to set locate and rebuild on different devices at the same time. It
       uses the first format of device list.

            ledctl --listed-only locate=/dev/sdb rebuild=/sys/block/sdc

       The following example illustrates how to set locate and rebuild on different devices at the same time. It
       uses the both formats of device list.

            ledctl --listed-only locate={ /dev/sdb } rebuild=/sys/block/sdc

LICENSE

       Copyright (c) 2009-2022 Intel Corporation.

       This program is distributed under the terms of the GNU General Public License as published  by  the  Free
       Software Foundation. See the built-in help for details on the License and the lack of warranty.

SEE ALSO

       ledmon(8), ledmon.conf(5)

AUTHOR

       This manual page was written by Artur Wojcik <artur.wojcik@intel.com>. It may be used by others.

LEDCTL Version 0.97                                 May 2023                                           ledctl(8)