Left joycon bricked using a tool called "Joycon toolkit"

Discussion in 'Switch - Console, Accessories & Hardware' started by Noah932282, Oct 10, 2019.

  1. Noah932282
    OP

    Noah932282 Newbie

    Newcomer
    1
    Oct 10, 2019
    United States
    So I was using a windows tool called joycon toolkit and what I've been doing with it is avoiding the link from my hacked switch and clean switch
    basically I made a backup of both my joycon SPI's before doing any of this, when I use my hacked switch I change my joycon SNs to something fake and when
    I use my clean switch I restore the backup I made, well I was doing this last night and in the middle of an SPI restore on my left joycon the program crashed
    now this had some pretty weird results, my joycon is now detected by my switch and by the computer as a right joycon instead of a left joycon and the controls are inverted
    and the left joycon can no longer be used attached to the console and the lights don't stay lit up when connected to the switch
    so I tried restoring an SPI backup of the left joycon again hoping it would fix things
    only to get an error from joycon toolkit saying that I cannot restore a backup for a left joycon onto a right joycon even though this is actually a left joycon
    I'm lost and have no idea what to do, the joycon is basically bricked because joycon toolkit wont let me restore the proper backup
    I was wondering if someone that knows how could mod the program to get rid of the restore limits?

    EDIT:
    My left joycon is now fixed
    :) thank you CTCaer (dev) and moneyman4412
     
    Last edited by Noah932282, Oct 11, 2019
  2. monkeyman4412

    monkeyman4412 Gbatemp's moronic trash

    Member
    8
    Jun 16, 2016
    United States
    Darn, I can't come up with something edgy
    Why did you change the SN.... anyways I think you should contact the dev of the app and hope he can tell you how to restore
     
  3. Noah932282
    OP

    Noah932282 Newbie

    Newcomer
    1
    Oct 10, 2019
    United States
    It was because I only have one pair of joycon and want to keep any trace of my hacked switch behind when using my clean switch
    I asked for help on the switch haxing subreddit and someone told me there might be some people that could recompile the joycon toolkit without the restrictions
     
  4. monkeyman4412

    monkeyman4412 Gbatemp's moronic trash

    Member
    8
    Jun 16, 2016
    United States
    Darn, I can't come up with something edgy
    there is no data that can be stored on a joycon to be told if it was hacked or not.
     
  5. Noah932282
    OP

    Noah932282 Newbie

    Newcomer
    1
    Oct 10, 2019
    United States
    oh...well In that case it was just a dumb idea..:( but that's besides the point I need to fix this..because I don't have $80 to spend on new joycon...
    do you know anything I can try in the mean time while I'm waiting for a reply from the dev?
     
  6. JustBrandonT

    JustBrandonT Advanced Member

    Newcomer
    3
    Mar 11, 2018
    Canada
    What's the EXACT message you got because there's no validation I can see in the source code that says "Cannot restore a left joycon onto a right joycon"..

    I'd imagine it MIGHT be there but there's thousands (13K+) of lines of code..
     
    Last edited by JustBrandonT, Oct 10, 2019
  7. Noah932282
    OP

    Noah932282 Newbie

    Newcomer
    1
    Oct 10, 2019
    United States
    The exact message when attempting to load the backup file is: "The file is a "Joy-Con (L)" backup but your device is a "Joy-Con (R)"!

    "Please try with a "Joy-Con (R)" SPI backup."
     
  8. JustBrandonT

    JustBrandonT Advanced Member

    Newcomer
    3
    Mar 11, 2018
    Canada
    You can comment out lines:

    4887 to 4901 of FormJoy.h, recompile it with Visual Studio 2017 or later and restore. You've got nothing more to lose so..

    The exact lines are:

    Code:
    for (int i = 20; i < 22; i++) {
        if (validation_magic[i] != this->backup_spi[0x6012 + i - 20]) {
            MessageBox::Show(L"The file is a \"" + str_backup_dev_type
                + "\" backup but your device is a \"" + str_dev_type + "\"!\n\nPlease try with a \""
                + str_dev_type + "\" SPI backup.", L"Wrong backup!", MessageBoxButtons::OK, MessageBoxIcon::Stop);
            this->txtBox_fileLoaded->Text = L"No file loaded";
            this->lbl_rstDesc->Visible        = false;
            this->comboBox_rstOption->Visible = false;
            this->btn_restore->Visible        = false;
            this->grpBox_RstUser->Visible     = false;
            this->lbl_rstDisclaimer->Visible  = true;
    
            return;
        }
    }
     
    Last edited by JustBrandonT, Oct 10, 2019
  9. Noah932282
    OP

    Noah932282 Newbie

    Newcomer
    1
    Oct 10, 2019
    United States
    Never really recompiled anything before, I've always used releases, I could try but I don't wanna screw up..

    — Posts automatically merged - Please don't double post! —

    so uh my visual studio trial expired and I cant use it...just my luck :l
     
  10. monkeyman4412

    monkeyman4412 Gbatemp's moronic trash

    Member
    8
    Jun 16, 2016
    United States
    Darn, I can't come up with something edgy
    you could just use the comminuty version. don't need professional
     
  11. monkeyman4412

    monkeyman4412 Gbatemp's moronic trash

    Member
    8
    Jun 16, 2016
    United States
    Darn, I can't come up with something edgy
    You sure it's 4887-4901?
     
  12. KuranKu

    KuranKu I am KranK

    Member
    6
    Jan 13, 2019
    Israel
    Israel
    FormJoy.h, on line 4888 change this
    Code:
    if (validation_magic[i] != this->backup_spi[0x6012 + i - 20])
    {
    MessageBox::Show(L"The file is a \"" + str_backup_dev_type
    + "\" backup but your device is a \"" + str_dev_type + "\"!\n\nPlease try with a \""
    + str_dev_type + "\" SPI backup.", L"Wrong backup!", MessageBoxButtons::OK, MessageBoxIcon::Stop);
    this->txtBox_fileLoaded->Text = L"No file loaded";
    this->lbl_rstDesc->Visible = false;
    this->comboBox_rstOption->Visible = false;
    this->btn_restore->Visible = false;
    this->grpBox_RstUser->Visible = false;
    this->lbl_rstDisclaimer->Visible = true;
    
    return;
    }
    
    to this , maybe it will pass
    Code:
    if (validation_magic[i] != this->backup_spi[0x6012 + i - 20])
    {
    this->txtBox_fileLoaded->Text = L"File Force sloaded";
    this->lbl_rstDesc->Visible = true;
    this->comboBox_rstOption->Visible = true;
    this->btn_restore->Visible = true;
    this->grpBox_RstUser->Visible = true;
    this->lbl_rstDisclaimer->Visible = false;
    
    return;
    }
    
     
    Last edited by KuranKu, Oct 10, 2019
  13. monkeyman4412

    monkeyman4412 Gbatemp's moronic trash

    Member
    8
    Jun 16, 2016
    United States
    Darn, I can't come up with something edgy
    I'm viewing this in microsoft visual studios. And that line is 4908. Did you copy master (the current state of the github) or did you copy the source code part of the last release? or maybe not ingore me.
     
    Last edited by monkeyman4412, Oct 10, 2019
  14. KuranKu

    KuranKu I am KranK

    Member
    6
    Jan 13, 2019
    Israel
    Israel
    i would recompile for you but im fresh linux install and i need
    https://github.com/CTCaer/jc_toolkit/blob/master/jctool/FormJoy.h#L4888
     
  15. monkeyman4412

    monkeyman4412 Gbatemp's moronic trash

    Member
    8
    Jun 16, 2016
    United States
    Darn, I can't come up with something edgy
  16. KuranKu

    KuranKu I am KranK

    Member
    6
    Jan 13, 2019
    Israel
    Israel
    let me know how it goes i would compile but this linux have no .net setup at all i need to setup everything
     
  17. The Real Jdbye

    The Real Jdbye Always Remember 30/07/08

    Member
    19
    GBAtemp Patron
    The Real Jdbye is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Mar 17, 2010
    Norway
    Alola
    That is a strange issue, I'm surprised it's still working at all. Luckily the program is open source, or this might be way harder to fix.
     
  18. KuranKu

    KuranKu I am KranK

    Member
    6
    Jan 13, 2019
    Israel
    Israel
    indeed , i dont know how this could happened, but my best guess will be some exeption hapened just on that part of code or around and likely the person by mistakes being sleepy flashed the wrong side while .net being dump and havent handeled the exeption and program started the flash of the wrong side
     
    Last edited by KuranKu, Oct 10, 2019
  19. monkeyman4412

    monkeyman4412 Gbatemp's moronic trash

    Member
    8
    Jun 16, 2016
    United States
    Darn, I can't come up with something edgy
    seems to work
    So as far as I can tell some pieces need to be adjusted still. (because I like breaking things as well. and was my only means of checking if things worked) I restored a right joycon flash onto my left. And it does work. Problem is joycon toolkit doesn't want to pick up that joycon, post flash. (I obivously have a back up of the left. Not stupid)

    — Posts automatically merged - Please don't double post! —

    This should let you fix your joycon assuming the computer still picks it up and allows it. (Now I just have to undo my fuckery with mine)
     

    Attached Files:

    Noah932282 and achuk like this.
  20. KuranKu

    KuranKu I am KranK

    Member
    6
    Jan 13, 2019
    Israel
    Israel
    oh so your the one of the taff guys ,, ggod luck fixing your mistakes ... hope it turns out to be ok, but as i can tell it checks for size at point after the code ive changed and maybe the next code got messed up the things ^^

    — Posts automatically merged - Please don't double post! —

    i wouldnt risk flashing my self ...
     
Quick Reply
Draft saved Draft deleted
Loading...