XBox 360 controllers does not vibrate if connected to USB hub

Hello everybody,

I have the following problem:
If my XBox 360 controllers are connected to the VirtualHere server (vhusbdx86_64 v3.3.5 on Linux Mint 18.1) through a 4-port DLink USB hub, I can use all buttons and sticks, but the vibration does not work. If I connect a XBox 360 controller directly to the VirtualHere server without the external hub, everything is working including the vibration. VirtualHere client runs on a Windows 10 system. I tried different games, same behavior. ClaimPorts=1 does not help, because an external hub is not working with this option enabled (still tested it, they are right ;)).

Does someone have an idea, why this happens?

#2

I think its a power issue, i think your dlink usb hub needs to have a separate power supply

#3

Hello Michael,

thanks for your answer. But I'm sure that this can't be the reason.
- It is an active USB hub, which was connected to a power supply while testing it.
- That USB hub with the same USB devices attached to it connected to the Steam Link is working without problems, even with vibrating controllers.

Do you have another idea or do you know a way how I can debug / check it deeper?

#4

OK thats weird, the hub is transparent to virtualhere. Virtualhere sends the same data whether its attached to a hub or not so i think it might be a kernel issue..I think mint runs 4.4? Perhaps try 4.9 if you can.

#5

The following kernel is installed: 4.4.0-72-generic
Since I use this box for multiple services, I don't want to risk to use an unsupported kernel. Is there a way to troubleshot this problem using the current kernel?

#6

For this particular issue unfortunately you would need a hardware analyzer. You would plug the analyzer directly into the computer port (and the 360 controller) and then record when the vibration happens, then plug the analyzer into the hub port and record when vibration happens then compare the two. Then have a look in the driver for the hub and try to trace the data flow through the kernel to figure out why its missing that data. It would be quite an effort.

Can you boot a ubuntu or something with a later kernel in virtualbox and try a passthrough of the x360 and run virtualhere on the virtualbox instance and see if it works then. If it works -> Its defintely the kernel, if it doesnt work i think it still might be a power issue. Do you have any more hubs. Is your hub a USB3.0 hub? Perhaps try a USB 2.0 hub. I notice when i plug my USB 3.0 hub into some machines running old kernels some devices wont be recognised by the linux kernel even without virtualhere.

#7

It's the D-Link USB DUB-H4 USB 2.0 4-Port hub.

Well okay, the main purpose to buy VirtualHere are USB microphones, I just hoped I can solve another controller issue with some games too. Thanks for your support.