Xbox Controller Bluetooth Disconnect/Failure Issues

Hi there,

I've done a lot of troubleshooting on this issue.

At first I thought it was just the controller but used another controller and same issue.

I have a Raspberry Pi3 connected via LAN cable and is on a VLAN to the windows system -- there is no other traffic on this link and is dedicated to VirtualHere communication. 

This works perfectly and latency is minimal if any at all and in the PI I have a powered USB hub plugged in with the following:

  • Bluetooth module
  • Wireless Keyboard
  • Wireless Mouse
  • I do plug in controllers/etc. at times via USB cable (more on that later).

As a note the Raspberry Pi is only used for VirtualHere, nothing else is running on it bar the default OS installed items.

What happens is the controller seemingly disconnects -- or gets confused, while on Bluetooth but the really odd thing here is it only seems to happen -- or I have only noticed it in, Hollow Knight (the first one). It a random occurance as well but pretty consistent in that it happens over and over.

Troubleshooting:

  • Tried different controllers to rule that out.
  • Connected the controller to the windows PC directly with the on-board Bluetooth - no issue controller.
  • Connected the controller to the windows PC with the Bluetooth module - no issue with the controller.
  • Tried a USB 2.0 extension cable direct to the Pi to move the module away from the USB 3.0 stuff - has the same issue.
  • Turned off the Wireless Keyboard and Mouse - same issue.
  • I even turned off 2.4GHz on my access points - same issue.

It seems to point to the communication via VirtualHere but on that:

  • There is no disconnects/outage on the network link or no events on device disconnects.
  • I have added the command line switches --- it happens before or after adding these:
    • UseCompression=0
    • OptimizeForSpeed=1
    • DirectConnect=1

I am at a loss here as to why.

What is really confusing here is that playing Call of Duty etc. with the controller over Bluetooth there is no issue at all.

Also, if I play with the controller plugged in via USB - over VirtualHere, there is no issue at all.

Any ideas on this? Or what can I give you that might help track down the issue.

Edit:

The only thing I haven't ruled out is the Raspberry Pi itself - and perhaps removing ESET on windows (but I have whitelisted VirtualHere as much as I can).

For the Raspberry Pi at least, I could rig up VirtualHere on another device I have and see but I don't reckon the Pi is the issue here.

#2

It almost sounds like its a network bandwidth and/or CPU starvation issue.

Remember on the pi3 everything goes through a single USB port including the networking. So its majorly bandwidth constrained especially if you are running busy games and the cpu% is high.  Have a look at top or htop and see what that shows when virtualhere is dropping.

 

#3

"Remember on the pi3 everything goes through a single USB port including the networking."

 I did not know that and it makes sense - that it is all connected via USB.

So while my actual network has adequate capacity and no interference -- being a VLAN, it could very well be a capacity issue on the "port" on the pi.

I'll have to check what you suggested.

Do you know if the later pi revisions have the same bottlenecking issue - do they also connect via a single port or perhaps might have bandwidth.

#4

I tried the Bluetooth adaptor on another system - much more powerful than the Pi, and had the same issue.

I've ordered a new one - 6.0 spec this time, so I'll see if changing the adaptor makes a difference.

#5

The pi4 uses a separate USB system to the network system (using a VIA PCIe chip). And the pi5 is even better and completely separates the USB subsystems from each other using a custom RP1 chip.