Re: [RESEND PATCH 0/5] platform/x86: bitland-mifs-wmi: MIFS v2 firmware support (Xiaomi Book Pro 14 2026)

From: Armin Wolf

Date: Thu Aug 27 2026 - 18:05:21 EST


Am 26.08.26 um 15:29 schrieb KentoNion:

Hi Armin,

On Thu, Jul 30, 2026 at 11:24:14 +0200, Armin Wolf wrote:
can you share the output of "acpidump" on your machine? Missing Lid
events usually indicate a deeper problem with the ACPI handling on a
given machine.
Same product as 4/5 (Xiaomi Book Pro 14 2026, DMI board_name=TM2424,
SKU TM2424-77080, BIOS XMAPT4B0P0707 03/12/2026). acpidump.dat.xz is
416K, too large for vger; I can send it off-list or put it on GitHub.
Decoded DSDT excerpts below.

ECON is declared External in the DSDT and is not defined in any of
the 34 SSDTs. The only references are _STA on Q_EC, ADP1 and LID0:

External (ECON, IntObj)

Device (Q_EC) /* _HID PNP0C09 */
{
Method (_STA, 0, NotSerialized)
{
If ((ECON == One))
{
Return (0x0F)
}
Return (Zero)
}

OperationRegion (ERAM, SystemMemory, 0xFE0B0300, 0x0100)
/* LSTE is bit 0 at offset 0x14 of ERAM */

Method (_GPE, 0, NotSerialized)
{
If (ESPI)
{
Local0 = 0x6E
}
Return (Local0)
}

Method (_Q0C, 0, NotSerialized) /* lid close */
{
LIDS = Zero
^^^GFX0.CLID = Zero
Notify (LID0, 0x80)
}

Method (_Q0D, 0, NotSerialized) /* lid open */
{
LIDS = One
^^^GFX0.CLID = 0x03
Notify (LID0, 0x80)
}

Device (LID0) /* _HID PNP0C0D */
{
Method (_STA, 0, NotSerialized)
{
If ((ECON == One))
{
Return (0x0F)
}
Return (Zero)
}
}
}

So _STA would return 0 even if ECON existed and were zero, and today
it AE_NOT_FOUNDs:

ACPI BIOS Error (bug): Could not resolve symbol
[\_SB.PC00.LPCB.Q_EC._STA.ECON], AE_NOT_FOUND
(same for Q_EC.ADP1._STA and Q_EC.LID0._STA)

That does not stop the boot DSDT EC or the lid button on this BIOS:

ACPI: EC: EC started
ACPI: \_SB_.PC00.LPCB.Q_EC: Boot DSDT EC used to handle transactions
ACPI: EC: interrupt unblocked
ACPI: EC: event unblocked
ACPI: EC: GPE=0x6e
ACPI: \_SB_.PC00.LPCB.Q_EC: EC: Used to handle transactions and events
input: Lid Switch as .../PNP0C09:00/PNP0C0D:00/input/input0
ACPI: button: Lid Switch [LID0]

LID0 is \_SB_.PC00.LPCB.Q_EC.LID0.
/proc/acpi/button/lid/LID0/state reads "open" (SW_LID on event0).
I have not yet captured a close/open pair under acpi_listen; I can
if that is useful.

4/5's claim that "the ACPI EC driver therefore never binds" is not
true here. Polling LSTE and evaluating _Q0C/_Q0D from bitland-mifs-wmi
would be the wrong layer. I am not putting that in the TM2424
follow-up on Mingyou's v5. The remaining bug is the missing ECON
object used by _STA.

Thanks,
Kento

Interesting, i would suggest a BIOS update. Unfortunately this would likely require you
to also install Windows on this machine, because Xiaomi distributes BIOS updates thru
Windows Update :/.

Thanks,
Armin Wolf