[Hardware Hacking General] E:V:A:
Building your own multifunction JIG

The first thing you need to know, when building your own jig, is how various

resistor values determine the behavior of your phone. Below is a list of

resistor values used in the FSA9280A multiplexer chip. These values have been

become a bit of a standard for new Samsung phones and are thus likely to

remain true also for new models and many other devices running AOS. In

post #3 we use these values to build our Resistor Banks.

FSA9280A/88A Resistor Value Functionality

ID_CON Accessory Detection Table (ID_CON resistance to GND):

[SIZE=2]ADC-reg Min Typ Max Attn Accessory Detected
-------------------------------------------------------------------------------
00000 GND [COLOR=Red]GND [/COLOR]GND ! Host Mode / OTG (On-The-Go)
00001 1.9K 2K 2.1K Audio Send/End Button

00010 2.47K 2.604K 2.73K Audio Remote S1 Button
00011 3.05K 3.208K 3.37K Audio Remote S2 Button
00100 3.81K 4.014K 4.21K Audio Remote S3 Button
00101 4.58K 4.82K 5.06K Audio Remote S4 Button
00110 5.73K 6.03K 6.33K Audio Remote S5 Button
00111 7.63K 8.03K 8.43K Audio Remote S6 Button
01000 9.53K 10.03K 10.53K Audio Remote S7 Button
01001 11.43K 12.03K 12.63K Audio Remote S8 Button
01010 13.74K 14.46K 15.18K Audio Remote S9 Button
01011 16.4K 17.26K 18.12K Audio Remote S10 Button
01100 19.48K 20.5K 21.53K Audio Remote S11 Button
01101 22.87K 24.07K 25.27K Audio Remote S12 Button

01110 27.27K 28.7K 30.14K Reserved Accessory #1
01111 32.3K 34K 35.7K Reserved Accessory #2
10000 38.19K 40.2K 42.21K Reserved Accessory #3
10001 47.41K 49.9K 52.4 K Reserved Accessory #4
10010 61.66K 64.9K 68.15K Reserved Accessory #5

10011 76.1K [COLOR=Red]80.7K[/COLOR] 84.1K ! Audio Device Type-2
10100 96.9K [COLOR=Red]102K[/COLOR] 107.1K ! Phone Powered Device
10101 115K 121K 127K TTY Converter
10110 143K 150K 157K UART Cable
10111 190K 200K 210K Type-1 Car Kit Charger*
11000 242K 255K 268K Factory Mode Boot OFF-USB
11001 292K 301K 316K Factory Mode Boot ON-USB
11010 347K [COLOR=Red]365K[/COLOR] 383K ! Audio/Video MHL Cable**
11011 420K 442K 464K Type-2 Car Kit Charger*
11100 507K 523K 549K Factory Mode Boot OFF-UART
11101 588K 619K 650K Factory Mode Boot ON-UART
11110 750K 1000/2K 1050K Audio Device Type-1 with Remote

11111 - Open - Slave Mode / Charger Mode***
-------------------------------------------------------------------------------
* USB Car Kit specification: ANSI/CEA-936-A.
** USB MHL (Mobile High definition Link)
! Attention, when these values are used, all pin functions
changes. Having the wrong device connected in this mode, may
short and brick interior phone chips.
-------------------------------------------------------------------------------
[/SIZE]

There is a good reason why some resistor values are marked as "DO NOT USE", in

the original FSA9280A datasheet. That reason is because these values trigger a

signal path switch (by cascading multiplexers), in such a way that the

original 2-5 USB (cable) signals no longer exists as such. If this occurs,

when you have another type of device connected, than what was intended for

that function, you risk short-circuiting and bricking the relevant internal

chip that is driving that function. The best example is the MHL function. When

MHL is activated, all mUSB pins become part of MHL signal lines. If during you

happen to have a dedicated charger connected instead of a dedicated

mUSB-to-HDMI cable, you will for sure burn out your MHL Transmitter chip (or

possibly any other chip using those signals in that path). Why? Because a

dedicated charger has D+ and D- pins shorted, while its trying to provide +5V

(@1.2A) on pin-1. This at the same time the MHL chip is trying to provide

various output signals on all 5 pins!

Factory Mode Auto-Configuration Table (1% Resistors on ID_CON Pin):

[SIZE=2]Configuration Boot VBUS DP_CON DM_CON ID_CON BOOT JIG
-------------------------------------------------------------------------------
FactoryMode 0 (UART) On Open RxD TxD 619K HIGH LOW --> Triggers "Dock Mode" (Google Car Home)
FactoryMode 0 (UART) Off Open RxD TxD 523K LOW LOW -->
FactoryMode 1 (USB) On Closed DP_Host DM_Host 301K HIGH LOW --> Triggers "Download Mode" (aka "Debrick/Recovery JIG")
FactoryMode 1 (USB) Off Closed DP_Host DM_Host 255K LOW LOW -->
[/SIZE]

In addition to the above resistor values based on just that one chip, and mainly used by Samsung, there is an international standard specification for Battery Charging. In these spec's there are three additional values to consider.

Battery Charging 1.1 Specifications

(May need to be verified...)

[SIZE=2]DCP: USB Dedicated Charger Port RID_A = 124K
CDP: USB Charging Downstream Port RID_B = 68K
SDP: USB Standard Downstream Port RID_C = 36.5K
where RID = "Resistor Identification"[/SIZE]

List of DIY multifunction JIGs

UberPinguin's Multi-R Jig

Another nice I9100 UART JIG (chinese)

DHylands SGS2 Serial Adapter and Console

Recommended UART Cables

FTDI's "Chipi-X" USB-to-RS232 Cable

Good to Know

Android D2XX FTDI Driver

"Build your own Music dock" [Samsung]