[Solved] After installing BthPS3, DualShock 4 connection works only when pairing

So, I installed BthPS3 and it worked fine, but I noticed my DualShock 4 (the new CUH-ZCT2 model) can only connect properly during pairing. I know from what I read on the BthPS3 research thread that when a DualShock 4 tries to connect while BthPS3 is installed, the first connection will be refused and then I have a 10 seconds window to connect the controller again without BthPS3 interfering, but that isn't working here.

What happens instead is that during that 10 seconds interval the DualShock 4 will connect and turn the light bar a solid white, Windows will play the "device connected" sound but after 5 to 10 seconds, the controller will turn itself off and windows will play the "device disconnected" sound.

The only way to use the controller is to remove the device from Windows then pair again by holding PS + Share. After the pairing is finished, the DualShock 4 will remain connected and will work fine until you disconnect it. To use it again, I need to re-pair the controller. Uninstalling BthPS3 instantly fixes this reconnection issue.

If it helps, my Bluetooth adapter is an Orico BTA-403 (VID 0A12, PID 0001, Rev 8891) and I'm running Windows 10 v1909. I wanted to provide some kind of log file but AFAIK BthPS3 doesn't have any...

When attempting to reconnect, the DS4 first tries to connect in "ps4 native mode". Normally this is rejected by windows bluetooth, which makes the controller tries to the connect in "PC mode". With the BthPS3, the DS4 actually can connect in "ps4 native mode", but windows doesn't know what to do with it. Since nothing actually picks the controller data, BthPS3 drops the controller after 10s by design.

To "fix" this, Nefarius implemented a function that instantly drops the DS4 controller when BthPS3 detects that it is, well, a DS4 controller, then disables itself for 10s, so that when you try to the connect the controller in this 10s window it will "sucessfully fail" to connect in Native mode (since BthPS3 is disabled for 10s) and then it will fallback to PC mode, succefully connecting.

Open Windows' Regedit then go to -> HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BthPS3\Parameters
After clicking in "parameters", on the right side double click on "isWIRELESSSupported" and change from "1" (Yes, it is supported) to "0" (No, it is not).

After that, close regedit, the try to connect your ds4 controller. It should connect but then be instantly dropped, after that you will have 10s to turn on the controller again for it to connect normally.

EDIT: I sent a message in Nefarius' Discord server warning Nefarius that this is happening. From what I read on the FAQ, the default parameter for "isWIRELESSSupported" is supposed to be "0" by default. Probably he will fix it the update the setup

I know the first connection will be refused and then BthPS3 will temporarily turn itself off, what I'm saying is that even if I try to connect again on that 10 seconds time window, my DS4 will still get disconnected shortly after establishing a connection (solid white light bar, Windows "device connected" sound play). This workaround isn't working for me.

Edit: nevermind, changing the isWIRELESSSupported value to 0 indeed works, but only after rebooting the computer. It probably should be set to 0 by default...

True, that's a regression from testing but setting mentioned value to 0 indeed has the desired effect ☺

I had a few spare minutes (and Internet, yay) today and updated the setup to version 1.2.1 (link in original post) which sets the registry value correctly. No automatic updates yet, you'd need to grab and install by yourself, cheers! 🙂

I had the same problem, but the 10 seconds for reconnecting didn't help. So I changed it (AutoEnableFilterDelay) in Regedit from 10 to 15 seconds and it worked! Now I can use both DS3 and DS4 without "re-pairing everytime issue". @nefarius I think you should change it by default to 15 or more seconds because seems like for ds4 this period of time is not enough for new try to connect.
(at least it worked for me)

@bekarazhan it's mentioned multiple times in the docs, is available and explained in the UI tool and hasn't caused any troubles for the majority of users so I don't plan on changing that. You can file an issue on the issue tracker though if you want it to not be lost in history.


Straight from the docs:


IDK how to help people who for whatever reason just can't be bothered to read the provided resources...