Pinouts for connector - Galaxy Tab General

I thought I'd start a thread on the connector pinouts. I don't have all the answers, but I've got the USB and the TV-Out Video cable (SAMTABRCA), and I've beeped them out.
Since this is a non-standard connector, it isn't clear which end is 1, so I've chosen #1 to be the farthest left pin as you are looking at the connector with the Samsung logo up.
01 Ground
02
03 VIDEO Red
04 VIDEO White
05
06
07
08 VIDEO Yellow
09
10
11
12
13
14
15 Ground
16 Ground
17
18 VIDEO measures 12K to ground
19
21
22
23 USB Present, but not connected
24 USB +5
25
26
27 USB DATA-
28 USB DATA+
29
30
Click to expand...
Click to collapse
The ground pins are all connected together, and are common between both cables.
It appears that pin 18 on the video cable tells the TAB that there's a cable connected?
Pin 23 on the USB cable doesn't seem to be connected to anything. It's probably too much to hope that it is a USB to go pin, although a floating ID pin indicates a device, while a grounded ID pin indicates a host...
I've attached photos of the business end, in the orientation I used.

Numbers are reversed (printed in CAR PCB)
30 Ground (in HDMI and CAR too)
29
28 Audio R (in HDMI, CAR and maybe Video cable)
27 Audio L (in HDMI, CAR and maybe Video cable)
26
25
24
23 VIDEO Composite
22
21
20
19 (Red or G or B signal in HDMI)
18 (Green or R or B signal in HDMI)
17 (Blue or R or G signal in HDMI)
16 Ground
15 Ground
14
13 VIDEO measures 12K to ground (4,3K to ground in HDMI dock only if plug audio out cable, 7,25K to ground if connect CAR dock)
12
11
10 USB +4 (maybe + inside battery)
9 USB +4
8 (conect with 7 and +5V power from USB power supply 2A HDMI and CAR)
7 (connect to 8 and passthru to 7&8 in next connector in HDMI)
6 (Passthru to next connector in HDMI dock)
5
4 USB DATA- (Passthru to next connector in HDMI dock) (in CAR connect with 3 and connect via resistor 40k and 10k to ground to external +5V - recognize power supply ?)
3 USB DATA+ (Passthru to next connector in HDMI dock)
2 (Grounded in HDMI dock)
1 (Grounded in HDMI dock)
Radek

Well, I had a 50/50 chance...
Figures I'd get it backwards!
Now we have to figure out where to get the connector! Neither Digikey nor Mouser have this one, just the backwards iPod one! I've got an iPod connector that I got from Spark Fun, and the only way that it might possibly work is with an exacto knife.
Does the car connector or HDMI dock have any writing on the connectors?
Also, not sure what the USB +4 is? Does it connect to a USB pin? Which one?

CAR dock have numbers on PCB where connector is soldered.
USB +4V is maybe +5V (I measure voltage and find 3.98V)
and maybe this is not for USB ?
Maybe this is power from battery for supply external components ?
Power from USB Host (or 2A 5V power supply) to charge is connect to 7 & 8 pin.
I think TAB send MHL digital video/audio packets to HDMI dock and dock convert it to HDMI (I found Silicon Image Sil 9290 chip inside HDMI dock).
Next chip inside HDMI is micro controller 89C58RC from SST(for control Sil 9220)
Next chip is DC/DC converter 5V->3.3V for supply chips
(HDMI not working without external power from external USB host, power supply)
30 Ground (in HDMI and CAR too)
29
28 Audio R (in HDMI, CAR and maybe Video cable)
27 Audio L (in HDMI, CAR and maybe Video cable)
26
25
24
23 VIDEO Composite
22
21
20
19 (MHL out in HDMI dock )
18 (MHL out in HDMI dock )
17 (MHL out in HDMI dock )
16 Ground
15 Ground
14
13 VIDEO measures 12K to ground (4,3K to ground in HDMI dock only if plug audio out cable, 7,25K to ground if connect CAR dock)
12
11
10 ? ( about 4V maybe for supply external components )
9 (connected to 10 in CAR dock)
8 (connect with 7 and +5V power from USB power supply 2A HDMI and CAR)
7 (connect to 8 and connect to 7&8 in next connector in back HDMI dock)
6 (to next connector in back HDMI dock)
5
4 USB DATA- (Pass through to next connector in back HDMI dock) (in CAR connect with 3 and connect via resistor 40k and 10k to ground to external +5V - recognize power supply ?)
3 USB DATA+ (Pass through to next connector in HDMI dock)
2 (Grounded in HDMI dock)
1 (Grounded in HDMI dock)

I'm bummed about pin 8, though! I was hoping it was USB-to-go, but clearly it is there to take the current for fast charging. <Sigh>
Although I'm curious about the USB connector on the HDMI doc. Any idea what can plug into it?
When I mentioned writing on the connector, I was hoping for some sort of part number. Guess just the pins are numbered. I think that getting a connector is going to be tough!

USB is for Computer connection and for Charging

USB data lines is normally used under "USB setup" to set usb high speed or low speed mode. This is just set using pullup or pulldown resistors. Many devices that uses USB for charging uses the datalines in the charger too. Like GPS's I've seen also has a pullup on one of the datalines in the charger to tell the device that it is connected to a charger only and not expect a data connection.
On some devices it also tells whic charger mode. High current or low current charging.
For pin 13 we should try to go into the source code and see if there is anything that can catch a glance of what voltages it expects (values) there for different mode selections (if it is open at all and not just a precompiled lib).
Or if it is possible to make a program that can force the Tab into deifferent modes by overriding the reading of this analog input.
We should at least make a table her on different voltages/resistance for the different modes.

Only source I've seen is WebKit and the kernel. It's possible that there are clues in the kernel, but I'm not sure how likely that is.

I just tested som things here at the office today.
I took the original car holder and modified it a bit.
I soldered in wires and a 3,5mm stereo jack to get audio output without the need to plug in more cables on the holder.
I soldered the wires to pin 30(gnd),28(Right)and 27 (left)
At first try nothing happened....
The solutions to get audio out there is changing R2 from 1,6Kohm to 6,8Kohm's.
Then the tab accepts this as an audio output instead of a passive car holder.
So now the holder works better for me.

Nice findings, hope this helps:
Here some huge photos off the tab dismantled from ifixit: http://www.ifixit.com/Teardown/Samsu...eardown/4103/1
http://guide-images.ifixit.net/igi/h5GYlFtNW5BMQhHo.huge
http://guide-images.ifixit.net/igi/a21sLFOa4ZGm1jvE.huge
Will be nice to find in the source code any related info about the controler, in the galaxy S Thebeano find something about the microusb controller to put the mobile into diferents modes, with resistors.
http://forum.xda-developers.com/attachment.php?attachmentid=489028&d=1294967439

