Recently, I have been playing around with the ML-505 platform from Xilinx. One thing that kept biting me (a Mac user) is how the USB platform cable did not seem to work inside the Windows and Linux virtual machines (since Xilinx does not support Mac OS X).
If you google for the problem, you'll find many similar problems, and many that suggest plugging and re-plugging your device. Since this worked, I looked a bit closer at the problem and now have a solution that does not require this (for a Windows guest, at least).
The problem is that the USB cable changes its identity (its PRODUCT ID, more properly), from 0x000f to 0x0008 after its firmware has been loaded, causing the connection to the virtual machine to drop. The solution is to put in two capture filters, one with each ID.
Hope this helps someone. I'll keep you posted on the Linux case - but you might want to look at
Update 2: The virutalization of my windows guest is horrible compare to the one for linux. The speed difference is amazing.
Update 3: This is what I use before I start xps_sdk: source /opt/Xilinx/11.1/settings32.sh; export LD_PRELOAD=~/XL_USB/usb-driver/libusb-driver.so; export XIL_IMPACT_USE_LIBUSB=0
Update 4: In response to Ryan's comment (see below), here is my full setup - note the addition of specific vendor and product match strings.
Filter for unconfigured device (no firmware):