Driver Errors with Ubuntu 22.04 and 24.04 New Installation or Kernel 6.8 (or Later) Upgrade
- Updated2025-07-30
- 3 minute(s) read
Driver Errors with Ubuntu 22.04 and 24.04 New Installation or Kernel 6.8 (or Later) Upgrade
When setting up or replicating an existing Ubuntu 22.04 or 24.04 system, runtime failure messages may occur.
Symptoms
Because this scenario affects overall driver function, drivers may return various error messages, including messages about internal errors or hardware failure. For example:
The device could not be calibrated.
Status Code: -50152
A hardware failure has occurred. The operation could note be completed as specified.
Affected Distributions and Kernels
This issue has been reproduced on the following systems:
- Ubuntu 22.04.04 HWE (kernel 6.8.0-40-generic)
- Ubuntu 24.04.01 (kernel 6.8.0-40-generic)
You can check the kernel version using the command: uname -r
Confirming the Problem
Use one of the following two methods to identify whether the PC has this issue.
- Look for PTE Read access is not set kernel messages in the system journal:
- Open a new Terminal window.
- Enter the following command:
journalctl -k | grep -i NO_PASID
- Look for journal entries similar to this example:
Sep 09 14:00:10 my_test_machine kernel: DMAR: [DMA Read NO_PASID] Request device [03:00.0] fault addr 0x1166b8000 [fault reason 0x06] PTE Read access is not set - Correlate the timestamp to a previous failure.
To check if similar errors occurred before the last restart, enter the following command instead:
journalctl | grep -i NO_PASID
- Look for a kernel message specifying that the IOMMU default domain type is set
to Translated:
- Open a new Terminal window.
- Enter the command:
journalctl -k | grep -i IOMMU
- Look for journal entries similar to this example:
[ 0.262686] iommu: Default domain type: Translated
Solution
The recommended solution is to configure the IOMMU default domain type to Passthrough mode using the following steps.
The following procedure does not include steps for creating a copy of the GRUB configuration file. Create a backup copy of the existing configuration file before you modify the configuration. Read the complete process before you begin.
- Edit the GRUB configuration file:
- Open a Terminal window.
- At the Command Prompt, enter the following command to open the file in
the VI editor:
sudo vi /etc/default/grub
- Enter the user password if prompted.
- Move the cursor to the line specifying the variable.
GRUB_CMDLINE_LINUX_DEFAULT
- Press the <i> key to put the VI editor into insert mode.
- Add the command “ iommu=pt”.
For example: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash iommu=pt"
Note Do not modify or delete the existing variable definition text. Add the command at the position shown in the preceding example. - Press the <Esc> key to return the VI editor to command mode.
- Save the GRUB configuration file and exit the VI editor using the command :wq
- In the Terminal window, enter the following command to regenerate the GRUB
configuration file:
sudo update-grub
- Restart the system.
- Verify that the GRUB configuration has been properly updated and that the IOMMU
default domain type is configured to pass-through mode.
- Open a new Terminal window.
- Enter the command:
journalctl -k | grep -i IOMMU
- Look for journal entries similar to this example:
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-6.8.0-41-generic root=UUID=d27287cc-623b-4c29-93ec-23a5eb00177a ro quiet splash iommu=pt vt.handoff=7 ... [ 0.261029] iommu: Default domain type: Passthrough (set via kernel command line)
Related Information
- NI Supported Operating Systems Roadmap
- NI Hardware and Software Operating System Compatibility
- NI Linux Device Drivers 2025 Q2 Known Issues
- NI Linux Device Drivers 2025 Q1 Known Issues
- NI Linux Device Drivers 2024 Q3 Known Issues
- NI Linux Device Drivers 2024 Q1 Known Issues
- NI Linux Device Drivers 2023 Q4 Known Issues
- NI Linux Device Drivers 2023 Q3 Known Issues