3

I've an error that doesn't let me start the system. I've in that SSD a Windows 8 and Debian 8, and in my HDD other Windows 7 and Ubuntu 14.04 (I was migrating my SO's to the SSD when this error appears).

[    0.000000] Calgary: detecting Calgary via BIOS EBDA area
[    0.000000] Calgary: Unable to locate Rio Grande table in EBDA - bailing!

*snip*

[    0.000000] WARNING: CPU: 0 PID: 0 at /build/linux-ELRFVQ/linux-3.16.7-ckt11/drivers/iommu/dmar.c:760 warn_invalid_dmar+0x7a/0x8a()
[    0.000000] Your BIOS is broken; DMAR reported at address fed90000 returns all ones!
BIOS vendor: American Megatrends Inc.; Ver: 1302   ; Product Version: System Version
[    0.000000] Modules linked in:
[    0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 3.16.0-4-amd64 #1 Debian 3.16.7-ckt11-1+deb8u3
[    0.000000] Hardware name: System manufacturer System Product Name/P7H55-M, BIOS 1302    04/25/2011
[    0.000000]  ffffffff81016785 ffffffff8150b3a5 ffffffff81803e80 ffffffff81067767
[    0.000000]  ffffffff81af301c ffffffff81803ed0 00000000fed90000 0000000000000000
[    0.000000]  ffffffff81803fb0 ffffffff81067814 ffffffff8176edb0 ffffffff00000030
[    0.000000] Call Trace:
[    0.000000]  [<ffffffff81016785>] ? show_stack+0x5/0x50
[    0.000000]  [<ffffffff8150b3a5>] ? dump_stack+0x41/0x51
[    0.000000]  [<ffffffff81067767>] ? warn_slowpath_common+0x77/0x90
[    0.000000]  [<ffffffff81067814>] ? warn_slowpath_fmt_taint+0x44/0x50
[    0.000000]  [<ffffffff8192f4fa>] ? __early_ioremap+0x167/0x1fa
[    0.000000]  [<ffffffff8192f736>] ? early_ioremap+0xf/0x10
[    0.000000]  [<ffffffff81340ee9>] ? acpi_tb_acquire_table+0x39/0x66
[    0.000000]  [<ffffffff8150c3b3>] ? warn_invalid_dmar+0x7a/0x8a
[    0.000000]  [<ffffffff819499d6>] ? detect_intel_iommu+0xe3/0x16a
[    0.000000]  [<ffffffff8190bdd3>] ? pci_iommu_alloc+0x46/0x67
[    0.000000]  [<ffffffff8191b0d5>] ? mem_init+0x11/0x92
[    0.000000]  [<ffffffff81902e1a>] ? start_kernel+0x23b/0x49d
[    0.000000]  [<ffffffff81902a04>] ? set_init_arg+0x4e/0x4e
[    0.000000]  [<ffffffff81902120>] ? early_idt_handlers+0x120/0x120
[    0.000000]  [<ffffffff8190271f>] ? x86_64_start_kernel+0x14d/0x15c

Here's a pastebin with all the syslog. I can start Windows 7, 8 and Ubuntu 14.04 but when I try to start Debian this is what I get.


When I try to start GUI with startx this is what says:

[   98.627889] nvidia 0000:01:00.0: irq 48 for MSI/MSI-X
[  100.211135] traps: x-session-manag[534] trap int3 ip:7f3258e78d30 sp:7ffef7745cf0 error:0

Pastebin with Xorg.0.log output.

10
  • related askubuntu.com/a/413392 Sep 15, 2015 at 18:15
  • @FranciscoTapia I've seen that post, but I have a 64 bit SO, I have 4GB of RAM and I have VT-d enabled.
    – aSoler
    Sep 15, 2015 at 18:35
  • Have you ensured you're using the latest available BIOS for your motherboard? Sep 15, 2015 at 18:47
  • Have you tried to flash the current firmware even if you are running the current version.
    – Ramhound
    Sep 15, 2015 at 18:55
  • @Ƭᴇcʜιᴇ007 Yes, version 1302.
    – aSoler
    Sep 15, 2015 at 18:57

2 Answers 2

2

Every modern system uses a MMU for mapping virtual memory to physical memory. More recent hardware also has this capability on other hardware (e.g on a graphics card). This is then called an IO-MMU.

(See http://www.cyberciti.biz/tips/wp-content/uploads/2007/09/mmu-vs-iommu-memory.png for a graphic which is worth a thousand words)

In your case you have a Nvidia card which has an io-MMU on-board, but which is either not properly initiased at boot, or which does not work with the driver in your Debian installation.

That leads to four solutions:

  1. Fix the firmware. (Either on the graphics card or on the motherboard (aka BIOS/UEFI).
  2. Work around it in the driver.
  3. Work around it by booting an OS which properly sets it and leaves it in a partial configured state during warm reboots.
  4. Do not use this broken feature.

The latter is something you can easily do in software. Depending on how it is broken, try to disable VT-d (in the BIOS firmware), or via kernal parameters.

To set kernel parameter, see this link https://www.kernel.org/doc/Documentation/kernel-parameters.txt.

I think that the option you want is iommu=off or soft.

If you want to build a kernel without IOMMU support, then check your .config file for these values and 'play around with them' to find which option works for you.

CONFIG_GART_IOMMU=y
CONFIG_CALGARY_IOMMU=y
CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y
CONFIG_AMD_IOMMU=y
CONFIG_AMD_IOMMU_STATS=y
CONFIG_IOMMU_HELPER=y
CONFIG_IOMMU_API=y
CONFIG_IOMMU_DEBUG
5
  • I just try to set iommu=off and disable VT-d and now It doesn't load root or terminal. The fact is that everything works good in Ubuntu, and they should use the same package, right? edit: I edited the grub config from Ubuntu and now it says kernel panic - not syncing.
    – aSoler
    Sep 17, 2015 at 17:01
  • Ubuntu might ship with a different kernel configuration. Can you compare its configuration with the one for Ubuntu? (Easiest might be to boot Ubunto and zcat /proc/config.gz).
    – Hennes
    Sep 17, 2015 at 17:09
  • I've not a /proc/config.gz file. In my Ubuntu's /etc/default/grub I've GRUB_CMDLINE_LINUX_DEFAULT="quiet splash", should I try with this in Debian? Now in Debian doesn't work the keyboard.
    – aSoler
    Sep 17, 2015 at 17:17
  • You can try, but I doubt it will changes anything. Not having a /proc/config.gz, you could look in /boot/ to see if there are any config files.
    – Hennes
    Sep 17, 2015 at 17:27
  • Yes, abi-3.13...-generic (diferent versions), config-3.13..-generic (same), grub folder (with grub.cfg) and more like the first two that starts with initrd, System.map, vmlinuz, and memtest86+.bin memtest86+.elf and memtest86+_multiboot.bin
    – aSoler
    Sep 17, 2015 at 17:34
1

The BIOS was already the latest version, but I re-flashed it and now everything works good.

UPDATE

The problem come one more time.

4
  • Thanks for closing the loop on your question. Are there any details you can add to your answer on what you did that might be helpful to others with a similar problem?
    – fixer1234
    Sep 15, 2015 at 20:45
  • @fixer1234 I just reinstall the BIOS's driver and It worked. Everything I tried didn't change anything. I think it's all I can say.
    – aSoler
    Sep 16, 2015 at 7:14
  • A reflash might have changed some settings. I did you try a 'reset to defaults' before flashing? If not then that might be enough for people with similar problems.
    – Hennes
    Sep 16, 2015 at 16:22
  • @Hennes last night I tried to start Debian and the problem returned. Later I'll check... I'm confused.
    – aSoler
    Sep 17, 2015 at 7:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.