![]() |
|
|
cd /lib/modules/`uname -r`/source/
make cloneconfig
make modules_prepare
mkdir /mnt/daqmx
mount -t iso9660 -o loop nidaqmx801.iso /mnt/daqmx
cd /mnt/daqmx
./INSTALL
nilsdev
to list installed devicesmkdir /usr/local/lib/linux
ln -s /usr/lib/libOSMesa.so.6 /usr/local/lib/linux/libOSMesa.so.4
DAQmxTestPanels --devid=<deviceidentifier>
where <deviceidentifier> is the identifier shown when running nilsdev. Unfortunately there isn't a workaround for this. It is a pretty big problem that would require significant resources to resolve. While there aren't plans to address this at the current time, the more feedback we here the more it will be considered. Right now the only recommendation is to use the NI-DAQmx Base driver. This obviously doesn't support all National Instruments USB devices, and it doesn't have all the functionality of NI-DAQmx, but for some it is sufficient.
How about sending a fake string when you encounter a kernel version higher than 2.6.25? The fake license string would say that this is GPL compatible and thus allow access to the usbcore driver which has been locked by the EXPORT_SYMBOL_GPL flag?
Our driver is not GPL and as such we will not "fake" that it is. Sorry, for right now USB from the NI-DAQmx driver is not a real possibility.
Using a fake string is a technical possibility, but I'm sure the NI legal team would not approve. This also goes against the author's wishes and intent and thus I think it is best that NI respect those wishes.
As it stands right now NI-DAQmx Base provides USB support entirely from user-mode, and thus isn't affected. Adding USB support to NI-DAQmx is more complicated since much of our existing architecture expects USB APIs in the kernel. We are investigating the possibilities of adding that support from user-mode, or through a GPL compatible kernel component though both solutions will require a lot of work and time.
The only Linux drivers we currently have that use the USB support in the kernel is our NI-488.2 GPIB driver. Since the nikal.c file is provided to you as source code I'm sure you could do some creative things to get the USB support back on newer kernels.
Thanks Neil and Shawn...I'll look into doing something with the nikal.c file. The newer kernels and by extension newer distros like Mandriva 2009 and Opensuse 11.0 are off limits for my application as they require some USB port access. I would imagine that I cannot use NI-VISA (Serial Port) too in the newer kernels due to this entire EXPORT_SYMBOL_GPL thingy.
Like I said the only NI products that were previously supported, but now are not on newer kernels is the GPIB-USB-HS, and GPIB-USB-B. Everything else is done from user-mode, or simply has not been supported yet.
Shawn, is it possible then to have a generic USB-Serial dongle working on Mandriva 2009/Opensuse 11.0 through the NI-VISA drivers?
Generic (as in not NI) USB-Serial dongles should work just fine through NI-VISA. This of course assumes that the generic USB-Serial dongle has a native Linux driver that is GPL licensed (many do).
I'm using one of such dongles (to be specific a PL-2303) for communication to one of our hardware devices and for some reason I couldn't get it to communicate through NI-VISA on Labview. I've configured everything through visaconf and added the device as /dev/ttyUSB0 when connected. The strange part is that it works on Mandriva 2008.1 and does'nt work on Opensuse 11.0 (which is the newer kernel)
Edit: I was able to successfully use NI-VISA on a native serial port (not through the dongle). However, I can communicate only when I'm logged in as root and not as a regular user. Any reason why this could happen?
The native serial port works as root because of the permissions of the serial port. I don't have a openSUSE 11.0 machine in front of me, but on my machine:
ls -l /dev/ttyS0
crw-rw---- 1 root uucp 4, 64 2008-12-03 04:18 /dev/ttyS0
So only root and members of the group uucp can read and write from the port. Typically you just add all users that need access to the serial port to the uucp group. You should double check the permissions of the ports on your system including ttyUSB0.
hello,
I followd the installation , Installation went sussessful but getting a problem as i couldnot see th text, all the texts are looking lik square.
i couldnt read anything, please help me.
U ised opensuse 10.3 and LabVIEW 8.6.
Where is the text showing up as squares? In LabVIEW? On the command line? Are you using KDE or Gnome?
It looks like you're receiving help here -- http://forums.ni.com/ni/board/message?board.id=170&view=by_date_ascending&messag e.id=383044#M383044
All the text in the LabVIEW front Panel, Menus Everythign showins as Square lik...
Control Names, Functions name everything as lik that only !!
labview nstalled Successfully. I dont knw how to configure the Card..
sankar:~ # nilsdev
NI PCI-6518: "Dev1"
sankar:~ # nidaqmxconfig
Usage: nidaqmxconfig [ --import <filename> [--eraseconfig [--preserveabsentdevices] ] ] | [--export <filename>] [-y | -n] [--help]
Pleas help me
sankar.s
I don't think you should need to do anything to "configure" the card. The nidaqmxconfig is used to rename DAQ devices or to configure more complicated setups like SCXI. For your device just open LabVIEW and go to Help>>Find Examples. Then look under Hardware Input and Output >> DAQmx >> Digital Generation or Digital Measurements for examples of how to program the card using LabVIEW. You should also be able to run Test Panels from the command line by typing in DAQmxTestPanels.
Thanks Neil...Now its working properly.
One more help, Is it possible to use USB 6008 ( Opensuse 10.3,LABVIEW 8.6).
I installed both DAQ 3.2 and DAQ 8.01.
If yes, how i can do data acquisition with this USB ???
Sankar.s
As discussed earlier in this same thread, NI-DAQmx Base supports USB devices in Linux. If you want to use your NI USB-6008, you'll need to use NI-DAQmx Base instead of NI-DAQmx. You can get it here:
Hi Troy,
I installed Daqmx 3.2, Whn i query lsdaq it didnt list Ni cards,
By launching Daqmxconfig, i found the USB card Recognised, But PCI card didnt recognise.
So without uninstalling daqmx 3.2, i installed Daqmx 8.0.1 and queried with nilsdev it lists the two PCI cards i used. No USB.
So, I m struck up with aquiring data using USB.
Help me .
sankar.s
I'm not sure if I am clear on your issue. Let me see if I understand correctly. Do you have NI-DAQmx Base 3.2 and NI-DAQmx 8.0.1 installed on the computer? When you call nilsdev or lsdaq you can't see any devices even though they are all installed?
With NI-DAQmx and NI-DAQmx Base installed can you run nilsdev --verbose --diag and include the output in your post? Could you also include the output from lsdaq?
HI please find the results of some query.
sankar.s
-------------------------------------------------------------
sankar:~ # lsdaq
--------------------------------
Detecting National Instruments DAQ Devices
Found the following DAQ Devices:
NI USB-6008: "Dev3" (Dev3)
--------------------------------
sankar:~ # nilsdev
NI PCI-6514: "Dev2"
NI PCI-6518: "Dev1"
sankar:~ # nilsdev --verbose --diag
NI PCI-6514: "Dev2"
iDriver Class Name: nNISDR000::tCommonDriver
iDriverInitializer Class Name: nNISDR000::tDriverInitializer
iDriverClient Class Name: nNISDR000::tDriverClient
Driver create status: 0
Serial Number: 0x1321BB0
Bus Type: PCI
PCI Bus: 0x1
PCI Device: 0x0
IRQ Level: 0x16
Memory Range: 0xFF8FF000-0xFF8FFFFF
Memory Range: 0xFF8FC000-0xFF8FDFFF
NI PCI-6518: "Dev1"
iDriver Class Name: nNISDR000::tCommonDriver
iDriverInitializer Class Name: nNISDR000::tDriverInitializer
iDriverClient Class Name: nNISDR000::tDriverClient
Driver create status: 0
Serial Number: 0x1204DA8
Bus Type: PCI
PCI Bus: 0x1
PCI Device: 0x2
IRQ Level: 0x14
Memory Range: 0xFF8FE000-0xFF8FEFFF
Memory Range: 0xFF8FA000-0xFF8FBFFF
It looks like both your USB and your PCI devices are showing up. Are you missing any devices? The 6518 and 6514 are only supported by NI-DAQmx and the USB-6008 is only supported in NI-DAQmx Base so what you are seeing looks correct. Can you use all the devices from an application development environment such as LabVIEW or C?
Neil,
Only PCI cards(Dev1 and Dev2) lists in LabVIEW and i can do control with this PCI Card.
The problem is with the USB, i want to Acquire analog signal thro USB, which i didnt able to do till now. Even I Couldnt see the USB device name( Dev3) in the LabVIEW.
So tell me, how we can solve this and how we can do data aquisition using USB with LabVIEW.
Sankar.s
DAQmx Base doesn't automatically populate the device or channel controls in LabVIEW. Simply type the device or channel name string from lsdaq in the control and it should work. Furthermore you must use the DAQmx Base API, which is different from the DAQmx API.
Thank you Neil.. I read all 3 Cards including USB successfully..
Thanks Again.. Neil
Wat methods we can use to communicate any Database using LabVIEW linux...
My windows application connects Oracle database, so with Linux i need to find some solutions to communicate...
Ideas ???
sankar.s
I'm glad you got it working. As for the Database question, I don't have a really good answer, however, you can call into C APIs from LabVIEW or execute scripts in a terminal... Not very good ideas I know but I'm not that familiar with accessing Oracle databases. I would recommend you start a new discussion thread in this group and throw out that question again. I'm not sure if you will get the community following this here.
In this case you have to specify what database you would like to interface with. You might want to look into PostgreSQL as this is a Linux hosted database that makes a nice light-weight drop-in database for most Oracle functionality. If you use other databases than you are kind of stuck with using ODBC fuctions to access them regardless. For PL/SQL there is pg/SQL to fill most fuctions. It works well if you are looking at a Linux only solution. Using Oracle on Linux isn't bad either - just expensive.
My current employer is a Windows-only shop. We use SQL Server 2005 on Windows 2003 Server with Visual Studio. I't works very well for what we are doing.
Hi, The README says that USB devices will not be supported due to the kernel restricting access to the USB drivers since they're not GPL compatible. Is this going to be addressed anytime soon? Is there a workaround for this?