Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Is there a Linux driver for the NI DAQ USB-6211?

The page at http://www.ni.com/support/daq/versions_portable.htm seems to indicate that is not the case. I would like to confirm this information as I was supplied some USB-6211 samples by NI to replace USB-6009 DAQs I was using for data acquisition under Linux (Ubuntu/Linux 2.6.20).

Thank you for your support.
0 Kudos
Message 1 of 21
(11,115 Views)

Hi,

You may be in luck - we just released DAQmx Base 3.1 for Mandriva; RedHat; SUSE - many users have installed DAQmx Base for Ubuntu -

linux and NI USB 6008

USB-6008 Linux Ubuntu - has good instructions

Hope this helps, please post back if your run into any issues.

Cheers,

Andrew S

MIO PSE

National Instruments

0 Kudos
Message 2 of 21
(11,103 Views)
Thank you for your reply; I downloaded version 3.1.0 of NIDAQmx Base (which mentions compatibility with the USB 6211) and installed it successfully, according to the installation script. However, when I plug the USB 6211, the LED does not blink (I tried with several other units, ruling out hardware failure) and the device does not appear when I type the command lsdaq. Additionally, the USB 6009 boxes, which used to work with the previous version now produce the following error in lsdaq:

Device Error: incompatible firmware. Serial number: [the USB 6009's serial number]
Execute <NI-DAQmx Base directory>/bin/FWupdate to update.

Beside the fact that no file named FWUpdate appears to exist on my computer, before I upgraded NI-DAQmx Base, the USB 6009 worked fine so I doubt there is any firmware problem with them.

Any help would be much appreciated. Thanks!
0 Kudos
Message 3 of 21
(11,094 Views)

Hi,

DAQmx Base 3.1 requires a different firmware on the 6009's - there should be a utility in the DAQmx Base directory as listed by the error message. If you navigate there, do you have a \bin directory at all? If you have a Windows box with DAQmx, you can switch the firmware to the needed version (DAQmx) - though I realize that can take some time. I'll see if there's anyway to post the utility.

I admittedly have little experience in Linux and none in Ubuntu (which isn't a supported version)- does the device show up at all in the HW profiles? It should be possible to get the PID  - what is that value? Also, does the 6211 LED turn on at any point? Another check - make sure you're connecting directly to your computer rather than going through a hub - some hubs don't play nice.  

Please post back and we'll see what we can do.

cheers,

Andrew S



Message Edited by stilly32 on 01-24-2008 06:02 PM
0 Kudos
Message 4 of 21
(11,084 Views)
Thanks again for your reply.

When I link the libraries to the old ones (/usr/local/lib/libnidaqmxbase.so -> libnidaqmxbase.so.2, libdaqmxbase_listdevices_so.so -> libdaqmxbase_listdevices_so.so.2 etc.), my USB 6009 works fine (appears in lsdaq and I can acquire samples from it) although the 6211 does not which is expectable as the older version of DAQmxBase does not support it. When I link to the new ones however (/usr/local/lib/libnidaqmxbase.so -> libnidaqmxbase.so.3, libdaqmxbase_listdevices_so.so -> libdaqmxbase_listdevices_so.so.3 etc.), not only does the USB-6211 still not appear, but the USB 6009 doesn't work anymore (I obtain the invalid firmware, run FWUpdate error message I mentionned in my previous post). [Side note: if I were to upgrade the 6009 firmware, would it still work with the earlier version of DAQmxBase?] I should mention that the latest version of DAQmx Base installed on my machine is 3.1.0.

Here is a dump of /proc/bus/usb/devices when the USB-6211 is plugged in:

...
T:  Bus=04 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  5 Spd=480 MxCh= 0
😧  Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs=  1
P:  Vendor=3923 ProdID=7269 Rev= 0.00
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 0 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
I:  If#= 0 Alt= 1 #EPs= 6 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:  If#= 0 Alt= 2 #EPs= 6 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=01(O) Atr=03(Int.) MxPS=  64 Ivl=125us
E:  Ad=81(I) Atr=03(Int.) MxPS=  64 Ivl=125us
E:  Ad=02(O) Atr=03(Int.) MxPS= 512 Ivl=125us
E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=86(I) Atr=03(Int.) MxPS= 512 Ivl=125us
E:  Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:  If#= 0 Alt= 3 #EPs= 6 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=01(O) Atr=03(Int.) MxPS=  64 Ivl=125us
E:  Ad=81(I) Atr=03(Int.) MxPS=  64 Ivl=125us
E:  Ad=02(O) Atr=01(Isoc) MxPS= 512 Ivl=125us
E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=86(I) Atr=01(Isoc) MxPS= 512 Ivl=125us
E:  Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
...

Note that there is no Manufacturer= field; perhaps this indicates that the driver is not loaded? Again, the LED does not even blink; I'm certain that the USB port + cable are not faulty. Also, I'm not plugging through any hub and the cable length is within USB specification.

Thank you for your support.


Message Edited by klt on 01-24-2008 06:07 PM
0 Kudos
Message 5 of 21
(11,083 Views)
Hi klt-
 
The FWUpdate utility should be installed to /usr/local/natinst/nidaqmxbase/bin.  If it is missing, it would seem that something went wrong during the installation process.  The fact that "old" versions of the DAQmx Base lib's and binaries are still hanging around would also point to a problem during installation.  I assume you converted the DAQmx Base rpm's into some format compatible with Ubuntu.  Were you able to successfully install all of the rpm packages?
 
Once you're able to upgrade the USB-600x firmware you will not be able to use the device with NI-DAQmx Base 2.x any longer (unless you perform a firmware downgrade using the NI-DAQmx for Windows utility that Andrew alluded to previously).
 
The USB-621x and USB-92xx devices, on the other hand, use "bus loaded" firmware which must be downloaded to the device any time it is inserted and powered up.  We use a dedicated firmware download driver on Linux which is autolaunched using USB hotplug support provided by many Linux distros.  My guess is that Ubuntu does not support the autolaunch mechanism we use or that there was some problem with the installation that resulted in your missing both FWUpdate as well as the USB-621x/92xx loader driver.
 
PID 0x7269 corresponds to a USB-621x device in firmware loader mode, so it appears that the firmware download process did not happen for whatever reason.  In order to invoke the firmware download manually you can execute this script: \usr\local\natinst\nidaqmxbase\bin\dmxbUSBfirmware.sh.  If that works, you will need to either invoke that script manually each time you insert your USB-6211 or find some way to autolaunch that script during device insertion on Ubuntu.  If the download is successful, the USB-6211 will re-enumerate as PID 0x7270 and should show up in lsdaq.
 

Of course I should offer the disclaimer that Ubuntu is not officially supported by any NI software product (at least that I know of), and as a result we have done zero testing with NI-DAQmx Base on that distro.  So, we can offer suggestions for any problems you run into but can not guarantee that anything will work.  I would strongly suggest that you move to a supported distro if possible.  NI-DAQmx Base 3.1 officially supports Red Hat 4/5, SuSE 10.2/10.3, and Mandriva 2007/2008.

 

Hopefully this helps-

Tom W
National Instruments
Message 6 of 21
(11,060 Views)
I performed a clean reinstall of the driver (converting the packages to .deb using alien instead of the INSTALL script) and now everything works fine, FWUpdate and the script you mentioned are there (and it loads automatically upon plugging it in). I can now acquire data from it. Thanks!
0 Kudos
Message 7 of 21
(11,038 Views)
Hi klt-
 
That's great- thanks for letting us know how it turned out.  For the benefit of other users that might be trying to use NI-DAQmx Base on Ubuntu/Debian, could you please post the steps here you used to get it installed and working?
 
Thanks again-
Tom W
National Instruments
0 Kudos
Message 8 of 21
(11,030 Views)
Below are the steps to install NI DAQmx Base under Debian. They have been tested on Ubuntu Feisty (7.04) running Linux kernel v2.6.20-16. Keep in mind that Debian is not officilly supported by NI.

  1. Download the ISO file for the latest version of DAQmx Base. As of this writing, it is version 3.1 available at http://joule.ni.com/nidu/cds/view/p/id/967/lang/en.
  2. Extract the ISO file to a new folder - nidaqmxbase_install.
  3. Open a terminal, cd into the directory nidaqmxbase_install. Make sure you are root (type: "sudo su" followed by the root password).
  4. You'll need a package called alien to convert rpm files into deb files that Ubuntu can understand. Type "apt-get install alien" at the prompt.
  5. Once alien is installed, make sure you're in the nidaqmxbase_install folder and type "alien --scripts -d *.rpm". You can safely ignore any warnings.
  6. Then install the freshly created deb files by typing "dpkg -i *.deb".
  7. Reboot your machine.
  8. You're done; you can test the installation by plugging in one of the DAQs supported by DAQmx Base and typing lsdaq at the promt. You should see your device in the listing. You can safely erase the nidaqmxbase_install directory and the ISO file.
A few remarks:

* Do not use the INSTALL script under a Debian distro; even if you manage to trick it into using rpm (by forcing the --nodeps option), the resulting installation will be broken, despite a message indicating success of the installation.
* If your device's LED is not blinking despite the USB connection being securely established, you may have a broken installation; you should reinstall. A temporary patch is to run the script \usr\local\natinst\nidaqmxbase\bin\dmxbUSBfirmware.sh that Tom W mentionned in his post immediately after plugging it in.

Thanks to stilly32 and Tom W for their help in troubleshooting my NI-DAQ issues.



Message Edited by klt on 01-25-2008 02:36 PM
Message 9 of 21
(11,027 Views)
Hi there  everyone

   i've installed the ni-visa/ni-daqmxbase packages via the  alien route described here. Additionally i've made sure that all my linux kernel sources etc are updated and built and in the right place as detailed by johannes in one of these other threads.  Furthermore, i've updated to nikal 1.6 , because nikal 1.3 is all that came with the big linux iso, for whatever reason! 
However ...   when i try to run lsdaq or any other util,  i get "aborted (core dumped)" errors, post-haste!  does anyone have some ideas about what causes this?


some details about my install:

-we're evaluating our ability to use linux, since the NI support for linux is kinda suck, so we've taken the latest beta from ubuntu and used the "install in windows" option.
- thus my kernel is of the 2.6.24-12-generic
-our boards are PXI 6733 and 6259

sometimes, depending on what exactly i do, i get the (common on these boards) complaint that my kernel modules source doesn't match the kernel, but as i've said, i've taken the posted steps to ensure that i do have the appropriate headers and source (downloading , un-tarring, and make-ing the appropriate kernel source, and setting up symlinks, and symlinking that off-asm to off_asm,  etc) .



so like i said, anyone's bright ideas are appreciated regarding this problem of everything seeming to install properly, but then crashing horrendously when run.

it would be fantastic if NI were to recognize that many of its users prefer debian/ubuntu and provide packages accordingly.


0 Kudos
Message 10 of 21
(10,575 Views)