From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Linux Users

cancel
Showing results for 
Search instead for 
Did you mean: 

NI-KAL for 2.6.31+ Kernels

You forget one possible reason why there is any Linux support at all for NI DAQ cards. That there were some crazy programmers inside NI who decided to make some of the DAQ drivers start to work under Linux in their own time, just for the fun of it. If it would have been for the management alone their would be likely still no Linux support.

The Linux version of LabVIEW was basically a similar case. The platform depenendant pieces were there (x86 compiler for Windows machines, X Windows window management library for Solaris, Posix compliant OS manager library for Solaris too and a few other smaller pieces) but everything needed to be tied together and most importantly and also most time consuming, it all needed to be tested to a decent level. Someone took up that task, not because management decided they wanted to sell LabVIEW to Linux users (most likely they still do not sell a noticable amount of Linux licenses since most Linux licenses are used as part of educational site licenses that pay barely the cost to manage the licenses), but because it was an engineering project to see how easy it would be to add new platforms to the LabVIEW universe. And the first few versions were not even marketed since it was not considered release quality, eventhough you could actually work reasonably well with them.

And please have mercy with the support guys and gals. Hammering them will not very likely get management to understand that there is a need for this, but instead it will make every support person cringe when they hear some DAQ Linux question is coming and it will likely detoriate much more the great support they provide in general, than get you any milli inch closer to your targets.

And I'm sure one thing NI wants to prevent here, is that they get into the situation where one specific low cost DAQ manufacturer was in the past selling hardware at half the price of one of their concurrents and when customer asked where the driver software was for that hardware they were simply pointed to that concurrent and told to get the driver from them, since the hardware was register compatible. So NI has a legitimate reason not to publish the complete register level interface of their hardware, but a full open source kernel driver would be more or less exactly that. Or the Linux driver would have to not use some of the more advanced chip features and in that way lack advanced features such as high performance throughput in comparison to the Windows counterpart, which I'm sure will be just as much groaned at than with the current situation.

Rolf Kalbermatter
My Blog
0 Kudos
Message 11 of 49
(1,007 Views)

marvin24 wrote:


Wait - I paid for my hw, I also paid for the windows drivers I don't use (but ok) and I also paid for the Linux drivers. So this software is already paid, because it is bought with the hardware.

Did you pay for the driver as it is now or the full open source kernel driver, that NI never has promissed to do? Would you be willing to pay an extra license fee for such a driver, maybe even on a per installation base?

Rolf Kalbermatter

Rolf Kalbermatter
My Blog
0 Kudos
Message 12 of 49
(1,007 Views)

Rolf,

When I wrote earlier about comparing with winmodems support, I quoted without too many details that a "smart" modem manufacturer supplied/supplies a Linux driver for their AC'97 chipset.

This driver serves a very high percentage of the Linux community (analog modem users, of course).

The story is just what you write: an engineer author of the Windows driver made the Linux driver for fun, at home at odd hours at night. A former student of us, he tested it in my lab. While he tried to explain me how the AC'97 bus works, he had the bright idea that using the driver on other AC'97 modems would be easy if knowing the CODEC. Since, it is downloaded by the thousands monthly.

The same engineer later interfaced it with ALSA, to make Linux users independent from the original manufacturer.

This is one example, not the single one by far, why I fully support your call, which I sort of phrased differently in my earlier post, not to dump our anger on the maintenance people.

Jacques

0 Kudos
Message 13 of 49
(1,007 Views)

You forget one possible reason why there is any Linux support at all for NI DAQ cards. That there were some crazy programmers inside NI who decided to make some of the DAQ drivers start to work under Linux in their own time, just for the fun of it. If it would have been for the management alone their would be likely still no Linux support.

