Serial Debug on Acer A1
One more milestone!
After combining this USB-to-Serial converter, this USB 3.0 breakout board, and this mini-USB 3.0 cable into one thing I got the following:
Which in turn granted me with the following on the serial console when I powered up the device (pastebin link):
set AMSS mode:0 (Normal) [AMSS_LOG] ..\..\acer\l1\smem\acer_l1_smem_cmd.c - 18 : Acer smem proc comm cmd 0. Device will now reset to get into OS! [AMSS_LOG] ..\..\drivers\hw\src\hw.c - 681 : Acer main reset. [AMSS_LOG] ..\..\..\..\..\..\..\acer\l1\boot\acer_l1_boot.c - 113 : HW version is DVT5. [AMSS_LOG] ..\..\..\..\..\..\..\acer\l1\boot\acer_l1_boot.c - 132 : RF Band is EU. [AMSS_LOG] ..\..\..\..\..\..\..\acer\l1\boot\acer_l1_boot.c - 138 : Acer AMSS Boot Check. [AMSS_LOG] ..\..\..\..\..\..\..\acer\l1\boot\acer_l1_boot.c - 139 : magic number:A4BC385F, reason:00000000. [AMSS_LOG] ..\..\..\..\..\..\..\acer\l1\boot\acer_l1_boot.c - 140 : AMSS SW version = A1-05.01.06, Date = Nov 24 2010, Time = 17:34:05 [AMSS_LOG] ..\..\..\..\..\..\..\acer\l1\boot\acer_l1_boot.c - 143 : Boot Check magic num 680601 87654321 6 [AMSS_LOG] ..\..\..\..\..\..\..\acer\l1\boot\acer_l1_boot.c - 144 : DDR REG CHECK 40 60 1E0 1E0 [AMSS_LOG] ..\..\..\..\..\..\..\acer\l1\boot\acer_l1_boot.c - 148 : SA Fuse value = A077 [AMSS_LOG] ..\..\..\..\..\..\..\acer\l1\boot\acer_l1_boot.c - 744 : Boot power on reason : 00000051. [AMSS_LOG] ..\..\..\..\..\..\..\acer\l1\boot\acer_l1_boot.c - 745 : Boot reset status : 6. [AMSS_LOG] ..\..\..\..\..\..\..\acer\l1\boot\acer_l1_boot.c - 772 : Button check reason : 00000000. [AMSS_LOG] ..\..\..\..\..\..\..\acer\l1\boot\acer_l1_boot.c - 232 : Boot in normal mode. [AMSS_LOG] ..\..\..\..\..\..\..\core\boot\secboot2\osbl\shared\src\osbl_aarm_boot.c - 363 : Boot aARM on_msm_proc_comm @@ i2c_init: HW mode [AMSS_LOG] ..\..\services\task\mobile.c - 525 : Qualcomm SW info = 8650B-SDCAOLYM-4075 [AMSS_LOG] ..\..\services\task\mobile.c - 526 : AMSS SW version = A1-05.01.06, Date = Nov 24 2010, Time = 16:32:58 [AMSS_LOG] ..\..\services\task\mobile.c - 528 : Acer AMSS main code start -----. [AMSS_LOG] ..\..\drivers\chg\charger.c - 1298 : Charging state machine change from 33 to 0 [AMSS_LOG] ..\..\drivers\chg\charger.c - 1298 : Charging state machine change from 0 to 32 [AMSS_LOG] ..\..\acer\l1\smem\acer_l1_smem_cmd.c - 18 : Acer smem proc comm cmd 2. ptn 0 name='misc' start=451 len=5 ptn 1 name='recovery' start=456 len=40 ptn 2 name='boot' start=496 len=40 ptn 3 name='userdata' start=536 len=1600 ptn 4 name='system' start=2136 len=1600 ptn 5 name='cache' start=3736 len=335 ptn 6 name='kpanic' start=4071 len=16 ptn 7 name='dinfo' start=4087 len=2 ptn 8 name='setupdata' start=4089 len=3 ptn 9 name='splash1' start=4092 len=4 ptn 10 name='modem' start=24 len=156 nandid: 5500bcec maker ec device bc nandcfg: aad40000 0004745e (initial) nandcfg: e85408c0 0004745e (used) load logo... load checksum size:780 flash_read_image: block:4089~4091 success (0 errors) flash_read_image: block:4092~4095 success (0 errors) mddi_init(): AUO, build date Feb 18 2011-15:00:12 AVR reset#1 LCDC: HW_VER > 0.2, Power-On Seq v2! [AMSS_LOG] ..\..\drivers\chg\charger.c - 1298 : Charging state machine change from 32 to 1 AVR reset#2 panel is 480 x 800 fail:msm_i2c_poll_notbusy,status:00002100 I2C_INTERFACE_SELECT:00000300 [AMSS_LOG] ..\..\acer\l1\smem\acer_l1_smem_cmd.c - 18 : Acer smem proc comm cmd 1. [AMSS_LOG] ..\..\acer\l1\smem\acer_l1_smem_cmd.c - 18 : Acer smem proc comm cmd 2. fail:I2C:Error waiting for notbusy USB FastBoot: V1.10.00 Machine ID: 1009000 v0 Build Date: Feb 18 2011, 14:59:50 HW version: V1.0 AMSS version: A1-05.01.06 usb_init_basic usb_chg_detect_type: AC Charger Detected! get AMSS mode:0 (Normal) boot_reason=00000000 @@BUILDID=Acer_LiquidE_4.008.08_EMEA-VFIT on_msm_proc_comm Check 512MB: true sn[0]:00000020 sn[1]:00000045 sn[2]:00000095 sn[3]:00000018 sn[4]:00000019 sn[5]:00000005 sn[6]:00000000 sn[7]:00000000 sn[8]:00000000 sn[9]:00000000 sn[10]:00000000 sn[11]:00000000 serialno:025459819150 @@ i2c_init: GPIO mode @@ i2c_init: HW mode [AMSS_LOG] ..\..\acer\l1\smem\acer_l1_smem_cmd.c - 18 : Acer smem proc comm cmd 2. boot_reason=00000000 SMEM: disable Modem UART messages(2) check bat_cap read battery: 6342,6819=92%% ** BOOTING LINUX FROM FLASH ** Check device is 256M or 512M Check 512MB: true Pass! flash_read_image: block:496~535 success (0 errors) flash_read_image: block:496~535 success (0 errors) flash_read_image: block:496~535 success (0 errors) kernel @ 20008000 (2609080 bytes) ramdisk @ 24000000 (177420 bytes) LCM ID:00000013 000000a1 00000000 Check 512MB: true cmdline = 'console=null hw_ver=6 amss_ver=A1-05.01.06 androidboot.serialno=025459819150 g_android.serial_number=025459819150 lcm_id=2 androidboot' Booting Linux Check 512MB: true
The RX pin should be connected to the GND_D
, TX
should go to SSTX-
, GND
should go to GND
on the board and VBUS
should be powered by 5V from the serial-to-usb converter if you are using mini USB3.0 hack. The device has serial root console immediately available if you set androidboot.console=ttyMSM2 console=ttyMSM2
(no init changes needed). Serial port settings: 115200 8N1, no hw flow control, no sw flow control.
Even if this does not yield anything useful, it is a good thing to know I can solder things and they continue working after that.
I've seen all these strings in the string dump of appsboot.mbn, amss.mbn and it is such a relief to see these are actually being used. Also it is interesting to see that the device is using a L1 bootloader. Acer L1 is actually a beTouch 200 phone running Microsoft Windows Mobile 6.5 Professional. Sweet.
One drawback for my current setup is that I can't have both serial debug and regular USB connection (though charging works), so it's time for some more soldering!