USB ports are not working with some Gigabyte motherboards with AMD chipsets
a couple users reported having issues with USB with Tails on recent Gigabyte motherboards ("Gigabyte GA-970A-DS3P FX (2.1)" and "Gigabyte AM3+ AMD 970", not sure they are the same).
people are not able to log in as the mouse and keyboard are plugged in the USB ports, unless they turn on a iommu option in the BIOS, and add the following boot parameters:
- Category set to Hardware support
- Assignee changed from intrigeri to goupille
- QA Check set to Info Needed
- Type of work changed from Research to End-user documentation
Just one question before I document this on our Known Issues page: do these users boot from a USB stick?
- Subject changed from Usb ports are not working with Gigabyte AMD 970 motherboards to Usb ports are not working with some Gigabyte motherboards with AMD chipsets
- Assignee changed from intrigeri to sajolida
- QA Check deleted (
I've been doing some online research and there are lots of people who have similar issues. Lots of workarounds may or may not work, I'll stick to the simplest ones.
This goes a bit beyond my tech writing abilities to I'll sum up the input data I think I tech writers may need.
Symptoms: the computer boots from the Tails USB stick but during system startup, USB support is broken/disabled ⇒ USB devices such as mouse/keyboard don't work anymore once the user reaches the Greeter.
Affected hardware: some motherboards with an AMD chipset. I'm not sure it's worth listing those we have on this ticket as examples.
Workarounds one may try:
- try other USB ports (USB 2.0 if previously using USB 3.x, and vice versa)
- enable these 3 options in the BIOS: "xHCI handoff", "EHCI handoff", "IOMMU controller"; if that's enough, great; if that's not enough, also add the
amd_iommu=on iommu=ptstartup options
- disable IOMMU in the BIOS then enable it again
Drawbacks: some of these workarounds may break a subset of the computer's USB ports (e.g. all USB 2.0 or 3.x ports).
- Status changed from Confirmed to Needs Validation
- Assignee changed from sajolida to intrigeri
- Target version set to Tails_3.15
- Feature Branch set to web/16679-usb-broken-on-gigabytes
Here is a branch.
I didn't feel like it was a good investment to write more precise "if ... else ..." logic in the workarounds: I expect the people going that far as editing the BIOS will try anything possible anyway :)