[Galaxy S III Mini Android Development] xd.bx:
Hey there,

Walking in the great footsteps of Rebellos and Adam, I tried the USB serial port hack on the S3 Mini, with great success.

You need:

- one USB to 3.3 UART converter, I use http://dx.com/p/usb-to-uart-5-pin-cp2102-module-serial-converter-81872 but https://www.olimex.com/Products/Components/Cables/USB-Serial-Cable/USB-Serial-Cable-F/ looks good too (just make sure it's 3.3V and NOT 5V I/O!)

- a few single row male 2.54mm headers, like https://www.sparkfun.com/products/116

- one microUSB breakout board that provides the ID pin: https://www.sparkfun.com/products/10031

- a soldering iron (and solder wire of course ;)

- a resistor of value 619K (I guess Factory Mode Boot ON-UART?), although a close value will work - mine is 620K made from 470K+150K

On the picture below you can see the whole thing after soldering. Simply solder the resistor between ID and GND. Do not connect VCC, it is not necessary and could even be dangerous!

Now you can see the whole boot output and interact with the second stage bootloader, which is called S-Boot in the paste below. Be careful with the commands, in particular anything that could alter the MMC contents like emmc_write or loadpart!

AST_POWERON

Xloader version:
Built: Wed Oct 24 11:40:50 PM 2012
Configured for: 8500 B0
Running on chip ID: 8500B2
SECURITY_Init
Boot scenario: NORMAL
USB - Enabled: 0x1 Enum done: 0x0
Last reset reason: POWER_ON_RESET
XP70_DATA_MBFFC: 0xFF000001
PWR_MNGT_STARTED 1
Probing for eMMC on SDI2
About to load MEMINIT
After MEMINIT loaded
verify_signedheader
verify_signedheader done
verify_payload hdr size: 0xD0 payload 0x40026244
About to exec MEMINIT function
SoC settings: INFO: @(#)SOC-SETTINGS v1.0.3 Vape100+50mV Vape50+25mV db8520 1000Mhz Oct 24 2012 23:40:53
SoC settings: INFO: Vbat check 0x0000032c
SoC settings: INFO: AB8505 V2 detected
SoC settings: INFO: Vendor ID = 0x00000001, CS0 density = 0x00000018, CS1 density = 0x00000018
SoC settings: INFO: CS0 revision ID1 = 0x00000001, CS0 revision ID2 = 0x00000000
SoC settings: INFO: CS1 revision ID1 = 0x00000001, CS1 revision ID2 = 0x00000000

SoC settings: INFO: AVS Enable, FVR21 value = : 0x8717024b, FVR22 value = : 0x0023ddf2
SoC settings: INFO: Memory size=0x40000000 (1024 MB), CS0 (512 MB) CS1 (512 MB)
SoC settings: INFO: DDR Test Ended successfully.
SoC settings: INFO: Requesting MAX OPP from PRCMU
SoC settings: INFO: Set MAX OPP OK
SoC settings: INFO: vmin = above 1.35V, vbbp = +200mV, vbbn = +200mV
SoC settings: INFO: Slow Parts [>......](Slow for N Transistor, Slow for P transistor)
MEMINIT passed OK
About to load NORMAL
After NORMAL loaded
verify_signedheader
verify_signedheader done
verify_payload hdr size: 0xD0 payload 0x141080D0
XL_DisableCachesMmu
Before ENABLE_L2CC
After ENABLE_L2CC
Before call normal
[ 0.0000] init_microusb_pmic: Turn on reason 0xc0
[ 0.0000] init_microusb_pmic: Turning on due to cable plug? 1
[ 0.0049] init_ab8500_gpadc: ADC_INPUT_BTEMP.gain : 1336
[ 0.0102] init_ab8500_gpadc: ADC_INPUT_BTEMP.offset : 1408
[ 0.0158] hwCableType: USB Link1 status 0x1a
[ 0.0200] hwCableType: is 0
[ 0.0228] pmic_get_attached_device: USB VBUS status 0x00
[ 0.0303] ab8500_read_adc: waiting for gpadc conversion...
[ 0.0436] ab8500_read_adc: gpadc conversion is completed
[ 0.0437] abx500_adc_to_voltage channel=14, ad_value=466
[ 0.0485] pmic_get_attached_device: USB-ID first read with 1uA PU : 623
[ 0.0552] pmic_get_attached_device: go into FM_COMPARATOR Call
[ 0.0610] read_fm_comparator: in
[ 0.0943] read_fm_comparator: FMCOMP-ID 32
[ 0.0944] read_fm_comparator: Matchd 0x202
[ 0.0970] pmic_get_attached_device: is 0x202
[ 0.1011] [hw_board] dram_init(822): dram_init
[ 0.1055] [hw_board] dram_init(843): dram_init cs0 size 536870912 cs1 size 536870912
[ 0.1133] [hw_board] dram_init(855): Ram_Info.total_size = 1024MB

[ 0.1398] Samsung S-Boot 4.0
[ 0.1398] Copyright (C) 2012 System S/W Group. Samsung Electronics Co., Ltd.
[ 0.1442] Board: GOLDEN ID 262 / built on SEP-110 on Oct 24 2012 23:35:17

[ 0.1512] CPU: DB8500 (ID=0x9001dbf4)

[ 0.1550] [main] init_param_status(348):
[ 0.1590] [main] Re_partition(225): booting code=0x80c000c0
[ 0.1907] [hsmmc_init] MMC card is detected
[ 0.1920] Product Name : SEM08G
[ 0.1924] CID:45010053 454d3038 47907258 9dc2bf0c
[ 0.2010] <display_card_info:1144> ext_csd
[ 0.2339] Total Card Size: 7456 MByte
[ 0.2339] Total Sector Count: 15269888
[ 0.2474]
MoviNand Initialization Complete!
[ 0.2474] checking whether toc is redirected
[ 0.2725] [pit] pit_update_partition(273): Board partition updated.
[ 0.2839] [gpt] check_protective_mbr(230): read protective mbr
[ 0.2841] [main] loke_init(255): j4fs_open..
[ 0.8501] [main] loke_init(257): success
[ 0.9594] [param_block] load_lfs_parameters(375): valid magic code and version.
[ 0.9610] [main] loke_init(265): Board id 262
[ 0.9762] [ddi] init_ddi_data(74): usable ddi data.
[ 0.9764] ab8500_read_adc: waiting for gpadc conversion...
[ 0.9909] ab8500_read_adc: gpadc conversion is completed
[ 0.9910] abx500_adc_to_voltage channel=8, ad_value=804
[ 0.9958] [FG] VCELL ADC = 804, VOLTAGE = 4276mV
[ 1.0004] musb_init : GOLDEN : High-Speed USB OTG Controller
[ 1.0065] hwCableType: USB Link1 status 0x1a
[ 1.0104] hwCableType: is 0
[ 1.0132] pmic_get_attached_device: USB VBUS status 0x00
[ 1.0207] ab8500_read_adc: waiting for gpadc conversion...
[ 1.0340] ab8500_read_adc: gpadc conversion is completed
[ 1.0341] abx500_adc_to_voltage channel=14, ad_value=490
[ 1.0389] pmic_get_attached_device: USB-ID first read with 1uA PU : 656
[ 1.0456] pmic_get_attached_device: go into FM_COMPARATOR Call
[ 1.0514] read_fm_comparator: in
[ 1.0847] read_fm_comparator: FMCOMP-ID 32
[ 1.0848] read_fm_comparator: Matchd 0x202
[ 1.0874] pmic_get_attached_device: is 0x202
[ 1.0915] [CHG] cable type:0x202, status:0x0
[ 1.0958] [CHG] Skip to initialize charger
[ 1.0999] [CHG] OVP REG SETTING : 0x44
[ 1.1144] reading nps status file is successfully!.
[ 1.1145] nps status=0x504d4f43
[ 1.1171] hwCableType: USB Link1 status 0x1a
[ 1.1210] hwCableType: is 0
[ 1.1238] pmic_get_attached_device: USB VBUS status 0x00
[ 1.1314] ab8500_read_adc: waiting for gpadc conversion...
[ 1.1446] ab8500_read_adc: gpadc conversion is completed
[ 1.1447] abx500_adc_to_voltage channel=14, ad_value=488
[ 1.1496] pmic_get_attached_device: USB-ID first read with 1uA PU : 653
[ 1.1562] pmic_get_attached_device: go into FM_COMPARATOR Call
[ 1.1621] read_fm_comparator: in
[ 1.1954] read_fm_comparator: FMCOMP-ID 32
[ 1.1954] read_fm_comparator: Matchd 0x202
[ 1.1981] pmic_get_attached_device: is 0x202
[ 1.2022] [hw_board] board_process_platform(1035): check_power_key
[ 1.2084] check_power_key: Powered on by 0x11 !! Booting .....
[ 1.2643] [read_switch_off_status] SwitchOff_Status 0x40
[ 1.2643] [hw_board] check_reboot(948): reset_state: 0x 0
[ 1.2696] [hw_board] check_reboot(957): softreset_state: 0x 0
[ 1.2755] [read_turnon_state] TurnOn_Status 0x0
[ 1.2801] [hw_board] check_reboot(960): turnon_state: 0x 0
[ 1.2859] hwCableType: USB Link1 status 0x1a
[ 1.2900] hwCableType: is 0
[ 1.2928] pmic_get_attached_device: USB VBUS status 0x00
[ 1.3003] ab8500_read_adc: waiting for gpadc conversion...
[ 1.3136] ab8500_read_adc: gpadc conversion is completed
[ 1.3137] abx500_adc_to_voltage channel=14, ad_value=489
[ 1.3185] pmic_get_attached_device: USB-ID first read with 1uA PU : 654
[ 1.3252] pmic_get_attached_device: go into FM_COMPARATOR Call
[ 1.3310] read_fm_comparator: in
[ 1.3643] read_fm_comparator: FMCOMP-ID 32
[ 1.3643] read_fm_comparator: Matchd 0x202
[ 1.3670] pmic_get_attached_device: is 0x202
[ 1.3712] hwCableType: USB Link1 status 0x1a
[ 1.3754] hwCableType: is 0
[ 1.3782] pmic_get_attached_device: USB VBUS status 0x00
[ 1.3857] ab8500_read_adc: waiting for gpadc conversion...
[ 1.3989] ab8500_read_adc: gpadc conversion is completed
[ 1.3991] abx500_adc_to_voltage channel=14, ad_value=488
[ 1.4039] pmic_get_attached_device: USB-ID first read with 1uA PU : 653
[ 1.4105] pmic_get_attached_device: go into FM_COMPARATOR Call
[ 1.4164] read_fm_comparator: in
[ 1.4497] read_fm_comparator: FMCOMP-ID 32
[ 1.4497] read_fm_comparator: Matchd 0x202
[ 1.4524] pmic_get_attached_device: is 0x202
[ 1.4565] hwCableType: USB Link1 status 0x1a
[ 1.4607] hwCableType: is 0
[ 1.4635] pmic_get_attached_device: USB VBUS status 0x00
[ 1.4711] ab8500_read_adc: waiting for gpadc conversion...
[ 1.4843] ab8500_read_adc: gpadc conversion is completed
[ 1.4844] abx500_adc_to_voltage channel=14, ad_value=488
[ 1.4893] pmic_get_attached_device: USB-ID first read with 1uA PU : 653
[ 1.4959] pmic_get_attached_device: go into FM_COMPARATOR Call
[ 1.5018] read_fm_comparator: in
[ 1.5351] read_fm_comparator: FMCOMP-ID 32
[ 1.5351] read_fm_comparator: Matchd 0x202
[ 1.5378] pmic_get_attached_device: is 0x202
[ 1.5419] hw_pm_status: chg_status = 0 reboot_reason = 0x0
[ 1.5473] [FG] __BATT_CAPACITY :0xffffffff
[ 1.5514] [hw_board] board_process_platform(1115): booting_mode: 0x0
[ 1.5578] hwCableType: USB Link1 status 0x1a
[ 1.5620] hwCableType: is 0
[ 1.5648] pmic_get_attached_device: USB VBUS status 0x00
[ 1.5724] ab8500_read_adc: waiting for gpadc conversion...
[ 1.5856] ab8500_read_adc: gpadc conversion is completed
[ 1.5857] abx500_adc_to_voltage channel=14, ad_value=488
[ 1.5906] pmic_get_attached_device: USB-ID first read with 1uA PU : 653
[ 1.5972] pmic_get_attached_device: go into FM_COMPARATOR Call
[ 1.6031] read_fm_comparator: in
[ 1.6364] read_fm_comparator: FMCOMP-ID 32
[ 1.6364] read_fm_comparator: Matchd 0x202
[ 1.6390] pmic_get_attached_device: is 0x202
[ 1.6432] hwCableType: USB Link1 status 0x1a
[ 1.6474] hwCableType: is 0
[ 1.6502] pmic_get_attached_device: USB VBUS status 0x00
[ 1.6577] ab8500_read_adc: waiting for gpadc conversion...
[ 1.6710] ab8500_read_adc: gpadc conversion is completed
[ 1.6711] abx500_adc_to_voltage channel=14, ad_value=489
[ 1.6759] pmic_get_attached_device: USB-ID first read with 1uA PU : 654
[ 1.6826] pmic_get_attached_device: go into FM_COMPARATOR Call
[ 1.6884] read_fm_comparator: in
[ 1.7217] read_fm_comparator: FMCOMP-ID 32
[ 1.7218] read_fm_comparator: Matchd 0x202
[ 1.7244] pmic_get_attached_device: is 0x202
[ 1.9400] Probe HW
[ 1.9562] MCDE HW revision 0x03000800
[ 1.9562] db8500 V2 HW
[ 1.9566] mcde_probe: EXIT 0
[ 1.9594] dsilink_init: Probing dsilink device[0]
[ 1.9641] dsio[0]: 0xa0351000
[ 1.9671] hw revision 0x02327457
[ 1.9703] nova_dsilink_v2_init: initiated
[ 1.9743] dsilink_init: Probing dsilink device[1]
[ 1.9790] dsio[1]: 0xa0352000
[ 1.9819] hw revision 0x02327457
[ 1.9851] nova_dsilink_v2_init: initiated
[ 1.9891] dsilink_init: Probing dsilink device[2]
[ 1.9938] dsio[2]: 0xa0353000
[ 1.9968] hw revision 0x02327457
[ 2.0000] nova_dsilink_v2_init: initiated
[ 2.0040] s6e63m0_dsi_probe function entered
[ 2.0083] mcde_ovly_apply: ovly->dirty or ovly->dirty_buf!
[ 2.0137] mcde_ovly_apply: ovly->dirty or ovly->dirty_buf!
[ 2.0192] s6e63m0_dsi_set_power_mode: power_mode = 2
[ 2.1042] clk_set_rate: f=349440000
[ 2.1042] nova_dsilink_enable link enabled
[ 2.1061] s6e63m0_dsi_read_panel_id: Read device id of the display
[ 2.1128] Panel is AMS397GE MIPI (SM2)
[ 2.1160] ELVSS setting to 16
[ 2.2390] ovly0 pfwml:48 32bpp
[ 2.2390] Overlay updated, chnl=0
[ 2.2597] Overlay updated, chnl=0
[ 2.2797] s6e63m0_dsi_set_power_mode: power_mode = 2

[ 2.2798] Autoboot (0 seconds) in progress, press any key to stop Autoboot aborted..
[ 2.2869] SBL>
SBL>
SBL>
SBL>
SBL> help
Following commands are supported:
[ 6.6002] * log
[ 6.6002] * crc
[ 6.6012] * loadmodem
[ 6.6035] * readdefaultparam
[ 6.6063] * readchmod
[ 6.6086] * chmod
[ 6.6105] * printenv
[ 6.6127] * saveenv
[ 6.6148] * setenv
[ 6.6168] * help
[ 6.6186] * kernel
[ 6.6206] * boot
[ 6.6224] * reset
[ 6.6243] * sud
[ 6.6261] * rewritegpt
[ 6.6284] * loadpart
[ 6.6306] * showparts
[ 6.6328] * showsums
[ 6.6350] * loadkernel
[ 6.6374] * down
[ 6.6392] * upload
[ 6.6412] * emmc
[ 6.6430] * emmc_write
[ 6.6454] * readadc
[ 6.6474] * keyread
[ 6.6495] * mmctest
[ 6.6516] * fuelgauge
[ 6.6539] * earjack
[ 6.6560] * powerkey
[ 6.6581] * tk
[ 6.6598] * usb_write
[ 6.6620] * usb_read
[ 6.6642] To get commands help, Type "help <command>"
[ 6.6692] SBL>