Solution
This issue is caused by incompatibilities between legacy PXI (PCI‑based) instruments and newer Linux security and virtualization mechanisms, including:
- IOMMU
- DMA Protection
- VT‑d (Intel Virtualization for Directed I/O)
- Modern kernel DMA handling
PXI‑5922 is a legacy PXI (PCI) device, not PXIe. While PXIe modules are generally more tolerant of modern security features, legacy PXI devices can fail when these mechanisms are active, especially on newer Linux kernels.
This is not specific to NI hardware, but rather a platform‑level limitation of PCI technology interacting with modern OS security features. To solve the issue, you can refer to the workarounds below:
1. Test Kernel IOMMU Settings by editing the GRUB configuration file:
sudo nano /etc/default/grub
Test the following kernel parameters one at a time:
- Option A: Passthrough (Recommended First Test)
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash iommu=pt"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash iommu=off"
Note:
- intel_iommu=off alone may not be sufficient
- iommu=off disables IOMMU globally and has shown better chassis detection in some cases
Apply Changes:
sudo update-grub
sudo reboot
After reboot, verify with:
dmesg | grep -Ei "DMAR|DMA|IOMMU"
2. BIOS Configuration Checks (Critical)
If kernel changes are insufficient, check BIOS / UEFI settings. Naming varies by vendor.
Test these settings incrementally, rebooting between changes:
| BIOS Setting | Recommendation |
|
Intel VT‑d
| Disable |
| Intel VT‑x | Optional disable |
| Intel Trusted Execution Technology (TXT) | Optional disable |
| DMA Protection / Kernel DMA Protection | Disable |
|
Fast Boot
| Disable |
Important observations from testing:
- Disabling VT‑d or DMA Protection may cause the PXI‑1090 chassis to disappear
- Some systems force DMA Protection off when VT‑d is disabled
- The goal is to find a combination where:
- Chassis is visible
- PXI‑5922 passes self‑test
3. Collect Diagnostic Logs
If the issue persists, collect and review:
lspci -v
lspci -vv
lspci -vvv
dmesg | grep -Ei "DMAR|DMA|IOMMU"
journalctl -k | grep -i IOMMU
These logs help determine whether the failure is due to:
- DMA remapping errors
- IOMMU faults
- PCI bridge / MXI issues
4. Additional Mitigation Steps
- Test with different PXI/PXIe modules, if available, to narrow scope
- Move PXI‑5922 to another valid slot (if system allows)
- Verify Thunderbolt settings (security level, authorization)
- Test with an older kernel version (for example, Linux kernel 6.5) if supported