Support

Using the WMI Interface to Program the Ring LED and Button LED


Last Reviewed: 12-May-2017
Article ID: 000023426

A feature included in the BIOS of Intel® NUC Kits NUC7i[x]BN and NUC6CAY allows query and control of the ring LED and button LED from the OS environment.

This document shows the process using the Windows Management Instrumentation (WMI) Explorer*. The WMI Explorer is a utility that allows you to browse and view WMI namespaces, classes, instances, and properties in a single pane of view. A WMI interface is provided within the BIOS and is accessed by a programmable LED tool.

See more information on Windows Instrumentation: WMI and ACPI.

You must enable the LED software control option in the BIOS:

  1. Press F2 during boot to enter BIOS Setup.
  2. Go to Advanced > Power.
  3. In the Secondary Power Settings pane, set Ring LED and/or Button LED to SW control.

    Ring LED

    Button LED
  4. Press F10 to save and exit BIOS Setup.

We recommend that WMI providers implement new WMI classes in Managed Object Format (MOF) files. Intel provides the specific MOF in conjunction with the ASL code to give the LED programming tool access through the WMI infrastructure, below.

  1. GUID: 8C5DA44C-CDC3-46b3-8619-4E26D34390B7
  2. _UID: 0
  3. Object ID (AA): 65, 65
  4. Instance Count: 1
  5. Description: Method for get or set the Button or Ring LED state.
  6. WMI Object Name: “CISD_WMI”
  7. Method ID(1): “GetState”
  8. Parameter 1: UINT32(Input)
  9. Parameter 2: Package(Array Data)
  10. Method ID(2): “SetState”
  11. Parameter 1: UINT32(Input)
  12. Parameter 2: Package(Array Data)

LED Control WMI Method Name and Arguments

Get LED Status Function

  Description
Control Method WMAA
Arg 0 Instance
Arg 1 Method ID (01h)
Get Function
Arg 2 Input Parameter Byte 0 Function Number
01h - Get S0 Power LED command code
Byte 1 Reserved
Byte 2 Reserved
Byte 3 Reserved
Return Value Byte 0 Return Code
00h: No Error. Byte 1~3 offer the state.
E1h: Error (Function not supported)
E2h: Error (Undefined device)
E3h: Error (EC doesn't respond)
E4h: Error (Invalid Parameter)
EFh: Error (Unexpected error)
Others: Reserved
Byte 1 Current LED Brightness state
00h: 0% ~ 64h: 100%
Byte 2 Using BIOS AY0029 or BN0042

Current LED blinking / fade state

01h: 1Hz
02h: 0.25Hz
03h: Fade
04h: Always on

Using BIOS AY0038 or BN0043 and later

Current LED blinking / fade state
01h: 1Hz
02h: 0.25Hz
03h: 1Hz fade
04h: Always on
05h: 0.5Hz
06h: 0.25Hz fade
07h: 0.5Hz fade

Byte 3 Current LED color state

Button LED Color: (Get Power LED setting)

00h: Disable
01h: Blue
02h: Amber

Ring LED Color: (Get Ring LED setting)

00h: Disable
01h: Cyan
02h: Pink
03h: Yellow
04h: Blue
05h: Red
06h: Green
07h: White



Set LED Function
  Description
Control method WMAA
Arg 0 Instance
Arg 1 Method ID (02h)
Set LED Function
Arg 2 Input Paramater Byte 0 Select the LED
01h – Set S0 Power LED command code
02h – Set S0 Ring LED command code
Byte 1 LED brightness setting 00h: 0% ~ 64h: 100%
Byte 2 Using BIOS AY0029 or BN0042

Current LED blinking / fade state

01h: 1Hz
02h: 0.25Hz
03h: Fade
04h: Always on

Using BIOS AY0038 or BN0043 and later

Current LED blinking / fade state

01h: 1Hz
02h: 0.25Hz
03h: 1Hz fade
04h: Always on
05h: 0.5Hz
06h: 0.25Hz fade
07h: 0.5Hz fade

Byte 3 LED color setting

Button LED Color: (Get Power LED setting)

00h: Disable
01h: Blue
02h: Amber

Ring LED Color: (Get Ring LED setting)

00h: Disable
01h: Cyan
02h: Pink
03h: Yellow
04h: Blue
05h: Red
06h: Green
07h: White

Return Value Byte 0 Error Code of Ring LED brightness

00h: No Error
E1h: Error (Function not support)
E2h: Error (Undefined device)
E3h: Error (EC no respond)
E4h: Error (Invalid Parameter)
EFh: Error (Unexpected error)
Others: Reserved

Byte 1 Error Code of Ring LED blinking/fade

00h: No Error
E1h: Error (Function not support)
E2h: Error (Undefined device)
E3h: Error (EC no respond)
E4h: Error (Invalid Parameter)
EFh: Error (Unexpected error)
Others: Reserved

Byte 2 Error Code of Ring LED color

00h: No Error
E1h: Error (Function not support)
E2h: Error (Undefined device)
E3h: Error (EC no respond)
E4h: Error (Invalid Parameter)
EFh: Error (Unexpected error)
Others: Reserved

Byte 3 Reserved
 

You can find more information on how to write code to call into WMI here:

 

Below is an example of sample code to invoke the SetState Method in the LED WMI interface:

Sample code to invoke the SetState Method in the LED WMI interface