Thread (8 messages) 8 messages, 4 authors, 2020-10-13

Re: i8042_init: PS/2 mouse not detected with ACPIPnP/PnPBIOS

From: "Rafael J. Wysocki" <rafael@kernel.org>
Date: 2020-10-12 10:39:33
Also in: linux-acpi, lkml

On Sun, Oct 11, 2020 at 1:08 AM Paul Menzel [off-list ref] wrote:
Dear Dmitry, dear Rafael, dear Len,


Am 08.10.20 um 00:16 schrieb Dmitry Torokhov:
quoted
On Wed, Oct 07, 2020 at 11:18:41PM +0200, Paul Menzel wrote:
quoted
quoted
On the Asus F2A85-M PRO Linux 5.9-rc8 (and previous versions) does not
recognize a plugged in PS/2 mouse using the Plug & Play method. The PS/2
keyboard is detected fine, and using `i8042.nopnp`, the PS/2 mouse also
works.
quoted
[    1.035915] calling  i8042_init+0x0/0x42d @ 1
[    1.035947] i8042: PNP: PS/2 Controller [PNP0303:PS2K] at 0x60,0x64 irq 1
[    1.035948] i8042: PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp
[    1.036589] serio: i8042 KBD port at 0x60,0x64 irq 1
[    1.036621] initcall i8042_init+0x0/0x42d returned 0 after 687 usecs
But, the DSDT includes the “mouse device”. From

     acpidump > dump.bin; acpixtract dump.bin; iasl -d *dat; more dsdt.dsl

we get

                 Device (PS2M)
                 {
                     Name (_HID, EisaId ("PNP0F03") /* Microsoft PS/2-style Mouse */)  // _HID: Hardware ID
                     Name (_CID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _CID: Compatible ID
                     Method (_STA, 0, NotSerialized)  // _STA: Status
                     {
                         If ((IOST & 0x4000))
                         {
                             Return (0x0F)
                         }
                         Else
                         {
                             Return (Zero)
                         }
                     }

and the identifiers PNP0F03 and PNP0F13 are both listed in the array
`pnp_aux_devids[]`. But adding print statements to `i8042_pnp_aux_probe()`,
I do not see them, so the function does not seem to be called.
My guess is that _STA returns 0 indicating that the device is not
present. I would try tracking where IOST is being set and figuring out
why it does not have mouse bit enabled.
Does the ACPI subsystem allow to track, how ACPI variables(?) like IOST
are read and set?
My guess would be that IOST is a field in an operation region which
would indicate that it is initialized by the bootstrap part of the
BIOS.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help