NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/42051: lid switch works only once

The following reply was made to PR kern/42051; it has been noted by GNATS.

From: Makoto Fujiwara <>
Subject: Re: kern/42051: lid switch works only once
Date: Mon, 09 Mar 2015 14:16:26 +0900

 I sent the very much similar PR, which is  closed (duplication).
 ( And I did further testing, too.)
 | - suspending the machine by setting machdep.sleep_state=3
 |   from command line does not break lid switch. After suspending,
 |   and resuming, the lid switch works, but only once again.
 As is written in following URL,
 I'm observing differrently.
    sysctl -w hw.acpi.sleep.state=3
 is the point not to sleep by lid_close.
 @ lid_sw
   1. Stop powerd (see /etc/defaults/rc.conf, powerd may be "YES" by following
         if /sbin/sysctl -q hw.acpi.root; then
      To disable powerd on boot, you need to say following in /etc/rc.conf
         powerd= NO
   2. Build kernel with following debug print:
      Index: sys/dev/acpi/acpi_lid.c
      RCS file: /cvs/cvsroot/src/sys/dev/acpi/acpi_lid.c,v
      retrieving revision 1.43
      diff -u -r1.43 acpi_lid.c
      --- sys/dev/acpi/acpi_lid.c     16 Feb 2011 08:35:51 -0000      1.43
      +++ sys/dev/acpi/acpi_lid.c     8 Mar 2015 13:52:53 -0000
      @@ -158,7 +158,7 @@
              static const int handler = OSL_NOTIFY_HANDLER;
              device_t dv = context;
      +       aprint_normal("notify 0x%02X\n", notify);
              switch (notify) {
              case ACPI_NOTIFY_LID:
   3. above line is any times active whenever open and close lid.
      (Assuming powerd is not running).
   4. Then start powerd.
      It will get sleep only once.
      Another open/close lid won't give item 2 debug print anymore.
 @ powerd or script
  powerd invokes /etc/powerd/scripts/lid_switch
  Let me decide which is harmfull, powerd itself or script invoked.
  Try disabling sleep line in script. just not to issue following line
  (Have # char in the beginning the line)
    #       sysctl -w hw.acpi.sleep.state=3
  Then repeating lid open/close anytimes. Every time you do you may have
  following print out:
  (If kernel is configured with 'options ACPI_DEBUG')
  $dhcpd is not enabled - see rc.conf(5).
  Use the following if you wish to perform the operation:
    /etc/rc.d/dhcpd onestart
  err: /etc/powerd/scripts/lid_switch exited with status 1dispatch_dev_power: even
  t type 0
  <?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "
  <plist version="1.0">
  running script: /etc/powerd/scripts/lid_switch acpilid0 released
  wsconsctl: WSDISPLAYIO_PARAM_BACKLIGHT: Inappropriate ioctl for device
 @ sysctl -w is the point of problem
   1. reboot
   2. make sure powerd is not running
   3. issue following command
        sysctl -w hw.acpi.sleep.state=3
   4. run powerd
   5. close lid
  This procedure won't give sleep. Step 3. above is the harmful point.
  Last Update: Mon, 09 Mar 2015 04:51:47 GMT

Home | Main Index | Thread Index | Old Index