PXI

cancel
Showing results for 
Search instead for 
Did you mean: 

Virtual machines using "PCI passthrough" to PXI

One of my major goals is to get "PCI passthrough" to work from a virtual machine so it can fully use a PXI chassis.  It would open doors to great flexibility in being able to update multiple legacy test app's, one at a time, on a given test station setup to a new operating system (not all at once).  There are other reasons:

  • No necessity for dual/multi-boot.
  • No OS limitations on the host PC (such as NI embedded controllers which is giving me headaches right now) since the original PCI/PXI hardware drivers for the old software are installed only on the virtual machine (with the guest OS) and not the newer, physical PC (with the host OS).
  • The ability to easily transport the runtime/development environment (one and the same) between station and cubicle PC since it's only a couple virtual machine files.
  • Far easier archiving/documenting of the development environment.  You don't have to copy files from the machine to the archive (and hope you didn't miss something).  The machine is the file, and vice versa.
  • 5 years down the road, when a change is needed, download the couple files from the archive, open them in a virtual machine app, and continue literally right from where the developer last left it (with all the needed drivers and oddball files installed and ready to go).  No development environment configuration necessary at all!

 

Once virtual machines work sufficiently well, I see it as a whole new way of doing development/business.  I can't believe it doesn't have a whole lot more interest than I'm seeing.  I think this would actually be a major feather in NI's hat if they could get this to work (and maybe even create an embedded controller specifically for this using an Intel or AMD processor with the necessary virtualization hardware!).  It could be the hit at any trade show.  Or, is NI shuddering at the thought of virtual machines (with their development environments installed) being copied and moved around too easily?  I'm guessing that's a major concern that may slow NI from taking this and running with it.  Anyway... here is a good summary about what is needed, but there is a lot more varied info out there:

https://www.virtualbox.org/manual/ch09.html#pcipassthrough

 

0 Kudos
Message 1 of 7
(6,816 Views)

Thanks for the info.  NI has done something in the direction I'm talking about with their Hypervisor.

http://www.ni.com/white-paper/9668/en

Unfortunately, it's very restricted in operating systems supported (XP and LabVIEW RT only).  We all need a much more general-purpose platform for hosting whatever operating system we want in virtual machines while being able to access whatever PXI/PCI device the virtual machines need.

 

For example: Currently we have older PXI controllers running Win2000 and test app's written in LabVIEW 7.1 and C and FORTRAN  (I can hear you laughing).  Now we need to create tests for a new device to run on the same station.  On top of that, we want the same old software and new software to also run on another copy of the station that we are building now.  However, the old controller is no longer available, and the new NI controllers no longer support running Win2000.  They might run it, but it's not supported.  Also, the old controllers can not support any OS newer than XP.  Also, there are a few PXI cards which are no longer available in the exact models that we have in the older station, etc., etc.  We've gone crazy trying to figure out a way of developing the new app's using the latest LabVIEW and still being able to run them on the older controllers, etc., along with other related compatibility problems with NI drivers, etc.  After much discussion and many hours of figuring out what to do (including a visit with the local NI guy), the only way to do this would be to dual-boot between 2000 and XP.  But, some here are not so keen about the dual-boot as far as the initial setup and also with retraining station operators.  So, believe it or not, we are stuck with developing our new app in Win2000 and LV 7.1.  However, if we could have had a virtual machine solution which could access the PXI cards, we could be developing with Win7/LV2011 right now.  The old stations' controllers could be updated to newer ones, a virtual machine player put on them, and the old and new test software running on the same Win7 host OS.  Then, as time permits, the older, non-LabVIEW app's could be updated one by one while allowing the others to run as they always have with their older drivers and older OS.

0 Kudos
Message 3 of 7
(6,780 Views)

One limitation I noticed while copying a virtual hard drive file (.vhd) to a flash drive was that it wouldn't do it because it was over 4 GB.  Luckily I zipped my virtual machine files and they dropped to a 1.6 GB file and I could transport it on the thumb drive.  I assume if a VM gets too big to do this, I'll have to carry around an external hard drive?  Can I copy a file larger than 4 GB to an external USB hard drive?  I'll post the answer after I try it.

0 Kudos
Message 4 of 7
(6,728 Views)

Hi everybody,

 

I am updating this thread by asking one question :

Does anybody has tried and successed in connecting a PXI chassis to a Virtual Machine using 'PCI passthrough' technology like supported in VMware ?

 

Regards,

Jean-Louis SCHRICKE
CTA - Certified TestStand Architect (2008 - 2022)
CTD - Certified TestStand Developer (2004 & 2007)
CLD - Certified LabVIEW Developer (2003 & 2005)

0 Kudos
Message 5 of 7
(4,155 Views)

The safe answer is that you're unable to see PXI chassis successfully in a virtual machine. Some VMs might have the capability of doing some type of 'device connectivity' set up but more often than not, they have a hard time even seeing USBs. National Instruments, as stated in this forum post (https://forums.ni.com/t5/LabVIEW/Recognizing-hardware-from-a-Windows-virtual-machine-hosted-on/td-p/...) does not support VMs but more likely than not, you won't be able to connect the chassis.

 

Pro tip: since this thread is a bit old, making a new forum post will ensure more visibility!

Aulia V.
0 Kudos
Message 6 of 7
(4,146 Views)

I've tried VMs on a handful of laptops and desktop machines, and have so far had no problem at all connecting to USB ports and using flash drives.  I even used one machine to successfully drive a linear stepper motor motion controller as a quick experiment.  I've also communicated over serial ports from a VM.  I don't see the common ports as being a problem at all (so far, anyway).  I haven't run into one of those ports yet that hasn't worked for me (not that I've tried a huge number of them).  However, the max data speed may not be as good from a VM as opposed to using the host OS on the same physical machine, but for most applications the VM should work fine.

0 Kudos
Message 7 of 7
(3,209 Views)