Thursday, March 28, 2013

Gigabyte GA-970A-DS3 and Ubuntu

So I've upgraded to the Gigabyte GA-970A-DS3 Rev 3.0 motherboard. Finally, I've got 8GB RAM, more than twice my previous memory total (2.5GB).

By all rights, the upgrade should have proceeded smoothly. Unfortunately, there's a little snag that I failed to research beforehand: USB support is a bit quirky on this motherboard.

There's a pretty recent forum post on this exact problem. Who'd have thought something as common as USB support could cause problems? I guess you really can't take anything for granted in the Linux world.

Boot into Ubuntu, and you'll soon find out that USB doesn't work at all with this board. I use USB keyboard/mouse so you can imagine the trouble when you can't even tell Ubuntu to shutdown properly. Fortunately, a simple press of the power button and 60 seconds later the machine is properly shutdown.

After numerous attempts at fixing this, it turns out you simply need to enable IOMMU support in the UEFI BIOS. For some reason, IOMMU is disabled by default on this motherboard. Enable it and Ubuntu starts working with the USB as you'd expect.

The process of attempting to workaround this bug also created a different problem but that's a tale for another day.


  1. Thanks. I struggled with this for a few hours before coming across your post. I know you're an ubuntu user, but in Gentoo, users compile their own kernels. You not only need to enable IOMMU in the BIOS but turn on CONFIG_IOMMU_SUPPORT=y in the kernel.

    Interestingly enough, Windows 7 works either way. I'm sure it makes a difference since the addresses in the memory mapped IO must change, but maybe their drivers/kernel recognizes this and adjusts?

    1. Glad this helped :-)

      Yes most probably. Windows does tend to have better support from the manufacturers. It could also be some weird bug in the kernel.

  2. Thank you so much for your tip ! I spend 6 hours last night trying to fix my ethernet connection...
    Your tip make me fix usb and eth0 in 5 minutes !!!
    Thank you, thank you