Skip to content
This repository was archived by the owner on Jun 8, 2024. It is now read-only.

[nuc_wmi] Release nuc_wmi 2.2 to add support for new NUC 10 BIOS WMI spec, add debug and quirks modes, fix WMI bugs. #5

Open
wants to merge 8 commits into
base: develop
Choose a base branch
from

Conversation

ju2wheels
Copy link

@ju2wheels ju2wheels commented Dec 14, 2020

  • New NUC 10 BIOS enables multi-color LED support for the HDD LED and enable the RGB Header use.
  • We have tested this on the NUC 10 with our own custom RGB header LED attachment.
  • Adds fixes for bugs in the implementation of two of the WMI functions where the return values were processed incorrectly. The unit tests missed this because we had used low value enum inputs during testing.
  • Unit tests were expanded to cover the above issue and linting was added.
  • v1.1 fixed the return value processing bug and added support for the new NUC 10 BIOS
  • v2.0 added human friendly frequency labels instead of the raw values that were missed on the first pass.
  • v2.2 Fixes adds a quirk for NUC 7 BIOS bug for devices in factory fresh state that havent had the led settings changed from default where the WMI returns invalid values according to spec. This issue hasnt been reported upstream yet.

The following regression test plan has been completed against a NUC 7 and NUC 10 with the new BIOS:

# NUC WMI Function regression test plan

The tests should be run in the order specified here. The tests include argument values that span the beginning and end of the enum range for each input value type to ensure we no longer have any more issues with processing of the WMI return values.

Note: When running HDD Activity tests, you can use `dd if=/dev/random of=/tmp/empty_raw_file bs=1M count=1000 status=progress; rm -f /tmp/empty_raw_file` to trigger blinking from writing on SSDs.

nuc_wmi-get_led
---------------

# NUC 7

$ nuc_wmi-get_led 'S0 Power LED'
{"error": "Error (Undefined device)"}

$ nuc_wmi-get_led 'S0 Ring LED'
{"led": {"color": "White", "frequency": "Always on", "type": "S0 Ring LED", "brightness": "100"}}

If software control is not enabled in BIOS, commands return Undefined device error.

# NUC 10 (original BIOS)

N/A

# NUC 10 (new BIOS)

N/A

===========================================================

nuc_wmi-set_led
---------------

# NUC 7

$ nuc_wmi-set_led 'S0 Ring LED' 0 '1Hz' 'Disable'
{"led": {"color": "Disable", "frequency": "1Hz", "type": "S0 Ring LED", "brightness": "0"}}

$ nuc_wmi-set_led 'S0 Ring LED' 100 '1Hz' 'Disable'
{"led": {"color": "Disable", "frequency": "1Hz", "type": "S0 Ring LED", "brightness": "100"}}

$ nuc_wmi-set_led 'S0 Ring LED' 0 '1Hz' 'Cyan'
{"led": {"color": "Cyan", "frequency": "1Hz", "type": "S0 Ring LED", "brightness": "0"}}

$ nuc_wmi-set_led 'S0 Ring LED' 100 '1Hz' 'Cyan'
{"led": {"color": "Cyan", "frequency": "1Hz", "type": "S0 Ring LED", "brightness": "100"}}

$ nuc_wmi-set_led 'S0 Ring LED' 100 '0.5Hz fade' 'White'
{"led": {"color": "White", "frequency": "0.5Hz fade", "type": "S0 Ring LED", "brightness": "100"}}

$ nuc_wmi-set_led 'S0 Ring LED' 100 '0.5Hz fade' 'Green'
{"led": {"color": "Green", "frequency": "0.5Hz fade", "type": "S0 Ring LED", "brightness": "100"}}

# NUC 10 (original BIOS)

N/A

# NUC 10 (new BIOS)

N/A

===========================================================

nuc_wmi-query_leds
------------------

# NUC 7

N/A

# NUC 10 (original BIOS)

$ nuc_wmi-query_leds --quirks NUC10_RETURN_VALUE
{"leds": ["Power Button LED", "HDD LED"]}

# NUC 10 (new BIOS)

$ nuc_wmi-query_leds
{"leds": ["Power Button LED", "HDD LED", "RGB Header"]}

===========================================================

nuc_wmi-query_led_color_type
----------------------------

# NUC 7

N/A

# NUC 10 (original BIOS)

$ nuc_wmi-query_led_color_type --quirks NUC10_RETURN_VALUE 'Power Button LED'
{"led": {"color_type": "Dual-color Blue / Amber", "type": "Power Button LED"}}

$ nuc_wmi-query_led_color_type --quirks NUC10_RETURN_VALUE 'HDD LED'
{"led": {"color_type": "Dual-color Blue / White", "type": "HDD LED"}}

# NUC 10 (new BIOS)

$ nuc_wmi-query_led_color_type 'Power Button LED'
{"led": {"color_type": "Dual-color Blue / Amber", "type": "Power Button LED"}}

$ nuc_wmi-query_led_color_type 'HDD LED'
{"led": {"color_type": "RGB-color", "type": "HDD LED"}}

$ nuc_wmi-query_led_color_type 'RGB Header'
{"led": {"color_type": "RGB-color", "type": "RGB Header"}}

===========================================================

nuc_wmi-query_led_indicator_options
-----------------------------------

# NUC 7

N/A

# NUC 10 (original BIOS)

$ nuc_wmi-query_led_indicator_options --quirks NUC10_RETURN_VALUE 'Power Button LED'
{"led": {"type": "Power Button LED", "indicator_options": ["Power State Indicator", "HDD Activity Indicator", "Software Indicator"]}}

$ nuc_wmi-query_led_indicator_options --quirks NUC10_RETURN_VALUE 'HDD LED'
{"led": {"type": "HDD LED", "indicator_options": ["HDD Activity Indicator", "Software Indicator"]}}

# NUC 10 (new BIOS)

$ nuc_wmi-query_led_indicator_options 'Power Button LED'
{"led": {"type": "Power Button LED", "indicator_options": ["Power State Indicator", "HDD Activity Indicator", "Software Indicator"]}}

$ nuc_wmi-query_led_indicator_options 'HDD LED'
{"led": {"type": "HDD LED", "indicator_options": ["HDD Activity Indicator", "Software Indicator"]}}

$ nuc_wmi-query_led_indicator_options 'RGB Header'
{"led": {"type": "RGB Header", "indicator_options": ["Power State Indicator", "HDD Activity Indicator", "Software Indicator"]}}

===========================================================

nuc_wmi-query_led_control_items
-------------------------------

# NUC 7

N/A

# NUC 10 (original BIOS)

$ nuc_wmi-query_led_control_items --quirks NUC10_RETURN_VALUE 'Power Button LED' 'Power State Indicator'
{"led": {"control_items": ["S0 Indicator Brightness", "S0 Indicator Blinking Behavior", "S0 Indicator Blinking Frequency", "S0 Indicator Color"], "type": "Power Button LED", "indicator_option": "Power State Indicator"}}

$ nuc_wmi-query_led_control_items --quirks NUC10_RETURN_VALUE 'Power Button LED' 'HDD Activity Indicator'
{"led": {"control_items": ["Brightness", "Color", "Color 2", "Color 3"], "type": "Power Button LED", "indicator_option": "HDD Activity Indicator"}}

$ nuc_wmi-query_led_control_items --quirks NUC10_RETURN_VALUE 'Power Button LED' 'Software Indicator'
{"led": {"control_items": ["Brightness", "Blinking Behavior", "Blinking Frequency", "Color"], "type": "Power Button LED", "indicator_option": "Software Indicator"}}


$ nuc_wmi-query_led_control_items --quirks NUC10_RETURN_VALUE 'HDD LED' 'HDD Activity Indicator'
{"led": {"control_items": ["Brightness", "Color", "Behavior"], "type": "HDD LED", "indicator_option": "HDD Activity Indicator"}}

