
что это значит и как это исправить?
# 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.
Система:
# uname -a
Linux debian 4.19.0-8-amd64 #1 SMP Debian 4.19.98-1 (2020-01-26) x86_64 GNU/Linux
решение1
Это сообщение приходит из модуля drivers/acpi/button.c
, который является частью
ACPI_BUTTON
ядра Linux.
Например, под linux-source-4.19/drivers/acpi/button.c
строкой after 171
вы можете найти его:
194 /* Complain the buggy firmware */
195 pr_warn_once("The lid device is not compliant to SW_LID.\n");
Как вы видите, это сообщение печатается, когдаглючная прошивкаобнаружен. Комментарий продолжается:
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 */
Как это исправить - это просто диагностическое сообщение, если у вас все работает нормально, вы можете его проигнорировать. В случае, если что-то не работает, вам следует посетить ссылки, размещенные выше, и поискать возможные решения для вашего конкретного оборудования или попытаться обновить прошивку вашего компьютера, что, к сожалению, не всегда возможно из Linux.