Hacking Why Nintendo can't rely on Pin 10 reading

TerraPhantm

Well-Known Member
Member
Joined
Jul 27, 2007
Messages
498
Trophies
0
XP
680
Country
United States
On the switch side, pin 9 is always ground. Pin 10 has a 10kΩ to ground, and is driven to 1.8v when powered on. On the Joy-con side pin 9 is not grounded, but since the switch is, the bridge becomes a bridge to ground when the joy-con is plugged in.

Personally, I soldered a 6.2kΩ resistor between pin 9 and 10. Effectively 3.8kΩ to ground when taking the pull-down resistor into account. That's enough to register a low - I can reliably get into RCM mode. A 10k resistor (5k effective) was not enough to register a logic low.

Not my best soldering, but it works.

IMG_1764.JPG
 
Last edited by TerraPhantm,

NightsEkim

Well-Known Member
Member
Joined
Mar 28, 2015
Messages
166
Trophies
0
XP
324
Country
United States
This doesn't sound reliable, I understand the devs for this hack know their stuff but a logical scenario would go something like this:

1. Detect if Right Joy Con is connected and online, If yes go to step 2, if joy con not detected and online, abort.
2. Detect if pin 10 is high or low, if low proceed to step 3 if high, system is fine.
3. Pin 10 was detected as low, attempt to bring it high, if pin 10 stays low after attempt to bring it high, flag switch, if pin 10 goes high when attempted to bring it high, system integrity is fine.
4. If system is flagged try the same procedure at different intervals throughout a month, if pin 10 stays low most or all of the time, ban console, if mostly high when pulling up, integrity is probably fine.

That's IF this can be done remotely by Nintendo.

Just my 10 cents.
 
  • Like
Reactions: aut0mat3d

aut0mat3d

Well-Known Member
Member
Joined
Mar 15, 2017
Messages
212
Trophies
0
XP
568
Country
Australia
I decided to drill a 1.5mm hole in the back shell and placed a small switch inside to have a trigger-Switch.
resistor used: 2K2, 603

upload_2018-4-26_7-27-7.png
 

aut0mat3d

Well-Known Member
Member
Joined
Mar 15, 2017
Messages
212
Trophies
0
XP
568
Country
Australia
why not just use the wire or jig and not mod the joycon that way it fix's the problem or even the possibility of Nintendo doing this.
Many possibilitys and many personal preferences.
but please: do use a resistor (2K2 to 6K2) in series to be on the save side.
 

kombos

Well-Known Member
Member
Joined
Apr 24, 2018
Messages
140
Trophies
0
Location
Universe
XP
167
Country
Ukraine
This is so offending and rude i can not withstand to reply.

I am always helpful - and i want to do something for the Community. Guess what?
I do not want to have other users going in trouble following your wrong thoughts!
Stop flaming and please please do not believe anybody - only believe your own and proof ererything twize - regardless what a Dev is telling you in discord ;)
If you had some verry rudimentary understanding how logic signals and/or serial communication/handshake works you must had started thinking after my first reply in this thread.

So i want to attemp to describe some verry basic stuff:

10 minutes ago i opened up my right joycon to measure out the connnector port and to do some measurements of the logic levels. I searched for a legit Pinout of the Joycon port to attach my oscilloscope...
Doing that i found the following page:
https://github.com/dekuNukem/Nintendo_Switch_Reverse_Engineering
Here you can find a verry well made documentation, some logic traces and a commented Pinout - also Testpoints described.

