Erros / exceções da ACPI, por que eles enviam spam, como saber e corrigi-lo?

8

Eu tenho esses erros poluir meu dmesg:

[21720.400079] ACPI Error: [\_TZ_.THRM] Namespace lookup failure, AE_NOT_FOUND (20130328/psargs-359)
[21720.400093] ACPI Error: Method parse/execution failed [\_GPE._L1C] (Node f584ec80), AE_NOT_FOUND (20130328/psparse-537)
[21720.400112] ACPI Exception: AE_NOT_FOUND, while evaluating GPE method [_L1C] (20130328/evgpe-580)
[21960.800116] ACPI Error: [\_TZ_.THRM] Namespace lookup failure, AE_NOT_FOUND (20130328/psargs-359)
[21960.800130] ACPI Error: Method parse/execution failed [\_GPE._L1C] (Node f584ec80), AE_NOT_FOUND (20130328/psparse-537)
[21960.800149] ACPI Exception: AE_NOT_FOUND, while evaluating GPE method [_L1C] (20130328/evgpe-580)

Isso acontece infinitamente. Tentei cada palavra-chave e não encontrei nada relevante remotamente. Isso acontece em cada distribuição que tento. Como faço para diagnosticar as origens da mensagem?

Além de poluir o anel da mensagem, não encontrei nenhum outro problema relacionado a isso.

Braiam
fonte
Eu tenho o mesmo problema. No meu caso, acho que é devido à minha placa sem fio. Eu tenho um rtl8188eemotorista de acordo com lspci -k, e você?
auraham
@auraham nada parecido, meu sistema é um desktop. Sem fio. Um HP Pavilion a1104x, se você estiver curioso.
Braiam
Eu tenho esse mesmo problema. No meu caso, ele realmente afetou negativamente meu sistema, porque inchado minha pasta / var / log a um ponto em que minha partição raiz está completamente preenchida.
Aaron Franke
Bug relatado para os devs do kernel aqui: bugzilla.kernel.org/show_bug.cgi?id=188331
Aaron Franke

Respostas:

4

Esses avisos são acionados devido a erros de firmware. Tente uma versão mais recente do BIOS que, esperançosamente, corrija esses erros. Se você não tiver acesso ao BIOS mais recente, tente substituir o DSDT / SSDT por tabelas que substituam / removam o código defeituoso.

Não parece ser prejudicial, talvez seja uma verificação térmica / de saúde do acelerador invocada a cada 240 segundos (4 minutos).

Quanto aos detalhes técnicos, essas mensagens são originárias do núcleo da ACPI. Os \_GPE._Lxxmétodos são interrupções acionadas por nível, se bem me lembro e são acionadas pelo hardware (não pelo Linux). Aparentemente, esse método específico tenta avaliar algum método ou objeto no \_TZ.THRMqual falhou porque esse escopo da ACPI não existe.

Lekensteyn
fonte
O BIOS é atualizado com a versão mais recente do OEM ... e "substituir" parece perigoso, devo usar este guia ? Além disso, se eu mudar, o DSDT / SSDT deve apenas solucionar o problema ou existe algum método para fazê-lo fazer o que deveria fazer? Além disso, parece que eu deveria reconstruir meu kernel ...
Braiam
@Braiam Essa página parece bem no geral, mas sugiro não substituir todo o DSDT / SSDT, a menos que seja absolutamente necessário (no seu caso, é apenas um aviso irritante). Além de substituir o DSDT / SSDT completo, você também pode usar o custom_methodmódulo do kernel para substituir um único método ACPI. Você pode usar isso para criar um \_TZ.THRMnó fictício (com os filhos esperados) ou substituir \_GPE._L1Cpara remover a chamada. No entanto, não edite simplesmente as coisas sem entender o que está acontecendo. Pode ter efeitos colaterais negativos (como desativar a energia ou a aceleração térmica para dar um exemplo extra).
Lekensteyn