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.

Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

NI drivers in virtualized OS

I found some threads in NI forum related to this issue, and I think it will become more and more important in the future.

I use several virtualized Operating Systems to develop and test different configurations of software and hardware.

For example I have a lot of old project written in CVI 5.5 using traditional NI drivers, and I must be able to recompile them as they are without modifications to the source code. These programs runs under Win2000 and WinXP.

Side by side I have new projects developed with CVI 2009 and new DAQmx drivers, that runs under XP, Vista and Windows 7.

I can't mix systems and or drivers, so I have two different options:

  1. a different PC for every configuration
  2. only one PC with a different Virtual Machine for every configuration

I think that everybody agrees that the second one is cheaper and easier to use than the first one.

This situation works for a lot of different hardware and drivers from different vendors, except NI

 

If you don't have the same version of DAQmx drivers both on the host and on the guest machine, NI boards doesn't work in the virtualized system (I tried two USB devices: USB-6008 and NI-9215 with cDAQ).

I found this problems both with Oracle VirtuaBox and XP mode inside Windows 7.

Some of the NI guys say that with VMWare there are no problems, but they didn't explain the exact configuration they use (VirtualBox and XP Mode work too if the drivers are installed on the host machine too...)

 

I think that NI should fix this issue because Virtualization is becoming more and more important for customers.

Vix
-------------------------------------------
In claris non fit interpretatio

-------------------------------------------
Using LV from 7
Using LW/CVI from 6.0
0 Kudos
Message 1 of 6
(3,634 Views)

I have personally used a USB-6009 and a USB-TC01 using VMware Fusion (XP SP3 guest with DAQmx 9.0, OS X 10.6 host). However, I don't believe this is an officially supported configuration, so there may be latent data corruption issues of which I am unaware ('Here be dragons' and all that). I also haven't tried to virtualize anything utilizing the Traditional NI-DAQ drivers.

 

The last time I used VirtualBox was before Sun bought them, so I unfortunately can't speak to that.

 

Your need to install DAQmx on the host machine is curious; your virtualization program should pass all of the appropriate USB traffic to the guest OS; the host OS is otherwise uninvolved. I'm not sure why that's necessary-- it hasn't been for me (since only DAQmx Base exists for OS X, I didn't have the same version on host and guest).

——
Brandon Streiff
ni.com/compactdaq · ni.com/daq
0 Kudos
Message 2 of 6
(3,627 Views)

Inside the XP Mode of Windows 7, the Device Manager shows the NI-9215 Board with a yellow exclamation mark and the message "Device will not start [Code 10]".

I read other posts describing this error but they are related to PCI devices, and they point to this KB article.

Does the suggested action apply also for USB devices?

 

I think that the situation Win 7  + XP Mode should be easy to reproduce for NI (and to find a fix, I hope...)

Vix
-------------------------------------------
In claris non fit interpretatio

-------------------------------------------
Using LV from 7
Using LW/CVI from 6.0
0 Kudos
Message 3 of 6
(3,622 Views)

We've looked at the XP mode in Windows 7 and I personally haven't had much success in getting it working.  Virtualization isn't officially supported and there aren't currently any plans to support virtualization moving forward.  Most devices require fairly precise communication between the kernel and the OS and virtualization adds an additional point of failure to the process.  Additionally, because this layer is implemented inconsistently across various virtualization methods, there is a significant burden in supporting virtualization consistently.

 

As a general rule, USB and Ethernet devices have some chance of working in a virtualized environment, though we have seen some data corruption issues with Parallels on OSX.  PCI and PXI devices most likely won't work because we need signifigantly better communication between user and kernel mode that a virtualized OS can provide.

 

We have seen significant success with dual-boot situations such as multiple OS images on one computer or Boot Camp on Mac OSX.  This method is officially supported and our recommended method for maintaining different software images.

Seth B.
Principal Test Engineer | National Instruments
Certified LabVIEW Architect
Certified TestStand Architect
0 Kudos
Message 4 of 6
(3,618 Views)

 


Virtualization isn't officially supported and there aren't currently any plans to support virtualization moving forward.

Strange, because there are some documents on the NI website describing the benefits of virtualization of hardware and software (for example http://www.ni.com/virtualization/)

 

 

 


We have seen significant success with dual-boot situations such as multiple OS images on one computer or Boot Camp on Mac OSX.  This method is officially supported and our recommended method for maintaining different software images.

Unfortunately this is an acceptable solution because I need some software to integrate with the factory LAN and database, and my system administrator doesn't install these programs for every boot.

 

Vix
-------------------------------------------
In claris non fit interpretatio

-------------------------------------------
Using LV from 7
Using LW/CVI from 6.0
0 Kudos
Message 5 of 6
(3,581 Views)

 


@vix wrote:

 


Virtualization isn't officially supported and there aren't currently any plans to support virtualization moving forward.

Strange, because there are some documents on the NI website describing the benefits of virtualization of hardware and software (for example http://www.ni.com/virtualization/)

 


I should clarify that virtualization is not officially supported for Data Acquisition hardware.  Platforms such as cRIO and CompactFieldPoint, which primarily rely on network communication, are definitely supported via virtualization.  Indeed, in these cases, virtualization is an excellent way of taking advantage of the features of these product lines on OSes that are not currently supported.  However, because data acquisition drivers are trying to talk to hardware based in the PC, virtualization poses much more significant issues that are very complex to debug and fix.

Seth B.
Principal Test Engineer | National Instruments
Certified LabVIEW Architect
Certified TestStand Architect
Message 6 of 6
(3,572 Views)