Now I have been checking a bit more in the source thanks to TheBeano's findings on the I9000.
This is the list of stuff it detects on the port.
It is detectede resistance between ground and ID pin.
//CR7 : ADC Register
#define USB_OTG 0x00
#define SEND_END 0x01
#define AUDIO_REMOTE_S1_BUTTON 0x02
#define AUDIO_REMOTE_S2_BUTTON 0x03
#define AUDIO_REMOTE_S3_BUTTON 0x04
#define AUDIO_REMOTE_S4_BUTTON 0x05
#define AUDIO_REMOTE_S5_BUTTON 0x06
#define AUDIO_REMOTE_S6_BUTTON 0x07
#define AUDIO_REMOTE_S7_BUTTON 0x08
#define AUDIO_REMOTE_S8_BUTTON 0x09
#define AUDIO_REMOTE_S9_BUTTON 0x0A
#define AUDIO_REMOTE_S10_BUTTON 0x0B
#define AUDIO_REMOTE_S11_BUTTON 0x0C
#define AUDIO_REMOTE_S12_BUTTON 0x0D
#define RESERVED_ACCESSORY_1 0x0E
#define RESERVED_ACCESSORY_2 0x0F
#define RESERVED_ACCESSORY_3 0x10
#define RESERVED_ACCESSORY_4 0x11
#define RESERVED_ACCESSORY_5 0x12
#define AUDIO_DEICE_TYPE_2 0x13
#define PHONE_POWERED_DEVICE 0X14
#define TTY_CONVERTER 0x15
#define UART_CABLE 0x16
#define CEA936A_TYPE_1_CHARGER 0x17
#define FACTORY_MODE_BOOT_OFF_USB 0x18
#define FACTORY_MODE_BOOT_ON_USB 0x19
#define AUDIO_VEDIO_CABLE 0x1A
#define CEA936A_TYPE_2_CHARGER 0x1B
#define FACTORY_MODE_BOOT_OFF_UART 0x1C
#define FACTORY_MODE_BOOT_ON_UART 0x1D
#define AUDIO_DEVICE_TYPE_1 0x1E
#define USB_OR_ACCESSORY_DETACH 0x1F
I will try to find the correct values for theese modes as well.

