LED
Control/Load LED processor
- LED
Control the front-panel LED program and its link-state feed. On Trident 3 the LED program runs as firmware on a Cortex-M0 core of the switch’s CPU management interface, the same core that runs the link-scan firmware (see
M0).An optional number before the sub-command selects the LED processor (
led 0 stop); the default is 0, and an out-of-range number printsInvalid uProcessor number: <n>, set to 0and uses 0. With no sub-command the command prints a status line. Sub-command words ignore case but cannot be abbreviated. Besides the forms in the built-in help, the shell also acceptssetstatusandaccustatus.On SONiC the LED firmware is loaded at startup with
m0 load(the link-scan firmware at offset0x0and the board’s LED program at0x3800), followed byled auto onandled start; see led.md (SONiC on Broadcom: LED debugging). That source showsled auto onprinting- Using new linkscan_cb without port speedon another SAI release; this release prints nothing forauto.Safety:
status,accustatus,dumpand the bare command are read-only.start,stop,auto,setstatus,loadandprogchange what the front-panel LEDs show; the LEDs can stay dark or wrong until SONiC’s LED setup runs again. Forwarding is not affected.Hardware-validated
drivshell> led status Port 1 led status 0x3 Port 5 led status 0x3 Port 9 led status 0x1 Port 10 led status 0x1 Port 11 led status 0x1 Port 12 led status 0x1 Port 13 led status 0x3 Port 17 led status 0x3 Port 21 led status 0x3 Port 25 led status 0x3 Port 29 led status 0x3 Port 33 led status 0x3 Port 37 led status 0x3 Port 41 led status 0x3 Port 45 led status 0x3 Port 49 led status 0x3 Port 53 led status 0x3 Port 57 led status 0x3 Port 61 led status 0x3 Port 66 led status 0x3 Port 67 led status 0x3 Port 71 led status 0x3 Port 75 led status 0x3 Port 79 led status 0x3 Port 83 led status 0x3 Port 87 led status 0x3 Port 91 led status 0x3 Port 95 led status 0x3 Port 99 led status 0x3 Port 103 led status 0x3 Port 107 led status 0x3 Port 111 led status 0x3 Port 115 led status 0x2 Port 119 led status 0x2 Port 123 led status 0x3 Port 127 led status 0x3
With no sub-command, or only a processor number, the shell prints
LED M0 FW is <ON|OFF> Init DONE; auto updating is <ON|OFF>.Hardware-validated
drivshell> led 0 LED M0 FW is ON Init DONE; auto updating is ON.
- LED status
Print
Port <n> led status 0x<x>for every port: the byte the LED program displays for that port.<n>is the logical port number shown in brackets byps(ce0is 1,xe0is 9). What the bits mean is up to the board’s LED program; on a SONiC Seastone2 switch disabled ports read0x3and ports that are up0x1or0x2, and the value of a busy port can change from one call to the next. If the LED firmware is stopped it first printsLED firmware is not running.Read-only.Hardware-validated
drivshell> led status Port 1 led status 0x3 Port 5 led status 0x3 Port 9 led status 0x1 Port 10 led status 0x3 Port 11 led status 0x1 Port 12 led status 0x1 Port 13 led status 0x3 Port 17 led status 0x3 Port 21 led status 0x3 Port 25 led status 0x3 Port 29 led status 0x3 Port 33 led status 0x3 Port 37 led status 0x3 Port 41 led status 0x3 Port 45 led status 0x3 Port 49 led status 0x3 Port 53 led status 0x3 Port 57 led status 0x3 Port 61 led status 0x3 Port 66 led status 0x3 Port 67 led status 0x3 Port 71 led status 0x3 Port 75 led status 0x3 Port 79 led status 0x3 Port 83 led status 0x3 Port 87 led status 0x3 Port 91 led status 0x3 Port 95 led status 0x3 Port 99 led status 0x3 Port 103 led status 0x3 Port 107 led status 0x3 Port 111 led status 0x3 Port 115 led status 0x2 Port 119 led status 0x2 Port 123 led status 0x3 Port 127 led status 0x3
- LED accustatus
Like
status, but show the LED accumulation memory:Port <n> led accu ram status 0x<x>, the link-state word the SDK hands to the LED program. On a SONiC Trident 3 switch ports that are down read0x8038and ports that are up0x81b8. Not in the built-in help. Read-only.Hardware-validated
drivshell> led accustatus Port 1 led accu ram status 0x8038 Port 5 led accu ram status 0x8038 Port 9 led accu ram status 0x81b8 Port 10 led accu ram status 0x81b8 Port 11 led accu ram status 0x81b8 Port 12 led accu ram status 0x81b8 Port 13 led accu ram status 0x8038 Port 17 led accu ram status 0x8038 Port 21 led accu ram status 0x8038 Port 25 led accu ram status 0x8038 Port 29 led accu ram status 0x8038 Port 33 led accu ram status 0x8038 Port 37 led accu ram status 0x8038 Port 41 led accu ram status 0x8038 Port 45 led accu ram status 0x8038 Port 49 led accu ram status 0x8038 Port 53 led accu ram status 0x8038 Port 57 led accu ram status 0x8038 Port 61 led accu ram status 0x8038 Port 66 led accu ram status 0x8038 Port 67 led accu ram status 0x8038 Port 71 led accu ram status 0x8038 Port 75 led accu ram status 0x8038 Port 79 led accu ram status 0x8038 Port 83 led accu ram status 0x8038 Port 87 led accu ram status 0x8038 Port 91 led accu ram status 0x8038 Port 95 led accu ram status 0x8038 Port 99 led accu ram status 0x8038 Port 103 led accu ram status 0x8038 Port 107 led accu ram status 0x8038 Port 111 led accu ram status 0x8038 Port 115 led accu ram status 0x81b8 Port 119 led accu ram status 0x81b8 Port 123 led accu ram status 0x8038 Port 127 led accu ram status 0x8038
- LED setstatus <port> <value>
Set the LED status byte of one port. Both numbers may be given in decimal or
0xhex. Not in the built-in help. The next link change on the port overwrites the value whileautois on.Unvalidated
drivshell> led setstatus 1 0x1
- LED start
Start the LED firmware. Prints
Error:Unable to start LED FWon failure.Unvalidated
drivshell> led start
- LED stop
Stop the LED firmware. The LEDs freeze or go dark.
Unvalidated
drivshell> led stop
- LED auto [on | off]
Turn automatic LED updates on link changes on (the default) or off. Turning them on also refreshes the LED state of all ports once. Any other word prints the usage.
Unvalidated
drivshell> led auto on
- LED load <file.hex>
Load an LED program from a text file of hex bytes. The firmware is stopped for the load and then put back in its previous state. If the firmware is running the shell may refuse with
FW download is not allowed since LED Firmware is running.; runled stopfirst. On Trident 3, SONiC loads its LED program withM0loadinstead.Unvalidated
drivshell> led load /tmp/led.hex
- LED prog <hexdata>
Load an LED program given inline as hex bytes. The firmware is stopped first. Errors are
Program memory exceededandInvalid character.Unvalidated
drivshell> led 0 prog 86 FF 06 FF
- LED dump
Print 256 bytes of the LED program memory as hex, 16 per line, each line prefixed with its address. On Trident 3 the dump starts at
1303800, the0x3800offset where SONiC loads the board’s LED program. Read-only.Hardware-validated
drivshell> led dump 1303800: 46 5F B5 F0 46 4D 46 56 B4 F0 46 44 91 01 B0 83 1303810: 25 03 23 00 46 8C 21 01 00 52 22 D0 22 90 46 90 1303820: 46 92 00 92 46 91 22 02 9C 01 1C 17 97 00 40 27 1303830: 68 06 00 9A 1C 2C 5B 91 42 0F 27 80 68 84 D0 0F 1303840: 2E 09 5C E6 56 E4 D8 0A 40 A7 46 67 46 46 46 64 1303850: D1 04 42 37 46 56 46 4C D1 00 42 37 42 0D 1C 2C 1303860: 99 00 D0 03 D0 00 29 00 68 46 1C 2C 33 01 53 94 1303870: D1 DD 2B 84 00 9B 23 80 5A FB 68 07 06 19 22 03 1303880: 22 80 D5 07 5C A2 68 84 1E 51 3A 05 21 02 41 8A 1303890: 07 9E 1A 8A 9F 01 D0 03 D5 00 07 BF 23 80 22 03 13038A0: 68 41 00 9B 23 82 52 CA 68 02 00 9B 22 03 5A D3 13038B0: D5 07 06 1C 68 86 22 82 3A 05 5C B2 41 8A 1E 51 13038C0: 1A 8A 21 02 D0 03 07 9F 07 89 99 01 22 03 D5 00 13038D0: 00 9B 23 81 52 E2 68 44 60 C1 21 01 61 03 23 00 13038E0: 61 42 22 43 61 82 22 02 21 40 61 C1 21 83 62 01 13038F0: 62 82 62 41 63 C3 62 C3 B0 03 64 C3 46 90 BC 3C
Built-in help
Parameters: [num] [status | start | stop | load <file.hex> | [auto [on | off]] | prog <hexdata> | dump Load the LED Microprocessor with the program specified in <file.hex>. Option 'auto' turns on (by default) or off automatic linkscan updates to the LED processor. Option 'num' selects the specific LED processor. The default is 0Further reading
led.md (SONiC on Broadcom: LED debugging), SDK-6.5.20 HSDK Getting Started Guide (GS-SDK6520-R), plus SDK-6.5.20/21/22 Release Notes (RN-SDK65xx-R), OpenBCM sdk-6.5.27/rc: rc.soc, config.bcm, td3_sanity.soc, cmd_td3_tr514_lr.soc, tr51/tr517_bcm56870_a0.soc, bcm_diag_info.soc …, SDK-6.5.20..6.5.27 Resolved-Issues-Improvements.xlsx (7 files), cPCI-6S10 Series 6U CompactPCI Switch Blade User’s Manual (50-15099-1000, Rev 1.0), BCM_SDK命令, Celestica E1031 LED bring-up notes.