|
|
Krister's Blog
krister at hallergard dot com
| Last Updated:
2023-03-23 Prev version
|
IOMMU in BIOS and commandline iommu=pt
for Kubuntu 20.10 with kernel 5.19.0-23
IOMMU Disabled in BIOS
For 6 years I was happily using iommu=soft as kernel commandline parameter on all Linux systems on my multi-boot PC
(motherboard Gigabyte GA-970A-DS3p with AMD chipset). The IOMMU was set to disabled in the BIOS.
In October 2022 I upgraded to Kubuntu 22.10. The boot process gave the message shown to the right. The USB2 devices Logitec Mouse and Keyboard combo and the Microsoft LifeCam would not work. This happened with the new kernel 5.19.0-23-generic. But the USB3 ports did work.
But booting with the old kernel 5.15.0-52-generic (inherited from 22.04) on the same partition showed no problems: both USB2 and USB3 ports worked.
|
Error message while booting - USB2
|
None of the other Linux distros on the same PC had any problems with the USB2 or the USB3 ports. I updated the BIOS firmware from version
FC to FD, which did not resolve the problem. And I could not find any commandline parameter to get Kubuntu's USB2 ports to function with the new kernel 5.19.0-23-generic.
IOMMU Enabled in BIOS
So I decided to change BIOS to IOMMU enabled!
Booting Kubuntu 22.10 with the new kernel 5.19.0-23-generic and IOMMU enabled in BIOS, instead gave problems with the USB3 ports
not working (the USB2 ports did work). The boot process gave the message shown to the right. This happened with or without iommu=soft
on the kernel commandline.
After testing a few other parameters I finally found that iommu=pt works.
|
Error message while booting - USB3
|
As I would not want to have to keep changing in BIOS, I wanted to be able to use IOMMU enabled in BIOS for all my Linux systems.
openSUSE 15.3 & 15.4: To get both USB2 and USB3 to work either iommu=soft or iommu=pt can be entered on the kernel command line. Note that these kernels are older: 5.3.18-150300-59.106-default and 5.14.21-150400.24-46-default.
Kubuntu 22.04 & 22.10: With the older kernels 5.15.0-67-generic and 5.15.0-52-generic either iommu=soft or iommu=pt can be used
for getting both USB2 and USB3 ports working. For the newer kernel 5.19.0-23-generic, the parameter iommu=pt has to be used.
Fedora 36 & 37: Here iommu=pt is required on the commandline to the USB2 and USB3 ports to work. Note that these kernels are newer: 6.1.18-100.fc36.x86_64 and 6.1-18-200.fc37.x86_64.
|