dekuNukem / Nintendo_Switch_Reverse_Engineering

A look at inner workings of Joycon and Nintendo Switch
3.47k stars 193 forks source link

bluetooth joycontrol no longer working with Nintendo Switch update 12.00 #123

Open pokemon-bot opened 3 years ago

pokemon-bot commented 3 years ago

https://github.com/mart1nro/joycontrol on Linux PC and the Joycon Droid app on android are having connectivity problems on the latest nintendo switch update 12.00. Behavior is if previously paired. after reconnecting to the switch, on first button press will cause a disconnection. If a new pairing is required. The pairing does not seem to complete and it stays pairing for a very long time with no indication that it is being recognized.

dentedghost commented 3 years ago

Here's the specific ticket: Ticket

Also @Briwerk is also seeing the same. Ticket Details "Hi all, I work on NXBT, a similar project to Joycontrol, and we've also been dealing with comparable issues after the v12.0.0 update. After some changes/fixes were applied to NXBT, it was able to pair/connect and communicate with the Switch (on v12.0.0) again, so controller emulation is still possible with Linux and BlueZ. I found that the main changes that come with the v12.0.0 update are:

The Switch is pickier with which controllers it connects to. More aspects of the authentic Pro Controller need to be emulated to lure the Switch into connecting. The connection procedure has changed slightly when first communicating with the Switch. The Switch will kick controllers off that exceed a certain input frequency (typically 15Hz) in certain scenarios. I'm still looking into the exact mechanism by which the frequency is updated. For those interested in further details on the changes, you can refer to this issue which contains a more detailed writeup.

If I find some time, I'll see if I can port the changes needed over to this project and post a PR. NXBT uses a different emulation and protocol backend than Joycontrol so, unfortunately, it's not a 1-to-1 operation.: