我实践下来发现有些地方跟我预料的不太一致想再次请教下
环境:上位机(win10 + NI MAX + LabView),下位机(NI LINUX RT + 驱动程序)
目前已做的工作:NI LINUX RT已成功安装到下位机上(网卡是英特尔的可以支持被支持了),两个板卡的驱动(设备的两个PCIE板卡是不同的类型)也成功安装了。NI MAX也能正常识别下位机,安装软件也都正常。另外我也通过用户态so可以实现上位机对下位机的控制
预料情况不一致的地方:NI MAX在"设备与接口"里并没有识别到我的两个设备,与预料的识别到未知名不一致
问题:
1.目前我用的是自己的linux下的驱动,这种情况下有什么办法可以让NI MAX识别到设备吗?
2.如果上述不行,是不是就只能以IVI方式重新开发驱动INF关联才可以达到?
3.如果只能是IVI方式,你这边知道有什么供应商专门做这个的吗?(如果是方式2并不是我所擅长的领域感觉比较难搞)
前面已经提过了,如果想要NI MAX识别设备,驱动需要和NI System Configuration驱动进行关联,最简单的方法是通过NI-VISA。参考Configuring the NI Real-Time Environment and NI-VISA to Recognize a Third Party Device生成INF文件。
不需要使用IVI。
对嵌入式这块我了解不多,我按照文档的理解来说
1.像我目前的这种情况就是已经有了NI LINXU RT,只需要再做一个INF的配置就可以实现NI MAX识别了?
2.里面涉及的"PXI 制造商 ID"、"子系统制造商 ID"这些就是我要从PCIE板卡的芯片中物理地址中拿到对应的值吗?
so库的问题解决了,需要驱动设备文件也添加权限
NI NISA的inf文件配置我根据已有的window下的也弄了一份,默认存放的路径是“C:\Users\junjie.chen\Documents\National Instruments\NI-VISA\aceio”。但文档中提到的放到“目标 PXI 控制器上的目录 C:\ni-rt\system”我就很疑惑了,不是应该放到NI LINUX RT上才对嘛?而且window下也没有这个目录
安装到目录” /etc/natinst/nipal/inf/”发现该目录不存在,并且考虑到时2006年的认为不具备太大的参考价值
How to Install the Driver of GE cPCI-5565PIORC? - NI
参考这篇放在” /etc/nipal/devinit.d”也依旧无法被识别到
试看这篇KB的步骤 Detect Third Party cPCI Modules in Linux
inf和ini文件生效的条件必须驱动是通过NI VISA技术开发的才可以吗?(linux我开发的驱动是*.ko文件,通过insmod进行安装的。看NI VISA你提供的也就只有一些vi以及inf文件,也没看到有什么特殊的文件,并且之前的安装也就是复制inf文件)
我的NI LINUX RT版本可能更新,生成以后inf目录查看是在"/etc/nipal/devinit.d"目录下
admin@ace-mod:/etc/nipal/devinit.d# ls -la
total 16
drwxr-xr-x 2 admin administrators 4096 May 13 02:20 ./
drwxr-xr-x 4 admin administrators 4096 Mar 28 13:51 ../
-rw-rw-rw- 1 admin administrators 7332 May 13 02:20 aceio.inf
另外那个ini文件到了"/usr/lib/x86_64-linux-gnu"发现也就开始不一致了,这边看起来推测是"/usr/lib/x86_64-linux-gnu/niqpxi/routing-greylist"这个目录,其中"8246_qpxi_routing_greylist.ini"本身就有的,另外一个是我复制过来了,也给了666权限
/usr/lib/x86_64-linux-gnu/niqpxi/routing-greylist
admin@ace-mod:/usr/lib/x86_64-linux-gnu/niqpxi/routing-greylist# ls -la
total 16
drwxr-xr-x 2 admin administrators 4096 May 13 02:32 ./
drwxr-xr-x 3 admin administrators 4096 Jan 16 2023 ../
-rw-r--r-- 1 admin administrators 109 Jan 14 2023 8246_qpxi_routing_greylist.ini
-rw-rw-rw- 1 admin administrators 1212 May 13 02:32 aceio_pmd_linux.ini
但重启以后依旧无法被识别
我以前成功通过那个步骤识别第三方开发(非NI)的cPCI板卡,没有遇到任何问题,所以无法提供任何调试的建议和经验可以分享。