ACPI Error: Una tontería de GNU/Linux que me ha vuelto loco

A mi vuelta del verano, al cambiar la placa con mi hija, observé que tanto su Ubuntu, cómo mi Debian daban al arrancar unos, para mi, crípticos mensajes de “ACPI Error …”.

Los errores no parecían tener mayor importancia, ya que el sistema funcionaba correctamente, pero a mí me molesta mucho ver errores en el equipo y no saber de donde vienen, así que que he ido investigando a ratos y cuento lo hecho para mi memoria y por si a alguno le sirve.

Identificar el error.

Lo primero fue registrar el error algo que al ser una serie de mensajes en el arranque del sistema me resultaba difícil, pero GNU/Linux  sé que tiene recursos para todo y gracias a ello pude en encontrar la forma de resolverlo.

Comando dmesg.

Buscando por ahí vi este comando y recurriendo MAN pude leer esto:

NAME
 dmesg - print or control the kernel ring buffer

SYNOPSIS
 dmesg [options]

dmesg --clear
 dmesg --read-clear [options]
 dmesg --console-level level
 dmesg --console-on
 dmesg --console-off

DESCRIPTION
 dmesg is used to examine or control the kernel ring buffer.

The default action is to display all messages from the kernel ring buffer.

Así que dicho y hecho después de ver algunas salidas ininteligibles por su longitud consigo esto:

$ sudo dmesg | grep ACPI | grep -i error

[ 1.737417] ACPI Error: [DSSP] Namespace lookup failure, AE_NOT_FOUND (20160831/psargs-359)
[ 1.737693] ACPI Error: Method parse/execution failed [\_SB.PCI0.SAT0.SPT1._GTF] (Node ffff9fc3960c07a8), AE_NOT_FOUND (20160831/psparse-543)
[ 1.738094] ACPI Error: [DSSP] Namespace lookup failure, AE_NOT_FOUND (20160831/psargs-359)
[ 1.738418] ACPI Error: Method parse/execution failed [\_SB.PCI0.SAT0.SPT2._GTF] (Node ffff9fc3960c06e0), AE_NOT_FOUND (20160831/psparse-543)
[ 1.738814] ACPI Error: [DSSP] Namespace lookup failure, AE_NOT_FOUND (20160831/psargs-359)
[ 1.739081] ACPI Error: Method parse/execution failed [\_SB.PCI0.SAT0.SPT0._GTF] (Node ffff9fc3960c0898), AE_NOT_FOUND (20160831/psparse-543)
[ 1.740221] ACPI Error: [DSSP] Namespace lookup failure, AE_NOT_FOUND (20160831/psargs-359)
[ 1.740504] ACPI Error: Method parse/execution failed [\_SB.PCI0.SAT0.SPT1._GTF] (Node ffff9fc3960c07a8), AE_NOT_FOUND (20160831/psparse-543)
[ 1.740917] ACPI Error: [DSSP]
[ 1.741098] ACPI Error: Method parse/execution failed [\_SB.PCI0.SAT0.SPT2._GTF] (Node ffff9fc3960c06e0), AE_NOT_FOUND (20160831/psparse-543)
[ 1.741734] ACPI Error: [DSSP] Namespace lookup failure, AE_NOT_FOUND (20160831/psargs-359)
[ 1.742032] ACPI Error: Method parse/execution failed [\_SB.PCI0.SAT0.SPT0._GTF] (Node ffff9fc3960c0898), AE_NOT_FOUND (20160831/psparse-543)

Ya lo tengo localizado.

Que significa ACPI.

Cómo estoy un poco oxidado lo siguiente fue recordar que es eso de la ACPI, paso muy sencillo en la Web:

ACPI es el acrónimo inglés de “Advanced Configuration and Power Interface” (Interfaz Avanzada de Configuración y Energía). Es un estándar resultado de la actualización de APM a nivel de hardware, que controla el funcionamiento del BIOS y proporciona mecanismos avanzados para la gestión y ahorro de la energía.

En que consiste el error.

Es imposible que os cuente todo lo que he tenido que leer, en especial en la listas de Debian y la wiki de Arch, para entenderlo, pero al final el resumen al que he llegado es este, y, por favor, si hay alguna confusión en ello os ruego lo indiquéis en los comentarios.

Cómo se indica en el punto anterior ACPI es un estandar, al cual se ajusta de manera estricta el kernel Linux en especial desde su versión 4.9.

Los fabricantes de placas y procesadores – en mi caso Intel y Asus – sólo se preocupan de comprobar el buen funcionamiento de este estándar con Winkk, por lo que desde la citada versión de Linux el error es común, desconozco si también con otras placas o procesadores AMD, ya que el kernel no es capaz de interpretar adecuadamente lo recibido de la BIOS.

Buscar la solución.

Llegados a este punto se me presentaban dos alternativas:

  1. Pasar del problema
  2. Intentar arreglarlo

Lo siento, soy cabezota 😉 y la primera aunque no la di por urgente me parecía la obvia, no soy de los que si algo esta mal lo dejan por que no pasa nada, creo que lo correcto es que si algo esta mal se corrija.

Parámetros del Kernel.

Rebuscando por ahí llegue a encontrar está pagina que hace referencia a los parámetros del kernel de Linux pero esto era algo que me superaba.

acpi=off.

Gracias a una pista del grupo de Telegram de Debian  parecía que este parámetro podría resolver el problema pero las pruebas realizadas, daban cómo resultado que, aunque efectivamente resolvía los errore, la suspensión y el apagado del equipo dejan de funcionar correctamente.

libata.noacpi=1.

Por último, consultada la lista de Debian, Rafael Ruiz Gozález, al que agradezco infinito su aportación me sugirió este otro parámetro, que es el que finalmente ha resuelto el problema.

La solución.

Lo primero que ha tocado averiguar es como poner esos parámetros en la carga del kernel, lo que para las prueba hacía siguiendo estos pasos:

  • Pulsar “e” en el arranque del grub
  • Incluir en la línea “linux /boot/vmlinuz-4.9.0-3-amd64 … quiet” el parámetro indicado

Lo último ha sido incluirlo de forma definitiva, para lo que tenía que tocar la citada línea en el archivo /etc/grub/grub.cfg que por desgracia incluye en su inicio este bonito texto 🙁 :

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

La solución al final ha sido:

sudo nano /etc/default/grub

En el fichero editado añadir el texto en azul:

GRUB_CMDLINE_LINUX_DEFAULT="quiet libata.noacpi=1"

He quitado el quiet para ver mejor los mensajes de arranque, ahora aparecen todos preciosos con Ok. en verde ;).

Por último para generar el citado /boot/grub/grub.cfg

sudo update-grub

Eso es todo y espero no haberos aburrido ni haber dicho ninguna barbaridad.

!Nos vemos pronto¡ 😉

