Re: [PATCH v14 RESEND 0/6] Merge redmi-wmi into bitland-mifs-wmi
From: Chris Taraszka
Date: Sun Nov 01 2026 - 09:26:52 EST
On Wed, 28 Oct 2026, Hans de Goede wrote:
> Hmm, so does Fn+space work under Windows ? If it works there, then there
> must be some way to make it work under Linux...
Not on this install. Xiaomi PC Manager fails to start here, and without
it Fn+Space does nothing under Windows either, so I cannot tell how it
works with the vendor software running.
> Ok, so the value-low indicates the state of the LED, right ?
Yes, inverted: value_low is the firmware's "mic on" state, so 1 means
LED off and 0 means LED on. The firmware builds it from the EC field
MIUT (EC 0x17 bit 4), which drives the LED: MIUT=1 turns it on.
> Interesting. Is there someway to manually toggle the LED like we do on
> other laptops, so that we can actually sync it to the alsa-mixer
> mic-mute state ?
Yes. WMAA has a SET for it: function 0x0A with sub-function (FUN3) 0x05,
where FUN4 = 1 means mic on (LED off) and any other value means muted
(LED on). The matching GET returns the same 1/0 state. I checked the
LED side by writing MIUT directly, which switches the LED on and off
without any event. The WMI SET itself I have only read in the SSDT so
far.
One catch: after the SET the firmware sleeps 150 ms and raises event
0x21 itself. So the driver has to ignore that echo, otherwise it
reports KEY_MICMUTE again and userspace toggles the mute back.
A key press toggles MIUT in the EC before the event is sent. So today,
pressing the key while the LED is on turns the LED off while userspace
mutes, which is exactly the desync you described.
If an LED class device with the audio-micmute trigger is how you would
like this done, I can do that on top of the TM2424 patches, together
with the Fn+K one.
On Wed, 28 Oct 2026, Mingyou Chen wrote:
> I think different models have different behaviors on this.
> Should we add a quirk item?
I think so. On the TM2424, 0x28 is the Fn+K request and the firmware
does not change the mode itself, while 0x16 on other models was
described in this thread as reporting a change that already happened.
A quirk flag for "0x28 requests a profile cycle" keeps it to models
where that has been checked. I will add it with the Fn+K patch.
Thanks,
Chris