NetBSD Problem Report #60043

From www@netbsd.org  Fri Feb 27 11:16:34 2026
Return-Path: <www@netbsd.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256
	 client-signature RSA-PSS (2048 bits) client-digest SHA256)
	(Client CN "mail.netbsd.org", Issuer "R13" (verified OK))
	by mollari.NetBSD.org (Postfix) with ESMTPS id AF8EE1A9239
	for <gnats-bugs@gnats.NetBSD.org>; Fri, 27 Feb 2026 11:16:34 +0000 (UTC)
Message-Id: <20260227111633.AFDC81A923C@mollari.NetBSD.org>
Date: Fri, 27 Feb 2026 11:16:33 +0000 (UTC)
From: stranche@free.fr
Reply-To: stranche@free.fr
To: gnats-bugs@NetBSD.org
Subject: ACPI suspend does not work properly with ps/2 keyboard and track-pad
X-Send-Pr-Version: www-1.0
X-From4GNATS: "stranche@free.fr via gnats" <gnats-admin@NetBSD.org>

>Number:         60043
>Category:       kern
>Synopsis:       ACPI suspend does not work properly with ps/2 keyboard and track-pad
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Feb 27 11:20:00 +0000 2026
>Last-Modified:  Fri Mar 06 11:20:01 +0000 2026
>Originator:     Stephane Tranchemer
>Release:        11.0-rc1
>Organization:
-
>Environment:
>Description:
On a Thinkpad X270.

When configuring /etc/powerd/scripts/lid_switch like indicated in https://www.netbsd.org/docs/guide/en/chap-power.html#chap-power-ex-powerd-lid_switch, closing the lid makes the system go to sleep, but have difficulties to get back on re-opening.

When closing the lid everything looks fine, the LED goes to sleep after a few seconds.
Reopening the lid, you are greeted by a fixed cursor on a black screen for like a minute.
When at last your Desktop is back, the laptop track-pad and keyboard are unresponsive.

The system is indeed back from sleep, you can regain control of it by plugin in a USB mouse and keyboard.
However the track-pad and keyboard are basically dead.

That allowed me to get the console log:

> [ 212.905639] acpi0: entering state S3
> [ 212.935639] Flushing disk caches: 4 done
> [ 213.485685] iwm0: autoconfiguration error: Unable to init nic
> [ 214.875638] ioapic0 reenabling [ 219.154878] nvme0: for admin queue interrupting at msix3 vec 0
> [ 219.174874] nvme0: for io queue 1 interrupting at msix3 vec 1 affinity to cpu0
> [ 219.174874] nvme0: for io queue 2 interrupting at msix3 vec 2 affinity to cpu1
> [ 219.174874] nvme0: for io queue 3 interrupting at msix3 vec 3 affinity to cpu2
> [ 219.174874] nvme0: for io queue 4 interrupting at msix3 vec 4 affinity to cpu3
> [ 269.174933] ubt0: detached
> [ 269.174933] ubt0: at uhub1 port 7 (addr 4) disconnected
> [ 269.654934] ubt0 at uhub1 port 7
> [ 269.654934] ubt0: Intel (0x8087) product 0a2b (0x0a2b), rev 2.00/0.10, addr 5
> [ 270.244935] pckbport: command timeout
> [ 272.294936] pckbport: command timeout
> [ 282.984946] autoconfiguration error: pms_enable: command error 35

So the culprit here is the PS/2 driver that connects the track-pad and keyboard, is there a way to detach it so we can put in the lid-close script to do so before going to sleep, then re-attach when waking-up? 

Tried the following trick to no avail:
drvctl -Q pckbcN        # keyboard controller
drvctl -Q pckbdN        # PC keyboard
drvctl -Q pmsN          # PS/2 mouse


Also, after wake-up the system can show some kind of freezes, typing in a terminal a command like ifconfig takes a few seconds to complete.

Related output of drvctl -lt
[...]
acpi0
  pckbc1
    pckbd0
     wskbd0
    pms0
     wsmouse0






>How-To-Repeat:
-Configure /etc/powerd/scripts/lid_switch like indicated in https://www.netbsd.org/docs/guide/en/chap-power.html#chap-power-ex-powerd-lid_switch
-Close the laptop lid
-Wait a few seconds for it to go to sleep
-Re-open the lid
>Fix:

