N1821 keyboard backlight control

I have a new N1821 Novatech laptop, and I have a few questions regarding the keyboard backlight LEDs -

  1. During boot
    Immediately at power-on, the keyboard lights up very brightly and with the LED colours in a pre-programmed wave pattern, presumably as a function of the BIOS (or not?).
    Is there any way to change this to use a more discreet single colour and preferably less bright, or at least a way to shut it off?

  2. After boot
    The LEDs settle down to a single bright blue (slight improvement), also presumably as a built-in function, but what I would actually like is control of them.
    I am using a Linux OS (Mint 20.1), and I can see several more entries within /dev than would be present on a more basic system, so I presume that access to the LEDs is hiding in there somewhere.
    Is there some form of driver/utility available, or at least some description of how I might be able to command the LEDs at the low level?

I am happy to write scripts/programs to that end, I would just need to know what actual bytes to send where. The /dev/i2c-* and /dev/gpiochip0 entries look especially like they may cover it, though there is no use in guessing; it would be better to establish more fundamentally what controls the LEDs then proceed to relate that to how the kernel presents it (if at all).

Hi

The situation you describe is the default start-up of the keyboard before settings change by end user. Keyboard LED are controlled by the Control Center Software in Windows. As for Linux, we do not have a version of this software for Linux that i can provide. We have no in depth knowledge of how the software interacts with the hardware so we cannot give you a technical brief on the control process of the software, however i do know that some people have already made scripts for Linux that can control the software of these keyboards.
An exmaple of which can be seen here
[SOLVED] Help tackling keyboard backlight on Clevo laptop (Metabox N850EK) - Linux Mint Forums

Regards

Thanks for the pointer, I have partial success there; I can build and install the module, but it does not control the LEDs as-is. However, it -does- respond to the four LED-related keyboard controls (Fn + keypad / * - +) insofar as I can read back the state changes (kb_brightness, kb_color, kb_mode, kb_state) after using the buttons. These Fn-modified buttons were not even triggering evdev events before, so I would call that progress!

Given that the module appears to be written as if the keyboard has four LED regions as opposed to the individual button LEDs I can see during boot, I am thinking that the WMI methods have since changed to support that finer control over each LED.

As a piece of N1821 componentry, do you have any knowledge of exactly what keyboard make/model it is? Service information in general would be quite welcome, if not to describe the interfaces then at least to list the parts.

All technical information i have on the unit can be found in the ESM at the link below

Thank you - the parts list put me on the right track, and I have written a working interface.
It is only a simple CLI client at the moment, though from here it should only need a small amount of OS config to have it set appropriate lighting at boot, login, resume from sleep, etc.

I don’t know yet if I’ll turn it into a proper driver solution, although I can certainly imagine deploying one as a simple .deb package file. Either way, I should definitely implement the brightness function keys first, and also a few other non-standard functions such as the touchpad on/off (likely just needs to toggle the relevant gsettings value, as I can do from the OS GUI).

Have a video of the result.