Trying to breathe some extra life into my computer now that we’re past the windows 10 EoL and I’m trying to install Mint
So far everything seems to be working fine except that some of my USB ports don’t seem to be working.
They work in Windows, they work in the BIOS but once I’m up and running in with some of them just stop.
My motherboard is a gigabyte ga-990fxa-u3 (Rev 4.0) running the latest bios version
It has some USB 3.0 ports, and some 2.0, I’m not home right now to double check but I believe it’s the 2. ports that aren’t working.
I played around with Linux a little bit well over a decade ago but I’m essentially a total Linux noob
Anyone got any thoughts about what’s going on with these ports or how to fix it?
EDIT: I got it working, after a bit of fiddling with every just about every setting in the BIOS here’s what worked for me, reading your comments, and a lot of googling, I found this solution courtesy of a guy named David A. Jayne in the reviews of the Amazon page for the motherboard
OK, so here are the step-by-step instructions if you need them:
*** Step 1: Updating the BIOS settings ***
- Reboot your computer, and press the “Delete” key (not to be confused with backspace) when the Gigabyte logo shows on your monitor to enter the BIOS settings. This can flash by pretty quickly, so sometimes it’s easier to just repeatedly press delete while the computer restarts until the BIOS settings page shows (see attached screenshot).
- Use the right arrow key to move over to the “Peripherals” tab.
- Use the down arrow key to highlight “IOMMU Controller” near the bottom. Press enter, and a box will pop up allowing you to select “Enabled” or “Disabled”. Use the up or down arrow keys to highlight “Enabled” and press enter. Your screen should now look exactly like the screenshot I have provided, the “IOMMU Controller” option showing that it is enabled.
- Press the F10 key to save and exit.
Your computer will now reboot. If you have not yet been able to install Linux (and you probably haven’t, if you have a USB mouse and keyboard) do so now. Don’t plug your mouse or keyboard into any blue USB ports, as these are USB 3.0 ports and will not yet work. Once Linux has installed (or if it was already installed) boot your computer into Linux and proceed to Step 2.
*** Step 2: Editing /etc/default/grub ***
- Once you see your Linux desktop, open a command prompt from the start menu. This is usually prominently featured on the start menu, looking like a little black monitor screen. It may be under “Accessories” and will probably be labeled “Terminal”.
- At the command prompt, enter the following exactly: sudo nano /etc/default/grub
- You will be prompted to enter your password. Please do so. A simple-to-use text editor (nano) will open, and you should see a fair amount of text inside. If the file is empty, press ctrl-x to exit and Google search for instructions for your particular distro.
- There is probably already a line that says GRUB_CMDLINE_LINUX=“”, and you will just need to add “iommu=soft” between the quotes. Use the arrow keys to position the cursor between the quotes and add the appropriate text until the line looks exactly like the following: GRUB_CMDLINE_LINUX=“iommu=soft”
If there is no similar line already there, you may add it anywhere in the file. If there is a pound sign (#) at the beginning of the line, it will need to be deleted.
- Once the GRUB_CMDLINE_LINUX line has been edited, press ctrl-o to save it, and then ctrl-x to exit nano.
- You need to enter one more command to finalize the new configuration, but it varies by distribution.
If you are on a Debian-based distribution (Debian, Ubuntu, Mint…), enter this command in the terminal window: sudo update-grub
If you are on a Red Hat based distribution (RHEL, Fedora, CentOS, Mandriva…), enter this command in the terminal window: sudo grub2-mkconfig --output=/boot/grub2/grub.cfg
Some information will print in the terminal window. If it says there were errors, go back to the beginning of Step 2 and try to figure out what you did wrong.
*** Step 3: Reboot your computer ***
- There should be a prominent option on your start menu to shutdown or reboot your computer. You should usually use this, however, if you want to be fancy. you can enter “sudo shutdown -r now” in the terminal window to reboot.
Once you are rebooted, Linux should now be able to access the USB 3.0 ports and will boot much faster as well.
I did find that after that the 3.0 ports still didn’t work, but thanks to @your_paranoid_neighbour@lemmy.dbzer0.com I still had one more thing to try and instead of “iommu=soft”, I tried “iommu=pt” and that did the trick.
Thank you all for your help in figuring this out!
And if anyone wants to explain what any of that all means, I’d love to hear it, because I have no clue.


I had this problem specifically dealing with the way that IOMMU maps devices conflicting with a really old USB root hub. I had to set something like intel_iommu=off for my case.
Would you be willing to share the output of your dmesg ?
My google-fu definitely seems to be pointing to it being a IOMMU issue.
Not currently home with the computer, I’ll play with a couple settings when I get in and if it doesn’t get me anywhere I’ll definitely share that output
Sounds good! Basically, the problem I had boiled down to a super old driver no kernel dev wants to touch with a ten foot pole and they’re just kinda hoping it’ll die a death to irrelevancy, but there are a few systems out there that do still use it.
The rest of the design moved on to more advanced architecture.