>Audit-Trail:
From: Ramiro Aceves <ea1abz@gmail.com>
To: gnats-bugs@netbsd.org, kern-bug-people@netbsd.org,
 gnats-admin@netbsd.org, netbsd-bugs@netbsd.org
Cc: 
Subject: Re: kern/60043: ACPI suspend does not work properly with ps/2
 keyboard and track-pad
Date: Fri, 27 Feb 2026 13:34:19 +0100

 Hi,

 I sounds similar to my posting:

 https://mail-index.netbsd.org/netbsd-users/2025/07/14/msg032855.html

 Regards.


From: stephane Tranchemer <stranche@free.fr>
To: gnats-bugs@netbsd.org, kern-bug-people@netbsd.org,
 gnats-admin@netbsd.org, netbsd-bugs@netbsd.org
Cc: 
Subject: Re: kern/60043: ACPI suspend does not work properly with ps/2
 keyboard and track-pad
Date: Fri, 27 Feb 2026 21:46:22 +0900

 That's interesting, for your Thinkpad x260 you actually have the problem the other way around...

 Your integrated ps/2 keyboard (and mouse/track-pad?) still works fine but you lost the USB you plugged in.

 What version of NetBSD are you running?
 I had my results on 11.0-RC1, with 10.1 it even refused to go to s3 suspend.

From: stephane Tranchemer <stranche@free.fr>
To: gnats-bugs@netbsd.org,
 stephane Tranchemer via gnats <gnats-admin@NetBSD.org>,
 kern-bug-people@netbsd.org, netbsd-bugs@netbsd.org
Cc: 
Subject: Re: kern/60043: ACPI suspend does not work properly with ps/2
 keyboard and track-pad
Date: Sat, 28 Feb 2026 14:12:07 +0900

 This is a multi-part message in MIME format.
 --------------i058w1jy77jBK7ZXV09eAxWo
 Content-Type: text/plain; charset=UTF-8; format=flowed
 Content-Transfer-Encoding: 8bit

 I found something interesting...

 Googling you find some articles or blogs a bit older that states things 
 about |PMS_DISABLE_POWERHOOK| option.

 This options in the NetBSD kernel is a configuration option used to 
 modify how the PS/2 mouse driver (|pms(4)|) handles power management 
 events, specifically preventing reset of the touch-pad or mouse upon 
 resuming from suspend.

 Unsure if it can help our case, I wanted to try.
 To do so you need to compile a personalized kernel.

 So I took the steps, removing the comment to the /options 
 PMS_DISABLE_POWERHOOK/ line and ran config.
 And here's what I get...

 > MYKERNEL:438: warning: obsolete option `PMS_DISABLE_POWERHOOK' will be 
 > ignored
 >
 Well... that's interesting, so no way to try and test some alternative 
 solution.

 If I read and understand correctly all I could gather,
 -this option is now obsolete, does it mean the kernel code has been 
 modified enough so that it just (supposedly) work?
 -if so, doesn't our issue shows that the reset of ps/2 bus and all 
 that's connected to it upon resuming from suspend actually doesn't work?

 There may be something else at play, like the need to add a few more 
 commands to //etc/powerd/scripts/lid_switch/.

 Is there anyone that can help? Do not hesitate to ask for logs, outputs 
 or anything that could help.

 --------------i058w1jy77jBK7ZXV09eAxWo
 Content-Type: text/html; charset=UTF-8
 Content-Transfer-Encoding: 8bit

 <!DOCTYPE html>
 <html>
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
   </head>
   <body>
     I found something interesting...<br>
     <p>Googling you find some articles or blogs a bit older that states
       things about PMS_DISABLE_POWERHOOK
       option.</p>
     <p>This options in the NetBSD kernel is a configuration option used
       to modify how the PS/2 mouse driver (<code dir="ltr"
         class="o8j0Mc" data-processed="true">pms(4)) handles
       power management events, specifically preventing reset of the
       touch-pad or mouse upon resuming from suspend.</p>
     <p>Unsure if it can help our case, I wanted to try.<br>
       To do so you need to compile a personalized kernel.</p>
     <p>So I took the steps, removing the comment to the options
         PMS_DISABLE_POWERHOOK line and ran config.<br>
       And here's what I get...</p>
     <p>
       <blockquote type="cite">
         <p>MYKERNEL:438: warning: obsolete option
           `PMS_DISABLE_POWERHOOK' will be ignored</p>
       </blockquote>
     </p>
     <p>Well... that's interesting, so no way to try and test some
       alternative solution.</p>
     <p>If I read and understand correctly all I could gather,<br>
       -this option is now obsolete, does it mean the kernel code has
       been modified enough so that it just (supposedly) work?<br>
       -if so, doesn't our issue shows that the reset of ps/2 bus and all
       that's connected to it upon resuming from suspend actually doesn't
       work?</p>
     <p>There may be something else at play, like the need to add a few
       more commands to /etc/powerd/scripts/lid_switch.</p>
     <p>Is there anyone that can help? Do not hesitate to ask for logs,
       outputs or anything that could help.</p>
   </body>
 </html>

 --------------i058w1jy77jBK7ZXV09eAxWo--