Below another 10 cents from me - my last try to make you familiar with verry verry basics of electrical engineering and digital signals:
Digital signals are done with (typically) FET transistors switching a signal line to GND or VCC (tied to GND is a Low level, tied to VCC is a High level) - verry verry rudimentary explained.
So... on the Switch side we do have 0V for Low, 1.8V for high if the SOC has to read the pin state.
To read the State of a Pin the SOC do have to compare the voltage level of the corresponding Pin for being smaller or higher than a certain treshhold level (typically 0.3V on 3.3V logic)
Each input pin has a verry high input impedance (not much current flowing when you apply a source). So: If you want to read a pin state with no pullup or pulldown resistors you would "see" sporadic lows and highs - i.e. a "floating Pin" - This is from EMV (the attached PCB Trace or Wire is acting like a Antenna....
To avoid that (also on unused Pins you ALWAYS want to have defined states!
So the ordinary/regullary way is to activate the built in PullUP resistors as a minimum. I am programming here on Atmel uCs - here we do have about 50K (50 Kiloohm) to VCC - so the Trace/Wire attached on the Pin does have a defined state.
If you want to have a 0 level on that Pin you need to tie it to GND with will lead to some amount of current flowing. - defined pin states - Voi'la!

As far as i know, Pin 10 has to be grounded for having Access to Tegra USB recovery.
A custom method described at many places here in the forum is to short pins 9 and 10.
Pin 9 is unknown, but seems to be driven to ground by the Joycon uC - If you want to do something for the community, please do some measurement and reverse engineer that - would appreciate that a lot.
Pin 10 is for Flow Control (Serial Communication Switch>Joycon) according to dekuNukem: "Joy-Con will only send data to console when this line is HIGH"
Pins 1,2,7 are GND.

So:
If you are shorting Pins 9 and 10 with your switch in normal working state(OS booted) you probably risk damaging your SOC. Why?:
If the Findings of dekuNukem are right (and i am willed to trust him!) the SOC ties that pin to VCC for communication via Serial, the Joycon drives Pin 9 to GND...
If you shorten a Pin in High State (configured as Output) you will draw a lot of current which (if there is no protection circuit) result in a burnt transistor inside the SOC/uC.

If you want to be on the safe Side, please please do the following:
Use a temporary bridge or solder in a Switch - always with a resistor in Series to avoid damage
Use a Resistor, do not short Pins - 200 Ohm would be a good value to start (did not tried that)
Short Pins 1 and 10, not Pins 9 and 10


Detecting a Pin10 permanent tied to GND would be absolutely no problem for Nintendo.
There is a near zero chance that this Pin will be grounded in any way by a fault. - if for some reason pins gets bended or the UART of the Joycon dies with grounding that pin - this would be one of a million.
So: No problem to ban that user - tell him to send in the defective device, look what has happened and unban him if he did nothing wrong.
If i were Nintendo i would definitely do bans according to shorted pins as this is the only chance to make piracy/homebrew a little less comfortable.
I would not wonder if we are facing exactly that behaviour on the next softwares for the Switch:
At verry early System Start the corresponding IO will be configured as input (with pullup resistor enabled), check for being tied to GND, System Message that you have to send in your console.....

Job done, i did something really useful for the Community! :D
Sorry for the grammatical errors and misspelling - English is not my native language.

@aut0mat3d - You're the staff :teach: You did what I had no energy to do. Worst thing is that he probably doesn't undestand anything. Good job !
 
  • Like
Reactions: aut0mat3d

Foupen

Well-Known Member
Newcomer
Joined
Apr 28, 2017
Messages
69
Trophies
0
XP
179
Country
Taiwan
Let´s just hope that they do find some way to find and ban people with modded consoles.
Jesus, why hasn't this troll been banned yet? Even yardie(who recently got banned somehow) was much more contributing to this scene than this pathetic useless troll. All he's been doing here in this forum is talk crap about the Switch modding scene and the developers. He contributes nothing but grief to the scene.
 

smf

Well-Known Member
Member
Joined
Feb 23, 2009
Messages
6,647
Trophies
2
XP
5,898
Country
United Kingdom
Jesus, why hasn't this troll been banned yet? Even yardie(who recently got banned somehow) was much more contributing to this scene than this pathetic useless troll. All he's been doing here in this forum is talk crap about the Switch modding scene and the developers. He contributes nothing but grief to the scene.

Can we ban the OP who is trolling physics?

The switch can reliably detect between ground and unconnected.
 
Last edited by smf,
  • Like
Reactions: aut0mat3d

aut0mat3d

Well-Known Member
Member
Joined
Mar 15, 2017
Messages
212
Trophies
0
XP
568
Country
Australia
Gbatemp is really geting worse and worse. I probably wouldn't mind geting banned. The comunity here is turning to sh!t.
Please step down a bit and calm down!
Most of the community is trying to help ppl like you out. Try to see it from a different Angle. Sorry, but you are completely wrong with your thoughts (Thread title).
If the community here is turning to shit noone would mention your fault, nowadays would try to explain you simple basics.

Wanna have a Proof i am knowing what i am talking about?
Take a look at my actual Prototypes (will be professionally manufactured in two weeks):
upload_2018-4-26_10-31-27.png
 

Kubas_inko

"Something funny goes here."
OP
Member
Joined
Feb 3, 2017
Messages
6,324
Trophies
1
Age
24
Location
I gues on earth.
XP
5,215
Country
Czech Republic
Please step down a bit and calm down!
Most of the community is trying to help ppl like you out. Try to see it from a different Angle. Sorry, but you are completely wrong with your thoughts (Thread title).
If the community here is turning to shit noone would mention your fault, nowadays would try to explain you simple basics.

Wanna have a Proof i am knowing what i am talking about?
Take a look at my actual Prototypes (will be professionally manufactured in two weeks):
View attachment 121428
Help me with what? With the fact that the pin is sometimes low, thus it is not reliable?
 
Last edited by Kubas_inko,

aut0mat3d

Well-Known Member
Member
Joined
Mar 15, 2017
Messages
212
Trophies
0
XP
568
Country
Australia
Using their rhetoric I would say: pin is sometimes high, hence it is reliable :toot: There are people here no one can help.
So.. AC is also not reliable - gonna touch the life wire - nothing - other one Doh! - 50/50 (Line and Neutral) -hmmm floating as everything :D :D :D

--------------------- MERGED ---------------------------

I am really stupid.
Stupid me is a electrical engineer and automation techican.
I am an PLC programmer and do in microcontrollers now for years. Stupid me - nothing learned in all that years! ;)
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Bunjolio @ Bunjolio: balls