Project

General

Profile

UART » History » Version 80

Denis 'GNUtoo' Carikli, 07/09/2020 06:22 PM
fix midas "hold the volume-down" and fix GT-N5100 verbose UART (You don't need to remove the battery!)

1 40 Denis 'GNUtoo' Carikli
h1. UART
2 1 Denis 'GNUtoo' Carikli
3 12 Denis 'GNUtoo' Carikli
There is an in-depth article covering several Samsung devices in the [[SamsungSerial]] page
4 11 Denis 'GNUtoo' Carikli
5 1 Denis 'GNUtoo' Carikli
h2. Settings
6 12 Denis 'GNUtoo' Carikli
7 31 Denis 'GNUtoo' Carikli
|_. Device and documentation |_. I/O voltage |_. ID<->GND |_. SOC TX |_. SOC RX |_. switch |_. stock bootloader settings |_. Comments |
8 75 Denis 'GNUtoo' Carikli
| GT-I9000 | 1.8V[8] ? | 150k | D- | D+ | | *UART settings*: ttySAC2 115200 8N1
9 74 Denis 'GNUtoo' Carikli
To get a shell in the bootloader:
10
* Power off the phone
11
* Start sending some characters through the UART
12
* Press the volume down button and the power button to power up the phone
13
* Release the buttons when the phone has powered up
14
* Once you get the shell, you can stop sending characters through the UART | At some point the boot procedure switches to the modem UART, it's probably some linux driver doing that |
15 71 Denis 'GNUtoo' Carikli
| GT-I9100 | 1.8V[8] ? | 510k[9] | D- | D+ | "MAX8997":https://git.replicant.us/replicant/kernel_samsung_smdk4412/tree/arch/arm/configs/lineageos_i9100_defconfig#n1294 | *UART settings*: ttySAC2 115200 8N1 
16 58 Denis 'GNUtoo' Carikli
 To get the UART enabled at boot with the stock bootloader:
17 57 Denis 'GNUtoo' Carikli
* Power the phone off and remove the battery
18
* Put a battery in
19 62 Denis 'GNUtoo' Carikli
* Hold the select button
20 57 Denis 'GNUtoo' Carikli
* Plug the UART
21 70 Denis 'GNUtoo' Carikli
* Release the select button
22
To get the UART enabled at boot with the Replicant 6.0 kernel and the stock bootloader, see the "DHylands_SGS2_Console":https://wiki.mozilla.org/DHylands_SGS2_Console page on the mozilla wiki. | At some point the boot procedure switches to the modem UART, it's probably some linux driver doing that |
23 71 Denis 'GNUtoo' Carikli
| GT-N7000 | 1.8V[8] ? | 510k[9] | D- | D+ | | *UART settings*: 115200 8N1 | |
24 1 Denis 'GNUtoo' Carikli
| GT-I9100G_CHN_CHN | 1.8V[8] ? | 619k[9] | D- | D+ | ? | *UART settings*: 115200 8N1 | Very few prints from Xloader, the next bootloader used by Android 2.6.3 doesn't seem to print much |
25 80 Denis 'GNUtoo' Carikli
| GT-I9300 |/2. 1.8V[1] |/5. 619 kOhms[3] |/5. D- |/5. D+ |/4. MAX77693[5] |/4. *UART settings*: 115200
26 62 Denis 'GNUtoo' Carikli
To increase verbosity during boot:
27
* Power off the phone and remove the battery
28
* Put a battery in
29 80 Denis 'GNUtoo' Carikli
* Hold the volume-down button
30 62 Denis 'GNUtoo' Carikli
* Plug the UART and wait for the first lines to be printed
31
* Release the volume-down button |/2. It gives a shell once Replicant 6 has booted |
32 48 Denis 'GNUtoo' Carikli
| GT-I9305 |
33 1 Denis 'GNUtoo' Carikli
| GT-N7100 | ? | |
34
| GT-N7105 | ? | |
35 80 Denis 'GNUtoo' Carikli
| GT-N5100 | ? | ? | UART settings: 115200
36
To increase verbosity during boot:
37
* Power off the tablet
38
* Hold down the volume-down button
39
* Plug the UART and wait for the first lines to be printed
40
* Release the volume-down button | |
41 61 Denis 'GNUtoo' Carikli
| [[GalaxyNexusI9250SerialConsole|Galaxy Nexus (GT-I9250)]] | | 619 kOhms[4] | D+ | D- | FSA9480[7] | UART settings:
42
* By default: ttyFIQ0, 115200 8N1
43
* After patching Linux: ttyO2, 115200 8N1
44 43 Denis 'GNUtoo' Carikli
See [[GalaxyNexusI9250SerialConsole]] for more details. | |
45 45 Denis 'GNUtoo' Carikli
| [[NexusSI902xSerial|Nexus S]] | | 150 kOhm | | | FSA9480 | | |
46 48 Denis 'GNUtoo' Carikli
| [[OptimusBlackSerial|Optimus Black (P970)]] | 1.8V[6] | N/A[2] | | | DP3T | | |
47 60 Denis 'GNUtoo' Carikli
| ODROID-U3, console UART | 1.8V |\4. "connector":https://wiki.odroid.com/accessory/development/usb_uart_kit#odroid_port_description_of_uart_connector | *UART settings*: ttySAC1, 115200 8N1 | |
48
| ODROID-U3, IO pins UART | 1.8V |\4. "connector":https://wiki.odroid.com/old_product/odroid-x_u_q/odroid_u3/u3_ioport_uart | *UART settings*: ttySAC0, 115200 8N1 | |
49 77 Denis 'GNUtoo' Carikli
| Pinephone 1.x | 3.3v |\4. "connector":https://wiki.pine64.org/index.php/PinePhone#Serial_console | *UART settings*: ttyS0, 115200 8N1 | |
50
51 17 Denis 'GNUtoo' Carikli
52 1 Denis 'GNUtoo' Carikli
fn1. Measured between USB GND and USB VCC
53
54
fn2. Code is required to use the switch as you need to configure both the MUIC and DP3T switch
55
56
fn3. See "The related driver source code":https://git.replicant.us/replicant/kernel_samsung_smdk4412/tree/drivers/misc/max77693-muic.c#n102
57
58
fn4. See the "postmarketOS wiki page on Serial debugging":https://wiki.postmarketos.org/wiki/Serial_debugging
59 30 Denis 'GNUtoo' Carikli
60 1 Denis 'GNUtoo' Carikli
fn5. See the "driver":https://git.replicant.us/replicant/kernel_samsung_smdk4412/tree/drivers/misc/max77693-muic.c and the "ifixit teardown":https://www.ifixit.com/Teardown/Samsung+Galaxy+S+III+Teardown/9391
61
62
fn6. Reference: [[OptimusBlackSerial]]
63 44 Denis 'GNUtoo' Carikli
64
fn7. See "board-tuna-connector.c":https://git.replicant.us/replicant/kernel_samsung_tuna/tree/arch/arm/mach-omap2/board-tuna-connector.c "fsa9480.c":https://git.replicant.us/replicant/kernel_samsung_tuna/tree/drivers/misc/fsa9480.c in "kernel_samsung_tuna":https://git.replicant.us/replicant/kernel_samsung_tuna
65 50 Denis 'GNUtoo' Carikli
66
fn8. Works, as it was tested on the device. TODO: measure the voltage, as lower UART voltages often works with higher voltage levels.
67
68
fn9. Works, as it was tested on the device. TODO: look the official reference in the driver for it.
69 23 Denis 'GNUtoo' Carikli
70 47 Denis 'GNUtoo' Carikli
h2. Datasheets
71
72
* "FSA9480.pdf":https://media.digikey.com/pdf/Data%20Sheets/Fairchild%20PDFs/FSA9480.pdf
73
74 23 Denis 'GNUtoo' Carikli
h2. Interesting links
75
76 34 Denis 'GNUtoo' Carikli
* There is a "page on Serial debugging":https://wiki.postmarketos.org/wiki/Serial_debugging on the postmarketOS wiki that contains information for using the serial port for many smartphones models.
77
* "mv-uart":https://osmocom.org/projects/mv-uart/wiki A serial port adapter with configurable voltages (and GPIOs)
78 53 Denis 'GNUtoo' Carikli
* "DHylands_SGS2_SerialAdapter":https://wiki.mozilla.org/DHylands_SGS2_SerialAdapter : A very compact setup but with fixed resistor value.
79 76 Denis 'GNUtoo' Carikli
* The "Galaxy Tab Serial Cable thread":https://forum.xda-developers.com/showthread.php?t=1010314 on XDA. It also contains some pinout for the 30 pin connector. The information there seem valid for many tablets including N5100, and potentially the Galaxy Tab 2 too.
80 68 Denis 'GNUtoo' Carikli
81
h2. See also
82
83 69 Denis 'GNUtoo' Carikli
* [[BootloaderInterfaces]]: Documentation about the stock bootloaders interfaces