On 2021-11-17 11:54 p.m., Drew Hayes wrote: > Hi Alex, > > I'm reaching out to you about some potential driver issues on > Microsoft's new Surface Go 3. The device was introduced by Microsoft a > little over a month ago. We have found that the device's power and > volume buttons do not work, even though they worked in previous versions > of the hardware (Surface Go 1 and 2). We've replicated the issue on two > different devices (Pentium + m3) with various kernel versions (4.15, > 5.8, 5.14.18). > > Maximilian Luz (copied on this thread) describes what he's found here > <https://github.com/linux-surface/linux-surface/issues/595#issuecomment-939537267>. > Would you be able to read his findings and suggest what we should try > next to get the buttons working? > BIOS needs to report 5 button array explicitly otherwise button_array_present() will report false. When BIOS fails to report it intel-hid also provides a DMI quirk to workaround it, ex. https://elixir.bootlin.com/linux/v5.14.11/source/drivers/platform/x86/intel-hid.c#L73 (or see commit 56678a5f44ef5f0) I didn't find dmidecode log file in the bug report but you can run "sudo dmidecode -t 1" to get system vendor and product name. If you can provide DMI data I can write a patch for testing. Please note intel-hid was changed to intel/hid.c in 5.15 so two patches may need testing for 5.14 (your version) and for 5.16rc2. > Thank you, > > -- > Drew Hayes > 415-842-2111 > https://voting.works <https://voting.works> -- Cheers, Alex Hung