.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.40) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "ledmon 8" .TH ledmon 8 "January 2021" "LEDMON Version 0.95 " "Intel(R) Enclosure LED Monitor Service" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" ledmon \- Intel(R) LED monitor service for storage enclosures. .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBledmon\fR [\fI\s-1OPTIONS\s0\fR] .SH "DESCRIPTION" .IX Header "DESCRIPTION" The ledmon application is a daemon process used to monitor a state of software \s-1RAID\s0 devices (md only) or a state of block devices. The state is visualizing on LEDs associated to each slot in an enclosure or a drive bay. There are two types of system: 2\-LEDs system (Activity \s-1LED,\s0 Status \s-1LED\s0) and 3\-LEDs system (Activity \s-1LED,\s0 Locate \s-1LED,\s0 Fail \&\s-1LED\s0). This application has the highest priority when accessing the LEDs. .PP The ledmon application supports \s-1LED\s0 management of the \s-1SAS/SATA\s0 and PCIe storages. .PP Supported protocols/methods for \s-1LED\s0 management are: .IX Subsection "Supported protocols/methods for LED management are:" .IP "\(bu" 4 \&\fB\s-1SES\-2\s0 and \s-1SMP\s0\fR for \s-1SAS\s0 devices, .IP "\(bu" 4 \&\fB\s-1LED\s0 messages over \s-1SGPIO\s0\fR for \s-1SATA,\s0 .IP "\(bu" 4 \&\fB\s-1VMD\s0 and \s-1NPEM\s0\fR for PCIe. .PP \&\fBSAF-TE\fR protocol is not supported. .PP For \s-1SAS/SATA\s0 storages supporting controllers may transmit \s-1LED\s0 management information to the backplane controllers via the \s-1SGPIO\s0 interface. The \s-1SGPIO\s0 bus carries bit patterns, which translate into \s-1LED\s0 blink patterns in accordance with the International Blinking Pattern Interpretation (\s-1IBPI\s0) of \s-1SFF\-8489\s0 specification for \s-1SGPIO.\s0 Please note some enclosures do not stick close to the \s-1SFF\-8489\s0 specification. It might happen that the enclosure processor will accept the \s-1IBPI\s0 pattern but it will blink LEDs not according to \s-1SFF\-8489\s0 specification or it has a limited number of patterns supported. .PP For more information about communication methods please consult the appropriate Specifications. .PP There's no method provided to specify which \s-1RAID\s0 volume should be monitored and which not. The ledmon application monitors all \s-1RAID\s0 devices and visualizes their state. .PP The ledmon application has been verified to work with Intel(R) storage controllers (i.e. Intel(R) \s-1AHCI\s0 controller and Intel(R) \s-1SAS\s0 controller). The application might work with storage controllers of other vendors (especially \s-1SAS/SCSI\s0 controllers). However storage controllers of other vendors have not been tested. .PP The ledmon application is part of Intel(R) Enclosure \s-1LED\s0 Utilities. Only single instance of the application is allowed. .PP The ledmon utilizes the following documents as references: .IX Subsection "The ledmon utilizes the following documents as references:" .IP "\(bu" 4 \&\s-1SGPIO\s0 (Serial \s-1GPIO\s0) \- \s-1SFF\-8485\s0 .IP "\(bu" 4 \&\s-1IBPI\s0 (International Blinking Pattern Interpretation) \- \s-1SFF\-8489\s0 .IP "\(bu" 4 \&\s-1LED\s0 Enclosure management messages \- \s-1AHCI\s0 specification rev 1.3, section 12.2.1. .IP "\(bu" 4 \&\s-1SAS\s0 (Serial Attached \s-1SCSI\s0) \- T10/1760\-D .IP "\(bu" 4 \&\s-1SES\-2\s0 (\s-1SCSI\s0 Enclosure Services\-2) \- T10/1559\-D .IP "\(bu" 4 \&\s-1SMP\s0 (Serial Management Protocol) \- T10/1760\-D .IP "\(bu" 4 \&\s-1NPEM\s0 (Native PCIe Enclosure Management) \- PCIe base specification rev 4.0 .IP "\(bu" 4 \&\s-1VMD\s0 (Intel(R) Volume Management Device) \- Intel(R) \s-1VROC\s0 (\s-1VMD\s0 NVMe \s-1RAID\s0) Quick Configuration Guide rev 1.2 .SH "OPTIONS" .IX Header "OPTIONS" .IP "\fB\-c\fR or \fB\-\-config\fR=\fIpath\fR" 8 .IX Item "-c or --config=path" Sets a path to local configuration file. If this option is specified the global configuration file and user configuration file has no effect. .IP "\fB\-l\fR or \fB\-\-log\fR=\fIpath\fR" 8 .IX Item "-l or --log=path" Sets a path to local log file. If this option is specified the global log file \fI/var/log/ledmon.log\fR is not used. .IP "\fB\-t\fR or \fB\-\-interval\fR=\fIseconds\fR" 8 .IX Item "-t or --interval=seconds" Sets time interval between scans of sysfs. The value is given in seconds. The minimum is 5 seconds the maximum is not specified. .IP "\fB\-\-quiet\fR or \fB\-\-error\fR or \fB\-\-warning\fR or \fB\-\-info\fR or \fB\-\-debug\fR or \fB\-\-all\fR" 8 .IX Item "--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 \fB\-\-log\-level\fR=\fIlevel\fR. .IP "\fB\-\-foreground\fR" 8 .IX Item "--foreground" Run process foreground instead of a daemon. This option is useful in systemd service file. Another use case of this option is debugging with elevated \fB\-\-log\-level\fR=\fIlevel\fR. .IP "\fB\-h\fR or \fB\-\-help\fR" 8 .IX Item "-h or --help" Prints this text out and exits. .IP "\fB\-v\fR or \fB\-\-version\fR" 8 .IX Item "-v or --version" Displays version of ledmon and information about the license and exits. .SH "FILES" .IX Header "FILES" .IP "\fI/var/log/ledmon.log\fR" 8 .IX Item "/var/log/ledmon.log" Global log file, used by ledmon application. To force logging to user defined file use \fI\-l\fR option switch. .IP "\fI/etc/ledmon.conf\fR" 8 .IX Item "/etc/ledmon.conf" Global configuration file, shared between ledmon and all ledctl application instances. Local configuration file can be used by running ledmon with \fI\-c\fR switch. .SH "LICENSE" .IX Header "LICENSE" Copyright (c) 2009\-2021 Intel Corporation. .PP This program is distributed under the terms of the \s-1GNU\s0 General Public License as published by the Free Software Foundation. See the build-in help for details on the License and the lack of warranty. .SH "BUGS" .IX Header "BUGS" The ledmon application does not recognize \s-1PFA\s0 state (Predicted Failure Analysis), hence the \s-1PFA\s0 pattern from \s-1SFF\-8489\s0 specification is not visualized. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBledctl\fR\|(8), \fBledmon.conf\fR\|(5) .SH "AUTHOR" .IX Header "AUTHOR" This manual page was written by Artur Wojcik . It may be used by others.