Linux Users

cancel
Showing results for 
Search instead for 
Did you mean: 

USB Not Supported on Linux NI-DAQmx

If I read it right, while it says right there on the NI webpage that it works with "Operating System/Target:  Linux, Mac OS, Windows", I find now that the readme.txt for the nidaqmx library says USB is not supported.  Seriously?

I recently bought a NI USB-6211 daq, and now after spending too much time trying to get the nidaqmx C library working (on the "not supported" but most popular Ubuntu), I give up and figure I'll just set up a dedicated openSUSE machine to run the DAQ.  Then I find that readme quote.  There's a brief discussion of this at http://decibel.ni.com/content/docs/DOC-2808#comment-5038 with the quote that it would "require significant resources to resolve."  Am I missing something?  Maybe NI isn't the company I thought it was, and supporting their own card with their own software on a supported OS is too much.  While I've opened the "seal" on the antistatic bag, it seems like I should get a refund, although I'd much rather have a working solution.

Steve.

0 Kudos
Message 1 of 6
(8,756 Views)

Well, I haven't worked on Linux for a while, but I believe it is possible to get that device working with DAQmx Base.

While it is understandable that you feel bad about it, NI can't do everything for every OS out there. So they proiritize and their first and most influencal information source for that is the sales force. No moaning and screaming on forums will help much, but talking with your sales contact and telling him or her that you really want that.

While the Linux guys made it very hard and costly for a company to integrate closed source drivers that need to access kernel internals, there are possible solutions, without loosing to much of performance. Waiting for NI to open source all their drivers is probably an idle hope, however.

Rolf Kalbermatter
My Blog
0 Kudos
Message 2 of 6
(4,261 Views)

Sorry about that ssafarik. The USB stuff is tricky. DAQmx is based on driver architecture in which device access needs to be done from the kernel. Unfortunately, the USB exports from Linux Kernel is marked GPLONLY. This is related to this thread:

https://decibel.ni.com/content/message/26734#26734

Thanks for your comment rolfk! rolfk is right though, contacting your sales force about Linux opportunities will increase its priority for us.

0 Kudos
Message 3 of 6
(4,261 Views)

ssafarik wrote:

I recently bought a NI USB-6211 daq, and now after spending too much time trying to get the nidaqmx C library working (on the "not supported" but most popular Ubuntu), I give up and figure I'll just set up a dedicated openSUSE machine to run the DAQ.

As you've read, NI-DAQmx for Linux does not support any USB DAQ device, and Irwan highlighted the reason. However, as Rolf indicated, NI-DAQmx Base does support the USB-6211. The readme [1] outlines which devices and which features of those devices are supported, and the USB-6211 is grouped in the "M Series MIO" section.

[1] NI-DAQmx Base 3.4.5 for Linux readme

http://download.ni.com/support/softlib/multifunction_daq/nidaqmxbase/3.4.5/Linux/README.txt

Joe Friedchicken
NI Configuration Based Software
Get with your fellow OS users
[ Linux ] [ macOS ]
Principal Software Engineer :: Configuration Based Software
Senior Software Engineer :: Multifunction Instruments Applications Group (until May 2018)
Software Engineer :: Measurements RLP Group (until Mar 2014)
Applications Engineer :: High Speed Product Group (until Sep 2008)
0 Kudos
Message 4 of 6
(4,261 Views)

Sorry for my previous tone, it's just been a bit frustrating.  I'd use DAQmxBase if I could, but I likely need features/functions that only appear to be in the full library.  I'll try to limp along while looking for another solution.

I don't really follow the issues with the various licensing philisophies, but I'm surprised that you could support USB with DAQmxBase but not with DAQmx.  I also note that other companies seem to have solved it, for example, I've got proprietary video drivers from nVidia installed, and they don't seem to have an issue.  I recall a warning during their driver install, but other than that, they've got their proprietary drivers running on Linux.  Go figure.

Steve.

Message 5 of 6
(4,261 Views)

While it is understandable that you feel bad about it, NI can't do everything for every OS out there.

NI just should write a proper IIO/Comedi driver and publish it for inclusion into mainline.

Takes about 4..6 man-weeks. (yes: I'm a kernel hacker, regularily doing driver development for my customers)

 

So they proiritize and their first and most influencal information source for that is the sales force.

IOW: they rely on data that tells nothing about the actual demand for Linux drivers, nor the appropriate way to do that.

 

No moaning and screaming on forums will help much, but talking with your sales contact and telling him or her that you really want that.

Tried that. Didn't work. They didn't even understand the problem.

Sales folks are rarely the right ones to talk about technical issues.

 

While the Linux guys made it very hard and costly for a company to integrate closed source drivers that need to access kernel internals,

We didn't. Linux just never ever was intended for that. We just don't need the extreme complexity of providing stable in-kernel ABIs. That's one of the main reasons, why Linux is so efficient, robust, highly portable and easy to maintain. If you need stable ABIs, go for the userland API (syscalls, etc).

 

OTOH, we don't like any proprietary, therefore untrusted, unstable and unmaintainable code on our machines - at least not in the most-critical part, the kernel. This is a major security and safety issue. Most OS crashes on proprietary OS'es come from exactly that point: broken proprietary drivers. 

 

Waiting for NI to open source all their drivers is probably an idle hope, however.

That wouldn't be of much help either (except for easier reverse engineering), as the code is so horribly bad and misdesigned. Need a complete rewrite anyways.

 

OTOH, they at least could open up their specs, so we could write our own drivers within a few weeks (yes: it really isn't so complicated, once you've got a precise spec). But they still refuse to.

 

So, it means: no sales to Linux users, nobody even interested in ever purchasing NI cards, as long as there's no hope for decent Linux IIO/Comedi drivers.

 

If NI folks only look at the 1% of potential buyers, who waste the time of asking for Linux drivers, they completely ignore the 99% don't even ask because they already ruled NI due to lack of support.

 

It really seems that NI is just hostile against the Linux community and doesn't want Linux customers.

Linux Embedded / Kernel Hacker / BSP / Driver development / Systems engineering
0 Kudos
Message 6 of 6
(2,999 Views)