Tutorial  Updated

Pairing the joy-con on emunand and sysnand

Hello guys! I had the same issue of this thread:
Practically, my joy-con and pro controller weren't synched anymore between EMUnand and SYSnand because I connected them to another console... so when I was switching from SYSnand to EMUnand (and vice versa) I had to redo the controllers pairing

In that thread, that's a way to re-sync the joy-con but you have to transfer a file from EMUnand to SYSnand and for me it's not very safe... So I found a way to transfer that file from SYSnand to EMUnand and keep the SYSnand clean!

So here is the tutorial:


WARNING:

SOMETIMES THIS TUTORIAL CAN LEAD TO THE "RED FIRST SETUP SCREEN" BUT DON'T PANIC! YOUR GAMES AND SAVES ARE SAFE, JUST COMPLETE THE SETUP AND EVERYTHING SHOULD BE AS BEFORE

WE FIGURED OUT THAT SOMETIMES THE SCRIPTS DOESN'T WORK PROPERLY WITH THE NEW HORIZONTAL MODE IF YOU HAVE YOUR JOYCONS ATTACHED SO IS PREFERABLE TO REMOVE JOYCONS BEFORE USING THE SCRIPTS.
I THINK THAT'S A TEGRA EXPLORER BUG AND NOT OUR'S.

I DON'T ASSUME ANY RESPONSIBILITY IF SOMETHING GOES WRONG SO PLEASE FOLLOW THESE STEPS ONLY IF YOU KNOW WHAT YOU ARE DOING


Preparation:
Download the latest version of Tegra Explorer from here: https://github.com/suchmememanyskill/TegraExplorer/releases
Download the right script according to your emunand type from the attached files (and make sure you choose it right)


ATMOSPHERE:

MAKE SURE YOU ARE IN AIRPLANE MODE ON EITHER SYSNAND AND EMUNAND, THIS PROCESS CAN "BREAK" YOUR DNS BECAUSE AS I KNOW, THE 8000000000000050 FILE CONTAINS ALSO WIFI AND OTHER SETTINGS AND THIS CAN LEAD TO BAN.
IF YOU'RE USING INCOGNITO MODE, YOU DON'T NEED TO BE IN AIRPLANE MODE. (BUT IS RACCOMANDED TO DO THAT)



1. Launch TegraExplorer.bin trough whatever you want (RCM loader, TegraRCM ecc…)


2. Go to [SD:/] SD CARD -> tegraeplorer -> syncfix -> Syncfix.te -> Launch Script
and follow the script instructions!

3. DONE!


If you pair your joy-cons/controllers to another console or you format your NAND (SYS or EMU), you have to launch again Syncfix.te to fix the sync issue!



SX OS EMUNAND AS HIDDEN PARTITION:
IF YOU'RE USING SXOS STEALTH MODE OR INCOGNITO MODE, YOU DON'T NEED TO BE IN AIRPLANE MODE.
ON THE CONTRARY, IF YOU ARE NOT USING THOSE, YOU HAVE TO BE IN AIRPLANE ON EITHER SYSNAND AND EMUNAND BEFORE PROCEDING.



DON'T USE TEGRAEXPLORER V2 OR LATER, INSTEAD USE THIS VERSION: https://github.com/suchmememanyskill/TegraExplorer/releases/tag/2.0.5

1. Launch TegraExplorer.bin trough whatever you want (RCM loader, TegraRCM ecc…)

2. Go to
[SD:/] SD CARD -> tegraeplorer -> syncfix -> Preparation.te -> Launch Script
and follow the script instructions!

3. REBOOT TO TEGRA EXPLORER

4. Go to
[SD:/] SD CARD -> tegraeplorer -> syncfix -> Syncfix.te -> Launch Script -> Launch Script
and follow the script instructions!

5. DONE!


You have to launch Preparation.te only the first time you follow this tutorial.
(Obviously, if you delete the emuMMC folder, you have to launch Preparation.te again but… dunno why you should delete it)

This script will create the following path on your micro sd:
sd:/emuMMC/emummc.ini
sd:/emuMMC/ER00/raw_based

This script is necessary to let Tegra Explorer read/write on your emunand and won’t affect it nowise.
If you pair your joy-cons/controllers to another console or you format your NAND (SYS or EMU), you have to launch again ONLY Syncfix.te to fix the sync issue!



SX OS EMUNAND AS FILE
IF YOU'RE USING SXOS STEALTH MODE OR INCOGNITO MODE, YOU DON'T NEED TO BE IN AIRPLANE MODE.
ON THE CONTRARY, IF YOU ARE NOT USING THOSE, YOU HAVE TO BE IN AIRPLANE ON EITHER SYSNAND AND EMUNAND BEFORE PROCEDING.
THIS SCRIPT IS TESTED ONLY ON FAT32 FILE SYSTEM, SO I DON’T KNOW IF IT WORKS ALSO ON EXFAT, LET ME KNOW IF THE EMUNAND CONFIGURATION IS DIFFERENT FOR EXFAT


DON'T USE TEGRAEXPLORER V2 OR LATER, INSTEAD USE THIS VERSION: https://github.com/suchmememanyskill/TegraExplorer/releases/tag/2.0.5

1. Launch TegraExplorer.bin trough whatever you want (RCM loader, TegraRCM ecc…)

2. Go to
[SD:/] SD CARD -> tegraeplorer -> syncfix -> Preparation.te -> Launch Script
and follow the script instructions!

3. REBOOT TO TEGRA EXPLORER

4. Go to
[SD:/] SD CARD -> tegraeplorer -> syncfix -> Syncfix.te -> Launch Script
and follow the script instructions!

5. DONE!


You have to launch Preparation.te every time you follow this tutorial.

This script will create the following paths on your micro sd:

sd:/emuMMC/emummc.ini
sd:/emuMMC/EF00/file_based
sd:/emuMMC/EF00/eMMC

Then, the script will move and rename all your Sxos emunand files from sd:/sxos/emunand/ to sd:/emuMMC/EF00/eMMC like this:

sd:/sxos/emunand/full.00.bin -> sd:/emuMMC/EF00/eMMC/00
.
.
.
sd:/sxos/emunand/full.07.bin -> sd:/emuMMC/EF00/eMMC/07
sd:/sxos/emunand/boot0.bin -> sd:/emuMMC/EF00/eMMC/boot0
sd:/sxos/emunand/boot1.bin -> sd:/emuMMC/EF00/eMMC/boot1


As I said, if you’re using exfat as your file system, please let me know if you have seven “full.XX.bin” files or less (or even more)!

This script is necessary to let Tegra Explorer read/write on your emunand.
As you can imagine, after launching Preparation.te, you aren’t able to boot to Sxos emunand, SO DON’T DO IT, just REBOOT TO TEGRA EXPLORER and launch Syncfix.te.
In Syncfix.te there’s a part that will revert the process so you can boot to Sxos Emunand again!

If you pair your joy-cons/controllers to another console or you format your NAND (SYS or EMU), you have to launch again FIRST Preparation.te, REBOOT TO TEGRA EXPLORER and THEN Syncfix.te to fix the sync issue!


Unfortunately, the Sxos version is still not running on tegragraexplorer v2 or later... so please, if you want to run the script safely on sxos, use this version of tegraexplorer until i'll update it to a newer version: https://github.com/suchmememanyskill/TegraExplorer/releases/tag/2.0.5
 

Attachments

Last edited by MezBar,
I think the code i shared requires some additional synchronisation to work reliably, I can see that the "response" to the memory read command is actually the response to an earlier command because of an unexpected input report that came in. I only used this code to test a theory so I wasn't super concerned with its reliability. You could try running the script a few times and see if it gives any different looking output. You could also try removing some of the other commands during controller initialisation, I can't remember whether they're necessary or not. Lastly, you could try doing a few extra calls to response = controller.read_input()to make sure it's reading a potentially delayed response
 
  • Like
Reactions: Fyrus and Blythe93
I think the code i shared requires some additional synchronisation to work reliably, I can see that the "response" to the memory read command is actually the response to an earlier command because of an unexpected input report that came in. I only used this code to test a theory so I wasn't super concerned with its reliability. You could try running the script a few times and see if it gives any different looking output. You could also try removing some of the other commands during controller initialisation, I can't remember whether they're necessary or not. Lastly, you could try doing a few extra calls to response = controller.read_input()to make sure it's reading a potentially delayed response
Okay, I've tried a few more times and one with only the extra call

It seems the first part of the ltk doesn't change, the latter parts do
You can find that in this archive
 

Attachments

is this still working? I found my switch emunand backed to introduction (red big Switch logo animation) and had to redo the initial setup again after I ran the script. Luckily my installed contents are intact it seems. However the controller connected in sysnand is not synced to emunand.
Post automatically merged:

On Atmosphère 1.5.1 A feature was added to optionally mirror the bluetooth pairing database to the SD card (thanks @ndeadly).
This allows device pairings to be automatically kept in-sync across sysmmc/all emummcs.
This is opt-in, and can be controlled by setting: atmosphere!enable_external_bluetooth_db = u8!0x1.
When enabled, the pairing database will be synchronized to /atmosphere/bluetooth_devices.db.


first, turn off your console, then on your "SDMC:/atmosphere/config/system_settings.ini" file be sure you have ONLY A LINE with the text:
enable_external_bluetooth_db
and what that line is inside the [atmosphere] section

Be sure that line have the value u8!0x1 at end:
enable_external_bluetooth_db = u8!0x1

Delete the file "SDMC:/atmosphere/bluetooth_devices.db"

Then start one of your *NANDs, then go to HOS settings -> Controllers and Sensors -> Disconnect Controllers and keep X pressed.

Restart your console to the same *NAND and test/pair all your wireless controllers.

Turn off your console and start another *NAND then verify all your controllers are already synced

You have to take in account: if any of your *NANDs have firmware less than 13, when you boot that firmware the database will be trunk to the 10 first entries.

*NAND refers to SysNAND or EmuNAND booting with the CFW, if you boot without CFW (OFW) the database will not be synced.


Post automatically merged:

@0bvious did worked?
Thanks! This worked!
 
Last edited by Jereming,
  • Love
Reactions: impeeza

Site & Scene News

Popular threads in this forum