Tutorial Android Pair Pro Controller in HOS and Switchroot Android simultaneously.

ArcharGelod

Active Member
OP
Newcomer
Joined
May 15, 2019
Messages
38
Trophies
0
Age
22
XP
334
Country
Russia
Requirements: original Pro Controller, compatible usb cable, x86-64 linux pc (if "get_jc_procon_ltk" works in WSL, please reply, I'll add it here), magisk.

1. pair procon in HOS
1.5. from now on be careful not to connect procon wirelessly to switchroot android until step 8, if you do, LinkKey nukes, and you'll have to re-pair it in HOS again
1.6. you only have to do it once -"dump joycon-bt" in Hekate > nyx settings (preferrably with joycons attached to the console)
2. Download "get_jc_procon_ltk" from Switchroot Discord
(it is a simple tool for dumping LTK(LinkKey) of pro controller/joycons made by well-known homebrew developer CTCaer)

On your linux pc:
3. install libhidapi-hidraw0 (if it's not yet installed)
terminal command for Debian/Ubuntu:
sudo apt update && sudo apt install libhidapi-hidraw0
4. connect procon to pc with usb cable
5. run "get_jc_procon_ltk" from step 2:
sudo chmod +x ./get_jc_procon_ltk sudo ./get_jc_procon_ltk
remember MAC and LTK of the controller

On your switchroot android:
6. for the next step it is necessary to have root permissions(magisk), if you don't have magisk installed, diwnload fresh release from github - Magisk_vXX.apk rename .apk to .zip and install it in TWRP.

7. edit file /data/misc/bluedroid/bt_config.conf in Android text editor (e.g. RootExplorer) - add these lines at the end:
[mac from step 5,keep the square brackets] Name = Pro Controller LinkKeyType = 4 LinkKey = see below what to put here
LinkKey is LTK you got from step 5, but pairs of symbols are in reverse order, lowercase, no spaces:
example: if you got LTK: 12 56 f0 e8, then LinkKey line will be LinkKey = e8f05612
7.5 if you make a typo here and try to connect procon wirelessly, it will nuke current LinkKey and you'll have to re-pair it in HOS again (step 1)
8. reboot, it should work now - turn on bluetooth and press any button on the controller to test it
 
Last edited by ArcharGelod,

chema8132

New Member
Newbie
Joined
Oct 22, 2021
Messages
4
Trophies
0
Age
30
XP
15
Country
Spain
Hi!

Is this working on Switchroot Android 10? I'm trying to set it up, but whatever I try it's not working. I've verified HOS pairing is still working, but when I change the bt_config.conf and try to test it, it just doesnt connect to Android (but still working on HOS). I've verified the LTK a few times, and I don't see any mistake (it's paired -> reversed -> without spaces). So, did you manage to get it working on Android 10?

Thanks guys
 

ArcharGelod

Active Member
OP
Newcomer
Joined
May 15, 2019
Messages
38
Trophies
0
Age
22
XP
334
Country
Russia
I've verified HOS pairing is still working, but when I change the bt_config.conf and try to test it, it just doesnt connect to Android.

Thanks guys
Is Bluetooth on? Did you reboot after changing config? It should connect automatically, no need to pair, if you pair it - controller will create new LTK, so old configs will stop working. Pair in HOS normally, but in Android just press any button on the controller.

I've only tested it once on latest Android 10 ota update. If when you try to connect - lights on Pro Controller flashes for less than a second (but doesn't connect) - you messed up and have to start from beginning.

Could you attach some screenshots? I might spot mistakes, if there're any.
 
  • Like
Reactions: chema8132

chema8132

New Member
Newbie
Joined
Oct 22, 2021
Messages
4
Trophies
0
Age
30
XP
15
Country
Spain
Is Bluetooth on? Did you reboot after changing config? It should connect automatically, no need to pair, if you pair it - controller will create new LTK, so old configs will stop working. Pair in HOS normally, but in Android just press any button on the controller.

I've only tested it once on latest Android 10 ota update. If when you try to connect - lights on Pro Controller flashes for less than a second (but doesn't connect) - you messed up and have to start from beginning.

Could you attach some screenshots? I might spot mistakes, if there're any.
Sure, thanks for the help.

1. The Pro Controller connects with HOS without any problem.

HOS.jpg


2. Android settings and 'get_jc_procon_ltk' output

