NI Home
Cart Cart | Help
Company Events Academic NI Developer Zone Support Solutions Products & Services Contact NI MyNI

Currently Being Moderated

Installing NI-DAQmx 8.0.1 on openSUSE

VERSION 3

Created on: Dec 2, 2008 12:51 PM by NeilS. - Last Modified:  Dec 2, 2008 2:12 PM by NeilS.

 

  1. Before running the installer, you must have the following compiler facities installedfrom your Linux distribution CD or other Linux distribution medium:
    1. The GCC compiler and C++ support
    2. The make Utility
    3. The kernel source files for building kernel module that exactly correspond to the kernel version you are running.  For openSUSE this is the kernel-source package.
    4. The Mesa package (if you want TestPanels to run)
  2. As root run the following:
    cd /lib/modules/`uname -r`/source/
    make cloneconfig
    make modules_prepare
    
  3. Download NI-DAQmx 8.0.1
  4. As root mount the NI-DAQmx 8.0.1 iso
    mkdir /mnt/daqmx
    mount -t iso9660 -o loop nidaqmx801.iso /mnt/daqmx
    
  5. Run the installation script
    cd /mnt/daqmx
    ./INSTALL
    
  6. Follow the prompts to install the driver, rebooting if necessary
  7. As root run updateNIDrivers and reboot
  8. After reboot, open the terminal and type
    nilsdev
    
    to list installed devices
  9. To allow DAQmxTestPanels to run, run the following as root
    mkdir /usr/local/lib/linux
    ln -s /usr/lib/libOSMesa.so.6 /usr/local/lib/linux/libOSMesa.so.4
    
  10. Run DAQmxTestPanels by running
    DAQmxTestPanels --devid=<deviceidentifier>
    
    where <deviceidentifier> is the identifier shown when running nilsdev.
Tags: daqmx, linux
Average User Rating
(0 ratings)




Anshul Jain Anshul Jain  says:

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?

NeilS. NeilS.  says in response to Anshul Jain:

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.

Anshul Jain Anshul Jain  says:

 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?

NeilS. NeilS.  says in response to Anshul Jain:

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.

Shawn Bohrer Shawn Bohrer  says in response to Anshul Jain:

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.

Anshul Jain Anshul Jain  says in response to Shawn Bohrer:

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.

Shawn Bohrer Shawn Bohrer  says in response to Anshul Jain:

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.

Anshul Jain Anshul Jain  says in response to Shawn Bohrer:

Shawn, is it possible then to have a generic USB-Serial dongle working on Mandriva 2009/Opensuse 11.0 through the NI-VISA drivers?

Shawn Bohrer Shawn Bohrer  says in response to Anshul Jain:

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).

Anshul Jain Anshul Jain  says in response to Shawn Bohrer:

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?

Shawn Bohrer Shawn Bohrer  says in response to Anshul Jain:

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.

sankarapandian.s sankarapandian.s  says:

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.

NeilS. NeilS.  says in response to sankarapandian.s:

Where is the text showing up as squares?  In LabVIEW?  On the command line?  Are you using KDE or Gnome?

sankarapandian.s sankarapandian.s  says in response to NeilS.:

All the text in the LabVIEW front Panel, Menus Everythign showins as Square lik...

 

Control Names, Functions name everything as lik that only !!

sankarapandian.s sankarapandian.s  says in response to sankarapandian.s:

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

NeilS. NeilS.  says in response to sankarapandian.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.

sankarapandian.s sankarapandian.s  says in response to NeilS.:

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

Troy Farrell Troy Farrell  says in response to sankarapandian.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:

 

http://joule.ni.com/nidu/cds/view/p/id/1076

sankarapandian.s sankarapandian.s  says in response to Troy Farrell:

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

NeilS. NeilS.  says in response to sankarapandian.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?

sankarapandian.s sankarapandian.s  says in response to NeilS.:

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

NeilS. NeilS.  says in response to sankarapandian.s:

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?

sankarapandian.s sankarapandian.s  says in response to NeilS.:

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

NeilS. NeilS.  says in response to sankarapandian.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.

sankarapandian.s sankarapandian.s  says in response to NeilS.:

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

NeilS. NeilS.  says in response to sankarapandian.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.

EWTech EWTech  says in response to sankarapandian.s:

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.

larry_s larry_s  says in response to EWTech:

Moved my comments over to discussions.......

More Like This

  • Retrieving data ...