This is from TheBeano in the I9000 thread:
Here is a list of all the resistor values, from fsa9480_i2c.h in the open source code for JPM. The resistor goes from pin 4 to pin 5 of the micro USB plug (full details on how to wire this up are in this thread (http://forum.xda-developers.com/showthread.php?t=819551)). When you connect the plug with the resistor (in Froyo) you should see some messages from the fsa9480 driver in the kernel log, which you can view with the "dmesg" command.
RID_USB_OTG_MODE, /* 0 0 0 0 0 GND USB OTG Mode */
RID_AUD_SEND_END_BTN, /* 0 0 0 0 1 2K Audio Send_End Button*/
RID_AUD_REMOTE_S1_BTN, /* 0 0 0 1 0 2.604K Audio Remote S1 Button */
RID_AUD_REMOTE_S2_BTN, /* 0 0 0 1 1 3.208K Audio Remote S2 Button */
RID_AUD_REMOTE_S3_BTN, /* 0 0 1 0 0 4.014K Audio Remote S3 Button */
RID_AUD_REMOTE_S4_BTN, /* 0 0 1 0 1 4.82K Audio Remote S4 Button */
RID_AUD_REMOTE_S5_BTN, /* 0 0 1 1 0 6.03K Audio Remote S5 Button */
RID_AUD_REMOTE_S6_BTN, /* 0 0 1 1 1 8.03K Audio Remote S6 Button */
RID_AUD_REMOTE_S7_BTN, /* 0 1 0 0 0 10.03K Audio Remote S7 Button */
RID_AUD_REMOTE_S8_BTN, /* 0 1 0 0 1 12.03K Audio Remote S8 Button */
RID_AUD_REMOTE_S9_BTN, /* 0 1 0 1 0 14.46K Audio Remote S9 Button */
RID_AUD_REMOTE_S10_BTN, /* 0 1 0 1 1 17.26K Audio Remote S10 Button */
RID_AUD_REMOTE_S11_BTN, /* 0 1 1 0 0 20.5K Audio Remote S11 Button */
RID_AUD_REMOTE_S12_BTN, /* 0 1 1 0 1 24.07K Audio Remote S12 Button */
RID_RESERVED_1, /* 0 1 1 1 0 28.7K Reserved Accessory #1 */
RID_RESERVED_2, /* 0 1 1 1 1 34K Reserved Accessory #2 */
RID_RESERVED_3, /* 1 0 0 0 0 40.2K Reserved Accessory #3 */
RID_RESERVED_4, /* 1 0 0 0 1 49.9K Reserved Accessory #4 */
RID_RESERVED_5, /* 1 0 0 1 0 64.9K Reserved Accessory #5 */
RID_AUD_DEV_TY_2, /* 1 0 0 1 1 80.07K Audio Device Type 2 */
RID_PHONE_PWD_DEV, /* 1 0 1 0 0 102K Phone Powered Device */
RID_TTY_CONVERTER, /* 1 0 1 0 1 121K TTY Converter */
RID_UART_CABLE, /* 1 0 1 1 0 150K UART Cable */
RID_CEA936A_TY_1, /* 1 0 1 1 1 200K CEA936A Type-1 Charger(1) */
RID_FM_BOOT_OFF_USB, /* 1 1 0 0 0 255K Factory Mode Boot OFF-USB */
RID_FM_BOOT_ON_USB, /* 1 1 0 0 1 301K Factory Mode Boot ON-USB */
RID_AUD_VDO_CABLE, /* 1 1 0 1 0 365K Audio/Video Cable */
RID_CEA936A_TY_2, /* 1 1 0 1 1 442K CEA936A Type-2 Charger(1) */
RID_FM_BOOT_OFF_UART, /* 1 1 1 0 0 523K Factory Mode Boot OFF-UART */
RID_FM_BOOT_ON_UART, /* 1 1 1 0 1 619K Factory Mode Boot ON-UART */
RID_AUD_DEV_TY_1_REMOTE, /* 1 1 1 1 0 1000.07K Audio Device Type 1 with Remote(1) */
RID_AUD_DEV_TY_1_SEND = RID_AUD_DEV_TY_1_REMOTE , /* 1 1 1 1 0 1002K Audio Device Type 1 / Only Send-End(2) */
RID_USB_MODE, /* 1 1 1 1 1 Open USB Mode, Dedicated Charger or Accessory Detach */

Here is the table of modes:
00 - GND
01 - 2k
02 - 2k604
03 - 3k208
04 - 4k014
05 - 4k82
06 - 6k03
07 - 8k03
08 - 10k03
09 - 12k03
0A - 14k46
0B - 17k26
0C - 20k5
0D - 24k07
0E - 28k7
0F - 34k
10 - 40k02
11 - 49k9
12 - 64k9
13 - 80k07
14 - 102k
15 - 121k
16 - 150k
17 - 200k
18 - 255k
19 - 301k
1A - 365k
1B - 442k
1C - 523k
1D - 619k
1E - 1000k07 / 1002K
1F - open

Which pin on the dock connector side is ID?

http://forum.xda-developers.com/attachment.php?attachmentid=489028&d=1294967439
This the schematic for the dock connector. This is from the phone schematics.
Pin 13 is the ID pin

RCA Out with Charging
Has anyone hacked up the RCA cable and the usb charging cable to make one cable that will do both? Strange that this is not available, since watching movies kills the damn thing so quick.

So pins 20,21 are serial port
Code:
FIRST_UNIT : 132
NO_UNITS : 1320
===============================
ID : DBDATAFS (0x17)
ATTR : RW STL SLC (0x1101)
FIRST_UNIT : 1452
NO_UNITS : 348
===============================
ID : CACHE (0x18)
ATTR : RW STL SLC (0x1101)
FIRST_UNIT : 1800
NO_UNITS : 140
===============================
ID : MODEM (0x8)
ATTR : RO SLC (0x1002)
FIRST_UNIT : 1940
NO_UNITS : 64
===============================
loke_init: j4fs_open success..
load_lfs_parameters valid magic code and version.
reading nps status file is successfully!.
nps status=0x504d4f43
load_debug_level reading debug level from file successfully(574f4c44).
reading nps status file is successfully!.
nps status=0x504d4f43
p1_process_platform: Debug Level Low
get_charger_status : 0
p1_process_platform: final P1 booting mode = 0
DISPLAY_PATH_SEL[MDNIE 0x1]is on
MDNIE setting Init start!!
vsync interrupt is off
video interrupt is off
[fb0] turn on
MDNIE setting Init end!!
LCD type: TFT PWM(CMC623)
Autoboot (0 seconds) in progress, press any key to stop
boot_kernel: Debug Level Low
FOTA Check Bit
Read BML page=, NumPgs=
FOTA Check Bit (0xffffffff)
Load Partion idx = (6)
..............................done
Kernel read success from kernel partition no.6, idx.6.
setting param.serialnr=0x3830860d 0x714900ec
setting param.board_rev=0x12
status.param_int_list.param_list[idx].value = 0
setting param.cmdline=console=ttySAC2,115200 loglevel=4
Starting kernel at 0x32000000...

How did you read those data?
I am looking to hack a GTab together with an Arduino to make use of several different sensors, and am trying to figure out how to read that data. Could you give some pointers on how to make it happen?
PS. I am kinda new to this hacking part of Android, but am experienced in coding it in java.

Galaxy Tab Conenctors
Found a website that has Galaxy Tab Connectors:
http://shop.kineteka.com/products/199-samsung-galaxy-tab-connector.aspx
-Nik

WOW, it has JTAG TX and RX, nice..

Related

[Q] COM port access on extUSB or elsewhere

Hi
I would like to connect a microcontroller serial UART to my HTC P3600
Found some infos for the G1 extHTC, see at end of post
But I want to have direct access to the COM port (which number ?) under WM6.1 even if I hack the IRDA (it is of no use)
Does anyone have such experience and can share ?
Best regards
extUSB pinout :
_____________
| A B C D E |
\1 2 3 4 5 6|
A: GND
B: NC
C: +DATA
D: -DATA
E: +5v
1: +Mic
2: +Right
3: Switch / Rx / CABLE_IN2
4: GND / Tx / CABLE_IN1
5: GND
6: +Left
if you connect 4 and 5, you activate the headphone
the extUSB is also called DC U300
cable, sold at 2.5 USD on ebay : cgi.ebay.fr/HTC-11-PIN-ExtUSB-USB-DATA-CABLE-Touch-Pro-2-HD-Cruise-/270574886743?pt=PDA_Accessories#ht_3795wt_1137
the connector is sold at sarkfun 10.95 USD as breakout or alone
www_sparkfun_com/commerce/product_info.php?products_id=9167
pinout :
1: USB VCC +5v
2: USB Data -
3: USB Data +
4: N / C
5: USB GND
6: Left Audio +
7: Labeled "AG" GND
8: Audio - (GND) Labeled "CK" TX
9: Switch (Talk) Labeled "OT" RX
10: Right Audio +
11: Mic +
12: Chassis Ground (GND)
Documents: For more pinout information see Kineteka
shop.kineteka.com/Products/94-htc-extusb-breakout-mini.aspx
www_instructables_com/id/Android-G1-Serial-Cable/step2/Soldering-the-HTC-ExtUSB-Breakout-Board-Data-Wires/

[work in progress] USB OTG and charging at the same time [UPDATE]

Hi there,
So I been looking for a way to both charge and use USB OTG after a short search in Google I found this:
http://www.youtube.com/embed/p10LgZFIawo
basically this guy used a simple USB Y cable which look like this
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
If you look inside that cable it would probably look like this:
so from that pattern we can see that there is no way that our S3 will charge (frankly saying I don't really know why his TouchPad was charging)
there is a simple explanation why it won't charge, there is something that called "USB Battery Charging Specification" which is some kind of a standard for charging via USB port therefore for the phone to recognize that a charger is connected the D+ and D- should be shorten together or connected through a 200k resistor (BTW to charge an iphone it should sense a voltage on D+ and D- but it is a different story, what I'm trying to say is that it is true for all phones).
we could just connect the D+ and D- in the Y cable and charge but then the OTG won't work because it need the D+ and D- to transfer data
OK so what now? is it possible?
well probably it is possible somehow.
Not long ago I so this laptop extension for the S3 called "Spider Laptop"
Tow interesting thing in this laptop extension the first one is that it charge the phone
the phone will charge from the 8000mAh battery
Click to expand...
Click to collapse
the second thing is that it has 1 USB port my guess is it will let you use it as a OTG
(assuming it doesn't have some additional hardware inside)
The user sonic_boom was successfully made OTG cable and charge at the same time for Xperia phones by simply connecting a 100k resistor between sense (4) pin and ground (5 pin)
http://forum.xda-developers.com/showthread.php?t=1822653
but he had no luck with the S3 yet.
Overall we can see that it possible in android devices so why not on S3?
I been messing around in the S3 kernel source code to find some clue if it would be possible
and I found something interesting in max77693-muic.c file (BTW max77693 is a power and battery management IC)
ADC_DOCK_PREV_KEY = 0x04,
ADC_DOCK_NEXT_KEY = 0x07,
ADC_DOCK_VOL_DN = 0x0a, /* 0x01010 14.46K ohm */
ADC_DOCK_VOL_UP = 0x0b, /* 0x01011 17.26K ohm */
ADC_DOCK_PLAY_PAUSE_KEY = 0x0d,
ADC_SMARTDOCK = 0x10, /* 0x10000 40.2K ohm */
ADC_CEA936ATYPE1_CHG = 0x17, /* 0x10111 200K ohm */
ADC_JIG_USB_OFF = 0x18, /* 0x11000 255K ohm */
ADC_JIG_USB_ON = 0x19, /* 0x11001 301K ohm */
ADC_DESKDOCK = 0x1a, /* 0x11010 365K ohm */
ADC_CEA936ATYPE2_CHG = 0x1b, /* 0x11011 442K ohm */
ADC_JIG_UART_OFF = 0x1c, /* 0x11100 523K ohm */
ADC_JIG_UART_ON = 0x1d, /* 0x11101 619K ohm */
ADC_CARDOCK = 0x1d, /* 0x11101 619K ohm */
Click to expand...
Click to collapse
These resistors you see above are used to put the S3 in his diffrent modes, for example the 301Kohm resistor between sense (pin 4) and ground (pin 5) will put the phone in download mode aka USB JIG.
what caught my attention is "ADC_SMARTDOCK" can it be the "spider laptop"? maybe
I was looking for some more clues and I found this in line 1897-1900
case CABLE_TYPE_SMARTDOCK_MUIC:
if (chgtyp == CHGTYP_DEDICATED_CHGR) {
pr_info("%s:%s SMART_DOCK+TA=OTG Enable\n", DEV_NAME,
__func__);
Click to expand...
Click to collapse
to clarify
"chgtyp" - charger type (USB, AC, other).
"CHGTYP_DEDICATED_CHGR" - 500mA charger (standard current of a USB port).
"SMART_DOCK" - probably the "samrtdock" mode.
"TA" - not sure yet (cable type??)
It seem like it would be possible to use OTG and Charge at the same time in "smartdock" mode
SMART_DOCK+TA=OTG Enable
Click to expand...
Click to collapse
To put the S3 in "smartdock" mode we need connect 40.2Komh (as mentioned above) between sense (pin 4) and ground (pin 5)
The only thing left is to try and see!
I will try it and update you...
You are more then welcome to try and report in if it is working or not (I AM NOT RESPONSIBLE FOR ANY DAMAGE)
If you know some other way to make it work I would glad to hear!
UPDATE
So far no luck with 40.2Kohm resistor
But maybe it because my 40.2Kohm is actually 40K (damn deviation)
Anyway some findings:
1. The phone is charging at least it saying so, not really left it to see if it is really charging.
2. The phone recognized the charge as a USB meaning it drawing 500mA.
3. By playing with the 4 pin i noticed that the phone need the 4 pin to be shorten to ground just for a second, after the S3 recognized the USB OTG mode I released the 4 pin from ground and it was still working in otg mode.
what made me think that it is possible somehow to modify the kernel and make OTG working, or make it work in other mode for example instead of going in car dock mode (or other mode) with a 619K resistor to enable OTG mode because in car dock mode the phone is charging for sure.
Any ideas? suggestions?
searching for smartdock I found this site: gosmartdevice.com/official-accessories-for-galaxy-note-2/
there is a smart dock with a microUSB and 2 USB ports, so it seems to enable simultaneous OTG and charging.
the resistor values are in the original kernel source code?
and have you tried to get exactly 40.2K Ohms?
Yes the resistor values are it the original source code.
I tried with exactly 40.2k it shows like it is charging but it is not really charging
I believe this will be possible with a 11 pin micro usb. The xperia doesn't use a 11pin for multi function does it?
Maybe this is where you are going wrong.
Sent from my GT-I9300 using xda app-developers app
If you haven't already seen it, check this thread. Nothing S3 specific, except car dock + charging, but still they have been fiddling around for a while.
http://forum.xda-developers.com/showthread.php?p=32688111
Sent from my GT-I9300 using Tapatalk 2

[HW MOD][UPDATE][JB] USB OTG + Charging on the Galaxy S3

Good news everyone,
I got OTG + Charging working on Samsung JB ROMs Apologies to everyone how's been asking me about this, but it's a bad case of not having time to research and actually not needing the cable during the winter months. Anyway, I found some time, went again through the latest kernel sources (Update7), did some more soldering and testing and so here are the goods:
Actually, it turns out there are two methods to achieve USB Host + charging in JB. Samsung introduced a new dock type in the kernel code - AUDIODOCK, but I'm not sure they've actually release the dock itself.
Method 1 (AUDIODOCK, Easier):
Ok, so this is the easier method. It's similar the the old SMARTDOCK, it simply emulates the new dock type. Follow the old instructions for creating the cable, just change the 40.2K ohm resistor with a 64.9K ohm one. This is all you need. Some of the old notes apply:
You still need to connect the power source first, before connecting the cable to the phone.
You need a Samsung based kernel. I've been running this setup on Perseus, but should also work on Boeffla and Siyah. I think all of them have the necessary config options set on compile. This should also work on stock NoteII kernel, but not sure about stock SIII.
Charging is done at wall charger levels (1000mA, if unchanged in kernel). This is an improvement compared to the old ICS solution where it charged at USB levels. I haven't actually tested this with a multimeter, rather this is what the kernel reports.
Screen will be constantly on unless you press the power button to turn it of manually. There seems to be a user-space daemon (DockObserver) that listens for dock events from the kernel and when the phone is docked it takes a wakelock to keep the screen on.
Method 2 (SMARTDOCK, Harder but enables MHL):
This second method is quite a bit harder to actually implement and also took me quite some time to reverse-engineer. Ironically, it was the first method I found, because I was so focused on getting the smart dock mode back to work. The resistor value is the old 40.2K ohm, but now the detection is a two step process. Here's the kernel workflow:
First a cable attach is detected and the resistor value is checked to be 40.2K ohm for smart dock.
Then VBUS is check, meaning voltage is present on the cable.
Here comes the interesting part, which I think is new in the JB kernel. The two data lines D+ and D- are checked to be shorted. This is a standard configuration for wall adapters. They have their data pins shorted internally as a way to detect that this is not a USB port on a PC and the phone can draw more power. So when the data pins are shorted, in the kernel this indicates a dedicated charger and a dedicated charger plus a 40.2K ohm resistor on the ID pin means a smart dock (makes sense, right). I don't remember if this check was present in the old source, maybe it was but the code was written poorly and worked without it (but remember it charged as USB, so there may have been more to it).
Within 500ms (half a second) after this, the kernel expects a new hardware event to indicate the data pins are disconnected (as they should be, to be able to communicate with the phone). I've also tried keeping the data pins shorted for longer and it still worked. There were just some duplicate checks and messages in the log. Either way, be sure to disconnect the data pins, before connecting anything else besides the phone to the cable.
After all this, the kernel configures the USB controller in host mode and switches the battery controller to charging (AC mode).
MHL is also enabled, but throws an error in my case (same as in ICS), because I didn't have those pins connected.
So this is how you enable SMARTDOCK mode. For the purpose of this test, I did the data pin shorting by hand (actually several hands as I had some help ), but to implement this in a functional cable, you will need some active electronics to detect the phone being connected (a current sensing circuit maybe) and delay a bit before disconnecting the two data lines (initially shorted).
I'll be quite interested if someone else tries this approach, but for the moment I'm happy with the results of the first method. It's simple and does the job for me. I don't need MHL. Maybe someone will be interested in getting the full smart dock experience for less than the $100 Samsung are asking for it. Don't get me wrong, the smart dock looks like a very nice and functional accessory, but I just don't need it.
Old post, for ICS plus detailed background
SHORT: I got USB Host and charging working at the same time on my Galaxy S3 (will probably work on other Samsung devices though). What you need is a 40.2K ohm resistor across the ID(pin 4) and Ground(pin 5) on your microUSB connector (compared to normal OTG cable where they are shorted) and one of those USB Y cables that ship with some external hard drives that require a second USB port just for power (or make your own by splitting out the +5v and Ground lines, plenty of guides online). That's all
LONG: I've been working on a small project of mine to connect my phone to an external device that accepts GPS NMEA messages over a serial interface. At first I was thinking of doing it with a board like the AndroidADK or IOIO which have USB Host controller and several UARTs. In that scenario the board would act as the USB Host and provide power to the phone enabling simultaneous communication with the external device and charging. But this setup was looking too bulky and overly complicated. The boards were too big for my application as I'm very constrained in size and weight for this project. So then I found this great little board:
https://www.sparkfun.com/products/9716
I thought, OK, my phone has USB host capability, this should be solvable with software alone. A couple of weeks later, reading about kernel support and the drivers, I had a working prototype application, no kernel recompiling or module compiling, just a plain old Java written app. With this done, now the only problem left was POWER. As my phone would be running with screen at full brightness, GPS enabled, plus powering the USB to Serial converter through USB OTG, external power was a must. I could use just a normal USB Y cable, but this would only supply power to the converter, which I'm guessing isn't all that much power hungry. What I really needed was for the phone to charge, which doesn't happen out of the box with a standard USB OTG cable.
Again I started digging through the kernel code. At one time I found an article (I think it was for the Galaxy Nexus) that suggested commenting out some code in the kernel that was responsible for switching the battery charger from charging mode to the so called "boost" mode where it was outputting up to 100mA for external devices. However, I could find this code. Maybe because it was for a AOSP ROM kernel, not Samsung kernel, or a device with a different charger circuit. Plus I really didn't want to have to setup a toolchain and recompile the kernel.
Luckily, while going through the kernel code, I came across an interesting enumeration what was listing some integer values with corresponding resistance values in the comments. That's where I saw the 40.2Kohm value. As far as I can understand, when put across the ID and GND pins of the microUSB, it's used to identify a "SMARTDOCK", I'm guessing some premium Samsung accessory that's capable of charging the phone while providing USB host ports (and MHL/HDMI I think).
Following were a couple of hours of painful soldering of SMD (very tiny) resistors, as these where the only ones I could find lying around the house, to get the right resistance value. Note the phone can be a bit picky about the exact value. I did it with 4x10Kohm, which were in abundance on an old HiFi's PCB I had. I added them up to get 40.15Kohm (I guess those were not very precise resistors). This did the trick
USB OTG works as usual, plus the phone is charging. Here's a excerpt from the kernel log upon connecting the cable:
Code:
<3>[ 7601.289051] c0 [HOTPLUG IN] check_up 200000>=600000 && 0>200
<3>[ 7601.289439] c0 CPU_UP 1
<4>[ 7601.293467] c1 CPU1: Booted secondary processor
<6>[ 7601.293757] c1 notifier_call_chain : NOTIFY BAD tick_notify
<6>[ 7601.295315] c1 Switched to NOHz mode on CPU #1
<6>[ 7601.951462] c0 cm36651_work_func_light, red = 376 green = 404 blue = 216 white = 388
<3>[ 7602.610492] c0 [HOTPLUG OUT] check_down 700000<=500000 && 300<200
<3>[ 7602.610736] c0 CPU_DOWN 1
<5>[ 7602.615338] c0 CPU1: shutdown
<6>[ 7603.660803] c0 max77693_irq_thread: interrupt source(0x08)
<6>[ 7603.662066] c0 max77693_irq_thread: muic interrupt(0x00, 0x12, 0x00)
<6>[ 7603.662254] c0 max77693-muic max77693-muic: max77693_muic_irq: irq:445
<6>[ 7603.663205] c0 max77693-muic max77693-muic: func:max77693_muic_detect_dev CONTROL1:3f
<6>[ 7603.664338] c0 max77693-muic max77693-muic: func:max77693_muic_detect_dev irq:445 ret:0
<6>[ 7603.664536] c0 max77693-muic max77693-muic: max77693_muic_detect_dev: STATUS1:0x3f, 2:0x48
<6>[ 7603.664727] c0 max77693-muic max77693-muic: adc:1f adcerr:0 chgtyp:0cable_type:0
<6>[ 7603.664896] c0 max77693-muic max77693-muic: max77693_muic_detect_dev: DETACHED
<6>[ 7603.665072] c0 max77693-muic max77693-muic: func:max77693_muic_handle_detach
<6>[ 7603.669386] c0 max77693-muic max77693-muic: max77693_muic_handle_detach: CNTL2(0x3b)
<6>[ 7603.669568] c0 max77693-muic max77693-muic: max77693_muic_handle_detach: duplicated(NONE)
<6>[ 7603.675052] c0 max77693_irq_thread: interrupt source(0x08)
<6>[ 7603.676364] c0 max77693_irq_thread: muic interrupt(0x01, 0x00, 0x00)
<6>[ 7603.676535] c0 max77693-muic max77693-muic: max77693_muic_irq: irq:437
<6>[ 7603.677472] c0 max77693-muic max77693-muic: func:max77693_muic_detect_dev CONTROL1:3f
<6>[ 7603.678607] c0 max77693-muic max77693-muic: func:max77693_muic_detect_dev irq:437 ret:0
<6>[ 7603.678798] c0 max77693-muic max77693-muic: max77693_muic_detect_dev: STATUS1:0x30, 2:0x48
<6>[ 7603.678990] c0 max77693-muic max77693-muic: func:max77693_muic_handle_dock_vol_key status1:30 adc:10 cable_type:0
<6>[ 7603.679223] c0 max77693-muic max77693-muic: adc:10 adcerr:0 chgtyp:0cable_type:0
<6>[ 7603.679402] c0 max77693-muic max77693-muic: max77693_muic_detect_dev: ATTACHED
<6>[ 7603.679577] c0 max77693-muic max77693-muic: func:max77693_muic_handle_attach st1:30 st2:48 cable_type:0
<6>[ 7603.679793] c0 max77693-muic max77693-muic: func:max77693_muic_handle_attach Attach SmartDock
<6>[ 7603.679996] c0 max77693-muic max77693-muic: func:max77693_muic_set_usb_path path:0
<6>[ 7603.680163] c0 MUIC safeout path=0
<6>[ 7603.680379] c0 regulator regulator.2: func:max77693_reg_is_enabled
<6>[ 7603.680530] c0 regulator regulator.2: func:max77693_get_rid
<6>[ 7603.680667] c0 regulator regulator.2: func:max77693_get_enable_register
<6>[ 7603.681628] c0 regulator regulator.3: func:max77693_reg_is_enabled
<6>[ 7603.681783] c0 regulator regulator.3: func:max77693_get_rid
<6>[ 7603.681917] c0 regulator regulator.3: func:max77693_get_enable_register
<6>[ 7603.682864] c0 max77693-muic max77693-muic: max77693_muic_set_usb_path: AP_USB_MODE
<6>[ 7603.683042] c0 max77693-muic max77693-muic: max77693_muic_set_usb_path: Set manual path
<6>[ 7603.686819] c0 max77693-muic max77693-muic: max77693_muic_set_usb_path: CNTL1(0x3f)
<6>[ 7603.687788] c0 max77693-muic max77693-muic: max77693_muic_set_usb_path: CNTL2(0x3e)
<6>[ 7603.730374] c0 MUIC usb_cb:5
<6>[ 7603.730460] c0 usb: muic: invalid mode5
<6>[ 7603.730573] c0 max77693_powered_otg_control: enable(1)
<6>[ 7603.731882] c0 otg_accessory_powered_booster: otg accessory power = 1
<6>[ 7603.732038] c0 host_notifier: start usbhostd notify
<6>[ 7603.732162] c0 host_notify: ndev name=usb_otg: from state=2 -> to state=1
<7>[ 7603.734407] c3 mif: set_hsic_lpa_states: 215: called(s5p_usb_phy_resume+0x514/0x534):
<6>[ 7603.734597] c3 mif: set hsic lpa wake: pda active (1)
<6>[ 7603.755687] c0 MUIC attached:1
<6>[ 7603.755809] c0 MHL Attached !!
<6>[ 7603.755916] c0 sii9234_wake_lock()
<6>[ 7603.756034] c0 sii9234: mhl_onoff_ex(on)
<6>[ 7603.756151] c0 sii9234_power_onoff(1)
<6>[ 7603.756282] c0 sii9234_reset()
<6>[ 7603.775375] c0 sii9234: detection started d3
<6>[ 7603.775501] c0 mhl_hpd_handler() state is aready off
<6>[ 7603.953645] c0 sii9234 : go_to d3 mode!!!
<6>[ 7603.953706] c0 goto_d3() : enable_irq(1)
<6>[ 7603.953746] c0 max77693-muic max77693-muic: func:max77693_muic_set_charging_type force_disable:0
<6>[ 7603.953818] c0 max77693_muic_charger_cb: 13
<6>[ 7603.953852] c0 max77693_set_muic_cb_type: muic cable type(13)
<5>[ 7603.953907] c0 melfas-ts 3-0048: melfas_ta_cb
<5>[ 7603.953941] c0 melfas-ts 3-0048: TA connect!!!
<3>[ 7603.985700] c0 [ERROR] sii9234 : mhl_tx_read_reg(0x71)
<3>[ 7603.985729] c0 [ERROR] sii9234_irq_thread():3121 read MHL_TX_INTR1_REG failed !
<6>[ 7603.985765] c0 sii9234_irq_thread(): i2c error exit
<6>[ 7603.985790] c0 sii9234: wake_up
<6>[ 7604.454668] c0 max77693_get_cable_type: CDR(0x1)
<3>[ 7604.454716] c0 max77693_get_cable_type: chgtyp detect err, retry 1, CHGIN(0x3). MU_ST2(0x48), CDR(0x1), VB(0x1), CHGTYP(0x0)
<6>[ 7604.560636] c3 max77693_irq_thread: interrupt source(0x08)
<6>[ 7604.561801] c3 max77693_irq_thread: muic interrupt(0x00, 0x07, 0x00)
<6>[ 7604.561925] c3 max77693-muic max77693-muic: max77693_muic_irq: irq:441
<6>[ 7604.562785] c3 max77693-muic max77693-muic: func:max77693_muic_detect_dev CONTROL1:9
<6>[ 7604.563819] c3 max77693-muic max77693-muic: func:max77693_muic_detect_dev irq:441 ret:0
<6>[ 7604.563958] c3 max77693-muic max77693-muic: max77693_muic_detect_dev: STATUS1:0x30, 2:0x41
<6>[ 7604.564102] c3 max77693-muic max77693-muic: adc:10 adcerr:0 chgtyp:1cable_type:d
<6>[ 7604.564223] c3 max77693-muic max77693-muic: max77693_muic_detect_dev: ATTACHED
<6>[ 7604.564350] c3 max77693-muic max77693-muic: func:max77693_muic_handle_attach st1:30 st2:41 cable_type:13
<6>[ 7604.564495] c3 max77693-muic max77693-muic: max77693_muic_handle_attach: duplicated(SMARTDOCK)
<3>[ 7604.656888] c0 max77693_get_cable_type: CHGIN(0x3). MU_ST2(0x41), CDR(0x0), VB(0x1), CHGTYP(0x1)
<3>[ 7604.657055] c0 max77693_get_cable_type: chgtyp detect ok, CHGIN(0x3). MU_ST2(0x41), CDR(0x0), VB(0x1), CHGTYP(0x1)
<3>[ 7604.657231] c0 max77693_get_cable_type: cable type(3)
<6>[ 7604.677259] c0 battery_update_info: state(1), type(3), health(1), present(1), cable(3), curr(466), soc(96), raw(9548), vol(4245000), ocv(4264000), tmp(291)
<3>[ 7604.677486] c0 battery_monitor_work: Updated Cable State(3)
<3>[ 7604.883067] c0 battery_charge_control: charge enabled, current as 466/460mA @52286
<6>[ 7604.884009] c0 battery_interval_calulation: v diff(19000), weight(120)
<6>[ 7604.884138] c0 battery_interval_calulation: weight(120)
<6>[ 7604.884258] c0 battery_monitor_interval: apply weight(120), 30 -> 36
<6>[ 7604.884439] c0 [997] bat: s(96, 0), v(4245, -19), b(1), t(29.1), h(1), cs(1, 1), cb(3), cr(466, 460), a(0), f(0), r(0), t(52286)
<7>[ 7605.126794] c0 Motor:tspdrv: ImmVibeSPI_ForceOut_AmpEnable (1)
<7>[ 7605.213586] c0 Motor:tspdrv: ImmVibeSPI_ForceOut_AmpDisable (0)
<3>[ 7607.105308] c0 [HOTPLUG IN] check_up 200000>=600000 && 0>200
<3>[ 7607.105368] c0 CPU_UP 1
<4>[ 7607.107141] c1 CPU1: Booted secondary processor
<6>[ 7607.107246] c1 notifier_call_chain : NOTIFY BAD tick_notify
<6>[ 7607.110239] c1 Switched to NOHz mode on CPU #1
<3>[ 7608.150538] c0 [HOTPLUG OUT] check_down 500000<=500000 && 391<200
<3>[ 7608.150745] c0 CPU_DOWN 1
<6>[ 7608.151774] c0 cm36651_work_func_light, red = 376 green = 405 blue = 216 white = 388
<5>[ 7608.157231] c0 CPU1: shutdown
If you look at the log carefully, you'll notice there are a couple of lines going about MHL failing to enable. I guess this SMARTDOCK I'm emulating also has a HDMI port for video out and uses some of the additional pins on the Galaxy's connector. The S3 has a non standard 11-pin microUSB connector exactly for this purpose (USB OTG + Power + Video out + maybe audio). Nevertheless, this setup works for me and there are no visible side effects.
NOTES:
1. Connect power before connecting the cable to the phone. The driver switches charging on only if power is present on the VBUS upon connecting the cable and it doesn't monitor the VBUS state actively. So if you plug in the power supply after connecting the cable to the phone, it won't start charging. You have to disconnect and reconnect it.
2. Requires a Sammy kernel. Not 100% sure, haven't tested with CM9/10, but since the code is about a Samsung accessory and is in the driver for the switching circuit used in S3 (\drivers\misc\max77693-muic.c) this is a high probability.
3. Charge is done at 460 mA. At least that's what the log states at one point. Then again at another place it reads "TA connect!!!" which I think means that a wall adapter is connected. Measuring the actual current is on my todo list.
4. MHL failed to enable - this shouldn't be a big issue. I think it's from the fact that I emulate a SMARTDOCK being connected, that (possibly) has HDMI out.
5. I haven't tried using a 124Kohm resistor with is the standard for enabling USB OTG + charging called "Accessory Charger Adapter". I have a hunch that maybe this won't work as a found a datasheet for the switching circuit used in older Samsung devices and in there is a table that lists all the resistance values that can be used on the ID pin. There's one at around 120Kohm that's pretty close to the 124Kohm value and it has nothing to do with USB OTG or charging. For comparison the 40.2K value is listed as being for additional accessories (vendor specific), which is what Samsung use it for.
[HW MOD] USB OTG + Charging on the Galaxy S3
Diagram
NOTE: I used a miniUSB connector instead of female Type A for the end that goes to external devices for several reasons:
1. I simply didn't have one lying around and at the local electronic components store they were out of stock (go figure).
2. I'm really space constrained for the application I'm going to use it, I need everything as light and simple as possible. No place for extra cables.
3. Most of the devices I may connect are with miniUSB port (GoPro camera, external hard drive, even PS3 controller).
If you decide to make your own cable I would suggest using a female Type A connector instead, so it would be compatible with more devices like keyboards, mice and anything with a normal USB cable.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
I heard something about certain firmwares/kernels sometimes using different transistor values (or at least, this seems to be the case with some other devices). Do you know if that 40,2 kOhm transistor trick works on custom ROMs as well?
Mass produce it, sell it, I will probably buy, I'm lazy
Amanoo said:
I heard something about certain firmwares/kernels sometimes using different transistor values (or at least, this seems to be the case with some other devices). Do you know if that 40,2 kOhm transistor trick works on custom ROMs as well?
Click to expand...
Click to collapse
There's a standard defined called USB Accessory Charger Adapter that uses 124Kohm resistor on the ID pin pulled to ground. I haven't tried that, because it was a bit hard for me to get resistors for that particular value (I had to chain even more resistors). As I mentioned, I think it's not supported by the S3, but that's just my speculation based on a datasheet of the switching circuit used in previous Samsung models.
About ROMs, as my signature says, I'm on a custom ICS ROM, CheckROM specifically and I'm using Siyah kernel. As far as I know it should work on any Samsung based ROM (I think JB leaks also). I'm not sure it'll work on AOSP ROMs though. Only way to find is to try, which I haven't done yet. But because this solution is based on some code added to the kernel by Samsung for their accessories, I think there's a big chance it won't work.
TheCraig said:
Mass produce it, sell it, I will probably buy, I'm lazy
Click to expand...
Click to collapse
The first cable did turn out pretty good, but believe me, you have no idea what a pain in the a** it was to solder those surface mount resistors.
Don't be lazy, grab a soldering iron and try it. The final result can be quite satisfying. It isn't a very difficult project, it's just two normal cables with an added resistor. I did it because I really needed it. At first I asked gokhanmoral (the kernel dev) if he could enable charging in the kernel with a normal USB OTG cable, but at that time he was busy getting a working kernel for the JB leaks. That drove me to find another solution (plus other interesting stuff, like the fact that you can simulate media buttons with other resistor values).
Thanks for sharing this!
Do you tink is possivel doa 2 in 1 (ogt/hmdi)?
vladmir said:
Thanks for sharing this!
Do you tink is possivel doa 2 in 1 (ogt/hmdi)?
Click to expand...
Click to collapse
Not without one of those new Samsung 11-pin microUSB connectors and I don't think you can get them anywhere but from Samsung accessories for the S3 and Note2
Do you happen to know how accurate these resistors must be?
triffonovm said:
Not without one of those new Samsung 11-pin microUSB connectors and I don't think you can get them anywhere but from Samsung accessories for the S3 and Note2
Click to expand...
Click to collapse
Maybe conect this piace with your cable? will make 2 on 1?
http://www.monoprice.com/products/p...=10833&cs_id=1083314&p_id=9716&seq=1&format=2
Amanoo said:
Do you happen to know how accurate these resistors must be?
Click to expand...
Click to collapse
In this thread http://forum.xda-developers.com/showthread.php?t=1108096 AdamOutler has posted the datasheet for the switching chip in the Galaxy S. In there is a table with the recognized resistance values with min/max limits. Now the S3 uses a different chip, but I think this table is still valid. I'd say get as close as you can, maybe within 1-2%. I managed to get mine to 40.1K-40.2K just by chaining four 10Kohm resistors.
vladmir said:
Maybe conect this piace with your cable? will make 2 on 1?
http://www.monoprice.com/products/p...=10833&cs_id=1083314&p_id=9716&seq=1&format=2
Click to expand...
Click to collapse
Possibly yes, if you rip it open a take the 11-pin connector you can make a Samsung to standard MHL adapter + USB OTG + Charging. For now I don't have the need fot TV out on my phone. I have a HTPC running XBMC for my viewing pleasure
There are many interesting usages for the ID pin: JIG, USB OTG, car/desk dock, handsfree + remote. I even think it may be possible to use the UART mode that devs use to debug bootloaders and kernels as a standard serial port (just add a TTL to RS232 converter) to control devices directly (without the USB to Serial converter that I'm using) from the phone.
triffonovm said:
Possibly yes, if you rip it open a take the 11-pin connector you can make a Samsung to standard MHL adapter + USB OTG + Charging. For now I don't have the need fot TV out on my phone. I have a HTPC running XBMC for my viewing pleasure
There are many interesting usages for the ID pin: JIG, USB OTG, car/desk dock, handsfree + remote. I even think it may be possible to use the UART mode that devs use to debug bootloaders and kernels as a standard serial port (just add a TTL to RS232 converter) to control devices directly (without the USB to Serial converter that I'm using) from the phone.
Click to expand...
Click to collapse
Only we need to now a value of the resistor for the mhl!! Any clue?
Thanks
vladmir said:
Only we need to now a value of the resistor for the mhl!! Any clue?
Thanks
Click to expand...
Click to collapse
As I mentioned in the OP, the kernel log shows that mhl is also enabled, but fails (maybe because of missing cable). I think with this same resistance value should be possible too. Maybe you just need to connect the extra pins in the 11-pin connector to a mhl adapter.
How so does the S3 have 11 pins? My cables seem to have only the standard 5.
Also,it might be worth reverse engineering mhl cables. Last time I checked they were expensive, though. The S3 needs a very specific cable, due to the nonstandard implementation of mhl.
Amanoo said:
How so does the S3 have 11 pins? My cables seem to have only the standard 5.
Also,it might be worth reverse engineering mhl cables. Last time I checked they were expensive, though. The S3 needs a very specific cable, due to the nonstandard implementation of mhl.
Click to expand...
Click to collapse
Yes, it has 11-pins. You have to look very hard and with a flashlight into the microUSB port to see them. Also, that's the reason why standard mhl cable do not work with the Galaxy S3.
triffonovm said:
Possibly yes, if you rip it open a take the 11-pin connector you can make a Samsung to standard MHL adapter + USB OTG + Charging.
Click to expand...
Click to collapse
This is what I plan to do, waiting a while for things to settle down, perhaps someone with more time will post a guide Should be completely possible in $20 using monoprice stuff.
The 11 to 5 adapter passes through the ID pin unchanged, so instead we would have to break that connection and solder a 40.2kohm resistor. MHL adapters themselves have a 347K -> 383K resistor between ID and ground. xda (showthread.php?t=1741583) has tolerances for resistor values.
Alternatively, parallel resistor law states total resistance is 1/(1/r1 + 1/r2). So 45.2Kohms in parallel with an existing 365Kohm MHL cable ID pin would work.
The MHL adapter also has a female micro USB for charging, so that is taken care of.
The 4 pins (power + data) of OTG would have to then be spliced into the 11 to 5 adapter to the proper pins (tricky), a guy on xda already broken his adapter apart (showpost.php?p=32549672&postcount=86)
Thanks for This...
I was going to look at supplying external power and no battery but now pulled apart my host cable and just added 2 X 20K (1/4 W) Resistors in series.
Works perfect and as soon as i plug it in comes up as "charging USB"
Very happy as i work away from home now i can watch movies at night via Hdd whilst on the run...
Hmm...today having problems...
remade cable again.All Good...
Then playing up now...
re checked cable and cant find anything wrong...eg wiring all good..
everything heat shrunk etc except last wire number 4. with resistors.
Edit..
playing around with it now and measured have 39.8 K ohms
will try add some smaller ones i have laying around..
I think you are right about getting it exact..
kevinf28 said:
This is what I plan to do, )
Click to expand...
Click to collapse
just to follow up with you Kevin, did you end up trying this? I started a thread back up here (showthread.php?t=1762817) regarding why I'm looking to have an 11 pin mhl cable setup to output hdmi +usb otg + charge and I'd like to see how your attempt went (hopefully i'll be trying the same soon)
MRBR7 said:
Hmm...today having problems...
remade cable again.All Good...
Click to expand...
Click to collapse
MRBR7 - are you using the 11 pin to 5pin adapter? or the 5 pin otg cable? or the 11 pin mhl cable?
I'm just curious to ask for clarity as your prior post stated you were using the phone to watch video on your hdd with charge enabled - I just wanted to know if that was with the otg cable or the mhl cable...
Yeah i just made my own otg cable (5 pin)...
Micro USB and opened it up to get to the unused pin 4.
then just soldered my own wires to it to make otg cable.
worked good at first but now stopped host mode?...
have checked my cable again by applying power to all wires and using test light at cable end.have power on all 5 pins but for some reason its playing up?
maybe my phone? or it doesnt like charge and usb host at same time?
also tried that 124K resistor and did go into usb charge but some reason host not work now.need some time to play with it more...

Broken micro usb port

The micro usb port is broken, and its a common problem on this tablet.
How can i fix this?
I can not solder the port onto the mainboard again, see the picture why..
But can i get power and data+- from the docking port?
yes you can.
good
But which pin should i connect it to?
http://rootzwiki.com/topic/8523-reverse-engineering-the-dock-charger/
And can i connect it to since the docking port should have 20v?
1 charge
2 gnd
3 charge
4 hdmi pin 44 In D3-
5 Charger control (to pq2)
6 hdmi pin 45 In D3+
7 hdmi VDD 3.3V
8 gnd
9 gnd
10 hdmi pin 47 In D4-
11 USB Micro D-
12 hdmi pin 48 In D4 +
13 USB micro D+
14 gnd
15 USB Master D-
16 nc
17 USB MAster D+
18 nc
19 gnd
20 hdmi pin 29 SDA
21 gnd
22 hdmi pin 28 SCL
23 hdmi pin 41 IN D2-
24 hdmi pin 7 HPD_Source
25 hdmi pin 42 In D2+
26 gnd
27 gnd
28 audio out L
29 hdmi pin 38 IN D1-
30 audio out R
31 hdmi pin 39 IN D1+
32 headset inserted switch
33 gnd
34 mic inserted switch feed
35 USB micro +
36 mic inserted switch
37 gnd
38 mic tip
39 + 5V to usb master
40 mic ring
Buy a dock.
Sent from my HTC EVO 3D X515m using xda premium
berbecverde said:
Buy a dock.
Sent from my HTC EVO 3D X515m using xda premium
Click to expand...
Click to collapse
i dont want to

Some info on SuperSonic watch SC-68SW (is it Nucleus OS? Is it a M28 clone?)

I was given a present of a Mi Smart Band clone for X-mas which died (M4). My hotel points were gonna expire so I decided to spend some points on a smart watch to keep the account active. The watch in question is a supersonicinc[dot]com[slash]SC-68SW. Once I received the watch I had a hell of a time trying to install an app to work with it. The one mentioned in the manual wouldn't come up in Google Play store and the QR code on the watch wouldn't focus enough on the phone to register. I eventually figured out how to use BT Notifier and another app to finally have the watch get interfaced. But I just didn't like it. Doesn't look better than the Mi Band clone on the outside and the interface either. However, in the process I managed to learn a few things about Chinese clone smart watches. I figured this one runs Nucleus OS and is likely a clone of a RWatch M28, but called Marriott and told them I don't want it rather than try to dink around with it. They said keep it. So I did. Recently I decided to give another watch a try mainly because it has a camera built-in, takes SD card and a SIM card. It is a SuperSonic one as well, but I will make a separate post about that one as it is more complicated and I am not super impressed with it in the end either and may have to send it back. So I decided to at least try to document some things about these watches, so that someone on the forum here can identify what they are and perhaps provide additional information that will help someone.
First off, SuperSonic SC-68SW is a Mediatek based device (MT6261DA) which is a suspicious giveaway about Nucleus OS and being an RWatch clone.
I'll try to post some photos of the insides of the watch, but I may need some help to get that accomplished from someone here on the forum. The PCB has test points for SDA and SCL, so it maybe possible to get into it via I2C because I don't seem to be able to do it via USB with the watch either turned off or on.
Here is what I get with it turned off:
[ 4904.934339] usb 1-2: new full-speed USB device number 5 using xhci_hcd
[ 4905.073008] usb 1-2: New USB device found, idVendor=0e8d, idProduct=0003, bcdDevice= 1.00
[ 4905.073017] usb 1-2: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 4905.123658] cdc_acm 1-2:1.1: ttyACM0: USB ACM device
[ 4905.125660] usbcore: registered new interface driver cdc_acm
[ 4905.125664] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[ 4905.172680] usbcore: registered new interface driver usbserial_generic
[ 4905.172715] usbserial: USB Serial support registered for generic
[ 4905.212374] usbcore: registered new interface driver option
[ 4905.212395] usbserial: USB Serial support registered for GSM modem (1-port)
[ 4907.714459] usb 1-2: USB disconnect, device number 5
[ 4911.045348] usb 1-2: new full-speed USB device number 6 using xhci_hcd
[ 4911.212446] usb 1-2: New USB device found, idVendor=0e8d, idProduct=0002, bcdDevice= 1.00
[ 4911.212455] usb 1-2: New USB device strings: Mfr=2, Product=3, SerialNumber=4
[ 4911.212459] usb 1-2: Product: U8
[ 4911.212462] usb 1-2: Manufacturer: U8
[ 4911.212465] usb 1-2: SerialNumber: fffffffffffffff
[ 4911.217978] usb-storage 1-2:1.0: USB Mass Storage device detected
[ 4911.218282] scsi host2: usb-storage 1-2:1.0
[ 4912.239217] scsi 2:0:0:0: Direct-Access MEDIATEK FLASH DISK PQ: 0 ANSI: 0 CCS
[ 4912.239542] sd 2:0:0:0: Attached scsi generic sg2 type 0
[ 4912.255159] sd 2:0:0:0: [sdc] Attached SCSI removable disk
-- also note that I had to turn usb_modeswitching.conf off to get it to show a disk device
HTML:
[sdc]
in kernel log (in addition to a modem), but in reality there isn't one, so I wasn't able to dd any data off of the watch that way.
With the watch turned on with usb_modeswitch.conf on it shows up like this:
[ 5304.200340] usb 1-2: new full-speed USB device number 10 using xhci_hcd
[ 5304.364675] usb 1-2: New USB device found, idVendor=0e8d, idProduct=0003, bcdDevice= 1.00
[ 5304.364700] usb 1-2: New USB device strings: Mfr=3, Product=4, SerialNumber=0
[ 5304.364704] usb 1-2: Product: U8
[ 5304.364707] usb 1-2: Manufacturer: U8
[ 5304.374194] option 1-2:1.0: GSM modem (1-port) converter detected
[ 5304.374357] usb 1-2: GSM modem (1-port) converter now attached to ttyUSB1
[ 5304.377155] cdc_acm: probe of 1-2:1.1 failed with error -16
-- just the modem, no drive device! Kinda the opposite effect... Hm...
lsusb shows this when turned on:
Bus 001 Device 010: ID 0e8d:0003 MediaTek Inc. MT6227 phone
-- and if you want more details then here there are:
Bus 001 Device 010: ID 0e8d:0003 MediaTek Inc. MT6227 phone
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 2 Communications
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0e8d MediaTek Inc.
idProduct 0x0003 MT6227 phone
bcdDevice 1.00
iManufacturer 3 U8
iProduct 4 U8
iSerial 0
bNumConfigurations 3
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 67
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 1 COM(data_if)
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 2 Abstract (modem)
bInterfaceProtocol 1 AT-commands (v.25ter)
iInterface 2 COM(comm_if)
CDC Header:
bcdCDC 1.10
CDC ACM:
bmCapabilities 0x0f
connection notifications
sends break
line coding and serial state
get/set/clear comm features
CDC Union:
bMasterInterface 1
bSlaveInterface 0
CDC Call Management:
bmCapabilities 0x03
call management
use DataInterface
bDataInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0010 1x 16 bytes
bInterval 3
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 67
bNumInterfaces 2
bConfigurationValue 2
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 98mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 1 COM(data_if)
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 2 Abstract (modem)
bInterfaceProtocol 1 AT-commands (v.25ter)
iInterface 2 COM(comm_if)
CDC Header:
bcdCDC 1.10
CDC ACM:
bmCapabilities 0x0f
connection notifications
sends break
line coding and serial state
get/set/clear comm features
CDC Union:
bMasterInterface 1
bSlaveInterface 0
CDC Call Management:
bmCapabilities 0x03
call management
use DataInterface
bDataInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0010 1x 16 bytes
bInterval 3
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 67
bNumInterfaces 2
bConfigurationValue 3
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 1 COM(data_if)
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 2 Abstract (modem)
bInterfaceProtocol 1 AT-commands (v.25ter)
iInterface 2 COM(comm_if)
CDC Header:
bcdCDC 1.10
CDC ACM:
bmCapabilities 0x0f
connection notifications
sends break
line coding and serial state
get/set/clear comm features
CDC Union:
bMasterInterface 1
bSlaveInterface 0
CDC Call Management:
bmCapabilities 0x03
call management
use DataInterface
bDataInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0010 1x 16 bytes
bInterval 3
Device Status: 0x0000
(Bus Powered)
lsbusb shows nothing when the phone is powered off.
I am gonna try to attach some pictures, let's hope they come through. Nope, it doesn't let me add links. [slash][slash]photos[dot]app[dot]goo[dot]gl[slash]YbH3LAjTB2x6u3xq9
Nucleus RTOS downsides
I also would like to mention that the Nucleus RTOS based watches appear to need to explicitely run a particular function like steps, run, sleep, etc. in order to collect data and I do not like that. At least Mi Band clone counted steps by default (how well is a different question), and didn't lose time without a bluetooth connection with a phone.

Categories

Resources