From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Linux Users

cancel
Showing results for 
Search instead for 
Did you mean: 

NFS copy of filesystem used with pxeboot doesnt load daqmx device drivers

Solved!
Go to solution

We are attempting to pxeboot a system based on our working RHEL 7.9 LabVIEW 2019 SP1 installation.

 

When we created the nfs image that the system uses using rsync we took everything but /proc and /sys and /home/installers (where we put package and iso images on our disconnected systems in case we need to install a package we forgot).

 

The system boots into RHEL 7.9 GNOME, autologin and autostart work to trigger the start of our LabVIEW EXE - but when my DAQmx device based code runs, it is telling me that the DAQmx driver basically has not been installed.  I get error -52006 when DAQmx Create Task.vi is called.

 

Anyone have experience with the NI DAQmx LabVIEW drivers in a pxeboot system that should run a LabVIEW EXE that can shed some light?

 

when I run 

nidaqmxconfig --export /tmp/ni-system in the disk loaded image version I get the DAQmx cards listed in Slots 6, 7, 8, and 9

 

When I run from the pxeboot running the NFS image

nidaqmxconfig --export /tmp/ni-system

shows

 

Failed

 

Error -52006

The requested resource was not located.

 

Edit to add: Coworker used the disk-booted FSP-4 system to collect all modules reported by lsmod that started with "ni" or "Ni", and created files in the rootfs on tftpboot Server for each in the directory /etc/modules-load.d/*.conf

 

We saw some suggestions that on systemd systems that this could work to load drivers.  This did not help.

Ryan Vallieu CLA, CLED
Senior Systems Analyst II
NASA Ames Research Center
0 Kudos
Message 1 of 20
(2,429 Views)

Which (if any) NI kernel modules are being loaded on the failing system?  What happens if you try to load one manually (e.g., if nipalk is failing to load, modprobe nipalk)?  Anything interesting in dmesg or in /var/log/messages or using journalctl?

0 Kudos
Message 2 of 20
(2,378 Views)

ah dmesg showed a failure of nikal module verification failed: signature and/or required key missing

 

Accordingt to NI: NI-KAL is driver software that supports the Linux driver architecture.

 

Seems like this could be the source of the issue.

 

Although lsmod shows nikal loaded....

 

lsmod | grep ni

ni448k

nicdcck

nicmrk

nicntdrk

nidimk

nifslk

nikal

nilmsk

nimdbgk

nimru2k

nimxdfk

niorbk

nipalk

nipxipfk

nipxirmk

nismbus

 

Ryan Vallieu CLA, CLED
Senior Systems Analyst II
NASA Ames Research Center
0 Kudos
Message 3 of 20
(2,369 Views)

nikal is a fundamental module used by nearly every other NI kernel module.

 

The error message means that the kernel module is not signed properly for Secure Boot.  Unlike the kernel and all of the modules included with it, out-of-tree modules must be signed separately if you wish to use Secure Boot.  I can see a couple of scenarios:

 

  1. Secure Boot was not enabled on the original computer, so the kernel modules are completely unsigned.  Secure Boot is enabled on the new computer, so these binaries obviously fail the security checks.  You can use modinfo nikal to see whether the nikal module is signed.  If the modules are indeed unsigned, you have two options:
    1. Disable Secure Boot in the BIOS on the failing computer -or-
    2. Sign the kernel modules for Secure Boot
  2. Secure Boot was enabled on the original computer and the kernel modules are already signed.  If you wish to leave Secure Boot enabled on the new machine, I think you'd be able to just use mokutil on the new machines to register the public key that was used to sign the modules on the original machine.

Edit for future readers:  I was completely wrong about Secure Boot in this case.  See below.

0 Kudos
Message 4 of 20
(2,360 Views)

@RVallieu wrote:

Although lsmod shows nikal loaded....


I just saw this part.  Are other NI modules also shown as loaded?  Maybe the dmesg output was just a warning and not an error.

0 Kudos
Message 5 of 20
(2,356 Views)

Was editing my prior post with the list.  Its a disconnected system so I have to type it out....

 

The one difference in loaded packages we see is NiVipciK did not load on the pxeboot system

Ryan Vallieu CLA, CLED
Senior Systems Analyst II
NASA Ames Research Center
0 Kudos
Message 6 of 20
(2,353 Views)

did a modprobe NiPciViK and it seems to have loaded

Doing a reboot on the pxeboot and seeing if it is persistent.

Ryan Vallieu CLA, CLED
Senior Systems Analyst II
NASA Ames Research Center
0 Kudos
Message 7 of 20
(2,348 Views)

NiViPciK is the VISA PCI/PXI Passport.  NI software should be configured to load it at boot normally.

0 Kudos
Message 8 of 20
(2,344 Views)

It was persistent, but the DAQmx driver is still not loaded...

 

nidaqmxconfig --export /tmp/ni-system still shows error -52006 The requested resource was not found.

Ryan Vallieu CLA, CLED
Senior Systems Analyst II
NASA Ames Research Center
0 Kudos
Message 9 of 20
(2,341 Views)

Looks like all of the modules shown in lsmod | grep ni from the disk booted system are now loaded when we do the pxeboot system - yet we still have the DAQmx driver error

Ryan Vallieu CLA, CLED
Senior Systems Analyst II
NASA Ames Research Center
0 Kudos
Message 10 of 20
(2,334 Views)