NI Linux Device Drivers 2023 Q3 Known Issues

Overview

This document contains the NI Linux Device Drivers known issues that were discovered before and since the release of NI Linux Device Drivers 2023 Q3. Known issues are performance issues or technical bugs that NI has acknowledged exist within this version of the product.

 

Not every issue known to NI appears on this list; it is intended to show the most severe and common issues that you may encounter and provide workarounds when possible. Other technical issues that you may encounter could occur through normal product use or system compatibility issues. You may find more information on these issues in NI’s Product Documentation, Knowledgebase, or Community; see Additional Resources.

Bug Number

Legacy ID

Description

Details

1448861, 1482726, 1482726

System Crashes When NI Drivers Exceed the Default Max for iNotify Instances

When running code that initializes NI drivers, the system crashes. This may be because the NI drivers have requested more than the 128 iNotify instances that the default Linux kernel allows. The likelihood of encountering this issue increases as the number of installed drivers increases.

Workaround:

Increase the iNotify limit from the default 128 to a larger number, such as 12288.

You can increase the iNotify limit permanently through the following:
  1. Add      
    fs.inotify.max_user_instances=<Upper Limit> to /etc/sysctl.conf 
  2. Run      
    sysctl -p 
    to reload the limit
     

  3. Run      
    sysctl -a | grep fs.inotify.max_user_instances 
    to see that the new limit is set.


Or you can increase the iNotify limit after every restart with this command:

sudo sysctl -w fs.inotify.max_user_instances=<Upper Limit>
Note: <Upper Limit> can be any large number such as 12288.

Reported Version:

NI Linux Device Drivers 2021 Q3

Resolved Version:

N/A

Added:

Aug 10, 2021

1724713

NI Linux Device Drivers do not Support Sleep or Hibernate

NI device drivers may crash a Linux system if the system tries to sleep or hibernate while devices are in use.

Workaround:

There is no known workaround.

Reported Version:

NI Linux Device Drivers 2019

Resolved Version:

N/A

Added:

Nov 11, 2021

1210589, 2256290

DMA is not working with NI Drivers on IOMMU-enabled systems

When attempting to do DMA with an NI driver on a Linux system, memory access is restricted and the driver doesn't function. The kernel may report an error such as:
DMAR: [DMA Read NO_PASID] Request device [06:00.0] fault addr 0xb8441000 [fault reason 0x06] PTE Read access is not set


Workaround:

Disable IOMMU control from the Linux kernel bootup parameters with whichever of these applies to the system:
iommu=off 
intel_iommu=off
amd_iommu=off

Reported Version:

NI Linux Device Drivers 2020

Resolved Version:

N/A

Added:

Feb 21, 2023

2338904, 2371610

NI Driver software fails to install on Linux kernel 5.16 or later with "stdbool.h: No such file or directory"

When installing certain NI drivers onto a Linux system using kernel version 5.16 or later, the installation fails at the "dkms autoinstall" step with an error such as:
Error! Bad return status for module build on kernel: 5.19.0-32-generic (x86_64)
Consult /var/lib/dkms/xxxxx/xxx/build/make.log for more information.

And the make.log file shows:
stdbool.h: No such file or directory

As of the 2023Q3 release, this affects the following drivers:
NI-Sync

Workaround:

After running
sudo apt install <ni-driver> 

(or equivalent yum or zypper command)


Edit the /usr/src/{driver}-{version}/Kbuild (or /usr/src/ni-sync-pxi6683-{version}/src/Makefile) file and add the following under the existing EXTRA_CFLAGS lines:
EXTRA_CFLAGS += -isystem $(shell $(CC) -print-file-name=include)


Then rerun
sudo apt install <ni-driver> 

(or equivalent yum or zypper command)

Reported Version:

NI Linux Device Drivers 2022 Q4 | NI-488.2 2022 Q4 | NI-Sync 2023 Q1

Resolved Version:

N/A

Added:

