「キャップデバイスがSW_LIDに準拠していません」とはどういう意味ですか?意味は?

「キャップデバイスがSW_LIDに準拠していません」とはどういう意味ですか?意味は?

これは何を意味し、どのように修正しますか?

# 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.cLinuxカーネルのモジュールの一部から来ます。たとえば、次の行の下にあります。ACPI_BUTTON
linux-source-4.19/drivers/acpi/button.c171

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では常に可能ではないかもしれません。

関連情報