Cannot connect Xbox 360 controller, tried everything!

Discussions about using non Windows and Linux guests such as FreeBSD, DOS, OS/2, OpenBSD, etc.
Post Reply
JogaBonito1502
Posts: 1
Joined: 8. Oct 2014, 01:13

Cannot connect Xbox 360 controller, tried everything!

Post by JogaBonito1502 »

Good Afternoon,

I'll get right to it.

Host: Win 8.1
Guest: Xubuntu 13.10 32-bit

Background: I'm running VM Bitcraze 0.5 on my machine so I can do my research using crazyflies as a platform. Part of this process requires me to control the quad-copter with a controller. In this case, I'm trying to use a Wired USB Xbox Controller. My co-worker has successfully capture a PS3 controller using VM Bitcraze 0.2, but we'd like to see if I can get the latest edition to run. I posted on their forums last week with this problem, but received no replies.

Problem: I connect my Xbox Controller and it is recognized by the host, but when I attempt to capture it on the guest, this is the result:
Failed to attach the USB device ©Microsoft Corporation Controller [0114] to the virtual machine Bitcraze VM 0.5.

USB device '©Microsoft Corporation Controller' with UUID {faaff524-56c2-4191-9b95-48f18ba51094} is busy with a previous request. Please try again later.

Result Code: E_INVALIDARG (0x80070057)
Component: HostUSBDevice
Interface: IHostUSBDevice {173b4b44-d268-4334-a00d-b6521c9a740a}
Callee: IConsole {8ab7c520-2442-4b66-8d74-4ff1e195d2b6}
Attempted solutions: I've tried adding/removing/editing filters, disabling/enabling "USB 2.0 (EHCI) Controller" on the VM, and the other solutions I found by searching the forum. Still no luck. Do you guys have any ideas? I'm new to VirtualBox and VM'ing.

Thank you,

Joga

EDIT: I just tried a PS2 controller and it works. Weird that the Xbox controller doesn't.
theseanpkelly
Posts: 4
Joined: 28. Dec 2015, 15:54

Re: Cannot connect Xbox 360 controller, tried everything!

Post by theseanpkelly »

Huuuge +1. I have no solution and really need one.

I'm trying to do the exact same thing (fly a crazyflie). Here's my setup:
Host: Windows 10 (fully updated).
Guest: Xubuntu Linux (bitcraze's crazyflie VM).

I've installed the xboxdrv Linux package but that shouldn't matter, since the device isn't even making it past the pass-through step.

I have no other USB devices connected other than the Xbox 360 controller which is plugged in to a USB3.0 port (I have no USB2.0 ports). It enumerates in windows as "Xbox 360 Peripherals -> xbox 360 controller for windows" and shows up in the USB tab of virtualbox as "Microsoft corporation controller". I select "Microsoft corporation controller" in the USB passthrough menu and nothing happens. After waiting a long time, I try again, and get the error message posted above. At this point I need to reboot my host PC in order to re-attempt passing the USB device though.

Guest OS is configured for emulating USB2.0 port (With the virtualbox extensions package, etc) but it didn't work when the guest was configured for USB1.1 either.

Really would love a solution here. Thanks.
theseanpkelly
Posts: 4
Joined: 28. Dec 2015, 15:54

Re: Cannot connect Xbox 360 controller, tried everything!

Post by theseanpkelly »

Found an annoying but functional workaround!!

1) boot the vm
2) plug in the controller
3) create a Usb filter for the controller (optionally reboot the entire host now. Not sure if this is required)
4) create a *blank filter* -- this will automatically grab the next Usb device which enumerates on the host
5) unplug and replug the controller -- it should get passed through now.
6) remove the blank filter (otherwise things can get strange the next time you boot the vm)

The problem is that windows automatically grabs a handle to the usb device in order to actually enumerate it as a controller. The blank filter seems to grab ownership of the device before windows can. Then, the filter set up for the controller recognizes the device and takes over.

Happy flying.
socratis
Site Moderator
Posts: 27329
Joined: 22. Oct 2010, 11:03
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5
Location: Greece

Re: Cannot connect Xbox 360 controller, tried everything!

Post by socratis »

theseanpkelly wrote:The blank filter seems to grab ownership of the device before windows can.
Actually this is the wrong advice. It captures control of EVERYTHING, including your mouse and keyboard if they're USB based. The proper procedure is:
  1. Make sure that the Extension Pack is installed on the host. The same version as VirtualBox.
  2. Make sure that USB 2.0 is enabled in your VM settings.
  3. Create a USB filter in your guest settings while the device is plugged in the host. Delete all values except Name, VendorID and ProductID. Check also http://www.linux-usb.org/usb.ids to make sure that you have the numbers correct.
  4. Unplug the device.
  5. Start your guest (the one that you applied the filter to). Let it start completely. Log in if you have to.
  6. Plug your device. The filter should capture it and pass control to your guest. You might get a "New hardware found" wizard on the host, that's normal.
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
Post Reply