09-11-2012 08:46 AM
I'm using openSUSE 11.3 with niDAQmx 8.0.2 driver
My HW is NI PXI-6229
Basically I develop my software on a test PC when SW passed all the tests I make an image of that hard-disk and than use it on many other PCs which all have the same configuration.
The sequence of the actions if following:
1. Save Master copy of the SW to the clonezilla image
2. Restore Master copy to a clone PC with the same HW configuration.
3. if I run nilsdev on that clone PC I will get message that my driver is not correctly configured and I have to run updateNIDrivers
4. after running updateNIDrivers (apparently all kernel modules are recompiled and updated) I can run nilsdev
result of the command is the following:
NI PXI-6229: "Dev2"
NI PXI-6229: "Dev1" [Not Present]
My understanding from this thread: http://forums.ni.com/t5/Multifunction-DAQ/How-to-have-always-my-card-in-Dev1/m-p/1021887#M53586
that DAQmx configuration database has been updated and system is thinking that somebody removed Dev1 and inserted Dev2
Next time when I create a Master copy (assume new SW features are added) the number will change again from Dev2 to Dev3
and nilsdev will show
NI PXI-6229: "Dev3"
NI PXI-6229: "Dev2" [Not Present]
NI PXI-6229: "Dev1" [Not Present]
I have a workaround for this but I have not tested all corner cases.
Will it hang after say Dev9 to Dev10? or the number will continue to grow indefinitely?
Is there a way to purge DAQmx configuration database?
Where DAQmx configuration database is stored?
Do I have to run updateNIDrivers always or is there some other way? I don't want to touch my master copy SW after restoring image to a clone PC.
Kind regards,
Sergey
09-13-2012 06:45 AM - edited 09-13-2012 06:45 AM
Hello,
Thanks for your posting here. If I understand you correctly you can use the vi which I posted with this email as an attachment.
Hope this helps!
Regards,
Hossein
10-16-2012 04:13 AM
I don't use LabView - all my code is written in Python ( C libriaries are imported with ctype)
Could you please explain what that code of yours is doing?
My setup is a bit more complex than I described above. I have 2 PXI-6229 DAQ cards.
After several experiments with installation of NI drivers I got the situation below:
devPC:> nilsdev
NI PXI-6229: "Dev2"
NI PXI-6229: "Dev1"
NI PXI-6229: "Dev1" [Not Present]
ANSI C API of NI has function
DAQmxGetSysDevNames
If I run it I get only "Dev2"
So coming back to my original question
Is there a way to purge DAQmx configuration database?
Where DAQmx configuration database is stored?
10-24-2012 09:43 AM
Sorry about my delay.
What my program does is actually when you use the executable or the installer of your code which will uses a hardware, in the other PC or host, then you just put the serial number of your hardware in it and it will automatically find the correct Dev in your MAX. It means that you don't need to try to clean your MAX and put your device again in your system to make sure that it will be detected in the same Dev in MAX.
I hope you can solve your problem and if you have any question, just ask.
Kind regards,
Hossein