3

what does this mean and how do I correct it?

# cat /var/log/messages | grep -a 'lid'
Mar 22 00:36:00 debian kernel: [ 1039.517767] ACPI: button: The lid device is not compliant to SW_LID.

System:

# uname -a
Linux debian 4.19.0-8-amd64 #1 SMP Debian 4.19.98-1 (2020-01-26) x86_64 GNU/Linux

1 Answer 1

2

This message comes from drivers/acpi/button.c which is a part of ACPI_BUTTON module in the Linux kernel.
For example, under linux-source-4.19/drivers/acpi/button.c after line 171 you can find it:

194 /* Complain the buggy firmware */
195 pr_warn_once("The lid device is not compliant to SW_LID.\n");

As you can see this message is printed when the buggy firmware is detected. The comment carries on:

196 /*
197  * Send the unreliable complement switch event:
.    *
.    * On most platforms, the lid device is reliable. However
.    * there are exceptions:
.    * 1. Platforms returning initial lid state as "close" by
.    *    default after booting/resuming:
.    *     https://bugzilla.kernel.org/show_bug.cgi?id=89211
.    *     https://bugzilla.kernel.org/show_bug.cgi?id=106151
.    * 2. Platforms never reporting "open" events:
.    *     https://bugzilla.kernel.org/show_bug.cgi?id=106941
.    * On these buggy platforms, the usage model of the ACPI
.    * lid device actually is:
.    * 1. The initial returning value of _LID may not be
.    *    reliable.
.    * 2. The open event may not be reliable.
.    * 3. The close event is reliable.
.    *
.    * But SW_LID is typed as input switch event, the input
.    * layer checks if the event is redundant. Hence if the
.    * state is not switched, the userspace cannot see this
.    * platform triggered reliable event. By inserting a
.    * complement switch event, it then is guaranteed that the
.    * platform triggered reliable one can always be seen by
.    * the userspace.
222  */

How to fix it - it's just a diagnostic message, if everything works fine for you, you can ignore it. In case something doesn't work you should visit the links posted above and search for possible solutions for the particular hardware you have or try to upgrade your computer's firmware which unluckily may not be always possible from Linux.

8
  • thanks for the hints! I have some questions still. should I have a file drivers/acpi/button.c in my machine? find can't show it..
    – scjorge
    Mar 22, 2020 at 13:26
  • I don't use Debian but you might have Linux source code in /usr/src/linux-$(uname -r) and if you don't you may have to install linux-source package. Mar 22, 2020 at 13:44
  • hhmm.... do I need the acpi-package?
    – scjorge
    Mar 22, 2020 at 13:58
  • Why? Does it contain Linux source code? google.com/search?q=debian+linux+source+package Mar 22, 2020 at 13:59
  • 1
    I use Slackware. Mar 22, 2020 at 14:48

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .