[Tool] Joy-Con Toolkit v1.0

Discussion in 'Switch - Hacking & Homebrew' started by CTCaer, Jul 24, 2017.

  1. d4mation

    d4mation GBAtemp Regular

    Member
    171
    35
    Aug 3, 2013
    United States
    Has anyone tried this with the Joy-Con Firmware Update that released yesterday?

    1. Do you have to revert to a backup in order to update?
    2. Does it still work on the newest Joy-Con Firmware?
     
  2. CTCaer
    OP

    CTCaer GBAtemp Regular

    Member
    183
    129
    Mar 22, 2008
    Greece
    1. No
    2. Yes. The update, flashes a new OTA FW in specific regions in SPI. These have code. Not unique configuration. Also if the code changes the location they will break the spec and your updated joy-con will not have color info in your friend's not updated switch.

    I'm very eager to check what they updated in the OTA FW (PatchRAM). After work I will grab my online switch and start some REing.

    EDIT:
    https://www.reddit.com/r/NintendoSw...ntendo_switch_system_update_40_breaks_8bitdo/

    If 8bitdo controllers use the same vendor id and device id as Pro controller, then maybe they changed something in the spec.

    We'll see..
     
    Last edited by CTCaer, Oct 19, 2017
    d4mation likes this.
  3. CTCaer
    OP

    CTCaer GBAtemp Regular

    Member
    183
    129
    Mar 22, 2008
    Greece
    Preliminary results for Joy-Con FW v3.86 show that the configuration and protocol spec is the same.

    So everything you can do with this tool, remains the same.
     
  4. Hario337

    Hario337 Member

    Newcomer
    37
    11
    Aug 5, 2017
    United Kingdom
    what does the new firmware do?
     
  5. CTCaer
    OP

    CTCaer GBAtemp Regular

    Member
    183
    129
    Mar 22, 2008
    Greece
    Don't know yet. I need to disassemble it first.
     
  6. CTCaer
    OP

    CTCaer GBAtemp Regular

    Member
    183
    129
    Mar 22, 2008
    Greece
    Joy-Con fw v3.86
    • 2 new subcmd x24 and x25
    x24 copies the argument to a buffer and enables sth?
    x25 resets the buffer and disables sth.
    The buffer for both is actually a part of the bt device struct that keeps all the configuration)
    • changes to joy-con initialization/boot?
    • some changes to MCU write subcmd for configuring IR and NFC.
    • optimizations to IR and 6-Axis algorithms/filters?
    • a hash algorithm was changed.
    • Updated RF patterns
    • bugfixes
     
    Last edited by CTCaer, Oct 27, 2017
    RayD97, ByteBite, Ewpb and 2 others like this.
  7. cualquiercosa327

    cualquiercosa327 Advanced Member

    Newcomer
    99
    12
    Mar 24, 2009
    Hi.are there the filters and algorithm inside of the fw?
    I thought it was on the library for use the joycon.
     
  8. CTCaer
    OP

    CTCaer GBAtemp Regular

    Member
    183
    129
    Mar 22, 2008
    Greece
    The are some noise filters inside.
    And there is other processing (depending on the mode used) going inside the joy-con.

    The heavy stuff is done by the switch though.

    I still need to finish my RE on IR stuff, but I'm reluctant because the configuration write command looks like a mess and it also has crc checking. Plus not a lot of time.
     
    cualquiercosa327 likes this.
  9. cualquiercosa327

    cualquiercosa327 Advanced Member

    Newcomer
    99
    12
    Mar 24, 2009
    Thanks
     
  10. Shadow#1

    Shadow#1 Wii & 3DS Softmod Expert

    Member
    3,996
    1,127
    Nov 21, 2005
    United States
    @CTCaer does not seem to want to detect my Joy-Cons connected with the 8Bitdo SNES Retro Reciver
     
  11. CTCaer
    OP

    CTCaer GBAtemp Regular

    Member
    183
    129
    Mar 22, 2008
    Greece
    Retro receiver probably denies raw hid access to the device.

    I don't know if it acts as a normal bt adapter by connecting it to a pc through its usb.
    I assume that it maintains it's original function and just translates the hid messages responsible for buttons/stick only.

    So, check if it has a pass-through/bypass/work-like-bt-adapter option.
     
  12. Shadow#1

    Shadow#1 Wii & 3DS Softmod Expert

    Member
    3,996
    1,127
    Nov 21, 2005
    United States
    Where these options be?
     
  13. CTCaer
    OP

    CTCaer GBAtemp Regular

    Member
    183
    129
    Mar 22, 2008
    Greece
    ^

    (I don't know, I don't own an 8bitdo adapter.. My whole reply was hypothetical)


    Anyway, I checked its manual and shows that it uses XINPUT for PC.
    This means that it translates the hid packets to an xinput compatible format.

    This app is designed to work like a Switch. That means that it expects a BT adapter that does not mess with the hid communication and does not alter the packets sent.
    It will not work with these type of devices.
     
  14. luk_pop

    luk_pop Advanced Member

    Newcomer
    50
    5
    Apr 30, 2017
    Poland
    Warszawa
    After update Switch to 4.0.0 and Joy-Con to 3.86 there is no problem with lost conection left joy-con.
    Tested on two sets.
     
    Last edited by luk_pop, Oct 22, 2017
    CTCaer likes this.
  15. CTCaer
    OP

    CTCaer GBAtemp Regular

    Member
    183
    129
    Mar 22, 2008
    Greece
    Good to hear. So that's what these big arrays were. RF patterns/filters.
     
  16. kingsora831

    kingsora831 GBAtemp Regular

    Member
    276
    99
    Jun 15, 2012
    United States
    NYC in College
    Has anyone gotten this to work over parallels on a mac?

    Im having issue with getting the bluetooth to crossover to the windows side.
    The joy con connects fine on the mac side.

    Just installed some translucent red joycons (getting ready for Mario Odyssey) and would love to switch the colors on the Switch OS.
     
  17. trainboy2019

    trainboy2019 GBAtemp Advanced Fan

    Member
    GBAtemp Patron
    trainboy2019 is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    813
    222
    Oct 6, 2015
    Antarctica
    Ylisse
    I've tried, Parallels doesn't seem to support bluetooth, you're better off boot camping.
     
  18. CTCaer
    OP

    CTCaer GBAtemp Regular

    Member
    183
    129
    Mar 22, 2008
    Greece
    @kingsora831 @trainboy2019
    Check this

    And based on the kextunload I saw, no modification to Mac is done. It just unloads the driver and after a restart the driver loads again.
     
    kingsora831 likes this.
  19. kingsora831

    kingsora831 GBAtemp Regular

    Member
    276
    99
    Jun 15, 2012
    United States
    NYC in College
    Parallels and VB are different programs so hopefully this fix applies, but i will definitely try this later today and report back. Thanks.
     
  20. machinoman

    machinoman Advanced Member

    Newcomer
    87
    68
    Feb 12, 2011
    United States
    I have used VirtualBox in the past while on mac to allow a windows image to use my bluetooth device, although I have heard it depends on which kind of bluetooth adapter you have. If it is USB, passing it through is simple, and also most internal bluetooth adapters are internally recognized as a sort of USB device, but it varies from system to system. The only way to find out is to see if it shows up in your USB menu on virtualbox.