Output.PNG

Android settings.jpg


3. Pro Controller not connecting to android (led flashing)

Android not connecting.jpg
 

Attachments

  • Android settings.jpg
    Android settings.jpg
    74.3 KB · Views: 11

ArcharGelod

Active Member
OP
Newcomer
Joined
May 15, 2019
Messages
38
Trophies
0
Age
22
XP
334
Country
Russia
2. Android settings and 'get_jc_procon_ltk' output
Ok, I think I've found the culprit, that's an incorrect MAC address, try running "get_jc_procon" multiple times, it'll give you incorrect mac on first attempt, but on second run it'd be different number, 98:b6... (hopefully(bc it does that on my machine)).

Other way to know MAC is pair controller to android and check device details in bluetooth settings. Mac address should never change, so you have to look it up only once. Don't forget to unpair it afterwards.
 
Last edited by ArcharGelod,

chema8132

New Member
Newbie
Joined
Oct 22, 2021
Messages
4
Trophies
0
Age
30
XP
15
Country
Spain
Ok, I think I've found the culprit, that's an incorrect MAC address, try running "get_jc_procon" multiple times, it'll give you incorrect mac on first attempt, but on second run it'd be different number, 98:b6... (hopefully(bc it does that on my machine)).

Other way to know MAC is pair controller to android and check device details in bluetooth settings. Mac address should never change, so you have to look it up only once. Don't forget to unpair it afterwards.
Think that's not the case. I've just paired it with Android, and the MAC is corrent, I let you see the config now autogenerated by Android pairing.

Android controller paired.jpg

Android settings paired.jpg
 

ArcharGelod

Active Member
OP
Newcomer
Joined
May 15, 2019
Messages
38
Trophies
0
Age
22
XP
334
Country
Russia
Think that's not the case.
Tested whole tutorial once more. It does work. Only difference I see is your config lacking joycon lines generated by Hekate.

I really doubt it's the issue, but you might try dumping "joy-con bt" in Hekate nyx options (with (or without) official joycons attached).

And sorry, but you haven't answered - did you reboot after editing config?
 

chema8132

New Member
Newbie
Joined
Oct 22, 2021
Messages
4
Trophies
0
Age
30
XP
15
Country
Spain
I really doubt it's the issue, but you might try dumping "joy-con bt" in Hekate nyx options (with (or without) official joycons attached).

Well, that did the trick :rofl:. I've dumped Joycons via Hekate -> NYX (never did), and right then it worked, so I guess there must be some kind of relation with what Joycons dumping does and this tutorial.

Thank you ArcharGelod for your help, and nice tutorial, this is really nice!
 
  • Like
Reactions: ArcharGelod

ArcharGelod

Active Member
OP
Newcomer
Joined
May 15, 2019
Messages
38
Trophies
0
Age
22
XP
334
Country
Russia
Thank you for this tutorial OP! I can't seem to access "get_jc_procon_ltk". I clicked on your link to the Discord server, but it says there are no text channels on the server or I don't have access to them. Would you mind uploading this file somewhere?
I really not sure I can do this, it's a closed source app with no license. I might ask permission to post it if it's ever get deleted. Atleast for now it's still available on Discord.

The other way to obtain it is:
1. join Switchroot Discord: https://discord.gg/9d66FYg/
2. search: "in:#ubuntu get_jc_procon_ltk"
 
  • Like
Reactions: Peninsula

Peninsula

Well-Known Member
Member
Joined
May 7, 2014
Messages
172
Trophies
0
XP
1,497
Country
United States
I really not sure I can do this, it's a closed source app with no license. I might ask permission to post it if it's ever get deleted. Atleast for now it's still available on Discord.

The other way to obtain it is:
1. join Switchroot Discord: https://discord.gg/9d66FYg/
2. search: "in:#ubuntu get_jc_procon_ltk"

Great! I actually had to go to https://discord.com/invite/9d66FYg but I was able to get the file and I got it working!

If anyone else gets an access denied error message when trying to execute
Code:
sudo ./get_jc_procon_ltk
be sure to enable the necessary permissions of the file by first executing
Code:
chmod 777 get_jc_procon_ltk
 
  • Like
Reactions: ArcharGelod
General chit-chat
Help Users
  • No one is chatting at the moment.
    Psionic Roshambo @ Psionic Roshambo: Lol