Hacking [Tool] Joy-Con Toolkit

Ep8Script

Well-Known Member
Member
Joined
Aug 5, 2017
Messages
335
Trophies
0
XP
555
Country
Australia
So I found out why the HOME led does not work...
Because I documented wrong, believing that it takes only one argument.

Actually it takes more, the 2nd is when to stop blinking/breathing.
So in Linux, Shinys tool sends a packet with a set length, unlike windows which for some reason hid api has a minimum output buffer.
So mine sends an initialized to zeroes buffer, so the 2nd argument becomes 0 and therefore stop blinking after 0 time.

Thanks for the source code, I'll check it out sometime. And good job for finding the problem, hopefully you can fix it soon.
 

Naked_Snake

Constant Miscreant
Member
Joined
Oct 6, 2013
Messages
1,765
Trophies
0
Age
38
Location
Hyrule Field
XP
1,749
Country
Australia
New v1.5.1 hotfix version released!

Check OP for changelog.

About the HOME LED:
The problem with HOME LED is not the app.
In Linux I run only the 0x38 command or a chain of commands and it always work. USB or BT
In windows I do the same, one command or the same chain and it doesn't lit up.
Checked with Wireshark and the packets were the same.

So I think that linux and windows do a different pairing. And in initialization something is not sent to the device in windows and for some reason the HOME led is disabled.
I will create a dummy app to try with USB and see what will happen...
Can you enable the home led on the joycon to always be on with this?
 

Ep8Script

Well-Known Member
Member
Joined
Aug 5, 2017
Messages
335
Trophies
0
XP
555
Country
Australia
So I found out why the HOME led does not work...
Because I documented wrong, believing that it takes only one argument.

Actually it takes more, the 2nd is when to stop blinking/breathing.
So in Linux, Shinys tool sends a packet with a set length, unlike windows which for some reason hid api has a minimum output buffer.
So mine sends an initialized to zeroes buffer, so the 2nd argument becomes 0 and therefore stop blinking after 0 time.
Awesome! Would you be able to share the code so I'm able to compile it myself or is it too complicated?
 

CTCaer

Developer
OP
Developer
Joined
Mar 22, 2008
Messages
1,154
Trophies
0
XP
3,008
Country
Greece
I tried this multiple times and it still will not connect...
Did you remove the joy-con from Devices and Printers first?
If you not, it will never show up in the pair screen.

Can you enable the home led on the joycon to always be on with this?
Kinda.. Still not finished documentation. Right now I found that it takes more than 10bytes argument. This is around 20 arguments (High and Low nibbles).
I don't know why, but you can completely customize it... and there's no reason for that.

Awesome! Would you be able to share the code so I'm able to compile it myself or is it too complicated?
The home led fix will be only uploaded to Github. It's not an important fix to release a new version here.
The debug is what it's name says. Not a normal feature, but a debugging feature.

Release rules:
Major features added -> GBATemp + Github
Minor additions, fixes, clean up -> only Github.
 
  • Like
Reactions: Naked_Snake

Ep8Script

Well-Known Member
Member
Joined
Aug 5, 2017
Messages
335
Trophies
0
XP
555
Country
Australia
Kinda.. Still not finished documentation. Right now I found that it takes more than 10bytes argument. This is around 20 arguments (High and Low nibbles).
I don't know why, but you can completely customize it... and there's no reason for that.
That's very strange, yeah. There's not really any reason to need THAT much customising.

The home led fix will be only uploaded to Github. It's not an important fix to release a new version here.
The debug is what it's name says. Not a normal feature, but a debugging feature.

Release rules:
Major features added -> GBATemp + Github
Minor additions, fixes, clean up -> only Github.

Sorry, I understand. I forgot you were still working on it and that it's really complicated.

That makes sense. Again, I apologise.
 

Starwort

New Member
Newbie
Joined
May 5, 2017
Messages
3
Trophies
0
Age
30
XP
47
Country
I dumped both my original joycons and my custom joycons, but when I attempt to restore the backup it claims that the SPIs are corrupt (including the one I just dumped). Is it affected by the fact that I renamed the dumps?
If so, how do I differentiate them without a stupid amount of folders?
Thank you in advance for any answers!
If it helps, here are my Joy-con (L) dumps in a zip.
 

Attachments

  • Left Joycon dumps 10_08_2017.zip
    133.2 KB · Views: 137
Last edited by Starwort,

UnobtaniumGamer

