I have found a working fix for the internal keyboard on the ASUS
Vivobook 15 M1502XA (Ryzen 7 7840HS).

Root cause:
The DSDT declares the keyboard IRQ as Edge, ActiveHigh for device PS2K (_CID 
PNP0303), while the MADT declares IRQ 1 as low edge. This conflict causes IRQ 1 
to never be delivered, and atkbd fails with Failed to enable keyboard.

What I tested:

    A DMI quirk in irq1_edge_low_force_override[] did not help (the
patch did not make it into the compiled kernel, and even when it did,
the issue persisted).

    Overriding MADT via initrd (changing IRQ 1 from low edge to high
edge) also did not help. The kernel accepted the override (dmesg showed
high edge), but /proc/interrupts still showed 0 for IRQ 1.

The fix that worked:
I overrode DSDT via initrd and changed the keyboard interrupt polarity from 
ActiveHigh to ActiveLow for PS2K:
asl

Interrupt (ResourceConsumer, Edge, ActiveLow, Shared, ,, )

I also increased the DSDT OEM Revision from 0x01072009 to 0x01072010 so
the kernel would accept the override.

Result:
After booting with the overridden DSDT:

    dmesg shows ACPI: Table Upgrade: override [DSDT-_ASUS_-Notebook]

    atkbd no longer fails: input: AT Translated Set 2 keyboard is
registered without errors

    /proc/interrupts now shows a growing counter for IRQ 1 (1-edge
i8042)

    The internal keyboard works.

Conclusion:
For this model, a simple DMI quirk or MADT override is insufficient. The 
correct fix is to align the DSDT interrupt polarity with the MADT (or vice 
versa). A permanent solution would be a DSDT override in the kernel or a BIOS 
update from ASUS. I can provide the modified DSDT and full dmesg output if 
needed.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2170417

Title:
  ASUS Vivobook 15 M1502XA (Ryzen 7 7840HS): internal keyboard dead in
  Linux, works in UEFI/GRUB; IRQ1 override quirk needed?

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2170417/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to