¿Por qué mi syslog me dice que mi BIOS no funciona?

¿Por qué mi syslog me dice que mi BIOS no funciona?

Encontré esto en mi archivo syslog, ¿qué puedo hacer para solucionarlo? ¿O incluso vale la pena arreglarlo?

Todo parece estar funcionando correctamente. Ejecutando 3.12.9-031209-genérico.

WARNING: CPU: 0 PID: 0 at /home/apw/COD/linux/drivers/iommu/dmar.c:488 warn_invalid_dmar+0x8f/0xa0()
Your BIOS is broken; DMAR reported at address 0!
BIOS vendor: American Megatrends Inc.; Ver: F5; Product Version: To be filled by O.E.M.
Modules linked in:
CPU: 0 PID: 0 Comm: swapper Not tainted 3.12.9-031209-generic #201401251255
Hardware name: Gigabyte Technology Co., Ltd. Z87MX-D3H/Z87MX-D3H-CF, BIOS F5 08/02/2013
00000000000001e8 ffffffff81c01d98 ffffffff817433c6 00000000000017e0
ffffffff81c01de8 ffffffff81c01dd8 ffffffff810678ac ffffffff81c01e28
ffffffff81fd201c ffffffff81fd2058 ffffffff81dda2e0 ffff88022f5aad00
Call Trace:
[<ffffffff817433c6>] dump_stack+0x46/0x58
[<ffffffff810678ac>] warn_slowpath_common+0x8c/0xc0
[<ffffffff8106793f>] warn_slowpath_fmt_taint+0x3f/0x50
[<ffffffff8172dfbb>] ? acpi_os_map_memory+0x27/0x150
[<ffffffff816124af>] warn_invalid_dmar+0x8f/0xa0
[<ffffffff81d84944>] check_zero_address+0x57/0xf7
[<ffffffff81d849fb>] detect_intel_iommu+0x17/0xb8
[<ffffffff81d3a0db>] pci_iommu_alloc+0x44/0x6e
[<ffffffff81d49a5c>] mem_init+0x11/0xa2
[<ffffffff81d2fcfa>] start_kernel+0x1de/0x41e
[<ffffffff81d2f9ae>] ? do_early_param+0x87/0x87
[<ffffffff81d2f120>] ? early_idt_handlers+0x120/0x120
[<ffffffff81d2f5e8>] x86_64_start_reservations+0x2a/0x2c
[<ffffffff81d2f6f2>] x86_64_start_kernel+0x108/0x117
---[ end trace 11d0aeb7d970f0a3 ]---

Respuesta1

La mejor fuente que encontré que explica esto es de Redhat. No es específico de Ubuntu, sino que está relacionado con el kernel (todos lo compartimos) y su hardware que devuelve información incorrecta al kernel.

Cambie Redhat por Ubuntu en el texto copiado del enlace y tenga en cuenta los 3 puntos (tal vez pueda usarlos para evitar esto):


Los sistemas no arrancan, el USB no funciona, el adaptador de red no funciona (o posiblemente otros síntomas) debido a un manejo imperfecto de las BIOS con un manejo IOMMU defectuoso

Algunos fabricantes envían sistemas con una BIOS cuyo manejo del hardware IOMMU es incorrecto. Se supone que el BIOS le indica al sistema operativo en qué parte de la memoria debe encontrar el hardware IOMMU, pero algunos BIOS no lo hacen correctamente y proporcionan una ubicación basura o una ubicación que es válida pero que en realidad no es donde se encuentra el dispositivo. El kernel intenta manejar estos casos, pero algunos aún no fueron manejados completamente en la versión del kernel de Fedora 12. Si tiene un sistema afectado por este problema, el síntoma más común es que el subsistema USB no funcionará (ningún periférico USB funcionará), pero otros síntomas incluyen sistemas que no arrancan por completo y adaptadores de red que no funcionan.

Actualmente se sabe que algunos sistemas están potencialmente afectados por este problema. Para todos ellos, excepto la estación de trabajo HP xw4600 y la Dell Precision M6400, todas las condiciones siguientes deben cumplirse antes de que se produzca el error:

  • Debes estar usando la edición de 32 bits de Fedora 12.
  • No debes tener memoria más allá del área de direcciones de 4 GB (en la práctica, esto significa que debes tener alrededor de 2,5 GB de RAM física o menos)
  • Las funciones de virtualización (VT-d) deben estar deshabilitadas en el BIOS

Si alguno de los anteriores no es el caso, no debería encontrar este problema. Si cree que puede estar sufriendo este problema, busque un mensaje de registro del kernel que incluya algo similar a:

Your BIOS is broken; DMAR reported at address fed10000 returns all ones!

o:

Your BIOS is broken; DMAR reported at address zero!

Tenga en cuenta que si está utilizando un sistema con un BIOS dañado, el mensaje del kernel siempre aparecerá, incluso si el kernel maneja su caso correctamente o si ha solucionado el problema con éxito. Así que no se preocupe si seguirá viendo el mensaje una vez que haya solucionado el problema.

Hay varias formas de solucionar este problema. En la mayoría de los casos (ver arriba), sería suficiente instalar la edición de 64 bits de Fedora 12. Si su BIOS tiene una opción para ello, habilitar las funciones de virtualización en el BIOS también debería solucionar este problema. Finalmente, puede solucionar este problema agregando el parámetro del kernel iommu=soft a su configuración de arranque.

Se ha lanzado un paquete de kernel actualizado para solucionar este problema. Actualice su sistema como de costumbre para recibir esta actualización, si aún no la tiene. Obviamente, si se ve afectado por el problema, necesitará utilizar una de las soluciones anteriores para primero llevar su sistema a un estado desde el cual pueda instalar un kernel fijo.

información relacionada