Well-Known Member
Newcomer
Joined
Nov 19, 2016
Messages
53
Trophies
0
XP
379
Country
United Kingdom
It won't detect my left joycon. At all.

Here's how everything goes:

The right joycon pairs fine, and the bar that shows pairing progress in Windows goes all the way to the end before saying it's connected. I then open Joycon Toolkit and it detects it fine. Everything goes smoothly.

Then I connect the left joycon, and the bar that shows pairing progress just stays at the very beginning for like 2 seconds before saying it's connected. I then open Joycon Toolkit and it doesn't detect it.

I've been trying to change my left joycon's colours for like, half an hour now. What is this fucking bullshit.
 

CTCaer

Developer
OP
Developer
Joined
Mar 22, 2008
Messages
1,154
Trophies
0
XP
3,008
Country
Greece
I dumped both my original joycons and my custom joycons, but when I attempt to restore the backup it claims that the SPIs are corrupt (including the one I just dumped).
I see that these are fairly new batch, correct?
I will need to change my validation logic because there are joycon with only one fw ram patch.

For now wait. I'll release a hotfix when I can. Also, keep the backups, they are correct.

EDIT:
The file name, does not matter.
I suggest renaming. It keeps your backup from accidental overwriting.
 
Last edited by CTCaer,

CTCaer

Developer
OP
Developer
Joined
Mar 22, 2008
Messages
1,154
Trophies
0
XP
3,008
Country
Greece
New hotfix released. Version 1.5.2

It fixes a major issue with restoring option and newest Joy-Con shipments.

Additionally it has a revamped debug option.


Lastly, you can now send the command that HOME LED needs.
It takes a whopping max 25 byte argument. -.-
The only unused but useful command is a complete mess. That's why they don't use it :P

For more HOME led info check Pull request or directly the file.
I just found a lovely pattern (send subcmd: 38, arg: F100F0F0F0F0F0F000FFFF00FFFF00FFFF to Right Joy-Con or Pro controller)
 
Last edited by CTCaer,
  • Like
Reactions: Naked_Snake

dj505

Inexperienced Romhacker
Member
Joined
Oct 4, 2014
Messages
556
Trophies
0
Location
Most likely at the arcade
Website
www.youtube.com
XP
844
Country
Canada
Lastly, you can now send the command that HOME LED needs.
It takes a whopping max 25 byte argument. -.-
The only unused but useful command is a complete mess. That's why they don't use it :P

For more HOME led info check Pull request or directly the file
Can we get an example command? Never seen the LED light up before and I'm curious haha
 

CTCaer

Developer
OP
Developer
Joined
Mar 22, 2008
Messages
1,154
Trophies
0
XP
3,008
Country
Greece
I edited my post to include one.
Actually if you learn the logic it's pretty easy. But time consuming.

You can do crazy full cycle patterns with the led.
15 different pattern in one full cycle. You want, breathing led? blinking? heart beat? epilipsy blink? wait forever style? always on?
Well you get the idea...
 

dj505

Inexperienced Romhacker
Member
Joined
Oct 4, 2014
Messages
556
Trophies
0
Location
Most likely at the arcade
Website
www.youtube.com
XP
844
Country
Canada
I edited my post to include one.
Actually if you learn the logic it's pretty easy. But time consuming.

You can do crazy full cycle patterns with the led.
15 different pattern in one full cycle. You want, breathing led? blinking? heart beat? epilipsy blink? wait forever style? always on?
Well you get the idea...
That's pretty cool actually! Sounds kinda fun to learn how to reverse engineer.

Gonna try and make it flash really really fast lol
 
Last edited by dj505,
  • Like
Reactions: CTCaer

CTCaer

Developer
OP
Developer
Joined
Mar 22, 2008
Messages
1,154
Trophies
0
XP
3,008
Country
Greece
:rofl:
Epilepsy!

Btw, the milliseconds in the documentation were approximately measured through my smartphone's camera. 120fps video. It did me a great favor.

Try my command also
 

dj505

Inexperienced Romhacker
Member
Joined
Oct 4, 2014
Messages
556
Trophies
0
Location
Most likely at the arcade
Website
www.youtube.com
XP
844
Country
Canada
:rofl:
Epilepsy!

Btw, the milliseconds in the documentation were approximately measured through my smartphone's camera. 120fps video. It did me a great favor.

Try my command also
I used yours as a base haha. Still not completely sure how it works so I'm just working off existing stuff.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: Right onto uremums 3d printed dildo