$ nuc_wmi-query_led_control_items --quirks NUC10_RETURN_VALUE 'HDD LED' 'Software Indicator'
{"led": {"control_items": ["Brightness", "Blinking Behavior", "Blinking Frequency", "Color"], "type": "HDD LED", "indicator_option": "Software Indicator"}}

# NUC 10 (new BIOS)

$ nuc_wmi-query_led_control_items 'Power Button LED' 'Power State Indicator'
{"led": {"control_items": ["S0 Indicator Brightness", "S0 Indicator Blinking Behavior", "S0 Indicator Blinking Frequency", "S0 Indicator Color", "S3 Indicator Brightness", "S3 Indicator Blinking Behavior", "S3 Indicator Blinking Frequency", "S3 Indicator Color"], "type": "Power Button LED", "indicator_option": "Power State Indicator"}}

$ nuc_wmi-query_led_control_items 'Power Button LED' 'HDD Activity Indicator'
{"led": {"control_items": ["Brightness", "Color", "Behavior"], "type": "Power Button LED", "indicator_option": "HDD Activity Indicator"}}

$ nuc_wmi-query_led_control_items 'Power Button LED' 'Software Indicator'
{"led": {"control_items": ["Brightness", "Blinking Behavior", "Blinking Frequency", "Color"], "type": "Power Button LED", "indicator_option": "Software Indicator"}}


$ nuc_wmi-query_led_control_items 'HDD LED' 'HDD Activity Indicator'
{"led": {"control_items": ["Brightness", "Color", "Behavior"], "type": "HDD LED", "indicator_option": "HDD Activity Indicator"}}

$ nuc_wmi-query_led_control_items 'HDD LED' 'Software Indicator'
{"led": {"control_items": ["Brightness", "Blinking Behavior", "Blinking Frequency", "Color"], "type": "HDD LED", "indicator_option": "Software Indicator"}}


$ nuc_wmi-query_led_control_items 'RGB Header' 'Power State Indicator'
{"led": {"control_items": ["S0 Indicator Brightness", "S0 Indicator Blinking Behavior", "S0 Indicator Blinking Frequency", "S0 Indicator Color", "S3 Indicator Brightness", "S3 Indicator Blinking Behavior", "S3 Indicator Blinking Frequency", "S3 Indicator Color"], "type": "RGB Header", "indicator_option": "Power State Indicator"}}

$ nuc_wmi-query_led_control_items 'RGB Header' 'HDD Activity Indicator'
{"led": {"control_items": ["Brightness", "Color", "Behavior"], "type": "RGB Header", "indicator_option": "HDD Activity Indicator"}}

$ nuc_wmi-query_led_control_items 'RGB Header' 'Software Indicator'
{"led": {"control_items": ["Brightness", "Blinking Behavior", "Blinking Frequency", "Color"], "type": "RGB Header", "indicator_option": "Software Indicator"}}

===========================================================

nuc_wmi-get_led_control_item, nuc_wmi-set_led_control_item and
nuc_wmi-get_led_indicator_option, nuc_wmi-set_led_indicator_option
------------------------------------------------------------------

# NUC 7

N/A

# NUC 10 (original BIOS)

$ nuc_wmi-set_led_indicator_option --quirks NUC10_RETURN_VALUE 'Power Button LED' 'Power State Indicator'
{"led": {"type": "Power Button LED", "indicator_option": "Power State Indicator"}}

$ nuc_wmi-get_led_indicator_option --quirks NUC10_RETURN_VALUE 'Power Button LED'
{"led": {"type": "Power Button LED", "indicator_option": "Power State Indicator"}}


$ nuc_wmi-set_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'Power State Indicator' 'S0 Indicator Brightness' 100
{"led": {"control_item": "S0 Indicator Brightness", "type": "Power Button LED", "indicator_option": "Power State Indicator", "control_item_value": "100"}}

$ nuc_wmi-set_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'Power State Indicator' 'S0 Indicator Blinking Behavior' Solid
{"led": {"control_item": "S0 Indicator Blinking Behavior", "type": "Power Button LED", "indicator_option": "Power State Indicator", "control_item_value": "Solid"}}

$ nuc_wmi-set_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'Power State Indicator' 'S0 Indicator Blinking Frequency' '1.0Hz'
{"led": {"control_item": "S0 Indicator Blinking Frequency", "type": "Power Button LED", "indicator_option": "Power State Indicator", "control_item_value": "1.0Hz"}}

$ nuc_wmi-set_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'Power State Indicator' 'S0 Indicator Color' Blue
{"led": {"control_item": "S0 Indicator Color", "type": "Power Button LED", "indicator_option": "Power State Indicator", "control_item_value": "Blue"}}

$ nuc_wmi-get_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'Power State Indicator' 'S0 Indicator Brightness'
{"led": {"control_item": "S0 Indicator Brightness", "type": "Power Button LED", "indicator_option": "Power State Indicator", "control_item_value": "100"}}

$ nuc_wmi-get_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'Power State Indicator' 'S0 Indicator Blinking Behavior'
{"led": {"control_item": "S0 Indicator Blinking Behavior", "type": "Power Button LED", "indicator_option": "Power State Indicator", "control_item_value": "Solid"}}

$ nuc_wmi-get_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'Power State Indicator' 'S0 Indicator Blinking Frequency'
{"led": {"control_item": "S0 Indicator Blinking Frequency", "type": "Power Button LED", "indicator_option": "Power State Indicator", "control_item_value": "1.0Hz"}}

$ nuc_wmi-get_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'Power State Indicator' 'S0 Indicator Color'
{"led": {"control_item": "S0 Indicator Color", "type": "Power Button LED", "indicator_option": "Power State Indicator", "control_item_value": "Blue"}}

$ nuc_wmi-set_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'Power State Indicator' 'S0 Indicator Blinking Behavior' Strobing
{"led": {"control_item": "S0 Indicator Blinking Behavior", "type": "Power Button LED", "indicator_option": "Power State Indicator", "control_item_value": "Strobing"}}

$ nuc_wmi-set_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'Power State Indicator' 'S0 Indicator Blinking Frequency' '0.1Hz'
{"led": {"control_item": "S0 Indicator Blinking Frequency", "type": "Power Button LED", "indicator_option": "Power State Indicator", "control_item_value": "0.1Hz"}}

$ nuc_wmi-set_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'Power State Indicator' 'S0 Indicator Color' Amber
{"led": {"control_item": "S0 Indicator Color", "type": "Power Button LED", "indicator_option": "Power State Indicator", "control_item_value": "Amber"}}

$ nuc_wmi-get_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'Power State Indicator' 'S0 Indicator Blinking Behavior'
{"led": {"control_item": "S0 Indicator Blinking Behavior", "type": "Power Button LED", "indicator_option": "Power State Indicator", "control_item_value": "Strobing"}}

$ nuc_wmi-get_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'Power State Indicator' 'S0 Indicator Blinking Frequency'
{"led": {"control_item": "S0 Indicator Blinking Frequency", "type": "Power Button LED", "indicator_option": "Power State Indicator", "control_item_value": "0.1Hz"}}

$ nuc_wmi-get_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'Power State Indicator' 'S0 Indicator Color'
{"led": {"control_item": "S0 Indicator Color", "type": "Power Button LED", "indicator_option": "Power State Indicator", "control_item_value": "Amber"}}


$ nuc_wmi-set_led_indicator_option --quirks NUC10_RETURN_VALUE 'Power Button LED' 'HDD Activity Indicator'
{"led": {"type": "Power Button LED", "indicator_option": "HDD Activity Indicator"}}

$ nuc_wmi-get_led_indicator_option --quirks NUC10_RETURN_VALUE 'Power Button LED'
{"led": {"type": "Power Button LED", "indicator_option": "HDD Activity Indicator"}}


$ nuc_wmi-set_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'HDD Activity Indicator' 'Brightness' 100
{"led": {"control_item": "Brightness", "type": "Power Button LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "100"}}

$ nuc_wmi-set_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'HDD Activity Indicator' 'Color' Blue
{"led": {"control_item": "Color", "type": "Power Button LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "Blue"}}

$ nuc_wmi-set_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'HDD Activity Indicator' 'Behavior' 'Normally OFF, ON when active'
{"led": {"control_item": "Behavior", "type": "Power Button LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "Normally OFF, ON when active"}}

$ nuc_wmi-get_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'HDD Activity Indicator' 'Brightness'
{"led": {"control_item": "Brightness", "type": "Power Button LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "100"}}

$ nuc_wmi-get_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'HDD Activity Indicator' 'Color'
{"led": {"control_item": "Color", "type": "Power Button LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "Blue"}}

$ nuc_wmi-get_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'HDD Activity Indicator' 'Behavior'
{"led": {"control_item": "Behavior", "type": "Power Button LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "Normally OFF, ON when active"}}

$ nuc_wmi-set_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'HDD Activity Indicator' 'Behavior' 'Normally ON, OFF when active'
{"led": {"control_item": "Behavior", "type": "Power Button LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "Normally ON, OFF when active"}}

$ nuc_wmi-set_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'HDD Activity Indicator' 'Color' Amber
{"led": {"control_item": "Color", "type": "Power Button LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "Amber"}}

$ nuc_wmi-get_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'HDD Activity Indicator' 'Behavior'
{"led": {"control_item": "Behavior", "type": "Power Button LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "Normally ON, OFF when active"}}

$ nuc_wmi-get_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'HDD Activity Indicator' 'Color'
{"led": {"control_item": "Color", "type": "Power Button LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "Amber"}}


$ nuc_wmi-set_led_indicator_option --quirks NUC10_RETURN_VALUE 'Power Button LED' 'Software Indicator'
{"led": {"type": "Power Button LED", "indicator_option": "Software Indicator"}}

$ nuc_wmi-get_led_indicator_option --quirks NUC10_RETURN_VALUE 'Power Button LED'
{"led": {"type": "Power Button LED", "indicator_option": "Software Indicator"}}


$ nuc_wmi-set_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'Software Indicator' 'Brightness' 100
{"led": {"control_item": "Brightness", "type": "Power Button LED", "indicator_option": "Software Indicator", "control_item_value": "100"}}

$ nuc_wmi-set_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'Software Indicator' 'Blinking Behavior' Solid
{"led": {"control_item": "Blinking Behavior", "type": "Power Button LED", "indicator_option": "Software Indicator", "control_item_value": "Solid"}}

$ nuc_wmi-set_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'Software Indicator' 'Blinking Frequency' '1.0Hz'
{"led": {"control_item": "Blinking Frequency", "type": "Power Button LED", "indicator_option": "Software Indicator", "control_item_value": "1.0Hz"}}

$ nuc_wmi-set_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'Software Indicator' 'Color' Blue
{"led": {"control_item": "Color", "type": "Power Button LED", "indicator_option": "Software Indicator", "control_item_value": "Blue"}}

$ nuc_wmi-get_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'Software Indicator' 'Brightness'
{"led": {"control_item": "Brightness", "type": "Power Button LED", "indicator_option": "Software Indicator", "control_item_value": "100"}}

$ nuc_wmi-get_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'Software Indicator' 'Blinking Behavior'
{"led": {"control_item": "Blinking Behavior", "type": "Power Button LED", "indicator_option": "Software Indicator", "control_item_value": "Solid"}}

$ nuc_wmi-get_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'Software Indicator' 'Blinking Frequency'
{"led": {"control_item": "Blinking Frequency", "type": "Power Button LED", "indicator_option": "Software Indicator", "control_item_value": "1.0Hz"}}

$ nuc_wmi-get_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'Software Indicator' 'Color'
{"led": {"control_item": "Color", "type": "Power Button LED", "indicator_option": "Software Indicator", "control_item_value": "Blue"}}

$ nuc_wmi-set_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'Software Indicator' 'Blinking Behavior' Strobing
{"led": {"control_item": "Blinking Behavior", "type": "Power Button LED", "indicator_option": "Software Indicator", "control_item_value": "Strobing"}}

$ nuc_wmi-set_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'Software Indicator' 'Blinking Frequency' '0.1Hz'
{"led": {"control_item": "Blinking Frequency", "type": "Power Button LED", "indicator_option": "Software Indicator", "control_item_value": "0.1Hz"}}

$ nuc_wmi-set_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'Software Indicator' 'Color' Amber
{"led": {"control_item": "Color", "type": "Power Button LED", "indicator_option": "Software Indicator", "control_item_value": "Amber"}}

$ nuc_wmi-get_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'Software Indicator' 'Blinking Behavior'
{"led": {"control_item": "Blinking Behavior", "type": "Power Button LED", "indicator_option": "Software Indicator", "control_item_value": "Strobing"}}

$ nuc_wmi-get_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'Software Indicator' 'Blinking Frequency'
{"led": {"control_item": "Blinking Frequency", "type": "Power Button LED", "indicator_option": "Software Indicator", "control_item_value": "0.1Hz"}}

$ nuc_wmi-get_led_control_item --quirks NUC10_RETURN_VALUE 'Power Button LED' 'Software Indicator' 'Color'
{"led": {"control_item": "Color", "type": "Power Button LED", "indicator_option": "Software Indicator", "control_item_value": "Amber"}}


$ nuc_wmi-set_led_indicator_option --quirks NUC10_RETURN_VALUE 'HDD LED' 'HDD Activity Indicator'
{"led": {"type": "HDD LED", "indicator_option": "HDD Activity Indicator"}}

$ nuc_wmi-get_led_indicator_option --quirks NUC10_RETURN_VALUE 'HDD LED'
{"led": {"type": "HDD LED", "indicator_option": "HDD Activity Indicator"}}


$ nuc_wmi-set_led_control_item --quirks NUC10_RETURN_VALUE 'HDD LED' 'HDD Activity Indicator' 'Brightness' 100
{"led": {"control_item": "Brightness", "type": "HDD LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "100"}}

$ nuc_wmi-set_led_control_item --quirks NUC10_RETURN_VALUE 'HDD LED' 'HDD Activity Indicator' 'Color' Blue
{"led": {"control_item": "Color", "type": "HDD LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "Blue"}}

$ nuc_wmi-set_led_control_item --quirks NUC10_RETURN_VALUE 'HDD LED' 'HDD Activity Indicator' 'Behavior' 'Normally OFF, ON when active'
{"led": {"control_item": "Behavior", "type": "HDD LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "Normally OFF, ON when active"}}

$ nuc_wmi-get_led_control_item --quirks NUC10_RETURN_VALUE 'HDD LED' 'HDD Activity Indicator' 'Brightness'
{"led": {"control_item": "Brightness", "type": "HDD LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "100"}}

$ nuc_wmi-get_led_control_item --quirks NUC10_RETURN_VALUE 'HDD LED' 'HDD Activity Indicator' 'Color'
{"led": {"control_item": "Color", "type": "HDD LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "Blue"}}

$ nuc_wmi-get_led_control_item --quirks NUC10_RETURN_VALUE 'HDD LED' 'HDD Activity Indicator' 'Behavior'
{"led": {"control_item": "Behavior", "type": "HDD LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "Normally OFF, ON when active"}}

$ nuc_wmi-set_led_control_item --quirks NUC10_RETURN_VALUE 'HDD LED' 'HDD Activity Indicator' 'Behavior' 'Normally ON, OFF when active'
{"led": {"control_item": "Behavior", "type": "HDD LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "Normally ON, OFF when active"}}

$ nuc_wmi-set_led_control_item --quirks NUC10_RETURN_VALUE 'HDD LED' 'HDD Activity Indicator' 'Color' White
{"led": {"control_item": "Color", "type": "HDD LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "White"}}

$ nuc_wmi-get_led_control_item --quirks NUC10_RETURN_VALUE 'HDD LED' 'HDD Activity Indicator' 'Behavior'
{"led": {"control_item": "Behavior", "type": "HDD LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "Normally ON, OFF when active"}}

$ nuc_wmi-get_led_control_item --quirks NUC10_RETURN_VALUE 'HDD LED' 'HDD Activity Indicator' 'Color'
{"led": {"control_item": "Color", "type": "HDD LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "White"}}

$ nuc_wmi-set_led_control_item --quirks NUC10_RETURN_VALUE 'HDD LED' 'HDD Activity Indicator' 'Color' Yellow
{"error": "Invalid control item value for the specified control item"}

$ nuc_wmi-get_led_control_item --quirks NUC10_RETURN_VALUE 'HDD LED' 'HDD Activity Indicator' 'Color'
{"led": {"control_item": "Color", "type": "HDD LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "White"}}


$ nuc_wmi-set_led_indicator_option --quirks NUC10_RETURN_VALUE 'HDD LED' 'Software Indicator'
{"led": {"type": "HDD LED", "indicator_option": "Software Indicator"}}

$ nuc_wmi-get_led_indicator_option --quirks NUC10_RETURN_VALUE 'HDD LED'
{"led": {"type": "HDD LED", "indicator_option": "Software Indicator"}}


$ nuc_wmi-set_led_control_item --quirks NUC10_RETURN_VALUE 'HDD LED' 'Software Indicator' 'Brightness' 100
{"led": {"control_item": "Brightness", "type": "HDD LED", "indicator_option": "Software Indicator", "control_item_value": "100"}}

$ nuc_wmi-set_led_control_item --quirks NUC10_RETURN_VALUE 'HDD LED' 'Software Indicator' 'Blinking Behavior' Solid
{"led": {"control_item": "Blinking Behavior", "type": "HDD LED", "indicator_option": "Software Indicator", "control_item_value": "Solid"}}

$ nuc_wmi-set_led_control_item --quirks NUC10_RETURN_VALUE 'HDD LED' 'Software Indicator' 'Blinking Frequency' '1.0Hz'
{"led": {"control_item": "Blinking Frequency", "type": "HDD LED", "indicator_option": "Software Indicator", "control_item_value": "1.0Hz"}}

$ nuc_wmi-set_led_control_item --quirks NUC10_RETURN_VALUE 'HDD LED' 'Software Indicator' 'Color' Blue
{"led": {"control_item": "Color", "type": "HDD LED", "indicator_option": "Software Indicator", "control_item_value": "Blue"}}

$ nuc_wmi-get_led_control_item --quirks NUC10_RETURN_VALUE 'HDD LED' 'Software Indicator' 'Brightness'
{"led": {"control_item": "Brightness", "type": "HDD LED", "indicator_option": "Software Indicator", "control_item_value": "100"}}

$ nuc_wmi-get_led_control_item --quirks NUC10_RETURN_VALUE 'HDD LED' 'Software Indicator' 'Blinking Behavior'
{"led": {"control_item": "Blinking Behavior", "type": "HDD LED", "indicator_option": "Software Indicator", "control_item_value": "Solid"}}

$ nuc_wmi-get_led_control_item --quirks NUC10_RETURN_VALUE 'HDD LED' 'Software Indicator' 'Blinking Frequency'
{"led": {"control_item": "Blinking Frequency", "type": "HDD LED", "indicator_option": "Software Indicator", "control_item_value": "1.0Hz"}}

$ nuc_wmi-get_led_control_item --quirks NUC10_RETURN_VALUE 'HDD LED' 'Software Indicator' 'Color'
{"led": {"control_item": "Color", "type": "HDD LED", "indicator_option": "Software Indicator", "control_item_value": "Blue"}}

$ nuc_wmi-set_led_control_item --quirks NUC10_RETURN_VALUE 'HDD LED' 'Software Indicator' 'Blinking Behavior' Strobing
{"led": {"control_item": "Blinking Behavior", "type": "HDD LED", "indicator_option": "Software Indicator", "control_item_value": "Strobing"}}

$ nuc_wmi-set_led_control_item --quirks NUC10_RETURN_VALUE 'HDD LED' 'Software Indicator' 'Blinking Frequency' '0.1Hz'
{"led": {"control_item": "Blinking Frequency", "type": "HDD LED", "indicator_option": "Software Indicator", "control_item_value": "0.1Hz"}}

$ nuc_wmi-set_led_control_item --quirks NUC10_RETURN_VALUE 'HDD LED' 'Software Indicator' 'Color' White
{"led": {"control_item": "Color", "type": "HDD LED", "indicator_option": "Software Indicator", "control_item_value": "White"}}

$ nuc_wmi-get_led_control_item --quirks NUC10_RETURN_VALUE 'HDD LED' 'Software Indicator' 'Blinking Behavior'
{"led": {"control_item": "Blinking Behavior", "type": "HDD LED", "indicator_option": "Software Indicator", "control_item_value": "Strobing"}}

$ nuc_wmi-get_led_control_item --quirks NUC10_RETURN_VALUE 'HDD LED' 'Software Indicator' 'Blinking Frequency'
{"led": {"control_item": "Blinking Frequency", "type": "HDD LED", "indicator_option": "Software Indicator", "control_item_value": "0.1Hz"}}

$ nuc_wmi-get_led_control_item --quirks NUC10_RETURN_VALUE 'HDD LED' 'Software Indicator' 'Color'
{"led": {"control_item": "Color", "type": "HDD LED", "indicator_option": "Software Indicator", "control_item_value": "White"}}

$ nuc_wmi-set_led_control_item --quirks NUC10_RETURN_VALUE 'HDD LED' 'Software Indicator' 'Color' Yellow
{"error": "Invalid control item value for the specified control item"}

$ nuc_wmi-get_led_control_item --quirks NUC10_RETURN_VALUE 'HDD LED' 'Software Indicator' 'Color'
{"led": {"control_item": "Color", "type": "HDD LED", "indicator_option": "Software Indicator", "control_item_value": "White"}}

# NUC 10 (new BIOS)

$ nuc_wmi-set_led_indicator_option 'Power Button LED' 'Power State Indicator'
{"led": {"type": "Power Button LED", "indicator_option": "Power State Indicator"}}

$ nuc_wmi-get_led_indicator_option 'Power Button LED'
{"led": {"type": "Power Button LED", "indicator_option": "Power State Indicator"}}


$ nuc_wmi-set_led_control_item 'Power Button LED' 'Power State Indicator' 'S0 Indicator Brightness' 100
{"led": {"control_item": "S0 Indicator Brightness", "type": "Power Button LED", "indicator_option": "Power State Indicator", "control_item_value": "100"}}

$ nuc_wmi-set_led_control_item 'Power Button LED' 'Power State Indicator' 'S0 Indicator Blinking Behavior' Solid
{"led": {"control_item": "S0 Indicator Blinking Behavior", "type": "Power Button LED", "indicator_option": "Power State Indicator", "control_item_value": "Solid"}}

$ nuc_wmi-set_led_control_item 'Power Button LED' 'Power State Indicator' 'S0 Indicator Blinking Frequency' '1.0Hz'
{"led": {"control_item": "S0 Indicator Blinking Frequency", "type": "Power Button LED", "indicator_option": "Power State Indicator", "control_item_value": "1.0Hz"}}

$ nuc_wmi-set_led_control_item 'Power Button LED' 'Power State Indicator' 'S0 Indicator Color' Blue
{"led": {"control_item": "S0 Indicator Color", "type": "Power Button LED", "indicator_option": "Power State Indicator", "control_item_value": "Blue"}}

$ nuc_wmi-get_led_control_item 'Power Button LED' 'Power State Indicator' 'S0 Indicator Brightness'
{"led": {"control_item": "S0 Indicator Brightness", "type": "Power Button LED", "indicator_option": "Power State Indicator", "control_item_value": "100"}}

$ nuc_wmi-get_led_control_item 'Power Button LED' 'Power State Indicator' 'S0 Indicator Blinking Behavior'
{"led": {"control_item": "S0 Indicator Blinking Behavior", "type": "Power Button LED", "indicator_option": "Power State Indicator", "control_item_value": "Solid"}}

$ nuc_wmi-get_led_control_item 'Power Button LED' 'Power State Indicator' 'S0 Indicator Blinking Frequency'
{"led": {"control_item": "S0 Indicator Blinking Frequency", "type": "Power Button LED", "indicator_option": "Power State Indicator", "control_item_value": "1.0Hz"}}

$ nuc_wmi-get_led_control_item 'Power Button LED' 'Power State Indicator' 'S0 Indicator Color'
{"led": {"control_item": "S0 Indicator Color", "type": "Power Button LED", "indicator_option": "Power State Indicator", "control_item_value": "Blue"}}

$ nuc_wmi-set_led_control_item 'Power Button LED' 'Power State Indicator' 'S0 Indicator Blinking Behavior' Strobing
{"led": {"control_item": "S0 Indicator Blinking Behavior", "type": "Power Button LED", "indicator_option": "Power State Indicator", "control_item_value": "Strobing"}}

$ nuc_wmi-set_led_control_item 'Power Button LED' 'Power State Indicator' 'S0 Indicator Blinking Frequency' '0.1Hz'
{"led": {"control_item": "S0 Indicator Blinking Frequency", "type": "Power Button LED", "indicator_option": "Power State Indicator", "control_item_value": "0.1Hz"}}

$ nuc_wmi-set_led_control_item 'Power Button LED' 'Power State Indicator' 'S0 Indicator Color' Amber
{"led": {"control_item": "S0 Indicator Color", "type": "Power Button LED", "indicator_option": "Power State Indicator", "control_item_value": "Amber"}}

$ nuc_wmi-get_led_control_item 'Power Button LED' 'Power State Indicator' 'S0 Indicator Blinking Behavior'
{"led": {"control_item": "S0 Indicator Blinking Behavior", "type": "Power Button LED", "indicator_option": "Power State Indicator", "control_item_value": "Strobing"}}

$ nuc_wmi-get_led_control_item 'Power Button LED' 'Power State Indicator' 'S0 Indicator Blinking Frequency'
{"led": {"control_item": "S0 Indicator Blinking Frequency", "type": "Power Button LED", "indicator_option": "Power State Indicator", "control_item_value": "0.1Hz"}}

$ nuc_wmi-get_led_control_item 'Power Button LED' 'Power State Indicator' 'S0 Indicator Color'
{"led": {"control_item": "S0 Indicator Color", "type": "Power Button LED", "indicator_option": "Power State Indicator", "control_item_value": "Amber"}}


$ nuc_wmi-set_led_indicator_option 'Power Button LED' 'HDD Activity Indicator'
{"led": {"type": "Power Button LED", "indicator_option": "HDD Activity Indicator"}}

$ nuc_wmi-get_led_indicator_option 'Power Button LED'
{"led": {"type": "Power Button LED", "indicator_option": "HDD Activity Indicator"}}


$ nuc_wmi-set_led_control_item 'Power Button LED' 'HDD Activity Indicator' 'Brightness' 100
{"led": {"control_item": "Brightness", "type": "Power Button LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "100"}}

$ nuc_wmi-set_led_control_item 'Power Button LED' 'HDD Activity Indicator' 'Color' Blue
{"led": {"control_item": "Color", "type": "Power Button LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "Blue"}}

$ nuc_wmi-set_led_control_item 'Power Button LED' 'HDD Activity Indicator' 'Behavior' 'Normally OFF, ON when active'
{"led": {"control_item": "Behavior", "type": "Power Button LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "Normally OFF, ON when active"}}

$ nuc_wmi-get_led_control_item 'Power Button LED' 'HDD Activity Indicator' 'Brightness'
{"led": {"control_item": "Brightness", "type": "Power Button LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "100"}}

$ nuc_wmi-get_led_control_item 'Power Button LED' 'HDD Activity Indicator' 'Color'
{"led": {"control_item": "Color", "type": "Power Button LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "Blue"}}

$ nuc_wmi-get_led_control_item 'Power Button LED' 'HDD Activity Indicator' 'Behavior'
{"led": {"control_item": "Behavior", "type": "Power Button LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "Normally OFF, ON when active"}}

$ nuc_wmi-set_led_control_item 'Power Button LED' 'HDD Activity Indicator' 'Behavior' 'Normally ON, OFF when active'
{"led": {"control_item": "Behavior", "type": "Power Button LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "Normally ON, OFF when active"}}

$ nuc_wmi-set_led_control_item 'Power Button LED' 'HDD Activity Indicator' 'Color' Amber
{"led": {"control_item": "Color", "type": "Power Button LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "Amber"}}

$ nuc_wmi-get_led_control_item 'Power Button LED' 'HDD Activity Indicator' 'Behavior'
{"led": {"control_item": "Behavior", "type": "Power Button LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "Normally ON, OFF when active"}}

$ nuc_wmi-get_led_control_item 'Power Button LED' 'HDD Activity Indicator' 'Color'
{"led": {"control_item": "Color", "type": "Power Button LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "Amber"}}


$ nuc_wmi-set_led_indicator_option 'Power Button LED' 'Software Indicator'
{"led": {"type": "Power Button LED", "indicator_option": "Software Indicator"}}

$ nuc_wmi-get_led_indicator_option 'Power Button LED'
{"led": {"type": "Power Button LED", "indicator_option": "Software Indicator"}}


$ nuc_wmi-set_led_control_item 'Power Button LED' 'Software Indicator' 'Brightness' 100
{"led": {"control_item": "Brightness", "type": "Power Button LED", "indicator_option": "Software Indicator", "control_item_value": "100"}}

$ nuc_wmi-set_led_control_item 'Power Button LED' 'Software Indicator' 'Blinking Behavior' Solid
{"led": {"control_item": "Blinking Behavior", "type": "Power Button LED", "indicator_option": "Software Indicator", "control_item_value": "Solid"}}

$ nuc_wmi-set_led_control_item 'Power Button LED' 'Software Indicator' 'Blinking Frequency' '1.0Hz'
{"led": {"control_item": "Blinking Frequency", "type": "Power Button LED", "indicator_option": "Software Indicator", "control_item_value": "1.0Hz"}}

$ nuc_wmi-set_led_control_item 'Power Button LED' 'Software Indicator' 'Color' Blue
{"led": {"control_item": "Color", "type": "Power Button LED", "indicator_option": "Software Indicator", "control_item_value": "Blue"}}

$ nuc_wmi-get_led_control_item 'Power Button LED' 'Software Indicator' 'Brightness'
{"led": {"control_item": "Brightness", "type": "Power Button LED", "indicator_option": "Software Indicator", "control_item_value": "100"}}

$ nuc_wmi-get_led_control_item 'Power Button LED' 'Software Indicator' 'Blinking Behavior'
{"led": {"control_item": "Blinking Behavior", "type": "Power Button LED", "indicator_option": "Software Indicator", "control_item_value": "Solid"}}

$ nuc_wmi-get_led_control_item 'Power Button LED' 'Software Indicator' 'Blinking Frequency'
{"led": {"control_item": "Blinking Frequency", "type": "Power Button LED", "indicator_option": "Software Indicator", "control_item_value": "1.0Hz"}}

$ nuc_wmi-get_led_control_item 'Power Button LED' 'Software Indicator' 'Color'
{"led": {"control_item": "Color", "type": "Power Button LED", "indicator_option": "Software Indicator", "control_item_value": "Blue"}}

$ nuc_wmi-set_led_control_item 'Power Button LED' 'Software Indicator' 'Blinking Behavior' Strobing
{"led": {"control_item": "Blinking Behavior", "type": "Power Button LED", "indicator_option": "Software Indicator", "control_item_value": "Strobing"}}

$ nuc_wmi-set_led_control_item 'Power Button LED' 'Software Indicator' 'Blinking Frequency' '0.1Hz'
{"led": {"control_item": "Blinking Frequency", "type": "Power Button LED", "indicator_option": "Software Indicator", "control_item_value": "0.1Hz"}}

$ nuc_wmi-set_led_control_item 'Power Button LED' 'Software Indicator' 'Color' Amber
{"led": {"control_item": "Color", "type": "Power Button LED", "indicator_option": "Software Indicator", "control_item_value": "Amber"}}

$ nuc_wmi-get_led_control_item 'Power Button LED' 'Software Indicator' 'Blinking Behavior'
{"led": {"control_item": "Blinking Behavior", "type": "Power Button LED", "indicator_option": "Software Indicator", "control_item_value": "Strobing"}}

$ nuc_wmi-get_led_control_item 'Power Button LED' 'Software Indicator' 'Blinking Frequency'
{"led": {"control_item": "Blinking Frequency", "type": "Power Button LED", "indicator_option": "Software Indicator", "control_item_value": "0.1Hz"}}

$ nuc_wmi-get_led_control_item 'Power Button LED' 'Software Indicator' 'Color'
{"led": {"control_item": "Color", "type": "Power Button LED", "indicator_option": "Software Indicator", "control_item_value": "Amber"}}


$ nuc_wmi-set_led_indicator_option 'HDD LED' 'HDD Activity Indicator'
{"led": {"type": "HDD LED", "indicator_option": "HDD Activity Indicator"}}

$ nuc_wmi-get_led_indicator_option 'HDD LED'
{"led": {"type": "HDD LED", "indicator_option": "HDD Activity Indicator"}}


$ nuc_wmi-set_led_control_item 'HDD LED' 'HDD Activity Indicator' 'Brightness' 100
{"led": {"control_item": "Brightness", "type": "HDD LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "100"}}

$ nuc_wmi-set_led_control_item 'HDD LED' 'HDD Activity Indicator' 'Color' Blue
{"led": {"control_item": "Color", "type": "HDD LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "Blue"}}

$ nuc_wmi-set_led_control_item 'HDD LED' 'HDD Activity Indicator' 'Behavior' 'Normally OFF, ON when active'
{"led": {"control_item": "Behavior", "type": "HDD LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "Normally OFF, ON when active"}}

$ nuc_wmi-get_led_control_item 'HDD LED' 'HDD Activity Indicator' 'Brightness'
{"led": {"control_item": "Brightness", "type": "HDD LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "100"}}

$ nuc_wmi-get_led_control_item 'HDD LED' 'HDD Activity Indicator' 'Color'
{"led": {"control_item": "Color", "type": "HDD LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "Blue"}}

$ nuc_wmi-get_led_control_item 'HDD LED' 'HDD Activity Indicator' 'Behavior'
{"led": {"control_item": "Behavior", "type": "HDD LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "Normally OFF, ON when active"}}

$ nuc_wmi-set_led_control_item 'HDD LED' 'HDD Activity Indicator' 'Behavior' 'Normally ON, OFF when active'
{"led": {"control_item": "Behavior", "type": "HDD LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "Normally ON, OFF when active"}}

$ nuc_wmi-set_led_control_item 'HDD LED' 'HDD Activity Indicator' 'Color' White
{"led": {"control_item": "Color", "type": "HDD LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "White"}}

$ nuc_wmi-get_led_control_item 'HDD LED' 'HDD Activity Indicator' 'Behavior'
{"led": {"control_item": "Behavior", "type": "HDD LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "Normally ON, OFF when active"}}

$ nuc_wmi-get_led_control_item 'HDD LED' 'HDD Activity Indicator' 'Color'
{"led": {"control_item": "Color", "type": "HDD LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "White"}}

$ nuc_wmi-set_led_control_item 'HDD LED' 'HDD Activity Indicator' 'Color' Yellow
{"led": {"control_item": "Color", "type": "HDD LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "Yellow"}}

$ nuc_wmi-get_led_control_item 'HDD LED' 'HDD Activity Indicator' 'Color'
{"led": {"control_item": "Color", "type": "HDD LED", "indicator_option": "HDD Activity Indicator", "control_item_value": "Yellow"}}


$ nuc_wmi-set_led_indicator_option 'HDD LED' 'Software Indicator'
{"led": {"type": "HDD LED", "indicator_option": "Software Indicator"}}

$ nuc_wmi-get_led_indicator_option 'HDD LED'
{"led": {"type": "HDD LED", "indicator_option": "Software Indicator"}}


$ nuc_wmi-set_led_control_item 'HDD LED' 'Software Indicator' 'Brightness' 100
{"led": {"control_item": "Brightness", "type": "HDD LED", "indicator_option": "Software Indicator", "control_item_value": "100"}}

$ nuc_wmi-set_led_control_item 'HDD LED' 'Software Indicator' 'Blinking Behavior' Solid
{"led": {"control_item": "Blinking Behavior", "type": "HDD LED", "indicator_option": "Software Indicator", "control_item_value": "Solid"}}

$ nuc_wmi-set_led_control_item 'HDD LED' 'Software Indicator' 'Blinking Frequency' '1.0Hz'
{"led": {"control_item": "Blinking Frequency", "type": "HDD LED", "indicator_option": "Software Indicator", "control_item_value": "1.0Hz"}}

$ nuc_wmi-set_led_control_item 'HDD LED' 'Software Indicator' 'Color' Blue
{"led": {"control_item": "Color", "type": "HDD LED", "indicator_option": "Software Indicator", "control_item_value": "Blue"}}

$ nuc_wmi-get_led_control_item 'HDD LED' 'Software Indicator' 'Brightness'
{"led": {"control_item": "Brightness", "type": "HDD LED", "indicator_option": "Software Indicator", "control_item_value": "100"}}

$ nuc_wmi-get_led_control_item 'HDD LED' 'Software Indicator' 'Blinking Behavior'
{"led": {"control_item": "Blinking Behavior", "type": "HDD LED", "indicator_option": "Software Indicator", "control_item_value": "Solid"}}

$ nuc_wmi-get_led_control_item 'HDD LED' 'Software Indicator' 'Blinking Frequency'
{"led": {"control_item": "Blinking Frequency", "type": "HDD LED", "indicator_option": "Software Indicator", "control_item_value": "1.0Hz"}}

$ nuc_wmi-get_led_control_item 'HDD LED' 'Software Indicator' 'Color'
{"led": {"control_item": "Color", "type": "HDD LED", "indicator_option": "Software Indicator", "control_item_value": "Blue"}}

$ nuc_wmi-set_led_control_item 'HDD LED' 'Software Indicator' 'Blinking Behavior' Strobing
{"led": {"control_item": "Blinking Behavior", "type": "HDD LED", "indicator_option": "Software Indicator", "control_item_value": "Strobing"}}

$ nuc_wmi-set_led_control_item 'HDD LED' 'Software Indicator' 'Blinking Frequency' '0.1Hz'
{"led": {"control_item": "Blinking Frequency", "type": "HDD LED", "indicator_option": "Software Indicator", "control_item_value": "0.1Hz"}}

$ nuc_wmi-set_led_control_item 'HDD LED' 'Software Indicator' 'Color' White
{"led": {"control_item": "Color", "type": "HDD LED", "indicator_option": "Software Indicator", "control_item_value": "White"}}

$ nuc_wmi-get_led_control_item 'HDD LED' 'Software Indicator' 'Blinking Behavior'
{"led": {"control_item": "Blinking Behavior", "type": "HDD LED", "indicator_option": "Software Indicator", "control_item_value": "Strobing"}}

$ nuc_wmi-get_led_control_item 'HDD LED' 'Software Indicator' 'Blinking Frequency'
{"led": {"control_item": "Blinking Frequency", "type": "HDD LED", "indicator_option": "Software Indicator", "control_item_value": "0.1Hz"}}

$ nuc_wmi-get_led_control_item 'HDD LED' 'Software Indicator' 'Color'
{"led": {"control_item": "Color", "type": "HDD LED", "indicator_option": "Software Indicator", "control_item_value": "White"}}

$ nuc_wmi-set_led_control_item 'HDD LED' 'Software Indicator' 'Color' Yellow
{"led": {"control_item": "Color", "type": "HDD LED", "indicator_option": "Software Indicator", "control_item_value": "Yellow"}}

$ nuc_wmi-get_led_control_item 'HDD LED' 'Software Indicator' 'Color'
{"led": {"control_item": "Color", "type": "HDD LED", "indicator_option": "Software Indicator", "control_item_value": "Yellow"}}


$ nuc_wmi-set_led_indicator_option 'RGB Header' 'Power State Indicator'
{"led": {"type": "RGB Header", "indicator_option": "Power State Indicator"}}

$ nuc_wmi-get_led_indicator_option 'RGB Header'
{"led": {"type": "RGB Header", "indicator_option": "Power State Indicator"}}


$ nuc_wmi-set_led_control_item 'RGB Header' 'Power State Indicator' 'S0 Indicator Brightness' 100
{"led": {"control_item": "S0 Indicator Brightness", "type": "RGB Header", "indicator_option": "Power State Indicator", "control_item_value": "100"}}

$ nuc_wmi-set_led_control_item 'RGB Header' 'Power State Indicator' 'S0 Indicator Blinking Behavior' Solid
{"led": {"control_item": "S0 Indicator Blinking Behavior", "type": "RGB Header", "indicator_option": "Power State Indicator", "control_item_value": "Solid"}}

$ nuc_wmi-set_led_control_item 'RGB Header' 'Power State Indicator' 'S0 Indicator Blinking Frequency' '1.0Hz'
{"led": {"control_item": "S0 Indicator Blinking Frequency", "type": "RGB Header", "indicator_option": "Power State Indicator", "control_item_value": "1.0Hz"}}

$ nuc_wmi-set_led_control_item 'RGB Header' 'Power State Indicator' 'S0 Indicator Color' Blue
{"led": {"control_item": "S0 Indicator Color", "type": "RGB Header", "indicator_option": "Power State Indicator", "control_item_value": "Blue"}}

$ nuc_wmi-get_led_control_item 'RGB Header' 'Power State Indicator' 'S0 Indicator Brightness'
{"led": {"control_item": "S0 Indicator Brightness", "type": "RGB Header", "indicator_option": "Power State Indicator", "control_item_value": "100"}}

$ nuc_wmi-get_led_control_item 'RGB Header' 'Power State Indicator' 'S0 Indicator Blinking Behavior'
{"led": {"control_item": "S0 Indicator Blinking Behavior", "type": "RGB Header", "indicator_option": "Power State Indicator", "control_item_value": "Solid"}}

$ nuc_wmi-get_led_control_item 'RGB Header' 'Power State Indicator' 'S0 Indicator Blinking Frequency'
{"led": {"control_item": "S0 Indicator Blinking Frequency", "type": "RGB Header", "indicator_option": "Power State Indicator", "control_item_value": "1.0Hz"}}

$ nuc_wmi-get_led_control_item 'RGB Header' 'Power State Indicator' 'S0 Indicator Color'
{"led": {"control_item": "S0 Indicator Color", "type": "RGB Header", "indicator_option": "Power State Indicator", "control_item_value": "Blue"}}

$ nuc_wmi-set_led_control_item 'RGB Header' 'Power State Indicator' 'S0 Indicator Blinking Behavior' Strobing
{"led": {"control_item": "S0 Indicator Blinking Behavior", "type": "RGB Header", "indicator_option": "Power State Indicator", "control_item_value": "Strobing"}}

$ nuc_wmi-set_led_control_item 'RGB Header' 'Power State Indicator' 'S0 Indicator Blinking Frequency' '0.1Hz'
{"led": {"control_item": "S0 Indicator Blinking Frequency", "type": "RGB Header", "indicator_option": "Power State Indicator", "control_item_value": "0.1Hz"}}

$ nuc_wmi-set_led_control_item 'RGB Header' 'Power State Indicator' 'S0 Indicator Color' White
{"led": {"control_item": "S0 Indicator Color", "type": "RGB Header", "indicator_option": "Power State Indicator", "control_item_value": "White"}}

$ nuc_wmi-get_led_control_item 'RGB Header' 'Power State Indicator' 'S0 Indicator Blinking Behavior'
{"led": {"control_item": "S0 Indicator Blinking Behavior", "type": "RGB Header", "indicator_option": "Power State Indicator", "control_item_value": "Strobing"}}

$ nuc_wmi-get_led_control_item 'RGB Header' 'Power State Indicator' 'S0 Indicator Blinking Frequency'
{"led": {"control_item": "S0 Indicator Blinking Frequency", "type": "RGB Header", "indicator_option": "Power State Indicator", "control_item_value": "0.1Hz"}}

$ nuc_wmi-get_led_control_item 'RGB Header' 'Power State Indicator' 'S0 Indicator Color'
{"led": {"control_item": "S0 Indicator Color", "type": "RGB Header", "indicator_option": "Power State Indicator", "control_item_value": "White"}}

$ nuc_wmi-set_led_control_item 'RGB Header' 'Power State Indicator' 'S0 Indicator Color' Green
{"led": {"control_item": "S0 Indicator Color", "type": "RGB Header", "indicator_option": "Power State Indicator", "control_item_value": "Green"}}

$ nuc_wmi-get_led_control_item 'RGB Header' 'Power State Indicator' 'S0 Indicator Color'
{"led": {"control_item": "S0 Indicator Color", "type": "RGB Header", "indicator_option": "Power State Indicator", "control_item_value": "Green"}}


$ nuc_wmi-set_led_indicator_option 'RGB Header' 'HDD Activity Indicator'
{"led": {"type": "RGB Header", "indicator_option": "HDD Activity Indicator"}}

$ nuc_wmi-get_led_indicator_option 'RGB Header'
{"led": {"type": "RGB Header", "indicator_option": "HDD Activity Indicator"}}


$ nuc_wmi-set_led_control_item 'RGB Header' 'HDD Activity Indicator' 'Brightness' 100
{"led": {"control_item": "Brightness", "type": "RGB Header", "indicator_option": "HDD Activity Indicator", "control_item_value": "100"}}

$ nuc_wmi-set_led_control_item 'RGB Header' 'HDD Activity Indicator' 'Color' Blue
{"led": {"control_item": "Color", "type": "RGB Header", "indicator_option": "HDD Activity Indicator", "control_item_value": "Blue"}}

$ nuc_wmi-set_led_control_item 'RGB Header' 'HDD Activity Indicator' 'Behavior' 'Normally OFF, ON when active'
{"led": {"control_item": "Behavior", "type": "RGB Header", "indicator_option": "HDD Activity Indicator", "control_item_value": "Normally OFF, ON when active"}}

$ nuc_wmi-get_led_control_item 'RGB Header' 'HDD Activity Indicator' 'Brightness'
{"led": {"control_item": "Brightness", "type": "RGB Header", "indicator_option": "HDD Activity Indicator", "control_item_value": "100"}}

$ nuc_wmi-get_led_control_item 'RGB Header' 'HDD Activity Indicator' 'Color'
{"led": {"control_item": "Color", "type": "RGB Header", "indicator_option": "HDD Activity Indicator", "control_item_value": "Blue"}}

$ nuc_wmi-get_led_control_item 'RGB Header' 'HDD Activity Indicator' 'Behavior'
{"led": {"control_item": "Behavior", "type": "RGB Header", "indicator_option": "HDD Activity Indicator", "control_item_value": "Normally OFF, ON when active"}}

$ nuc_wmi-set_led_control_item 'RGB Header' 'HDD Activity Indicator' 'Behavior' 'Normally ON, OFF when active'
{"led": {"control_item": "Behavior", "type": "RGB Header", "indicator_option": "HDD Activity Indicator", "control_item_value": "Normally ON, OFF when active"}}

$ nuc_wmi-set_led_control_item 'RGB Header' 'HDD Activity Indicator' 'Color' White
{"led": {"control_item": "Color", "type": "RGB Header", "indicator_option": "HDD Activity Indicator", "control_item_value": "White"}}

$ nuc_wmi-get_led_control_item 'RGB Header' 'HDD Activity Indicator' 'Behavior'
{"led": {"control_item": "Behavior", "type": "RGB Header", "indicator_option": "HDD Activity Indicator", "control_item_value": "Normally ON, OFF when active"}}

$ nuc_wmi-get_led_control_item 'RGB Header' 'HDD Activity Indicator' 'Color'
{"led": {"control_item": "Color", "type": "RGB Header", "indicator_option": "HDD Activity Indicator", "control_item_value": "White"}}

$ nuc_wmi-set_led_control_item 'RGB Header' 'HDD Activity Indicator' 'Color' Yellow
{"led": {"control_item": "Color", "type": "RGB Header", "indicator_option": "HDD Activity Indicator", "control_item_value": "Yellow"}}

$ nuc_wmi-get_led_control_item 'RGB Header' 'HDD Activity Indicator' 'Color'
{"led": {"control_item": "Color", "type": "RGB Header", "indicator_option": "HDD Activity Indicator", "control_item_value": "Yellow"}}


$ nuc_wmi-set_led_indicator_option 'RGB Header' 'Software Indicator'
{"led": {"type": "RGB Header", "indicator_option": "Software Indicator"}}

$ nuc_wmi-get_led_indicator_option 'RGB Header'
{"led": {"type": "RGB Header", "indicator_option": "Software Indicator"}}


$ nuc_wmi-set_led_control_item 'RGB Header' 'Software Indicator' 'Brightness' 100
{"led": {"control_item": "Brightness", "type": "RGB Header", "indicator_option": "Software Indicator", "control_item_value": "100"}}

$ nuc_wmi-set_led_control_item 'RGB Header' 'Software Indicator' 'Blinking Behavior' Solid
{"led": {"control_item": "Blinking Behavior", "type": "RGB Header", "indicator_option": "Software Indicator", "control_item_value": "Solid"}}

$ nuc_wmi-set_led_control_item 'RGB Header' 'Software Indicator' 'Blinking Frequency' '1.0Hz'
{"led": {"control_item": "Blinking Frequency", "type": "RGB Header", "indicator_option": "Software Indicator", "control_item_value": "1.0Hz"}}

$ nuc_wmi-set_led_control_item 'RGB Header' 'Software Indicator' 'Color' Blue
{"led": {"control_item": "Color", "type": "RGB Header", "indicator_option": "Software Indicator", "control_item_value": "Blue"}}

$ nuc_wmi-get_led_control_item 'RGB Header' 'Software Indicator' 'Brightness'
{"led": {"control_item": "Brightness", "type": "RGB Header", "indicator_option": "Software Indicator", "control_item_value": "100"}}

$ nuc_wmi-get_led_control_item 'RGB Header' 'Software Indicator' 'Blinking Behavior'
{"led": {"control_item": "Blinking Behavior", "type": "RGB Header", "indicator_option": "Software Indicator", "control_item_value": "Solid"}}

$ nuc_wmi-get_led_control_item 'RGB Header' 'Software Indicator' 'Blinking Frequency'
{"led": {"control_item": "Blinking Frequency", "type": "RGB Header", "indicator_option": "Software Indicator", "control_item_value": "1.0Hz"}}

$ nuc_wmi-get_led_control_item 'RGB Header' 'Software Indicator' 'Color'
{"led": {"control_item": "Color", "type": "RGB Header", "indicator_option": "Software Indicator", "control_item_value": "Blue"}}

$ nuc_wmi-set_led_control_item 'RGB Header' 'Software Indicator' 'Blinking Behavior' Strobing
{"led": {"control_item": "Blinking Behavior", "type": "RGB Header", "indicator_option": "Software Indicator", "control_item_value": "Strobing"}}

$ nuc_wmi-set_led_control_item 'RGB Header' 'Software Indicator' 'Blinking Frequency' '0.1Hz'
{"led": {"control_item": "Blinking Frequency", "type": "RGB Header", "indicator_option": "Software Indicator", "control_item_value": "0.1Hz"}}

$ nuc_wmi-set_led_control_item 'RGB Header' 'Software Indicator' 'Color' White
{"led": {"control_item": "Color", "type": "RGB Header", "indicator_option": "Software Indicator", "control_item_value": "White"}}

$ nuc_wmi-get_led_control_item 'RGB Header' 'Software Indicator' 'Blinking Behavior'
{"led": {"control_item": "Blinking Behavior", "type": "RGB Header", "indicator_option": "Software Indicator", "control_item_value": "Strobing"}}

$ nuc_wmi-get_led_control_item 'RGB Header' 'Software Indicator' 'Blinking Frequency'
{"led": {"control_item": "Blinking Frequency", "type": "RGB Header", "indicator_option": "Software Indicator", "control_item_value": "0.1Hz"}}

$ nuc_wmi-get_led_control_item 'RGB Header' 'Software Indicator' 'Color'
{"led": {"control_item": "Color", "type": "RGB Header", "indicator_option": "Software Indicator", "control_item_value": "White"}}

$ nuc_wmi-set_led_control_item 'RGB Header' 'Software Indicator' 'Color' Yellow
{"led": {"control_item": "Color", "type": "RGB Header", "indicator_option": "Software Indicator", "control_item_value": "Yellow"}}

$ nuc_wmi-get_led_control_item 'RGB Header' 'Software Indicator' 'Color'
{"led": {"control_item": "Color", "type": "RGB Header", "indicator_option": "Software Indicator", "control_item_value": "Yellow"}}

===========================================================

nuc_wmi-save_led_config
-----------------------

# NUC 7

N/A

# NUC 10 (original BIOS)

$ nuc_wmi-save_led_config --quirks NUC10_RETURN_VALUE
{"led_app_notification": {"type": "save_led_config"}}

# NUC 10 (new BIOS)

$ nuc_wmi-save_led_config
{"led_app_notification": {"type": "save_led_config"}}

Rebooting/hard power off should cause the device to resume with the last configued LED states.

===========================================================

nuc_wmi-switch_led_type
-----------------------

# NUC 7

N/A

# NUC 10 (original BIOS)

$ nuc_wmi-switch_led_type --quirks NUC10_RETURN_VALUE 'Single color LED'
{"error": "Error (Function not supported)"}

$ nuc_wmi-switch_led_type --quirks NUC10_RETURN_VALUE 'Multi color LED'
{"error": "Error (Function not supported)"}

# NUC 10 (new BIOS)

$ nuc_wmi-switch_led_type 'Single color LED'
{"error": "Error (Function not supported)"}

$ nuc_wmi-switch_led_type 'Multi color LED'
{"error": "Error (Function not supported)"}

This WMI function doesnt work on NUC 10, dont know what its for.
===========================================================

nuc_wmi-wmi_interface_spec_compliance_version
---------------------------------------------

# NUC 7

N/A

# NUC 10 (original BIOS)

$ nuc_wmi-wmi_interface_spec_compliance_version --quirks NUC10_RETURN_VALUE
{"version": {"semver": "1.32", "type": "wmi_interface_spec_compliance"}}

# NUC 10 (new BIOS)

$ nuc_wmi-wmi_interface_spec_compliance_version
{"version": {"semver": "1.32", "type": "wmi_interface_spec_compliance"}}

* Add support for new NUC 10 LED type which has changed the LED type for HDD LED and enabled control of the internal RGB Header.
* Add linter cleanups.
… value processing after feedback from Intel on issues with new NUC 10 BIOS.

- Refactor the code to more cleanly outline where we are using bitmaps vs indexes.
- Expand unit tests to use values with higher bit numbers where the bit index would significantly differ in value from the list index.
…dly labels instead of internal WMI hex values.
…ction branch test its own unit test function.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant