Davidobot / BetterJoy

Allows the Nintendo Switch Pro Controller, Joycons and SNES controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput
Other
3.91k stars 344 forks source link

[BUG] BetterJoy disables Bluetooth hardware #963

Open Linkarf opened 2 years ago

Linkarf commented 2 years ago

Describe the bug After setting up everything and emulating a Wii game with gyro on Dolphin, my pro controller suddenly stops working. When I go to reconnect it, Bluetooth isn't able to add devices. Once I restart my computer, the bluetooth toggle is non existent. Device Manager has all Bluetooth related drivers hidden grayed out with the following description : "Currently, this hardware device is not connected to the computer. (Code 45) To fix this problem, reconnect this hardware device to the computer."

After uninstalling all Bluetooth drivers, restarting the laptop does not reinstall the drivers. All of them remain missing. Troubleshooting Bluetooth on windows 10 gives the following : Bluetooth is not available on this device. Please try using an external adaptor to add Bluetooth capability to this computer. In services, Bluetooth Support Service is running and set to "automatic" according to many online fixes. I also tried the system file checker tool to repair it. Windows update had a few optional updates which didn't show prior, but this did not fix the issue.

I feared BetterJoy had damaged the internal Bluetooth hardware.

After countless hours, I tried uninstalling BetterJoy drivers. And sure enough, everything went back to normal and I was able to use Bluetooth as before. Maybe since I for once shut down instead of restarting?

The next day I try again, same thing happens. After again around 30 minutes, the controller stops working, bluetooth is on but unable to search devices. I did notice that restarting the computer made the startup much slower than usual. But now uninstalling vigembus and HID drivers does not seem re-establish bluetooth capabilities... I may need to try again all possible fixes as before.

Expected behavior Bluetooth should not go away completely. Does BetterJoy mess with the physical Bluetooth hardware of my computer, or does it somehow replace itself with the installed drivers? If I tried with a wired connection, would my USB drivers also stop working in a similar fashion?

Controller (please complete the following information):

Linkarf commented 2 years ago

My issue is similar to issue #943 However, Bluetooth gets disabled after around 30 minutes and not directly by installing drivers.

EDIT : I have found a stupidly simple but consistent solution. DO NOT try anything related to drivers, bluetooth. Do both a shut down AND a reset (whatever the order). Somehow this has consistenly solved the issue and made Bluetooth functional again right away. I'm still shocked at how simple this is compared to all I've tried. However, I can't exclude that the few changes that were made from previous fixes may have helped.

What causes the problem does not appear as consistent however. It's only ever happened if all four of the following conditions are met : my input profile included had active gyroscope input for the game (instead of say using a stick for the wiimote pointer), I had been playing the game (or left it idle) for more than 30 minutes, the controller suddenly disconnected, I then tried to reconnect it. If either condition is not met, say I close everything once the controller disconnects, then Bluetooth stays alive.