Apr 27, 2023

2407595, 2410935

Linux PC restarts after reprogramming the FPGA on a PXI device

When reprogramming the FPGA of some models FlexRIO, or other user-programmable FPGA cards with a custom bitfile, the system crashes. When the system restarts, the FPGA appears to have the intended FPGA on it.

This is known to occur on non-PXI host PCs running Linux that have a MXIe connection to a PXI chassis where the FPGA card is located. It stems from differences in how the host PC OS and BIOS treat the PCI bus interruption that occurs when certain customizable FPGA cards load a new bit file. The new bit file will successfully load, however it will cause a system crash.

If a given hardware configuration is affected (Host PC, MXIe card, PXI chassis, and PXI slot), the crash will occur every time a new bit file is downloaded.

Workaround:

There is no known universal workaround because there are many factors involved in how the system treats PCI interrupts. However, if the BIOS has an option to enable "PCIe Hotplug and PCIe ACPI Hot Plug" that is likely to solve the problem. In addition, changing any of the configuration can make a difference including the Host PC model, MXIe model, PXI chassis model, and FPGA card slot number.

Reported Version:

NI Linux Device Drivers 2021 Q3

Resolved Version:

N/A

Added:

Jul 21, 2023

174745 698926

62XX Family DAQmx Devices Are Unrecognized in Ubuntu Linux

There are few issues with NI-DAQmx co-existing with COMEDI, where the COMEDI supported devices cannot be claimed by DAQmx.
This is because they are already claimed by COMEDI before NI-PAL completely loads. This will cause a problem with device enumeration, especially in Ubuntu, because COMEDI is a default part of the Ubuntu kernel.

To determine if your hardware is bound to another driver:
1. Identify the hardware that does not function with DAQmx. (eg. run 'nilsdev' -- all device bounded to DAQmx should be listed)
2. Identify the <device-id> of your hardware. (eg. run 'lspci')
3. Identify driver associated with your hardware (eg. run 'find /sys/bus/pci/drivers/ | grep <device-id>). If your particular DAQmx device is showing up with ‘lspci’ but not ‘nilsdev’, then this command will show you which other driver is claiming the device.

Workaround:

Manually bind/unbind hardware. 
  1. Find the PID of the device you want DAQmx to bind with (eg. run 'lspci') 
  2. Search for the appropriate NI “driver” by looking for the file that contains that PID in /etc/nipal/devinit.d/*.inf (because PAL uses the INF names to register the drivers with the OS). 
  3. After boot, run “echo <device-id> > /sys/bus/pci/drivers/<non-daqmx-driver-name>/unbind 
  4. Run “echo <device-id> > /sys/bus/pci/drivers/<daqmx-driver-name>/bind 
Note: This is not a persistent bind. The binding is reset on a system reboot. 

Reported Version:

NI Linux Device Drivers 2023 Q3

Resolved Version:

N/A

Added:

Aug 8, 2023

Final Time Issue Listed

Issues found in this section will not be listed in future known issues documents for this product.

There are currently no issues to list.

Additional Resources

Explore Support Content and Product Documentation 

 

 

Ask the NI Community

 

 

Request Support from an Engineer

 

A valid service agreement may be required, and support options vary by country

 

Glossary of Terms

 

  • Bug ID - When an issue is reported to NI, you may be given this ID or find it on ni.com.  You may also find IDs posted by NI on the discussion forums or in KnowledgeBase articles.
  • Legacy ID – An older issue ID that refers to the same issue.  You may instead find this issue ID in older known issues documents.
  • Description - A few sentences which describe the problem. The brief description given does not necessarily describe the problem in full detail.
  • Workaround - Possible ways to work around the problem.
  • Reported Version - The earliest version in which the issue was reported.
  • Resolved Version - Version in which the issue was resolved or was no longer applicable. "N/A" indicates that the issue has not been resolved.
  • Date Added - The date the issue was added to the document (not the reported date).