I'm trying to do mobile application development (BlackBerry, Android) on a virtual machine. My idea is that no matter what desktop I'm on I can open a remote connection to the virtual machine and have my mobile development environment ready. The problem is that I would like to deploy code to the mobile device as if it were physically connected to the virtual machine. Ideally the devices will be plugged in to the client machine that is creating the remote connection.
I'm currently using VMWare workstation to manage my virtual machines, I've done a bit of research to see what the best solution for connecting my usb devices over the network is.
There are a multitude of pricey USB over network solutions that may or may not work for what I'm trying, but I would like to avoid those. I would be interested in a free open source solution where both the usb host and usb client are windows machines. This is close to what I am looking for http://usbip.sourceforge.net/, but you can't host a device from Windows.
It appears that I may be able to do this with a Hyper-V VM and RemoteFX through Microsoft RDC, but I would like this to work on my existing VMWare VM.
The quickest solution I've found is a network usb hub that would allow me to connect the devices over the network, but this would force me to be attached to the hub which is a problem if more people come on my project.
Ideally I'm looking for an existing software solution to my problem. Any suggestions?
Also can anyone confirm this would work in Hyper-V using RemoteFX?
I would consider porting your VM over to VirtualBox from Sun (now Oracle) they have remote USB support out-of-the-box, and are very stable.
I've ported machines the other way (for work) and it's not difficult.
Related
Step by step:
My PC has connected printer via USB (I know VID:XXXX and PID:YYYY)
I took image of my PC and put inside virtual machine (VMWare)
Of course image on my VM doesn't has connected USB-printer (because real printer is connected to my real USB-port on my real PC).
One program is running and checking accessibility of printer by check connection with the printer via USB (I don't know how exactly - maybe via WMI, maybe via other way).
Results:
a) on my real PC this program works
b) on image doesn't work
QUESTION: is possible to emulate on VM-side that USB-port (VID:XXXX and PID:YYYY) is alive?
Thanks.
P.S. I don't want to install USB-redirect-via-TCP or similar approach.
You should switch to the QEMU emulator and to Linux to do that. VMWare probably doesn't support this of thing especially in a Windows environment.
If you are already on Linux, QEMU has hardware emulation of the xHCI and you can assign the host USB devices to KVM (read here: https://www.linux-kvm.org/page/USB_Host_Device_Assigned_to_Guest).
On Windows, I don't think this will be possible.
does anybody know why I can't see the HoloLens 2 emulator as a virtual machine in the hyper-v manager? As far as I know, it is hyper-v based. I'm doing this so that I can change the default virtual switch to an external one (virtual as well) so that other client devices can connect to a server on the HoloLens 2 emulator. If I misunderstood something, tell me that as well.
The HoloLens 2 Emulator uses the Host Compute Service (https://learn.microsoft.com/en-us/virtualization/community/team-blog/2017/20170127-introducing-the-host-compute-service-hcs). Virtual Machines created in this way are not visible in Hyper-V Manager. Modifying the virtual machine to use an external network adapter is not supported. That said, a solution is coming in an emulator update to allow connectivity from other devices. Please keep an eye on https://learn.microsoft.com/en-us/windows/mixed-reality/hololens-emulator-archive for emulator updates.
I have VMware workstation 9 and 10, and I am wanting to use that to run some integration tests.
Using the vmrun utility, I can copy scripts to and run them on the virtual machine guests. However, some of the integration tests will require interfacing with USB devices.
Is there any way using vmrun, or any of the vmware API's to programmatically control the "Removable Devices" to connect and disconnect USB devices to virtual machines?
I have tried looking at the readVariable and writeVariable commands, however I cannot find any useful information on that subject.
vmrun has no facility to passthrough USB devices from the host to the guest and vice versa (source, VMware employee). There are though 2 options to achieve this behavir
A) Use autoconnect: look here and here on how to modify the .VMX file to auto connect the USB device to the guest VM. Basically you need to add usb.autoConnect.device0 = "vid:XXXX pid:XXXX" to it.
B) Use askConnection: When you plugged in the device to the host, and the VM is powered on, you can select to connect the device to the VM and remember the choice. Then the next time when you pluggin the device again, the device will be automatically connected to the remembered VM. Also, you can configure in Edit > Preferences > USB for other choices. Currently, this feature only works when you plug in the device.
I'm trying to develop an interface to an application that doesn't run on Windows 8. Hence, I've created a VM with Windows 7 running the integration service and another service running on the Windows 8 host.
I have three Virtual Network scenarios configured for Hyper-V: Wireless, Shared and Internal. Where Wireless allows all VMs and the host to connect to a wireless network (External), Shared let's the VMs connect through the host via a VPN (Internal) and Internal creates a network within the host where the VMs don't have network access (Private).
When I'm in Wireless (External) mode and there's a wireless network to connect to, everything works fine as if I were testing using to physical PCs on a wireless network. However, today I had a situation where I wasn't connected to a network but still wanted to do some testing and I could not get the VM to see the host and vice-versa. This scenario was quite straight forward to create on VMware which I used before switching to Hyper-V...
Has anyone managed to make Client Hyper-V VMs and the host communicate without a network? Can you guide me how to set it up?
Wireless networking under Windows 8 Hyper V can not communicate with multiple VM the Wireless NIC is assign to only one Hyper V internet connection,
Meaning only one Hyper V can connect to the Internet preventing others from connecting unless you use multiple Nic's Wireless Network Cards or USB Wireless Network.
It is only after you restart or shut down your computer that Hyper-V problems start.
So if you can not connect any of your Hyper VMs then you problem could be due to a shutdown error that Hyper-v in counted Try restarting the whole computer then Hyper- VMs your problem should fix itself.
Might want to try this. I am having similar problems as you and all signs point to this particular solution working, but for me it is not. Might help you, though.
http://blogs.technet.com/b/doxley/archive/2008/07/07/disconnecting-hyper-v.aspx
The solution that DID end up working for me was this:
http://www.elmajdal.net/Win2k8/Enabling_Wireless_Network_For_Hyper_V_Virtual_Machine.aspx
I'm running Server 2008 64bit with Hyper-V. I've created a virtual machine with Vista 64bit and installed it. I can't get the Vista virtual machine to see the network adapter.
I've set-up an external network on the Virtual Network Manager (Hyper-V) and associated that with the virtual machine (Vista). I've also tried using a Legacy Network Adapter but that didn't work either although that time the Vista machine saw the network card but couldn't connect through it.
This is (obviously) the first time I've tried to set-up a virtual machine.
Any ideas?
EDIT: I notice that this question has been voted down a couple of times. I know that it's not a programming question but I'm a developer setting up a virtual machine to test my C#/ASP.NET code on and thought that other developers may hit this problem as well when they're doing this...
I don't know Hyper-V, but I know in VMWare you can create a network connection in Bridged mode (meaning the VM will get it's own IP address via DHCP if that's enabled) or host-only mode (meaning the VM can only communicate with the host). When Vista could see the card, could it communicate with the host machine (which would indicate a host-only connection was specified)? What kind of IP address did it have (I would guess Hyper-V has a built-in DHCP server like VMWare does?) -- that might give additional clues.
Sorry I don't know Hyper-V better...
Make sure you have the Hyper-V Tools installed on the Guest VM. You shouldn't need the legacy adapter.
You also may want to make sure you have all of the latest updates which may have addressed your issue. Particularly, KB950050
http://support.microsoft.com/kb/950050
It turns out that Vista x64 running as a VM through Hyper-V doesn't support the virtual network connection/card and that you have to set it up as a legacy network card. When I eventually got the config settings correct for the legacy network and disable the virtual network it connected.
Thanks for the help guys - much appreciated!