Project

General

Profile

Actions

UART

There is an in-depth article covering several Samsung devices in the SamsungSerial page

Settings

Device and documentation I/O voltage ID<->GND SOC TX SOC RX switch stock bootloader settings Comments
GT-I9000 1.8V8 ? 150k D- D+ UART settings: ttySAC2 115200 8N1
To get a shell in the bootloader:
* Power off the phone
* Start sending some characters through the UART
* Press the volume down button and the power button to power up the phone
* Release the buttons when the phone has powered up
* 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
GT-I9100 1.8V8 ? 510k9 D- D+ MAX8997 UART settings: ttySAC2 115200 8N1
To get the UART enabled at boot with the stock bootloader:
* Power the phone off and remove the battery
* Put a battery in
* Hold the select button
* Plug the UART
* Release the select button
To get the UART enabled at boot with the Replicant 6.0 kernel and the stock bootloader, see the 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
GT-N7000 1.8V8 ? 510k9 D- D+ UART settings: 115200 8N1
GT-I9100G_CHN_CHN 1.8V8 ? 619k9 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
GT-I9300 1.8V1 619 kOhms3 D- D+ MAX776935 UART settings: 115200
To increase verbosity during boot:
* Power off the phone and remove the battery
* Put a battery in
* Press the hold the volume-down button
* Plug the UART and wait for the first lines to be printed
* Release the volume-down button
It gives a shell once Replicant 6 has booted
GT-I9305
GT-N7100 ?
GT-N7105 ?
Galaxy Nexus (GT-I9250) 619 kOhms4 D+ D- FSA94807 UART settings:
* By default: ttyFIQ0, 115200 8N1
* After patching Linux: ttyO2, 115200 8N1
See GalaxyNexusI9250SerialConsole for more details.
Nexus S 150 kOhm FSA9480
Optimus Black (P970) 1.8V6 N/A2 DP3T
ODROID-U3, console UART 1.8V connector UART settings: ttySAC1, 115200 8N1
ODROID-U3, IO pins UART 1.8V connector UART settings: ttySAC0, 115200 8N1
Pinephone 1.x 3.3v connector UART settings: ttyS0, 115200 8N1

1 Measured between USB GND and USB VCC

2 Code is required to use the switch as you need to configure both the MUIC and DP3T switch

3 See The related driver source code

4 See the postmarketOS wiki page on Serial debugging

5 See the driver and the ifixit teardown

6 Reference: OptimusBlackSerial

7 See board-tuna-connector.c fsa9480.c in kernel_samsung_tuna

8 Works, as it was tested on the device. TODO: measure the voltage, as lower UART voltages often works with higher voltage levels.

9 Works, as it was tested on the device. TODO: look the official reference in the driver for it.

Datasheets

Interesting links

  • There is a page on Serial debugging on the postmarketOS wiki that contains information for using the serial port for many smartphones models.
  • mv-uart A serial port adapter with configurable voltages (and GPIOs)
  • DHylands_SGS2_SerialAdapter : A very compact setup but with fixed resistor value.
  • The Galaxy Tab Serial Cable thread 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.

See also

Updated by Denis 'GNUtoo' Carikli 16 days ago · 77 revisions