nefarius / DsHidMini

Virtual HID Mini-user-mode-driver for Sony DualShock 3 Controllers

Home Page:https://docs.nefarius.at/projects/DsHidMini/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Brief disconnect when a vibration is triggered when connected to usb hub at the end of an extension cord with audio interface plugged into it

MtnDewritos opened this issue · comments

  • I have searched open and closed issues for duplicates
  • I am submitting a bug report for existing functionality that does not work as intended
  • I have read https://vigem.org/Community-Support/
  • This isn't a feature request or a discussion topic

Bug description

I have a very obscure issue that probably only affects my setup, but that I would like to see fixed if possible.
I have my controller plugged into a USB 3 hub at the end of a 5m long USB 3 extension cord where I also have a USB audio interface and backlit keyboard plugged in.
The issue is that the PS3 controller disconnects briefly whenever a game/program tells a controller that is plugged into the hub to vibrate (whether that be the PS3 controller itself or an Xbox 360 controller plugged in next to it) as long as the audio interface and keyboard are plugged in as well and drawing enough power, the different configurations I've tested are as follows:

  • PS3 controller on its own - works perfectly
  • Audio interface (48v power to microphone off) - intermittent disconnects
  • Audio interface (48v power to microphone on) - consistently disconnects on every vibration
  • Audio interface (48v power to microphone off) + keyboard (backlight disabled) - intermittent disconnects
  • Audio interface (48v power to microphone off) + keyboard (backlight enabled) - consistently disconnects
  • Audio interface (48v power to microphone on) - consistently disconnects
  • Audio interface (48v power to microphone on) + keyboard (backlight enabled) - consistently disconnects
    if only the PS3 controller and the keyboard are plugged in or just the controller on its own there's no problem.

This is not an issue for Xbox 360 controllers, only PS3 controllers lose connection when a vibration is triggered, thus I believe that there might be some way to mitigate this issue on the driver side.

Note that the behavior was reproduced across two different computers, so it has nothing to do with the specific machine, but rather the fact that I'm probably stretching the USB protocol to its limits.

Steps to reproduce

  • Plug a 5m long USB 3 extension cord into your PC
  • Plug a USB 3 hub in at the end of the extension cord
  • Plug an audio interface into the hub
  • Plug a backlit keyboard into the hub
  • Plug PS3 controller into the hub
  • Do anything that causes a controller vibration

Actual result: PS3 controller briefly disconnects (stops taking input for about a second or two, windows device disconnect sound can be heard). The vibration that was triggered sometimes goes on for longer than expected while the controller remains disconnected.
Expected result: Controller should keep working as normal.

Machine info

CPU-Architecture: x64
Windows version: Windows 10 22H2
Software/driver version(s): 2.2.282

Any other helpful information

I want to repeat that this happens even if another controller (in this case an Xbox 360 controller) plugged into another port on the same hub vibrates the PS3 controller will disconnect just the same as if it was the PS3 controller itself that received the vibration.
However if the Xbox 360 controller is plugged into a different USB port on the computer itself and vibrates it doesn't affect the PS3 controller.
It's specifically when the OS/application tells a controller connected to the USB hub to vibrate that the PS3 controller loses connection momentarily.

👋 @MtnDewritos, we use the issue tracker exclusively for bug reports and feature requests. However, this issue appears to be a support request. Please use our support channels to get help with the project.

The software can't do anything about any USB chained hubs weirdness, outside of its scope.