41 pensamientos en “ACPI Error: Una tontería de GNU/Linux que me ha vuelto loco

  1. Perdona amigo Quijote, pero ya he encontrado la respuesta, te lo digo para no hacerte perder tiempo en responder, simplemente le he puesto # delante del quiet y lo dejo como comentario yahora si que se ven todos los mensajes. Por cierto bootea rapidisimo y mira que tengo instaladas cosas. Gracias por tu atención , me encanta tu página

    • Gracias por tus halagos y me alegro hayas podido resolver tu problema.
      Siento no haber respondido con anteriorida, pero en estos momentos estoy muy lejos de poder centrarme en el Blog por distintos problemas.
      Gracias otra vez y un saludo.

  2. Hola . Bueno mi pregunta no se refiere al error de ACPI, es simplemente que hecho de menos que se impriman por pantalla los procesos del boot, una vez eliges el SO con el que vas a iniciar en el grub. Segun he entendido se trata de sustituir el “quiet”, pero en mi caso , que no es para arreglar lo del ACPI, ¿que parametro tendria que escribir? Mi SO es debian 9 Stretch x64 Stable y mi nombre es Jose Luis, aunque mi nick en internet es absenta99. Gracias

    • Lo primero de todo disculpa el retraso en responderte y después simplemente gracias por tu comentario y me alegro te haya servido.
      Además lo importante siempre es que lo que leemos seamos capaces de adaptarlo a nuestras necesidades, así que, ¡bien por ti!
      Un saludo

  3. no entendí muy bien el paso de pulsar la tecla “e” en el grub, que debo hacer allí, ya hice todo lo que dice después de “La solución al final ha sido:” ya no sale el error, pero salen muchas mas cosas que antes tengo kali linux 2018.1 lo tengo con la ultima actualización

    • Lo de pulsar la tecla “e” es simplemente una opción en la pantalla de grub que permite cambiar los parámetros del kernel de forma puntual. Te puede servir para probar.
      En cuanto a todo lo que sale, si te molesta basta con no quitar la palabra quiet.
      Espero haberte ayudado. Un saludo y gracias por pasarte.

  4. Gracias, llevaba un mes dándole vueltas y no encontraba mas que la recomendación de actualizar la bios (cosa no factible por la antigüedad del equipo) o ignorar el error. Estoy de acuerdo que no es la mas elegante de las soluciones pero es mas elegante que ver el dichoso error cada vez que enciendes.

    Gracias.

    • No hay por que darlas, me alegro te haya servido y estoy de acuerdo contigo en que ver el erro una y otra vez es un gran fastidio.
      Lástima que los fabricantes de procesadores y a la Fundación Linux los usuarios sólo les interesen cómo clientes.
      Un saludo y gracias por comentar.

  5. En debian 9 me da el mismo mensaje de error que publicas en este post, así que me da que pensar que es un fallo del propio debian independientemente de la máquina que uno disponga.

    El problema lo he solucionado gracias a ti pero ahora en el arranque veo un error del tipo “failed” en letras rojas, pero aparece tan rápido que no me da tiempo a leer.

    He intentado con el comando dmesg localizar el “failed” pero no se muestra. Hay alguna forma humana de pausar el arranque para que me de tiempo a leer el mensaje que falla.

    Gracias.

  6. Hola, lor primero de todo me gustaría saber quien ha sido el inconsciente que te ha recomendado mi blog 😉
    Yo sólo soy un aprendiz y este problema me costó un par de meses de leer mucho en la web para llegar a algo.
    Cómo he dicho en alguna respuesta el problema no se soluciona, ya que, a mi entender, es un fallo de diseño de los procesadores, pero es posible te desaparezca.
    Sient no poder ayudarte mucho más, pero en cualquier caso gracias por tu confianza.
    Un saludo.

  7. Hola ¿como estas? desde otro blog me recomendaron el tuyo.

    Mira mis errores:
    ACPI Error: [AFN7] Namespace lookup failure, AE_NOT_FOUND (20170831/psargs-364)
    ACPI Error: Method parse/execution failed _SB.PCI0.VGA.LCD._BCM, AE_NOT_FOUND (20170831/psparse-550)
    ACPI Error: Evaluating _BCM failed (20170831/video-364)

    ¿Desactivando se soluciona? yo ya lo tengo en BIOS legacy y arranque normal, me dijeron que el arranque rápido también traía problemas. También tengo errores de Btrfs, en todo pero mas que nada luego de salir de suspensión, habiendo activando la hibernación y suspensión híbrida, aún asi, no hiberna.

    Saludos y gracias 😉

  8. Buenas, al hacer este cambio si corres lspci un par de veces no se te congela todo? Lo he probado con Ubuntu 17.10 en un Dell XPS 15 9560 y al principio arregla este problema de mensajes de error, pero como comentan en la wiki de Arch cuando ejecutas lspci en terminal la CPU se congela.

    https://wiki.archlinux.org/index.php/Dell_XPS_15_9560#PCIe_Bus_Error_in_system_logs

    Asique vuelvo a mi configuración anterior:

    GRUB_CMDLINE_LINUX_DEFAULT=”acpi_rev_override=1″

    Gracias igualmente!

  9. Hola, estuve con este “problema” varios meses con Kde Neon, gracias por este gran aporte amigo se agradece un montón.
    Para los que usan Refind (UEFI), deben modificar el archivo /boot/refind_linux.conf, y en la linea “Boot with standard options” agregan lo mencionado anteriormente al lado de quiet.
    Saludos y nuevamente, gracias

  10. Hola, gracias por tu interés en solucionar este error y compartirlo, que al parecer es común porque en el mio lo tiene y trataré de solucionarlo por fin….saludos

  11. Ostras, llevo desde hace un año que elegí Debian como sistema operativo teniendo errores aleatorios al suspender el sistema. No había manera de encontrar la solución. Como esto lo solucione te voy a estar agradecido eternamente.

    Hace poco me he propuesto aprender a usar emacs de una vez por todas, a ver si a través del blog consigo hincarle el diente definitivamente. Me alegra mucho haber encontrado un blog en castellano centrado en lo mismo que me apasiona a mi. Da gusto leer de vez en cuando guías y opiniones que no estén en inglés.

    Un saludo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.