Linux Users

cancel
Showing results for 
Search instead for 
Did you mean: 

Problem with NI-RIO Driver for Linux

Thanks for the help Michael with this problem. We decided to contact NI support to find a solution for this, but they unfortunately simply decided that they do not support third-party PCI-thunderbolt devices (even though this particular one works with another computer...). 

 

Here is the answer from support:

"Just wanted to update you that we have a very clear resolution and your exact behavior has been reported a number of times. There is a major issue with the communication between the Thunderbolt chipset of NI-devices and third-party PCI-Thunderbolt devices. There is no guarantee that it will work and there is no support for it because it is a third-party device. Whenever using a built-in Thunderbolt device we fully support it but in the case of having a third party hardware in the loop we don't. I want to be very clear and transparent with you so the procedure is as follows: If our device works with any integrated built-in Thunderbolt devices then there is simply nothing else to do. If your device were to have an issue with the laptop, we would investigate it and solve it as soon as possible but in our case it works with the integrated device. "

 

Again, even though we didn't manage to resolve this issue, thanks for taking the time to help us. I suppose we will just order a new computer. 

0 Kudos
Message 21 of 28
(1,338 Views)

Unfortunately I'll have to wake this thread again. We are facing this issue again when running the code in docker. We have installed nirseriesstc3k for the correct kernel and can find the module with dkms status and receive no errors with modprobe nirseriesstc3k. lspci -v shows the device and shows that it utilizes nirseriesstc3k kernel. HOWEVER, lsni -v gives error

libnipalu.so failed to initialize

Verify that nipalk.ko is built and loaded

Aborted (core dumped)

 

and when I try to connect to the fpga with NiFpga_MergeStatus, I receive error code -52006 which means "A required resource was not found. The NiFpga.* library, the RIO resource, or some other resource may be missing." The same code works when running outside of docker. The docker container is ran with privileged rights. Moreover, the same code works in Docker when using a different chassis that is connected with a NI PCIe-8361 card instead of a Thunderbolt card.

0 Kudos
Message 22 of 28
(1,306 Views)

Does lsmod | grep nipalk show the nipalk module loaded?  Does systemctl status nipal show the nipal service loaded & running?

0 Kudos
Message 23 of 28
(1,299 Views)

@GabeJ wrote:

Does lsmod | grep nipalk show the nipalk module loaded?  Does systemctl status nipal show the nipal service loaded & running?


Thanks for the reply! I'm working on this problem together with alqio.

 

Here's the output of those commands when run outside Docker:

 

username@computer-Precision-5820-Tower:~$ lsmod | grep nipalk
nipalk 1241088 11 nimdbgk,nimru2k,niorbk,nipxirmk,nimxdfk,nidimk
nikal 143360 7 nimdbgk,nimru2k,niorbk,nipxirmk,nimxdfk,nidimk,nipalk
username@computer-Precision-5820-Tower:~$ systemctl status nipal
● nipal.service - LSB: NI Core Driver Services
Loaded: loaded (/etc/init.d/nipal; generated)
Active: active (running) since Fri 2022-10-21 19:38:51 EEST; 4min 43s ago
Docs: man:systemd-sysv-generator(8)
Process: 1009 ExecStart=/etc/init.d/nipal start (code=exited, status=0/SUCCESS)
Tasks: 2 (limit: 38067)
Memory: 5.6M
CGroup: /system.slice/nipal.service
├─1260 /bin/bash /usr/sbin/nipalps /dev/nipalk /var/lib/nipal/nipalps.bin
└─1263 cat /dev/nipalk

loka 21 19:38:51 computer-Precision-5820-Tower systemd[1]: Starting LSB: NI Core Driver Services...
loka 21 19:38:51 computer-Precision-5820-Tower systemd[1]: Started LSB: NI Core Driver Services.

 

When running the commands inside the Docker container, we get the following output:

root@0714582d1f1b:/# lsmod | grep nipalk
nipalk 1241088 11 nimdbgk,nimru2k,niorbk,nipxirmk,nimxdfk,nidimk
nikal 143360 7 nimdbgk,nimru2k,niorbk,nipxirmk,nimxdfk,nidimk,nipalk
root@0714582d1f1b:/# systemctl status nipal
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down

0 Kudos
Message 24 of 28
(1,279 Views)

Does the lsni command fail outside of Docker, or just inside Docker?

0 Kudos
Message 25 of 28
(1,269 Views)

Just inside Docker. Here's the output when running it outside Docker:

username@computer-Precision-5820-Tower ~> lsni -v
Scanning localhost for devices...

System Configuration API Experts found:
NI-DAQmx 22.5 (daqmx)
NI Device Interconnect Manager 22.5.0 (nidim)
NI-CONTROLLER 22.5 (ni-controller)
NI Network Browser 22.5 (network)
NI MX Routing Utility 22.5.0 (nimru)
NI-MXI 22.5 (ni-mxi)
NI PXI Platform Services 22.5 (ni-pxi)
NI-QPXI 22.5 (ni-qpxi)
NI-RIO 22.5.0 (ni-rio)
NI System Configuration 22.5 (nisyscfg)
NI-RTSI 22.5 (rtsi)

System Configuration API resources found:
computer-Precision-5820-Tower
--Primary Expert: NI System Configuration 22.5
--Model Name: Precision 5820 Tower

Ethernet Adapter br-4bb2d20aff3f
--Primary Expert: NI System Configuration 22.5

Ethernet Adapter docker0
--Primary Expert: NI System Configuration 22.5

Ethernet Adapter eno1
--Primary Expert: NI System Configuration 22.5

Ethernet Adapter veth8631526
--Primary Expert: NI System Configuration 22.5

0 Kudos
Message 26 of 28
(1,265 Views)

I don't know enough about Docker to do more than speculate about why it is failing.  The nipalu shared object can fail to load due to a number of different problems.  It looks like the container prevents access to something that it needs, but it's not clear what that is.  Maybe you can use strace to get some idea of what the command is doing when it fails?

0 Kudos
Message 27 of 28
(1,246 Views)

@okahilak wrote:

@GabeJ wrote:

Does lsmod | grep nipalk show the nipalk module loaded?  Does systemctl status nipal show the nipal service loaded & running?


When running the commands inside the Docker container, we get the following output:

root@0714582d1f1b:/# lsmod | grep nipalk
nipalk 1241088 11 nimdbgk,nimru2k,niorbk,nipxirmk,nimxdfk,nidimk
nikal 143360 7 nimdbgk,nimru2k,niorbk,nipxirmk,nimxdfk,nidimk,nipalk
root@0714582d1f1b:/# systemctl status nipal
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down


Is this error message relevant / trustable?

Joe Friedchicken
NI Configuration Based Software
Get with your fellow OS users
[ Linux ] [ macOS ]
Principal Software Engineer :: Configuration Based Software
Senior Software Engineer :: Multifunction Instruments Applications Group (until May 2018)
Software Engineer :: Measurements RLP Group (until Mar 2014)
Applications Engineer :: High Speed Product Group (until Sep 2008)
0 Kudos
Message 28 of 28
(1,231 Views)