lkml.org 
[lkml]   [2020]   [Oct]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: i8042_init: PS/2 mouse not detected with ACPIPnP/PnPBIOS
From
Date
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.


\
 
 \ /
  Last update: 2020-10-13 17:18    [W:0.138 / U:5.968 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site