07-12-2019 05:11 AM
We have a NI-Linux-System NI-PXIe-8840 system to do some 3rd party device integration.
We have a driver for Pharlap LabViewRT systems.
We also support Windows and Linux drivers for that 3rd party device.
For the new linux based LabViewRT OS the idea was that the existing linux driver could be used for the device access instead of some kind of dll using visa calls. To realize that NI advised that the Linux driver could be installed on the NI-PXIe-8840 Linux based system and accessed by LabView.
We were able to install and compile the driver on the NI-PXIe-8840 Linux based system when logging in as admin. Device is available and some sample application could be executed in the linux console.
During installation the following files were created on the LabViewRT Linux system.
/lib/modules/<kernel>/extra/aim_fdx.ko (The PCI kernel module compiled for kernel configuration)
/lib/modules/<kernel>/extra/aimfdxusb.ko (The USB kernel module compiled for kernel configuration)
/usr/local/lib/libaim_fdx.* The API-FDX library
/usr/local/include/aim_fdx* The API-FDX header files
The VIs for device access were using "Call library function" and with Pharlap a DLL was refered. NI advised to replace the dll name by the linux library: libaim_fdx.so.
When starting the LabView Sample on host the resources seem not to be present.
I can imagine of different reasons for that.
1. The device library is not in the correct place. Do I need to put it to a different location as described above? I already tried /c/ with no success.
2. Device access rights wrong for lvuser
In directory /etc/udev/rules.d we generated 99-aim_fdx.rules file to allow lvuser to access that device. Contents of this file are:
ACTION=="add", DRIVERS=="aim_fdx", GROUP="users"
Is this ok for that system?
What do we have to do to access our 3rdParty device from LabView?
07-12-2019 01:24 PM
Hi AIM-Company,
I want to make sure I understand everything. You are moving to NI Linux Real-Time and are attempting to use a Linux driver you developed. It appears to work in the shell as 'admin', but it is not working from LabVIEW. Correct?
One thing you can try is to enabled Embedded UI on the controller. Then, run the same commands you did in the shell on the terminal as 'lvuser'. This will let you know if there are permissions issues with 'lvuser'.
What errors are you receiving when calling the CLFN? How do you have the CLFN configured?
Thanks,
Andy
07-15-2019 03:23 AM
Hey Andy,
I'll give some more background info on email, because we are working on this issue together with AIM.
However idea of using Embedded UI Console under lvuser is nice point to test...
Thanks,
Jiri
CLA, CTA