From: stephane Tranchemer <stranche@free.fr>
To: gnats-bugs@netbsd.org, ea1abz@gmail.com
Cc: 
Subject: Re: kern/60043: ACPI suspend does not work properly with ps/2
 keyboard and track-pad
Date: Sun, 1 Mar 2026 16:59:59 +0900

 > I sounds similar to my posting:
 > https://mail-index.netbsd.org/netbsd-users/2025/07/14/msg032855.html
 Hello Ramiro, forgot to ask,

 Regarding your /etc/powerd/scripts/lid_switch file or the commands you 
 use to make your Thinkpad X260 go to S3 suspend, do you just use this as 
 you posted? :

  > # sysctl -w hw.acpi.sleep.state=3


From: "David H. Gutteridge" <david@gutteridge.ca>
To: Gnats Bugs <gnats-bugs@netbsd.org>
Cc: 
Subject: Re: kern/60043: ACPI suspend does not work properly with ps/2
 keyboard and track-pad
Date: Sun, 01 Mar 2026 14:19:19 -0500

 >  Regarding your /etc/powerd/scripts/lid_switch file or the commands you
 >  use to make your Thinkpad X260 go to S3 suspend, do you just use this 
 > as
 >  you posted? :

 > > # sysctl -w hw.acpi.sleep.state=3

 Yes, that's the current means to do this. It's documented here:

 https://www.netbsd.org/docs/guide/en/chap-power.html#chap-power-acpi-sleep-states

 Regards,

 Dave

From: stephane Tranchemer <stranche@free.fr>
To: gnats-bugs@netbsd.org, kern-bug-people@netbsd.org,
 gnats-admin@netbsd.org, netbsd-bugs@netbsd.org, david@gutteridge.ca
Cc: 
Subject: Re: kern/60043: ACPI suspend does not work properly with ps/2
 keyboard and track-pad
Date: Mon, 2 Mar 2026 20:56:49 +0900

 Hi Dave,

 Out of a doubt I tried to do a fresh reinstall of version 10.1 and 
 11.0-RC1 to try and see.

 I installed without X11 to get a minimum of possible noise, then edited 
 /etc/powerd/scripts/lid_switch exactly as in 
 https://www.netbsd.org/docs/guide/en/chap-power.html#chap-power-ex-powerd-lid_switch

 On 10.1:
 Doesn't go to sleep with the following on console:
  > Devices without power management support: ihidev0
  > acpi0: autoconfiguration error: aborting suspend

 On 11.0-RC1
 Does go to sleep but is unable to recover the mouse (track-pad) and 
 keyboard on waking up with the following on console:
  > pckbport: command timeout

 Plug in a USB keyboard works though.

From: stephane Tranchemer <stranche@free.fr>
To: gnats-bugs@netbsd.org, kern-bug-people@netbsd.org,
 gnats-admin@netbsd.org, netbsd-bugs@netbsd.org
Cc: 
Subject: Re: kern/60043: ACPI suspend does not work properly with ps/2
 keyboard and track-pad
Date: Fri, 6 Mar 2026 20:15:23 +0900

 Did try the just released 11.0-RC2, just in case.
 Same behavior than with 11.0-RC1.

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.51 2026/08/10 02:28:17 riastradh Exp $
$NetBSD: gnats_config.sh,v 1.10 2026/05/13 22:00:09 riastradh Exp $
Copyright © 1994-2026 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.