On 10/13/2020 5:00 PM, Paul Menzel wrote:
Dear Rafael, dear Dmitry,
Am 12.10.20 um 13:00 schrieb Rafael J. Wysocki:
On Mon, Oct 12, 2020 at 12:50 PM Paul Menzel wrote:
Am 12.10.20 um 12:39 schrieb Rafael J. Wysocki:
On Sun, Oct 11, 2020 at 1:08 AM Paul Menzel wrote:
Am 08.10.20 um 00:16 schrieb Dmitry Torokhov:
On Wed, Oct 07, 2020 at 11:18:41PM +0200, Paul Menzel wrote:
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.
[ 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.
Thank you for your answer. But how can I verify that?
Inspecting the ACPI tables from the system in question could help you
to find out whether or not IOST really is a field in an operation
region, but its initial value may not be possible to determine this
way.
Is there a Linux kernel parameter, that would print it?
Not that I know of.
I created an issue in the Linux kernel bugtracker [1] and attached the
output of `acpidump` there.
Could
If ((IOST & 0x4000))
versus
If ((IOST & 0x0400))
be a typo?
Yes, it could.