I'm not an insider, but I'm watching the Linux activities from NI since some time now. The "crazy programmers" you mentioned probably wrote the edaq driver (see ftp://ftp.ni.com/support/daq/linux/edaq*) but they stopped in fall 2000. Later on, there were contributions by some NI developers to the comedi project including LabView VI's to access Comedi drivers (see e.g. http://digital.ni.com/public.nsf/allkb/B799ECFA57266A2986256974005482C6, http://news.gmane.org/gmane.linux.comedi), but that seem to stop in 2004/05. At this time DAQmxBase was released followed by NI-DAQmx, which seemed to be an official project. (info mostly found by googling)

I agree with you that probably most of the Linux LabView versions are installed in academic circles, but these are important for NI, because the students of today are the professionals of tomorrow who will spent a significant amount of money to buy this software (same is true for linux itself).

And I'm sure one thing NI wants to prevent here, is that they get into the situation where one specific low cost DAQ manufacturer was in the past selling hardware at half the price of one of their concurrents and when customer asked where the driver software was for that hardware they were simply pointed to that concurrent and told to get the driver from them, since the hardware was register compatible. So NI has a legitimate reason not to publish the complete register level interface of their hardware, but a full open source kernel driver would be more or less exactly that. Or the Linux driver would have to not use some of the more advanced chip features and in that way lack advanced features such as high performance throughput in comparison to the Windows counterpart, which I'm sure will be just as much groaned at than with the current situation.

I don't buy this. Designing the hardware is the complicated task here. Having the registers does not help much. For the software compatibility, there are many counter examples in industry (USB, AHCI, HDMI, maybe HDA also). Even if one company controls the market (like Intel) it is still an advantage for them, as they can define standards that everyone uses...

0 Kudos
Message 14 of 49
(1,007 Views)

Did you pay for the driver as it is now or the full open source kernel driver, that NI never has promissed to do? Would you be willing to pay an extra license fee for such a driver, maybe even on a per installation base?

Of course, I paid for any driver that "works", but what does that mean? NI guarantees that it works on:

Red Hat Enterprise Linux Desktop + Workstation 5

Red Hat Enterprise Linux WS 4

openSUSE 11.1 (Beta support)

openSUSE 11.0

openSUSE 10.3

but that's pretty useless as many users just don't use these distributions. You cannot compare the Linux to Windows/MacOS world where you have a defined environment. This sounds very bad, but the solution is also clear: go open! So I just demand what is best for everyone. An open driver is not an extra - it is a must, especially when kernel symbols are beeing removed or defined as GPL_ONLY exports (which will happen sooner or later with all symbols) - this also happend in 2.6.31 and will continue until a point when vendors are forced to open their hw drivers. Also as a Linux customer, I will normaly loose support from a linux vendor if I install a closed source kernel module - so what to do?

0 Kudos
Message 15 of 49
(1,007 Views)

marvin24 wrote:

Of course, I paid for any driver that "works", but what does that mean? NI guarantees that it works on:

Red Hat Enterprise Linux Desktop + Workstation 5

Red Hat Enterprise Linux WS 4

openSUSE 11.1 (Beta support)

openSUSE 11.0

openSUSE 10.3

but that's pretty useless as many users just don't use these distributions.

Well but that is what they advertise to work and what you pay for if any. I guess there are really two solutions in view of the recent "kernel force everyone to go open source or shutup" movement: NI could decide to go open source or they could decide to drop Linux support for most of their non USB based hardware drivers beyond some inofficial comedi or similar support.

Personally I have a feeling that the second option has a somewhat higher probability than the first.

Rolf Kalbermatter
My Blog
0 Kudos
Message 16 of 49
(1,007 Views)

Disclaimer:  I no longer work for NI, and the following thoughts are mine and mine alone.


I found this thread really interesting so I just wanted to chime in with my 2 cents.

1.  If you want open source drivers you MUST ask for it.  If no one hears this as a request there is no motivation to make it happen.  Yes, you can argue that making the drivers open source would solve all of the worlds problems and that should be enough motivation, but it is surprisingly difficult to convince people this is true.  Asking the support engineers may help get your message heard, but really it is best to ask the sales engineers before you buy the product.

2.  National Instruments is a business, and like all good businesses they want to make money.  Will providing open source drivers, or even providing better support for more distributions make NI more money?  Keep in mind that both developing open source drivers, or providing better support (more distributions etc) with the proprietary drivers requires more development effort and thus costs NI more money.  Additionally what does NI loose by NOT providing open source drivers or better Linux support?  If NI doesn't give you what you want will you get it from a competitor?  Or will you just use Windows, LabVIEW RT, or NI's current Linux offerings?  Like I said in #1 talking to the sales engineers about your requirements before you puchase any hardware/software makes it easier to determine the money involved.

3.  Figuring out how much money NI makes by supporting Linux is surprisingly hard.  NI can keep track of LabVIEW for Linux, but not all customers use LabVIEW.  Most hardware is not sold in Linux kits, so there is no way of knowing when a customer buys a piece of hardware and uses it on Linux.  Tracking downloads of drivers also isn't a very good representation because you don't know how many machines or pieces of hardware that driver is installed on.  Tracking support calls/emails/forums doesn't help much either.  There are currently 81 members in this Linux Users Group.  Does that mean that NI has sold 81 pieces of hardware?

4.  There have been several requests in this thread for open source drivers, and several mentions of Comedi.  If you want open source drivers why aren't you using Comedi?  Does it not support your hardware?  Do you want official support from NI?  Does it lack a feature that you need?  This sort of goes back to asking for the things you want.

Shawn Bohrer

Use NI products on Linux? Come join the NI Linux Users Community
0 Kudos
Message 17 of 49
(1,006 Views)

ShawnB. wrote:

Disclaimer:  I no longer work for NI, and the following thoughts are mine and mine alone.


There are currently 81 members in this Linux Users Group.  Does that mean that NI has sold 81 pieces of hardware?

I guess I am one of those 81 and while I use Linux for some fun projects all my professional work is done on Windows and NI RT platforms.That also means that every single piece of NI hardware I purchase or that gets purchased by someone else for me to work with is actually used with Windows drivers. So I guess that leaves 80 sold hardware products that are used for Linux . Really not a lot to pay for the development of a driver!

Rolf Kalbermatter

Rolf Kalbermatter
My Blog
0 Kudos
Message 18 of 49
(1,006 Views)

Thanks Shawn for providing these questions! I will do my best to answer some of them.

1.  If you want open source drivers you MUST ask for it.  If no one
hears this as a request there is no motivation to make it happen.  Yes,
you can argue that making the drivers open source would solve all of
the worlds problems and that should be enough motivation, but it is
surprisingly difficult to convince people this is true.  Asking the
support engineers may help get your message heard, but really it is
best to ask the sales engineers before you buy the product.

That's exactly what I meant, but I mixed support with sales in my former posts. Sorry about that.

2.
National Instruments is a business, and like all good businesses they
want to make money.  Will providing open source drivers, or even
providing better support for more distributions make NI more money?
Keep in mind that both developing open source drivers, or providing
better support (more distributions etc) with the proprietary drivers
requires more development effort and thus costs NI more money.
Additionally what does NI loose by NOT providing open source drivers or
better Linux support?  If NI doesn't give you what you want will you
get it from a competitor?  Or will you just use Windows, LabVIEW RT, or
NI's current Linux offerings?  Like I said in #1 talking to the sales
engineers about your requirements before you puchase any
hardware/software makes it easier to determine the money involved.

These are a lot of interesting (and important) questions.

Will providing open source drivers, or even
providing better support for more distributions make NI more money?

That's simple, if you can reach more users, probability to sell software/hardware to them is higher. The question is if the complexity of this task will pay back, which leads to the next question: Are open source drivers cheaper than proprietary ones?

Providing open source drivers is an investment which by nature only pays back in the future (if at all - investments are always a risk). Initially, you have to support your old proprietary drivers and develop open source drivers at the same time. This is the price you have to pay because you made the wrong decision in the past (providing proprietary drivers). When the open source drivers are finished, you can stop supporting the old drivers, so the question is, do open source drivers require more support as closed source drivers? The answer is clearly no, because you can benifit from the professional opinions (and review process) from the kernel hackers about the quality of your drivers. This garanties a good funanswered

dament of the driver base and ensures that it fits to the kernel now and in the future. Interface changes are automaticly incorporated into you drivers by the community. This reduces the maintenance costs in the long term! On the other hand, you have to provide a compatibility layer in user space for your cross plattfrom application (e.g. labview), so you cannot take advantage of a low level hal - but I'm not sure about this as I'm not an expert. In any case, this is also only a one time job.

Additionally what does NI loose by NOT providing open source drivers or
better Linux support?

I answered this partly in my previous post. In the long term, more and more kernel symbols will vanish for closed source drivers, so it will be harder (and costly) to provide proprietary drivers. Also proprietary drivers are in a legally gray zone and which causes costs in your legal department.

Also as said before, you can only support a limited number of linux distributions, constraining you customer basis and causing more support effort (like drivers do not run on distri A / kernel x.y.z., there are enough question like that in this group). Of course, you can always hide yourself behind "We only support RHEL, SLES, ... and so on), but his will not broaden you customer basis. Your are also artifically reducing the number of installations because you ignore "new devices", especially in the embedded and mobile market. The last argument was potentially a reason for Intel to provide open source drivers for nearly all of their hardware.

If NI doesn't give you what you want will you
get it from a competitor?  Or will you just use Windows, LabVIEW RT, or
NI's current Linux offerings?

I do not know much about NI's competitors. From the customer point of view, it doesn't matter much on which OS my application is running. Given the grow of linux in the embedded and mobile markets, NI just doesn't provide the products, which leads to asking the sales department. On the other hand, when I have device A on OS B, I first look for existing solutions and not for possible future ones, so the contact to the sales department is never made... Open source drivers enable you to adapt more quickly on new platforms (reducing development costs).

3.  Figuring out how much money NI makes by supporting Linux is
surprisingly hard.  NI can keep track of LabVIEW for Linux, but not all
customers use LabVIEW.  Most hardware is not sold in Linux kits, so
there is no way of knowing when a customer buys a piece of hardware and
uses it on Linux.  Tracking downloads of drivers also isn't a very good
representation because you don't know how many machines or pieces of
hardware that driver is installed on.  Tracking support
calls/emails/forums doesn't help much either.  There are currently 81
members in this Linux Users Group.  Does that mean that NI has sold 81
pieces of hardware?

First, this a chicken and egg problem. There are no customers for non existing products. The question is, how much is the market share and how large will/may it be in the future. Number of installed systems is not a good method to predict this (and the number of subscriber to this group is even worse). Total market share in a special field (lab equipment, embedded or mobile) is better, but does not include the effect of future products on this share. Making polls at on the community front page may fit better, but modify it to something more explicit like "would you consider using linux in <insert senario> when app. xy would be available". Again, I'm not an expert here.

4.  There have been several requests in this thread for open source
drivers, and several mentions of Comedi.  If you want open source
drivers why aren't you using Comedi?  Does it not support your
hardware?  Do you want official support from NI?  Does it lack a
feature that you need?  This sort of goes back to asking for the things
you want.

I used comedi (and other open source software) many years ago. The problem is, that we live in a heterogeneous world and applications need to be portable between platforms. E.g., if I use function A in LabView, it must be available on other platforms too. Comedi/Lib does not implement the proper cross platform capable interface to LabView so I switched to nidaqmx/base when it was available. Writing an application on one platfrom and letting it run on others (e.g. different processor/architecture, 64-bit support and endianes come into mind) without modifications is a major advantage of linux, which can only be fulfilled with open source drivers.

There are propably more arguments (and better persons to argue) for open source drivers, so these are just my few coins. Thank you very much Shawn for your response. I hope the discussion will continue, especially some good contra arguments against .

Marvin

0 Kudos
Message 19 of 49
(1,006 Views)

I would suggest saving money on the lawyer.  Annual maintenance does not cover Linux driver updates for kernel changes.  NI doesn't even officially support kernel versions, only specific distributions.

0 Kudos
Message 20 of 49
(1,007 Views)