天猫精灵设备拆机及系统分析

我手头的这个天猫精灵型号为TG_X1,黑色天猫精灵AI助手,拆解没有多少难度,但需要注意连接线的问题。

具体的拆机过程可以参见:

http://www.geekifix.com/wp/archives/415.html

注意一点就是,天猫精灵的主板的位置,位于音频按键的底部,也就是顶端,而拆解是从电源的位置从低到顶进行拆机;

拆机后,看到主控板的信息如下:

天猫精灵设备拆机及系统分析_第1张图片

主控型号:联发科 MT8516

MT8516支持四核心64位ARM® Cortex-A35™,主频达1.3GHz。该芯片还内建WiFi 802.11 b/g/n 和蓝牙 4.0

NAND Flash 型号:MT29F2G08ABAEAWP

功放:TI TAS5751M/5W单喇叭,搭载无源辐射器

天猫精灵设备拆机及系统分析_第2张图片

灯控板上有几个焊点(应该是ADB的USB接口),焊接上去,结果发现已经无用了。

究其原因发现,升级固件后,将adbd的程序给删除了

具体的参见/lib/systemd/system/android-tools-adbd.service文件的内容:

[Unit]
Description=Android Debug Bridge
AssertFileNotEmpty=/data/usr/bin/adbd
After=smartbox.service
[Service]
Environment=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/data/usr/bin:/usr/lib/smartbox
Type=simple
Restart=on-failure
ExecStartPre=/data/usr/bin/android-gadget-setup adb
ExecStart=/data/usr/bin/adbd
StandardOutput=null

[Install]
WantedBy=basic.target

在/data/usr/bin目录下就剩下一个android-gadget-setup了,adbd文件已经不存在了。

root@aud8516-ali-slc:/lib/systemd/system# ls /data/usr/bin/ -l
total 4
-rwxr-xr-x 1 root root 1401 Aug  2  2017 android-gadget-setup
 oot@aud8516-ali-slc:/lib/systemd/system# cat /data/usr/bin/android-gadget-setup
#!/bin/sh

# TODO enable the lines below once we have support for getprop
# retrieve the product info from Android
# manufacturer=$(getprop ro.product.manufacturer Android)
# model=$(getprop ro.product.model Android)
# serial=$(getprop ro.serialno 0123456789ABCDEF)

manufacturer="$(cat /system/build.prop | grep -o 'ro.product.manufacturer=.*' | cut -d'=' -f 2)"
model="$(cat /system/build.prop | grep -o 'ro.product.model=.*' | cut -d'=' -f 2)"
# get the device serial number from /proc/cmdline directly(since we have no getprop on
# GNU/Linux)
serial="$(cat /proc/sys/kernel/random/uuid)"

echo -n ${serial:0:30} > /sys/class/android_usb/android0/iSerial
echo $manufacturer > /sys/class/android_usb/android0/iManufacturer
echo $model > /sys/class/android_usb/android0/iProduct

mkdir /dev/usb-ffs
chmod 770 /dev/usb-ffs -R
mkdir /dev/usb-ffs/adb
chmod 770 /dev/usb-ffs/adb -R
mount -o uid=2000,gid=2000 -t functionfs adb /dev/usb-ffs/adb
echo "adb" > /sys/class/android_usb/android0/f_ffs/aliases

echo "0" > /sys/class/android_usb/android0/enable
echo "18d1" > /sys/class/android_usbid_usb/android0/idVendor
echo "D002" > /sys/class/android_usb/android0/idProduct
echo "adb" > /sys/class/android_usb/android0/functions
echo "1" > /sys/module/musb_hdrc/parameters/musb_force_on
echo "2" > /sys/module/musb_hdrc/parameters/musb_force_on
echo "1" >  /sys/class/android_usb/android0/enable

sleep 4

如果阿里自己的程序员需要调试的话,导入一个adbd的就可以了。

为了验证自己的猜测,我解压了一个同样平台下的UBI的文件系统,获取了一个ADBD的程序,放到天猫精灵/data/usr/bin/目录下,重新启动天猫精灵,就能看到ADB的设备了。

天猫精灵设备拆机及系统分析_第3张图片

下面是这个ADB设备的PID和VID,与上面程序中的是相同的。

天猫精灵设备拆机及系统分析_第4张图片

连接好对应的线路后,就可以用ADB调试天猫精灵了。

USB线的线序及颜色对应关系,如下图:

天猫精灵设备拆机及系统分析_第5张图片

天猫精灵设备拆机及系统分析_第6张图片

以下为adb调试的截图:

天猫精灵设备拆机及系统分析_第7张图片

天猫精灵设备拆机及系统分析_第8张图片

adbd的文件需要放置在这个目录下/data/usr/bin/目录下,这样在系统启动的时候,就会加载这个进程,进行启动了。

这里我将adbd的程序共享出来了,有需要的自己去下吧。

下载地址:

https://download.csdn.net/download/leekwen/10420146

至于如何放置这个ADBD的程序?

你可以先通过下面的串口进去,然后通过天猫精灵里面的wget命令下载一下就可以了。

用chmod设置好可执行权限后,重新启动,就开启了天猫精灵的adbd调试口。那么以后就不需要再拆机用串口调试了。

但是第一次的时候,你需要拆机,将这个程序导入到天猫精灵的/data/usr/bin/目录下。

串口调试的方法如下:

下面先看看串口的进入方法,这里阿里们没有将这个串口给屏蔽,所以给了我们机会啊。

天猫精灵设备拆机及系统分析_第9张图片

在主控板上,看到了UART的接口,直接焊上线,TTL走起;


天猫精灵设备拆机及系统分析_第10张图片

看到了一个大串口的乱码输出,看来一定是波特率不对了。

阿里天猫精灵的串口波特率应该是:921600

设置正确的波特率,OK,输出正确的字符。

以下为输出的启动信息(真的好长):

Watchdog Status: 0 , boot from normal
[EMI] MDL number = 0
[EMI] PCDDR3
get dram size from AUXADC1 501 1
[EMI] Use Common DDR3 x16 emi settings
[EMI] Config emi settings:
EMI_CONA=0x1010,   EMI_CONH=0x3
EMI_RAMK0=0x10000000, EMI_RAMK1=0x0
EMI_CONA=0x1010
EMI_CONF=0x4210000
EMI_CONH=0x3

[DramcSwImpedanceCal] FINAL: DRVP=7, DRVN=7

PCDDR3 Pinmux
SSC OFF
DRAM Clock: 1584MHz

[Write Leveling]
WriteLevelingMoveDQSInsteadOfCLK
===============================================================================
Dram Type= 4, Freqency= 1600, rank 0
odt_onoff= 0, Byte mode= 0, Read_DBI= 0, Write DBI= 0
===============================================================================
WL Clk delay = 0, CA CLK delay = 0
No need to update CA/CS delay because the CLK delay is small than CA training.
Final Clk output delay = 0
R0 FINAL: WriteLeveling DQS:(2, 0) OEN:(1, 2) DQS0 delay =  36
R0 FINAL: WriteLeveling DQS:(2, 0) OEN:(1, 2) DQS1 delay =  35
[DramcWriteLeveling] ====Done====

[Gating]
===============================================================================
Dram Type= 4, Freqency= 1600, rank 0
odt_onoff= 0, Byte mode= 0, Read_DBI= 0, Write DBI= 0
===============================================================================
[Byte 0]First pass (1, 3, 4)
[Byte 1]First pass (1, 3, 5)
[Byte 0]Bigger pass win(1, 4, 29)  Pass tap=57
[Byte 1]Bigger pass win(1, 4, 30)  Pass tap=57
===============================================================================
    dqs input gating widnow, final delay value
    Frequency=1600  rank=0
===============================================================================
R0 FINAL: GW best DQS0 P0 delay(2T, 0.5T, PI) = (1, 4, 0) [tap = 57]
R0 FINAL: GW best DQS1 P0 delay(2T, 0.5T, PI) = (1, 4, 1) [tap = 57]
R0 FINAL: GW best DQS0 P1 delay(2T, 0.5T, PI) = (1, 6, 0)
R0 FINAL: GW best DQS1 P1 delay(2T, 0.5T, PI) = (1, 6, 1)
[DramcRxdqsGatingCal] ====Done====

[DATLAT]
DATLAT Default value = 0xf
5, 0xFFFF, sum=0
6, 0xFFFF, sum=0
7, 0xFFFF, sum=0
8, 0xFFFF, sum=0
9, 0xFFFF, sum=0
10, 0xFFFF, sum=0
11, 0xFFFF, sum=0
12, 0xFFFF, sum=0
13, 0x0, sum=1
14, 0x0, sum=2
15, 0x0, sum=3
16, 0x0, sum=4
17, 0x0, sum=5
pattern=5 first_step=13 total pass=6 best_step=15
R0 FINAL: DATLAT = 15 [13 ~ 18]
[DramcRxdatlatCal] ====Done====

[RX]
===============================================================================
Dram Type= 4, Freqency= 1600, rank 0
odt_onoff= 0, Byte mode= 0, Read_DBI= 0, Write DBI= 0
===============================================================================
RX Window Sum 564
R0 FINAL: RX Bit 0, 11 (-6 ~ 29) 36
R0 FINAL: RX Bit 1, 12 (-5 ~ 29) 35
R0 FINAL: RX Bit 2, 13 (-4 ~ 31) 36
R0 FINAL: RX Bit 3, 11 (-6 ~ 29) 36
R0 FINAL: RX Bit 4, 13 (-4 ~ 30) 35
R0 FINAL: RX Bit 5, 14 (-4 ~ 32) 37
R0 FINAL: RX Bit 6, 14 (-3 ~ 31) 35
R0 FINAL: RX Bit 7, 12 (-6 ~ 31) 38
R0 FINAL: RX Bit 8, 14 (-4 ~ 32) 37
R0 FINAL: RX Bit 9, 16 (-2 ~ 34) 37
R0 FINAL: RX Bit 10, 14 (-3 ~ 32) 36
R0 FINAL: RX Bit 11, 14 (-3 ~ 32) 36
R0 FINAL: RX Bit 12, 15 (-3 ~ 33) 37
R0 FINAL: RX Bit 13, 15 (-3 ~ 33) 37
R0 FINAL: RX Bit 14, 14 (-3 ~ 32) 36
R0 FINAL: RX Bit 15, 14 (-3 ~ 32) 36
===============================================================================
Dram Type= 4, Freqency= 1600, rank 0
odt_onoff= 0, Byte mode= 0, Read_DBI= 0, Write DBI= 0
===============================================================================
DQS Delay :
DQS0 = 0, DQS1 = 0, DQS2 = 0, DQS3 = 0
DQM Delay :
DQM0 = 12, DQM1 = 14, DQM2 = 0, DQM3 = 0
DQ Delay :
DQ0 =11, DQ1 =12, DQ2 =13, DQ3 =11
DQ4 =13, DQ5 =14, DQ6 =14, DQ7 =12
DQ8 =14, DQ9 =16, DQ10 =14, DQ11 =14
DQ12 =15, DQ13 =15, DQ14 =14, DQ15 =14
________________________________________________________________________
[DramcRxWindowPerbitCal] ====Done====

[TX]
[DramcTxWindowPerbitCal] Frequency=1600, Rank=0, calType=2
[DramcTxWindowPerbitCal] Begin, TX DQ(2, 0),  DQ OEN(1, 2)
TX Window Sum 434
===============================================================================
Dram Type= 4, Freqency= 1600, rank 0
odt_onoff= 0, Byte mode= 0, Read_DBI= 0, Write DBI= 0
===============================================================================
R0 FINAL: TX Bit0 (36~64) 29 50,   Bit8 (39~64) 26 51,
R0 FINAL: TX Bit1 (36~64) 29 50,   Bit9 (39~65) 27 52,
R0 FINAL: TX Bit2 (39~65) 27 52,   Bit10 (39~67) 29 53,
R0 FINAL: TX Bit3 (36~64) 29 50,   Bit11 (39~65) 27 52,
R0 FINAL: TX Bit4 (39~64) 26 51,   Bit12 (39~64) 26 51,
R0 FINAL: TX Bit5 (40~65) 26 52,   Bit13 (39~65) 27 52,
R0 FINAL: TX Bit6 (39~64) 26 51,   Bit14 (38~64) 27 51,
R0 FINAL: TX Bit7 (38~64) 27 51,   Bit15 (39~64) 26 51,

==================================================================
Byte0, PI DQ Delay 51 Delay2 52
Final DQ PI Delay(LargeUI, SmallUI, PI) =(2 ,0, 52)
OEN DQ PI Delay(LargeUI, SmallUI, PI) =(1 ,2, 52)

Byte1, PI DQ Delay 52 Delay2 51
Final DQ PI Delay(LargeUI, SmallUI, PI) =(2 ,0, 51)
OEN DQ PI Delay(LargeUI, SmallUI, PI) =(1 ,2, 51)

[DramcTxWindowPerbitCal] ====Done====
[DramcRxdqsGatingPostProcess] p->frequency 1600
[DramcRxdqsGatingPostProcess] s1ChangeDQSINCTL 0, reg_TX_dly_DQSgated_min 3, u1TXDLY_Cal_min 3

Settings after calibration ...
=== [DramcRunTimeConfig] ===
ZQCS_ENABLE_LP3: ON
LOWPOWER_GOLDEN_SETTINGS(DCM): ON
SPM_CONTROL_AFTERK: ON
TEMP_SENSOR_ENABLE: OFF
ENABLE_PER_BANK_REFRESH: OFF
HW_SAVE_FOR_SR: OFF
=========================
get dram size from AUXADC1 501 1
Dram adc_size 1, dram size 0x10000000.
[MEM] complex R/W mem test pass
nand found [MT29F2G08ABAEA]
starting app fitboot
open MISC successfully
lastboot = 1, use A = -1, use B = -1, current = 1
------ fast light on debug ------ led_enable:1
choose second boot partition
Verifying tz_ctl Sign
checking tz_ctl - kernel integrity
get dram size from AUXADC1 500 1
checking tz_ctl - trustedos integrity
get dram size from AUXADC1 500 1
Verifying bootimg_ctl Sign
checking bootimg_ctl - kernel integrity
get dram size from AUXADC1 500 1
checking bootimg_ctl - fdt integrity
get dram size from AUXADC1 500 1
load second partitions, need to overlay cmdline
dtsi cmdline: console=tty0 console=ttyS0,921600n1 earlycon=uart8250,mmio32,0x11005000 ubi.mtd=8 root=ubi0:aud8516-ali-slc-rootfs rootfstype=ubifs vmalloc=496M androidboot.hardware=aud8516p1_linux quiet ,lenth:187
cmdline new: console=tty0 console=ttyS0,921600n1 earlycon=uart8250,mmio32,0x11005000 ubi.mtd=9 root=ubi0:aud8516-ali-slc-rootfs rootfstype=ubifs vmalloc=496M androidboot.hardware=aud8516p1_linux quiet , length: 187Partition [DTBO] is not exist.
LK run time: 1861862 (us)
jump to tz 0x42ff6000

[teeloader] tl jump to atf!
[ATF](0)[1.862752]INFO:    Kernel is AArch64
[ATF](0)[1.864022]NOTICE:  BL3-1: v1.2(debug):74da5d7
[ATF](0)[1.864595]NOTICE:  BL3-1: Built : 15:57:25, Feb  3 2018
[ATF](0)[1.865296]NOTICE:  BL31: v1.2(debug):74da5d7
[ATF](0)[1.865877]NOTICE:  BL31: Built : 15:57:25, Feb  3 2018
[ATF](0)[1.866568]INFO:    [spmc_init]change to SPMC mode !!!
[ATF](0)[1.867250]INFO:    ARM GICv2 driver initialized
[ATF](0)[1.867862]INFO:    BL31: Initializing runtime services
[ATF](0)[1.868561]INFO:    BL31: Initializing BL32
lEMI_MPUS = 20000140, EMI_MPUT = 100fffb0
[DAPC] [TEE] dapc_register_ext_handler is called by Type_2B slave(5)
[ATF](0)[1.870554]INFO:    BL31: Preparing for EL3 exit to normal world
[ATF](0)[1.871323]INFO:    Entry point address = 0x41e00000
[ATF](0)[1.871979]INFO:    SPSR = 0x3c9
[    0.000000] <0>-(0)[0:swapper]Booting Linux on physical CPU 0x0
[    0.000000] <0>-(0)[0:swapper]Initializing cgroup subsys cpu
[    0.000000] <0>-(0)[0:swapper]Initializing cgroup subsys cpuacct
[    0.000000] <0>-(0)[0:swapper]Linux version 4.4.22 (jenkins@41d5f3dd85e2) (gcc version 5.3.0 (GCC) ) #1 SMP PREEMPT Sat Feb 3 15:58:34 CST 2018
[    0.000000] <0>-(0)[0:swapper]Boot CPU: AArch64 Processor [410fd041]
[    0.000000] <0>-(0)[0:swapper]earlycon: Early serial console at MMIO32 0x11005000 (options '')
[    0.000000] <0>-(0)[0:swapper]bootconsole [uart0] enabled
[    0.000000] <0>-(0)[0:swapper][PHY layout]atf-reserved-memory@43000000   :   0x43000000 - 0x4302ffff (0x30000)
[    0.000000] <0>-(0)[0:swapper][PHY layout]mtee-reserved-memory   :   0x4fd00000 - 0x4fffffff (0x300000)
[    0.000000] <0>-(0)[0:swapper][PHY layout]consys-reserve-memory   :   0x4fa00000 - 0x4fbfffff (0x200000)
[    0.000000] <0>-(0)[0:swapper][memblock]ram_console-reserve-memory: 0x44400000 - 0x44410000 (0x10000)
[    0.000000] <0>-(0)[0:swapper][memblock]mini_rdump: 0x44410000 - 0x44420000 (0x10000)
[    0.000000] <0>-(0)[0:swapper][PHY layout]kernel   :   0x40000000 - 0x42ffffff (0x3000000)
[    0.000000] <0>-(0)[0:swapper][PHY layout]kernel   :   0x43030000 - 0x4f9fffff (0xc9d0000)
[    0.000000] <0>-(0)[0:swapper][PHY layout]kernel   :   0x4fc00000 - 0x4fcfffff (0x100000)
[    0.000531] <0>.(0)[0:swapper/0]ram_console: buffer start: 0xffffff8008020000, size: 0x10000
[    0.009006] <0>.(0)[0:swapper/0]ram_console: CPU notifier status: 0, 0, 0x0, 0
[    0.009954] <0>.(0)[0:swapper/0]ram_console: last init function: 0x0
[    0.032358] <0>.(0)[1:swapper/0]BOOTPROF:        32.351460: ON
[    0.034336] <0>.(0)[1:swapper/0]init_get_max_DRAM_size done. phone_dram_sz: 0x0, kernel_mem_sz: 0x10000000
[    0.036730] <0>.(0)[1:swapper/0]'atag,devinfo' is not found
[    0.090681] <0>.(0)[1:swapper/0]devinfo data already init done earlier. 'init_devinfo_exclusive' extra times: 1
[    0.092008] <0>.(0)[1:swapper/0]devinfo data index out of range:45
[    0.092841] <0>.(0)[1:swapper/0]devinfo data size:0
[    0.093494] <0>.(0)[1:swapper/0]zone_movable_cma: uninited cma, start zone_movable_cma fail!
[    0.096644] <0>.(0)[1:swapper/0][SPM] spm_base = ffffff8008032000
[    0.097473] <0>.(0)[1:swapper/0][SPM] spm_irq_0 = 6, spm_irq_1 = 7, spm_irq_2 = 8, spm_irq_3 = 9
[    0.100060] <0>.(0)[1:swapper/0][Power/idle] node 'mediatek,mt8167-mfgcfg' not found!
[    0.110908] <1>.(1)[1:swapper/0]
[    0.110908] <1> invalid atf_aee_debug_phy_addr
[    0.111984] mirdump: reserved 444f0000+2000->ffffff800804a000
[    0.120154] <1>-(1)[1:swapper/0]genirq: Setting trigger mode 2 for irq 18 failed (mtk_sysirq_set_type+0x0/0xd0)
[    0.172203] <1>.(1)[1:swapper/0]BOOTPROF:       172.196076:initcall: arm64_device_init    59.384000ms
[    0.196665] <1>.(1)[1:swapper/0]BOOTPROF:       196.658922:initcall: param_sysfs_init    22.216231ms
[    0.229685] <0>.(0)[1:swapper/0][ION]ion_init()
[    0.230875] <0>.(0)[1:swapper/0][ION]ion_drv_probe() heap_nr=6
[    0.232216] <0>.(0)[1:swapper/0]ion_heap_create: Heap type is disabled: 1
[    0.233113] <0>.(0)[1:swapper/0]ion_mtk_heap_create: error creating heap ion_system_contig_heap type 1 base 0 size 0
[    0.235034] <0>.(0)[1:swapper/0][ION]ion_sec_heap_create enter ion_sec_heap_create
[    0.263319] <0>.(0)[1:swapper/0]BOOTPROF:       263.310461:initcall: slab_sysfs_init    16.668923ms
[    0.312854] <0>.(0)[1:swapper/0]BOOTPROF:       312.847230:probe: probe=platform_drv_probe drv=mt6577-uart(ffffff8008ac85e0)    23.840538ms
[    0.336161] <0>.(0)[1:swapper/0]BOOTPROF:       336.154692:probe: probe=platform_drv_probe drv=mt6577-uart(ffffff8008ac85e0)    21.612538ms
[    0.338259] <0>.(0)[1:swapper/0]BOOTPROF:       338.253000:initcall: mtk8250_platform_driver_init    49.515692ms
[    0.352846] <0>.(0)[1:swapper/0]failed to get proc regulator for cpu0
[    0.353684] <0>.(0)[1:swapper/0]mt8167-cpufreq mt8167-cpufreq: failed to initialize dvfs info for cpu0
[    0.356769] <0>.(0)[1:swapper/0]MT_SCHED: Init complete, device major number = 251
[    0.359722] <0>.(0)[1:swapper/0][AUXADC_AP] find node failed
[    0.360509] <0>.(0)[1:swapper/0]proc_create auxadc_debug_proc_fops
[    0.364506] <0>.(0)[1:swapper/0][PWM] get PWM1-main clock, ffffffc00f2f1800
[    0.365404] <0>.(0)[1:swapper/0][PWM] get PWM2-main clock, ffffffc00f2f1900
[    0.366334] <0>.(0)[1:swapper/0][PWM] get PWM3-main clock, ffffffc00f2f1a00
[    0.367237] <0>.(0)[1:swapper/0][PWM] get PWM4-main clock, ffffffc00f2f1b00
[    0.368143] <0>.(0)[1:swapper/0][PWM] get PWM5-main clock, ffffffc00f2f1c00
[    0.369051] <0>.(0)[1:swapper/0][PWM] get PWM-HCLK-main clock, ffffffc00f2f1d00
[    0.370025] <0>.(0)[1:swapper/0][PWM] get PWM-main clock, ffffffc00f2f1e00
[    0.371777] <0>.(0)[1:swapper/0]mt_accdet_probe failed to get regmap of syscon node mediatek,apmixedsys-regmap
[    0.376419] <0>.(0)[1:swapper/0][MTK_IRRX]mtk_ir_get_hw_info 1045 :  Cannot get irrx clock!
[    0.377475] <0>.(0)[1:swapper/0][MTK_IRRX]mtk_ir_core_enable_clock 155 :  Cannot get irrx clock!
[    0.388712] <0>.(0)[1:swapper/0][WMT-DETECT][I]wmt_detect_driver_init:driver(major 154) installed success
[    0.390033] <0>.(0)[1:swapper/0][SDIO-DETECT][I]sdio_detect_init:sdio_register_driver() ret=0
[    0.391404] <0>.(0)[1:swapper/0]MTK-BTIF[I]mtk_btif_probe:DO BTIF PROBE
[    0.392267] <0>.(0)[1:swapper/0]MTK-BTIF[E]hal_btif_clk_get_and_prepare(286):[CCF]clk_btif=ffffffc00f36f600
[    0.393512] <0>.(0)[1:swapper/0]MTK-BTIF[E]hal_btif_clk_get_and_prepare(292):[CCF]clk_btif_apdma=ffffffc00f36f700
[    0.395238] <0>.(0)[1:swapper/0]MTK-BTIF[I]BTIF_init:p_btif_buffer get memory 0xffffffc00f380000
[    0.396348] <0>.(0)[1:swapper/0]MTK-BTIF[I]BTIF_init:p_tx_queue get memory 0xffffffc00f390000
[    0.397426] <0>.(0)[1:swapper/0]MTK-BTIF[I]BTIF_init:p_rx_queue get memory 0xffffffc00f3a0000
[    0.398521] <0>.(0)[1:swapper/0]MTK-BTIF[I]hal_btif_info_get:_btif_tx_fifo_init succeed
[    0.399690] <0>.(0)[1:swapper/0]MTK-BTIF[I]_btif_set_default_setting:get btif irq(211),register base(0xffffff8009992000)
[    0.401058] <0>.(0)[1:swapper/0]MTK-BTIF[I]_btif_set_default_setting:get interrupt flag(0x8)
[    0.402141] <0>.(0)[1:swapper/0]MTK-BTIF[I]_btif_set_default_setting:get register phy base(0x0)
[    0.403341] <0>.(0)[1:swapper/0]MTK-BTIF-DMA[I]hal_dma_set_default_setting:get tx_dma irq(198),register base(0xffffff8009994380)
[    0.404794] <0>.(0)[1:swapper/0]MTK-BTIF-DMA[I]hal_dma_set_default_setting:get interrupt flag(0x8)
[    0.405923] <0>.(0)[1:swapper/0]MTK-BTIF-DMA[I]hal_dma_set_default_setting:get register phy base dma_dir(1)(0x0)
[    0.407230] MTK-BTIF[I]_btif_vfifo_init:alloc vFIFO for BTIF succeed in arch64,vir addr:0xffffff80089bb970,
[    0.408533] <0>.(0)[1:swapper/0]MTK-BTIF-DMA[I]hal_dma_set_default_setting:get rx_dma irq(199),register base(0xffffff8009996400)
[    0.410029] <0>.(0)[1:swapper/0]MTK-BTIF-DMA[I]hal_dma_set_default_setting:get interrupt flag(0x8)
[    0.411159] <0>.(0)[1:swapper/0]MTK-BTIF-DMA[I]hal_dma_set_default_setting:get register phy base dma_dir(0)(0x0)
[    0.412443] MTK-BTIF[I]_btif_vfifo_init:alloc vFIFO for BTIF succeed in arch64,vir addr:0xffffff80089bb970,
[    0.413835] <0>.(0)[1:swapper/0]MTK-BTIF[I]_btif_rx_btm_init:btif_rxd start to work!
[    0.414857] <0>.(0)[1:swapper/0]MTK-BTIF[I]_btif_rx_btm_init:rx_spin_lock init succeed
[    0.415855] <0>.(0)[1:swapper/0]MTK-BTIF[I]_btif_tx_ctx_init:nothing is done when btif tx in user's thread
[    0.417068] <0>.(0)[1:swapper/0]MTK-BTIF[I]_btif_tx_ctx_init:succeed
[    0.417877] <0>.(0)[1:swapper/0]MTK-BTIF[I]btif_chrdev_init:devuce number allocation succeed
[    0.418960] <0>.(0)[1:swapper/0]MTK-BTIF[I]btif_chrdev_init:add btif dev to kernel succeed
[    0.420035] <0>.(0)[1:swapper/0]MTK-BTIF[I]btif_chrdev_init:create class for btif succeed
[    0.421453] <0>.(0)[1:swapper/0]MTK-BTIF[I]btif_chrdev_init:create device for btif succeed
[    0.422525] <0>.(0)[1:swapper/0]BOOTPROF:       422.518769:initcall: BTIF_init    31.399846ms
[    0.431414] <0>.(0)[1:swapper/0]tscpu_thermal_probe
[    0.432494] <0>.(0)[1:swapper/0][Power/CPU_Thermal] [Thermal calibration] buf[0]=0x29349a67, buf[1]=0x851ed4b1, buf[2]=0x4d2c0e00
[    0.447213] <0>.(0)[1:swapper/0]No atf_log_buffer!
[    0.462677] <0>.(0)[1:swapper/0]devinfo data already init done earlier. 'init_devinfo_exclusive' extra times: 2
[    0.463949] <0>.(0)[1:swapper/0]devinfo data index out of range:0
[    0.464718] <0>.(0)[1:swapper/0]devinfo data size:0
[    0.474190] <0>.(0)[1:swapper/0][rootfs_check]set mtd num 9 as read-only
[    0.492554] <0>.(0)[1:swapper/0][rootfs_check]checking rootfs integrity...
[    1.102158] <0>.(0)[1:swapper/0][rootfs_check]rootfs pass integrity check,boot continue...
[    1.103225] <0>.(0)[1:swapper/0]BOOTPROF:      1103.218694:probe: probe=platform_drv_probe drv=mtk-nand(ffffff8008ae2df8)   640.887002ms
[    1.105427] <0>.(0)[1:swapper/0]BOOTPROF:      1105.421771:initcall: mtk_nfc_driver_init   644.150925ms
[    1.115446] <0>.(0)[1:swapper/0]kpd: get kpd-clk fail, but not return, maybe kpd-clk is set by ccf.
[    1.116754] <0>.(0)[1:swapper/0]kpd: key-debounce = 1024, sw-pwrkey = 116, hw-pwrkey = 8, hw-rstkey = 17, sw-rstkey = 114
[    1.130273] <0>.(0)[1:swapper/0]MTK_WDT_NONRST_REG(0)
[    1.140449] <0>.(0)[1:swapper/0][msdc]DT probe sdio!
[    1.141269] <0>.(0)[1:swapper/0][msdc][msdc0] get irq # 241
[    1.142012] <0>.(0)[1:swapper/0][msdc][msdc2] register_setting is not found in DT
[    1.143114] <0>.(0)[1:swapper/0][msdc][msdc2] host_function:2, clk_src=2
[    1.144236] <0>.(0)[1:swapper/0][msdc]of_iomap for infracfg_ao base @ 0x          (null)
[    1.145298] <0>.(0)[1:swapper/0][msdc]of_iomap for toprgu base @ 0xffffff80099dc000
[    1.146353] <0>.(0)[1:swapper/0][msdc]of_iomap for apmixed base @ 0xffffff80099de000
[    1.147366] <0>.(0)[1:swapper/0][msdc]of_iomap for topckgen base @ 0xffffff80099e0000
[    1.148741] <0>.(0)[1:swapper/0][msdc][msdc_drv_probe]: msdc2, mmc->caps=0x60405, mmc->caps2=0x0
[    1.150043] <0>.(0)[1:swapper/0][msdc][msdc_debug_proc_init]: create /proc/msdc_debug
[    1.150739] <0>.(1)[6:kworker/u8:0][msdc][msdc_set_smt_by_id] invlalid host->id!
[    1.150745] <0>.(1)[6:kworker/u8:0][msdc][msdc_set_driving_by_id] invlalid host->id!
[    1.150758] <0>.(1)[6:kworker/u8:0][msdc][msdc_pin_config_by_id] invlalid host->id!
[    1.153890] <0>.(0)[1:swapper/0][msdc][msdc_debug_proc_init]: create /proc/msdc_help
[    1.154923] <0>.(0)[1:swapper/0]BOOTPROF:      1154.917078:initcall: mt_msdc_init    16.155924ms
[    1.167083] <2>.(2)[1:swapper/0]tas5751_i2c_probe address is 2b
[    1.174419] <1>.(1)[6:kworker/u8:0][msdc]msdc2 -> !!! Set<400KHz> Source<200000KHz> -> sclk<400KHz> timing<0> mode<0> div<125> hs400_div_dis<0> msdc_cfg:0x2007d9b
[    1.200773] <1>.(1)[6:kworker/u8:0][msdc][msdc_set_smt_by_id] invlalid host->id!
[    1.201708] <1>.(1)[6:kworker/u8:0][msdc][msdc_set_driving_by_id] invlalid host->id!
[    1.202705] <1>.(1)[6:kworker/u8:0][msdc][msdc_pin_config_by_id] invlalid host->id!
[    1.223672] <1>.(1)[6:kworker/u8:0][msdc]msdc2 -> !!! Set mclk<0Hz>
[    1.226603] <1>.(1)[6:kworker/u8:0][msdc][msdc_set_smt_by_id] invlalid host->id!
[    1.227536] <1>.(1)[6:kworker/u8:0][msdc][msdc_set_driving_by_id] invlalid host->id!
[    1.228516] <1>.(1)[6:kworker/u8:0][msdc][msdc_pin_config_by_id] invlalid host->id!
[    1.254376] <1>.(1)[6:kworker/u8:0][msdc]msdc2 -> !!! Set<300KHz> Source<200000KHz> -> sclk<299KHz> timing<0> mode<0> div<167> hs400_div_dis<0> msdc_cfg:0x200a79b
[    1.282397] <1>.(1)[6:kworker/u8:0][msdc][msdc_set_smt_by_id] invlalid host->id!
[    1.283331] <1>.(1)[6:kworker/u8:0][msdc][msdc_set_driving_by_id] invlalid host->id!
[    1.284312] <1>.(1)[6:kworker/u8:0][msdc][msdc_pin_config_by_id] invlalid host->id!
[    1.305277] <1>.(1)[6:kworker/u8:0][msdc]msdc2 -> !!! Set mclk<0Hz>
[    1.308256] <1>.(1)[6:kworker/u8:0][msdc][msdc_set_smt_by_id] invlalid host->id!
[    1.309189] <1>.(1)[6:kworker/u8:0][msdc][msdc_set_driving_by_id] invlalid host->id!
[    1.310183] <1>.(1)[6:kworker/u8:0][msdc][msdc_pin_config_by_id] invlalid host->id!
[    1.334371] <1>.(1)[6:kworker/u8:0][msdc]msdc2 -> !!! Set<260KHz> Source<200000KHz> -> sclk<259KHz> timing<0> mode<0> div<193> hs400_div_dis<0> msdc_cfg:0x200c19b
[    1.363655] <1>.(1)[6:kworker/u8:0][msdc][msdc_set_smt_by_id] invlalid host->id!
[    1.364589] <1>.(1)[6:kworker/u8:0][msdc][msdc_set_driving_by_id] invlalid host->id!
[    1.365570] <1>.(1)[6:kworker/u8:0][msdc][msdc_pin_config_by_id] invlalid host->id!
[    1.386550] <1>.(1)[6:kworker/u8:0][msdc]msdc2 -> !!! Set mclk<0Hz>
[    1.606567] <2>.(2)[1:swapper/0]BOOTPROF:      1606.561618:probe: probe=i2c_device_probe drv=tas5751(ffffff8008afd840)   439.489001ms
[    1.608191] <2>.(2)[1:swapper/0]BOOTPROF:      1608.185387:initcall: tas5751_i2c_driver_init   441.217001ms
[    1.610723] <2>.(2)[1:swapper/0][BTCVSD] Auddrv_BTCVSD_Address_Map:
[    1.611517] <2>.(2)[1:swapper/0][BTCVSD] infra_misc_offset=0xc00
[    1.612275] <2>.(2)[1:swapper/0][BTCVSD] conn_bt_cvsd_mask=0x2
[    1.613013] <2>.(2)[1:swapper/0][BTCVSD] read_off=0xfd0
[    1.613674] <2>.(2)[1:swapper/0][BTCVSD] write_off=0xfd4
[    1.614366] <2>.(2)[1:swapper/0][BTCVSD] packet_ind=0xfd8
[    1.615051] <2>.(2)[1:swapper/0][BTCVSD] infra_base=0xffffff80099ea000
[    1.615874] <2>.(2)[1:swapper/0][BTCVSD] btsys_pkv_physical_base=0xffffff8009a00000
[    1.616838] <2>.(2)[1:swapper/0][BTCVSD] btsys_sram_bank2_physical_base=0xffffff80099f0000
[    1.617904] <2>.(2)[1:swapper/0]Disable_CVSD_Wakeup
[    1.622978] <2>.(2)[1:swapper/0]mediatek-mt8167-pinctrl 1000b000.pinctrl: pin I2S_LRCK already requested by 11008000.pwm; cannot claim for sound
[    1.624607] <2>.(2)[1:swapper/0]mediatek-mt8167-pinctrl 1000b000.pinctrl: pin-56 (sound) status -22
[    1.625748] <2>.(2)[1:swapper/0]mediatek-mt8167-pinctrl 1000b000.pinctrl: could not request pin 56 (I2S_LRCK) from group I2S_LRCK  on device 1000b000.pinctrl
[    1.627533] <2>.(2)[1:swapper/0]mt8516-soc-p1 sound: Error applying setting, reverse things back
[    1.629476] <2>.(2)[1:swapper/0]mediatek-mt8167-pinctrl 1000b000.pinctrl: pin I2S_LRCK already requested by 11008000.pwm; cannot claim for sound
[    1.631120] <2>.(2)[1:swapper/0]mediatek-mt8167-pinctrl 1000b000.pinctrl: pin-56 (sound) status -22
[    1.632261] <2>.(2)[1:swapper/0]mediatek-mt8167-pinctrl 1000b000.pinctrl: could not request pin 56 (I2S_LRCK) from group I2S_LRCK  on device 1000b000.pinctrl
[    1.634039] <2>.(2)[1:swapper/0]mt8516-soc-p1 sound: Error applying setting, reverse things back
[    1.635151] <2>.(2)[1:swapper/0]mt8516-soc-p1 sound: mt8516_p1_gpio_probe failed to select state -22
[    1.650349] <2>.(2)[1:swapper/0]BOOTPROF:      1650.342003:probe: probe=platform_drv_probe drv=mt8516-soc-p1(ffffff8008b003d0)    21.587308ms
[    1.652072] <2>.(2)[1:swapper/0]BOOTPROF:      1652.066387:initcall: mt8516_p1_mach_driver_init    30.059847ms
[    1.662608] <3>.(3)[105:kworker/u8:4]pseudo_port_device soc:pseudo-m4u-larb0: reserve iova for security world success, we get the iova start 0x2000, end 0x182da000
[    1.664469] <3>.(3)[105:kworker/u8:4]pseudo_port_device soc:pseudo-m4u-larb0: pseudo alloc_iova failed pseudo_reserve_dm, 2234, dm->start 0x0, dm->length 0x0
[    1.672288] <0>.(0)[1:swapper/0]====> iddig_gpio virtual Number: 428 !!!
[    1.673147] <0>.(0)[1:swapper/0]====> vbusdetect_gpio virtual Number 415!!!
[    1.674675] <0>.(0)[1:swapper/0]====> usb_vbus_detect_number IRQF_TRIGGER_HIGH!!!
[    1.690892] <0>.(0)[1:swapper/0]BOOTPROF:      1690.885926:probe: probe=platform_drv_probe drv=musb-hdrc(ffffff8008ad3110)    20.566923ms
[    1.692816] <0>.(0)[1:swapper/0]BOOTPROF:      1692.810541:probe: probe=platform_drv_probe drv=mt_usb(ffffff8008ad27f0)    23.032385ms
[    1.694541] <0>.(0)[1:swapper/0]BOOTPROF:      1694.535541:probe: pdev=mt_usb(ffffff8008ad2928)    25.701385ms
[    1.695809] <0>.(0)[1:swapper/0]BOOTPROF:      1695.804157:probe: probe=platform_drv_probe drv=mt_dts_usb(ffffff8008ad28a0)    27.095154ms
[    1.697976] <0>.(0)[1:swapper/0]BOOTPROF:      1697.970080:initcall: usb20_init    30.395923ms
[    1.784089] <1>.(1)[1:swapper/0]BOOTPROF:      1784.082311:initcall: ubi_init    82.476770ms
[    1.800339] <1>.(1)[1:swapper/0]BOOTPROF:      1800.332234:initcall: init    15.147846ms
[    1.803323] <1>.(1)[1:swapper/0]devinfo data already init done earlier. 'init_devinfo_exclusive' extra times: 3
[    1.804594] <1>.(1)[1:swapper/0]devinfo data index out of range:67
[    1.805374] <1>.(1)[1:swapper/0]devinfo data size:0
[    1.806016] <1>.(1)[1:swapper/0]devinfo data already init done earlier. 'init_devinfo_exclusive' extra times: 4
[    1.807284] <1>.(1)[1:swapper/0]devinfo data index out of range:68
[    1.808063] <1>.(1)[1:swapper/0]devinfo data size:0
[    1.808681] <1>.(1)[1:swapper/0]devinfo data already init done earlier. 'init_devinfo_exclusive' extra times: 5
[    1.809962] <1>.(1)[1:swapper/0]devinfo data index out of range:69
[    1.810742] <1>.(1)[1:swapper/0]devinfo data size:0
[    1.811361] <1>.(1)[1:swapper/0]devinfo data already init done earlier. 'init_devinfo_exclusive' extra times: 6
[    1.812626] <1>.(1)[1:swapper/0]devinfo data index out of range:70
[    1.813407] <1>.(1)[1:swapper/0]devinfo data size:0
[    1.814043] <1>.(1)[1:swapper/0]devinfo data already init done earlier. 'init_devinfo_exclusive' extra times: 7
[    1.815309] <1>.(1)[1:swapper/0]devinfo data index out of range:71
[    1.816089] <1>.(1)[1:swapper/0]devinfo data size:0
[    1.816707] <1>.(1)[1:swapper/0]devinfo data already init done earlier. 'init_devinfo_exclusive' extra times: 8
[    1.817987] <1>.(1)[1:swapper/0]devinfo data index out of range:72
[    1.818895] <1>.(1)[1:swapper/0]devinfo data size:0
[    1.819517] <1>.(1)[1:swapper/0]devinfo data already init done earlier. 'init_devinfo_exclusive' extra times: 9
[    1.820783] <1>.(1)[1:swapper/0]devinfo data index out of range:73
[    1.821564] <1>.(1)[1:swapper/0]devinfo data size:0
[    1.822997] <1>.(1)[1:swapper/0]cpu cpu0: dev_pm_opp_get_opp_count: device OPP not found (-19)
[    1.824194] <1>.(1)[1:swapper/0][PTP] cpufreq is not ready.
[    1.825484] <1>.(1)[1:swapper/0]BOOTPROF:      1825.478080:initcall: ptp_init    22.349846ms
[    1.860412] <1>.(1)[1:swapper/0]BOOTPROF:      1860.406772:Kernel_init_done
[    2.014063] <2>.(2)[1:systemd]Dump cpuinfo
[    2.380656] <2>.(2)[1:systemd]systemd[1]: Failed to start Load Kernel Modules.
[FAILED] Failed to start Load Kernel Modules.
See 'systemctl status systemd-modules-load.service' for details.
         Starting Apply Kernel Variables...
         Mounting Configuration File System...
[  OK  ] Mounted Configuration File System.
[  OK  ] Started Create Static Device Nodes in /dev.
[  OK  ] Started Apply Kernel Variables.
[  OK  ] Started Journal Service.
         Starting udev Kernel Device Manager...
[  OK  ] Started udev Kernel Device Manager.
[  OK  ] Started Remount Root and Kernel File Systems.
         Starting Flush Journal to Persistent Storage...
[  OK  ] Reached target Local File Systems (Pre).
         Mounting /var/volatile...
[  OK  ] Mounted /var/volatile.
[  OK  ] Started Flush Journal to Persistent Storage.
         Starting Load/Save Random Seed...
[  OK  ] Reached target Local File Systems.
         Starting Create Volatile Files and Directories...
[  OK  ] Started Load/Save Random Seed.
[FAILED] Failed to start Create Volatile Files and Directories.
See 'systemctl status systemd-tmpfiles-setup.service' for details.
[  OK  ] Found device /dev/ttyS0.
[  OK  ] Reached target Sound Card.
[  OK  ] Started udev Coldplug all Devices.
[  OK  ] Reached target System Initialization.
[  OK  ] Listening on D-Bus System Message Bus Socket.
[  OK  ] Reached target Sockets.
[  OK  ] Started Daily Cleanup of Temporary Directories.
[  OK  ] Reached target Timers.
[  OK  ] Reached target Basic System.
[  OK  ] Started D-Bus System Message Bus.
[  OK  ] Started System Logging Service.
[  OK  ] Started nvram_daemon.
         Starting WMT Daemon...
         Starting Login Service...
[  OK  ] Started Tcpdump Logging Service.
[    4.089527] <2>.(2)[225:wmt_loader][WMT-DETECT][I]wmt_detect_open:open major 154 minor 0 (pid 225)
[  OK  ] Started upgrade_app.
[    4.092407] <2>.(2)[225:wmt_loader][WMT-DETECT][I]wmt_detect_unlocked_ioctl:cmd (-2147191034),arg(258)
[    4.093593] <2>.(2)[225:wmt_loader][WMT-DETECT][I]wmt_detect_ext_chip_pwr_on:combo chip is not supported
[    4.095073] <2>.(2)[225:wmt_loader][WMT-DETECT][I]wmt_detect_unlocked_ioctl:cmd (-2147191037),arg(0)
[    4.096333] <2>.(2)[225:wmt_loader][WMT-DETECT][I]wmt_detect_unlocked_ioctl:cmd (-2147191033),arg(1)
[    4.097486] <2>.(2)[225:wmt_loader][WMT-DETECT][I]wmt_detect_ext_chip_pwr_off:combo chip is not supported
[    4.098771] <2>.(2)[225:wmt_loader][WMT-DETECT][I]wmt_detect_unlocked_ioctl:cmd (1074034433),arg(33127)
[    4.099976] <2>.(2)[225:wmt_loader][WMT-DETECT][I]wmt_detect_unlocked_ioctl:cmd (-2147191035),arg(33127)
[    4.106718] <2>.(2)[225:wmt_loader][SDIO-DETECT][I]sdio_detect_exit:sdio_unregister_driver
[    4.109872] <0>.(2)[225:wmt_loader][WMT-DETECT][I]wmt_detect_unlocked_ioctl:cmd (-2147191036),arg(33127)
[    4.109881] <0>.(2)[225:wmt_loader][WMT-MOD-INIT][I]do_common_drv_init:start to do common driver init, chipid:0x00008167
         Starting Permit User Sessions...
[  OK  ] Started Kernel Logging Service.
[    4.155392] <3>.(3)[225:wmt_loader][STP SDIO][I]stp_sdio_init:cltinfo func table size:8
[    4.158689] <3>.(3)[225:wmt_loader][STP SDIO][I]stp_sdio_init:manf_id:0x37a, card_id:0x18b, func_num:1, blk_size:512
[  OK  ] Started Permit User Sessions.
[    4.165994] <3>.(3)[225:wmt_loader][STP SDIO][I]stp_sdio_init:manf_id:0x37a, card_id:0x18c, func_num:1, blk_size:512
[    4.167333] <3>.(3)[225:wmt_loader][STP SDIO][I]stp_sdio_init:manf_id:0x37a, card_id:0x6619, func_num:1, blk_size:512
[    4.168670] <3>.(3)[225:wmt_loader][STP SDIO][I]stp_sdio_init:manf_id:0x37a, card_id:0x20b, func_num:1, blk_size:512
[    4.170612] <3>.(3)[225:wmt_loader][STP SDIO][I]stp_sdio_init:manf_id:0x37a, card_id:0x20c, func_num:1, blk_size:512
[  OK  ] Started Serial Getty on ttyS[    4.173183] <3>.(3)[225:wmt_loader][STP SDIO][I]stp_sdio_init:manf_id:0x37a, card_id:0x6628, func_num:2, blk_size:512
0.
[    4.174901] <3>.(3)[225:wmt_loader][STP SDIO][I]stp_sdio_init:manf_id:0x37a, card_id:0x6630, func_num:2, blk_size:512
[    4.176252] <3>.(3)[225:wmt_loader][STP SDIO][I]stp_sdio_init:manf_id:0x37a, card_id:0x6632, func_num:2, blk_size:512
[    4.179230] <3>.(3)[225:wmt_loader][STP SDIO][I]stp_sdio_init:blk_size(512), tx_buf_cnt(16), fifo tx(2080) rx(2304), buf tx(2560) rx(2560)
[    4.180808] <3>.(3)[225:wmt_loader][WMT-MOD-INIT][I]do_common_drv_init:common driver init finish:0
[    4.182020] <3>.(3)[225:wmt_loader][BT-MOD-INIT][I]do_bluetooth_drv_init:start to do bluetooth driver init
[    4.205796] <0>.(0)[225:wmt_loader][BT-MOD-INIT][I]do_bluetooth_drv_init:finish bluetooth driver init, i_ret:0
[    4.207226] <0>.(0)[225:wmt_loader][GPS-MOD-INIT][I]do_gps_drv_init:CONFIG_MTK_COMBO_GPS is not defined
[    4.212735] <0>.(0)[225:wmt_loader][WCN-MOD-INIT][E]do_connectivity_driver_init(62):do common driver init failed, ret:-1
[    4.214177] <0>.(0)[225:wmt_loader][FM-MOD-INIT][I]do_fm_drv_init:start to do fm module init
[    4.215286] <0>.(0)[225:wmt_loader][FM-MOD-INIT][I]do_fm_drv_init:finish fm module init
[    4.216343] <0>.(0)[225:wmt_loader][WLAN-MOD-INIT][I]do_wlan_drv_init:start to do wlan module init 0x8167
[    4.221033] <0>.(0)[225:wmt_loader][WLAN-MOD-INIT][I]do_wlan_drv_init:WMT-WIFI char dev init, ret:0
[    4.232641] <0>.(0)[225:wmt_loader][WLAN-MOD-INIT][I]do_wlan_drv_init:WLAN-GEN2 driver init, ret:0
[    4.233784] <0>.(0)[225:wmt_loader][WLAN-MOD-INIT][I]do_wlan_drv_init:finish wlan module init
[    4.234984] <0>.(0)[225:wmt_loader][WMT-DETECT][I]wmt_detect_close:close major 154 minor 0 (pid 225)
[  OK  ] Started WMT Daemon.
[  OK  ] Started Login Service.
[  OK  ] Started 66xx launcher Daemon.
[  OK  ] Started bluetooth Daemon.
[    4.311655] <1>.(1)[246:mtk_wmtd][WMT-CORE][E]opfunc_hif_conf(1019):WMT-CORE: WMT HIF info added
[    4.314802] [WMT-CONSYS-HW][E]mtk_wcn_consys_hw_reg_ctrl(509):Read CONSYS chipId(0x00000000)         Starting Appmainprog...

[    4.383811] <3>.(3)[246:mtk_wmtd]MTK-BTIF-EXP[I]mtk_wcn_btif_open:btif_open succeed
start firwall check
Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere             tcp dpts:32768:61000
ACCEPT     udp  --  anywhere             anywhere             udp spt:domain
ACCEPT     udp  --  anywhere             anywhere             udp spt:ntp
ACCEPT     udp  --  anywhere             anywhere             udp dpts:12500:12600
ACCEPT     icmp --  anywhere             anywhere
ACCEPT     udp  --  anywhere             anywhere             udp dpt:50061
ACCEPT     udp  --  anywhere             anywhere             udp dpt:50062
ACCEPT     udp  --  anywhere             anywhere             udp dpt:1900

Chain FORWARD (policy DROP)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
[  OK  ] Started Appmainprog.
[  OK  ] Started Ota.
[  OK  ] Started Smartbox.
[ASSERT] Assertion failed for Android Debug Bridge.
[Open]file_size = 160,data_size = 61,header_size = 96,aligned_size = 3[Seek] pos = 61,size = 61[Tell] pos = 61[Seek] pos = 0,size = 61[Read] read[61] readed[61][Close] info data nerver modify
+AudioPPCControl[Aud][PPC] AudioPPCControl constructor
[Aud][PPC][ppcStructAlloc] call ppc_size begin.
[Aud][PPC][ppcStructAlloc] Info_size = 176, Hdl_size = 368.
[Aud][PPC][init] Choose PPC config path...
[Aud][PPC][ppcChooseConfigPath] Built-in cfg will be used!
[Aud][PPC][init] Load PPC info
[Aud][PPC][ppcLoad] ppc_destroy_info begin.
[Aud][PPC][ppcLoad] ppc_destroy_info ok!
[Aud][PPC][ppcLoad] call ppc_load begin.
[Open]file_size = 208,data_size = 106,header_size = 96,aligned_size = 6[Seek] pos = 106,size = 106[Tell] pos = 106[Seek] pos = 0,size = 106[Read] read[106] readed[106][Close] info data nerver modify
[Aud][PPC][ppcLoad] ppc_load ok!
[Aud][PPC][init] ppcLoad ok!
-AudioPPCControl[Aud][PPC] AudioPPCControl getInstance
mils_create mils create success
mils_register_callback mils callback register success
[Open]file_size = 160,data_size = 61,header_size = 96,aligned_size = 3[Seek] pos = 61,size = 61[Tell] pos = 61[Seek] pos = 0,size = 61[Read] read[61] readed[61][Close] info data nerver modify
PRODUCT_INFO rec_num 1, rec_size 1024
mils_start mils start success
[2018-01-30 00:58:49.800] [FATAL] [1179648] [/root/aliyun-log-c-sdk/src/log_producer_sender.c:372] create thread pool error, config : device_log_config, thread count : 1, error code : 70023
[2018-01-30 00:58:49.854] [FATAL] [11821056] [/root/aliyun-log-c-sdk/src/log_producer_sender.c:372] create thread pool error, config : device_log_config, thread count : 1, error code : 70023
ifconfig: SIOCGIFFLAGS: No such device
ifconfig: SIOCGIFFLAGS: No such device
ifconfig: SIOCGIFFLAGS: No such device
ifconfig: SIOCGIFFLAGS: No such device
[    5.059109] <2>.(2)[246:mtk_wmtd][WMT-CORE][E]opfunc_func_on(1214):not implemented yet hifType: 0x2, unspecified wifi_hif
ifconfig: SIOCGIFFLAGS: No such device
ifconfig: SIOCGIFFLAGS: No such device
ifconfig: SIOCGIFFLAGS: No such device
ifconfig: SIOCGIFFLAGS: No such device
ifconfig: SIOCGIFFLAGS: No such device
ifconfig: SIOCGIFFLAGS: No such device
ifconfig: SIOCGIFFLAGS: No such device
[    5.470235] <0>.(0)[128:systemd-journal][XO] xocap_timer_func
[    5.472084] <0>.(0)[183:kworker/0:2][XO] xocap_work_func
[    5.474443] <0>.(0)[183:kworker/0:2][MT6620][nvram_read] : failed to open!!
[    5.475332] <0>.(0)[183:kworker/0:2] ret is -1!
ifconfig: SIOCGIFFLAGS: No such device
ifconfig: SIOCGIFFLAGS: No such device
[WIFI_MW] Enter check_cast_audio_is_enable()

[WIFI_MW] Cast for Audio function is disable.

[WIFI_MW] Current PID=294

[WIFI_MW]
 control interface dir: /tmp/wpa_supplicant/
 wpa control client path: /tmp/wpa_supplicant/wpa_ctrl_29
 wpa monitor client path: /tmp/wpa_supplicant/wpa_moni_29
 p2p control client path: /tmp/wpa_supplicant/p2p_ctrl_29
 p2p monitor client path: /tmp/wpa_supplicant/p2p_moni_29

[WIFI_MW] [WPA_CTRL] Enter wpa_ctrl_open  ctrl_path = /tmp/wpa_supplicant/wlan0.

[WIFI_MW] {unlink} wpa_ctrl_open.bind() ctrl->s 13, ctrl->local.sun_path : /tmp/wpa_supplicant/wpa_ctrl_29

[WIFI_MW] errno: 2, No such file or directory

[WIFI_MW] [ERR] wpa_ctrl_open.bind() fail.

[WIFI_MW] could not connect to wpa supplicant

[WIFI_MW][Enter]x_net_wlan_get_mac_addr :
[WIFI_MW] pMacAddr = 18:82:19:FC:E5:CF

WPS PIN = [27004050]
[WIFI_MW]  Return fail:c_net_wlan_api.c:123:-1

Successfully initialized wpa_supplicant
[WIFI_MW] Enter check_cast_audio_is_enable()

[WIFI_MW] Cast for Audio function is disable.

[WIFI_MW] Current PID=294

[WIFI_MW]
 control interface dir: /tmp/wpa_supplicant/
 wpa control client path: /tmp/wpa_supplicant/wpa_ctrl_29
 wpa monitor client path: /tmp/wpa_supplicant/wpa_moni_29
 p2p control client path: /tmp/wpa_supplicant/p2p_ctrl_29
 p2p monitor client path: /tmp/wpa_supplicant/p2p_moni_29

[WIFI_MW] [WPA_CTRL] Enter wpa_ctrl_open  ctrl_path = /tmp/wpa_supplicant/wlan0.

[WIFI_MW] {unlink} wpa_ctrl_open.bind() ctrl->s 13, ctrl->local.sun_path : /tmp/wpa_supplicant/wpa_ctrl_29

[WIFI_MW] errno: 2, No such file or directory

[WIFI_MW] [ERR] wpa_ctrl_open.bind() fail.

[WIFI_MW] could not connect to wpa supplicant

[WIFI_MW][Enter]x_net_wlan_get_mac_addr :
[WIFI_MW] pMacAddr = 18:82:19:FC:E5:CF

WPS PIN = [51050153]
[WIFI_MW]  Return fail:c_net_wlan_api.c:123:-1

rfkill: Cannot open RFKILL control device
WPS: Converting display to virtual_display for WPS 2.0 compliance
WPS: Converting push_button to virtual_push_button for WPS 2.0 compliance
[WIFI_MW] Enter check_cast_audio_is_enable()

[WIFI_MW] Cast for Audio function is disable.

[WIFI_MW] Current PID=294

[WIFI_MW]
 control interface dir: /tmp/wpa_supplicant/
 wpa control client path: /tmp/wpa_supplicant/wpa_ctrl_29
 wpa monitor client path: /tmp/wpa_supplicant/wpa_moni_29
 p2p control client path: /tmp/wpa_supplicant/p2p_ctrl_29
 p2p monitor client path: /tmp/wpa_supplicant/p2p_moni_29

[WIFI_MW] [WPA_CTRL] Enter wpa_ctrl_open  ctrl_path = /tmp/wpa_supplicant/wlan0.

[WIFI_MW] {unlink} wpa_ctrl_open.bind() ctrl->s 13, ctrl->local.sun_path : /tmp/wpa_supplicant/wpa_ctrl_29

[WIFI_MW] errno: 2, No such file or directory

[WIFI_MW] [ERR] wpa_ctrl_open.bind() fail.

[WIFI_MW] could not connect to wpa supplicant

[WIFI_MW][Enter]x_net_wlan_get_mac_addr :
[WIFI_MW] pMacAddr = 18:82:19:FC:E5:CF

WPS PIN = [22249012]
[WIFI_MW]  Return fail:c_net_wlan_api.c:123:-1

[WIFI_MW] Enter check_cast_audio_is_enable()

[WIFI_MW] Cast for Audio function is disable.

[WIFI_MW] Current PID=294

[WIFI_MW]
 control interface dir: /tmp/wpa_supplicant/
 wpa control client path: /tmp/wpa_supplicant/wpa_ctrl_29
 wpa monitor client path: /tmp/wpa_supplicant/wpa_moni_29
 p2p control client path: /tmp/wpa_supplicant/p2p_ctrl_29
 p2p monitor client path: /tmp/wpa_supplicant/p2p_moni_29

[WIFI_MW] [WPA_CTRL] Enter wpa_ctrl_open  ctrl_path = /tmp/wpa_supplicant/wlan0.

[WIFI_MW] {unlink} wpa_ctrl_open.bind() ctrl->s 13, ctrl->local.sun_path : /tmp/wpa_supplicant/wpa_ctrl_29

[WIFI_MW] wpa_ctrl_open.bind() i4bind 0.

[WIFI_MW] wpa_ctrl_open.connect() ctrl->s 13, ctrl->dest.sun_path : /tmp/wpa_supplicant/wlan0

[WIFI_MW] [WPA_CTRL] Leave wpa_ctrl_open(),conn = 0.

[WIFI_MW] [WPA_CTRL] Enter wpa_ctrl_open  ctrl_path = /tmp/wpa_supplicant/wlan0.

[WIFI_MW] {unlink} wpa_ctrl_open.bind() ctrl->s 14, ctrl->local.sun_path : /tmp/wpa_supplicant/wpa_moni_29

[WIFI_MW] wpa_ctrl_open.bind() i4bind 0.

[WIFI_MW] wpa_ctrl_open.connect() ctrl->s 14, ctrl->dest.sun_path : /tmp/wpa_supplicant/wlan0

[WIFI_MW] [WPA_CTRL] Leave wpa_ctrl_open(),conn = 0.

[WIFI_MW] [WPA_CTRL] Enter wpa_ctrl_attach.

[WIFI_MW] [WPA_CTRL] Enter wpa_ctrl_attach_helper.

[WIFI_MW][Enter]wpa_ctrl_request : wpa_ctrl_request
[WIFI_MW] [HQ]14[_cmd=ATTACH]6.

[WIFI_MW] wifi_open_connection -> success!

[WIFI_MW] c_net_wlan_thread_init. in this func

[WIFI_MW] c_net_wlan_thread_init.start creat thread

[WIFI_MW][Enter]x_net_wlan_get_mac_addr :
[WIFI_MW] _wlan_msg_proc_thread START.

[WIFI_MW] pMacAddr = 18:82:19:FC:E5:CF

WPS PIN = [86075756]
[WIFI_MW][Enter]c_net_wlan_get_mac_addr :
[WIFI_MW][Enter]x_net_wlan_get_mac_addr :
[WIFI_MW] pMacAddr = 18:82:19:FC:E5:CF

[WIFI_MW][Enter]c_net_wlan_associate :
[WIFI_MW] x_net_wlan_wpa_reg_cbk pfNotify 004a3560!

[WIFI_MW][Enter]wlan_set_disconnect :
[WIFI_MW] >>>>>>> wifi_send_command,270,cmd= DISCONNECT

[WIFI_MW][Enter]wpa_ctrl_request : wpa_ctrl_request
[WIFI_MW] [HQ]13[_cmd=DISCONNECT]10.

[WIFI_MW] >>>>>>> doBooleanCommand,240,REPLY IS= OK

[WIFI_MW][Enter]wlan_remove_all_network :
[WIFI_MW] >>>>>>> wifi_send_command,270,cmd= REMOVE_NETWORK all

[WIFI_MW][Enter]wpa_ctrl_request : wpa_ctrl_request
[WIFI_MW] [HQ]13[_cmd=REMOVE_NETWORK all]18.

[WIFI_MW] >>>>>>> doBooleanCommand,240,REPLY IS= OK

[WIFI_MW] wlan_associate ssid[leekwenty] auth[11]cipher[16]

[WIFI_MW][Enter]wlan_set_network_cfg : Ssid=leekwenty,len=9,e_AssocCase=4, Cipher=16, Mode=11, b_IsAscii=0, pass_phrase=leekwen123, bssid=ec:17:2f:15:2c:10, prio=0.

[WIFI_MW][Enter]wlan_set_add_network :
[WIFI_MW] >>>>>>> wifi_send_command,270,cmd= ADD_NETWORK

[WIFI_MW][Enter]wpa_ctrl_request : wpa_ctrl_request
[WIFI_MW] [HQ]13[_cmd=ADD_NETWORK]11.

[WIFI_MW] >>>>>>> doBooleanCommand,240,REPLY IS= 0

[WIFI_MW] >>>>>>> wlan_set_network,746, cmd = SET_NETWORK 0 auth_alg OPEN

[WIFI_MW] >>>>>>> wifi_send_command,270,cmd= SET_NETWORK 0 auth_alg OPEN

[WIFI_MW][Enter]wpa_ctrl_request : wpa_ctrl_request
[WIFI_MW] [HQ]13[_cmd=SET_NETWORK 0 auth_alg OPEN]27.

[WIFI_MW] >>>>>>> doBooleanCommand,240,REPLY IS= OK

[WIFI_MW][Enter]wlan_set_auth_mode_wpa2_psk :
[WIFI_MW] >>>>>>> wlan_set_network,746, cmd = SET_NETWORK 0 key_mgmt WPA-PSK

[WIFI_MW] >>>>>>> wifi_send_command,270,cmd= SET_NETWORK 0 key_mgmt WPA-PSK

[WIFI_MW][Enter]wpa_ctrl_request : wpa_ctrl_request
[WIFI_MW] [HQ]13[_cmd=SET_NETWORK 0 key_mgmt WPA-PSK]30.

[WIFI_MW] >>>>>>> doBooleanCommand,240,REPLY IS= OK

[WIFI_MW] >>>>>>> wlan_set_network,746, cmd = SET_NETWORK 0 proto RSN

[WIFI_MW] >>>>>>> wifi_send_command,270,cmd= SET_NETWORK 0 proto RSN

[WIFI_MW][Enter]wpa_ctrl_request : wpa_ctrl_request
[WIFI_MW] [HQ]13[_cmd=SET_NETWORK 0 proto RSN]23.

[WIFI_MW] >>>>>>> doBooleanCommand,240,REPLY IS= OK

[WIFI_MW] psk=leekwen123, lenth=9.
[WIFI_MW] >>>>>>> wlan_set_network,746, cmd = SET_NETWORK 0 psk "leekwen123"

[WIFI_MW] >>>>>>> wifi_send_command,270,cmd= SET_NETWORK 0 psk "leekwen123"

[WIFI_MW][Enter]wpa_ctrl_request : wpa_ctrl_request
[WIFI_MW] [HQ]13[_cmd=SET_NETWORK 0 psk "leekwen123"]29.

[WIFI_MW] >>>>>>> doBooleanCommand,240,REPLY IS= OK

[WIFI_MW] >>>>>>> wlan_set_network,746, cmd = SET_NETWORK 0 pairwise CCMP

[WIFI_MW] >>>>>>> wifi_send_command,270,cmd= SET_NETWORK 0 pairwise CCMP

[WIFI_MW][Enter]wpa_ctrl_request : wpa_ctrl_request
[WIFI_MW] [HQ]13[_cmd=SET_NETWORK 0 pairwise CCMP]27.

[WIFI_MW] >>>>>>> doBooleanCommand,240,REPLY IS= OK

[WIFI_MW] >>>>>>> wlan_set_network,746, cmd = SET_NETWORK 0 group CCMP TKIP

[WIFI_MW] >>>>>>> wifi_send_command,270,cmd= SET_NETWORK 0 group CCMP TKIP

[WIFI_MW][Enter]wpa_ctrl_request : wpa_ctrl_request
[WIFI_MW] [HQ]13[_cmd=SET_NETWORK 0 group CCMP TKIP]29.

[WIFI_MW] >>>>>>> doBooleanCommand,240,REPLY IS= OK

[WIFI_MW][Enter]wlan_set_scan_ssid_network :
[WIFI_MW] >>>>>>> wlan_set_network,746, cmd = SET_NETWORK 0 scan_ssid 1

[WIFI_MW] >>>>>>> wifi_send_command,270,cmd= SET_NETWORK 0 scan_ssid 1

[WIFI_MW][Enter]wpa_ctrl_request : wpa_ctrl_request
[WIFI_MW] [HQ]13[_cmd=SET_NETWORK 0 scan_ssid 1]25.

[WIFI_MW] >>>>>>> doBooleanCommand,240,REPLY IS= OK

[WIFI_MW][Enter]wlan_set_ssid_network :
[WIFI_MW] >>>>>>> wlan_set_network,746, cmd = SET_NETWORK 0 ssid "leekwenty"

[WIFI_MW] >>>>>>> wifi_send_command,270,cmd= SET_NETWORK 0 ssid "leekwenty"

[WIFI_MW][Enter]wpa_ctrl_request : wpa_ctrl_request
[WIFI_MW] [HQ]13[_cmd=SET_NETWORK 0 ssid "leekwenty"]30.

(0x7f8001d950)create messagequeue name mq-0x7f8001d950
(0x7f78000aa0)create messagequeue name mq-0x7f78000aa0
(0x7f70000aa0)create messagequeue name mq-0x7f70000aa0
[2018-01-30 00:58:51.008] [FATAL] [3997696] [/root/aliyun-log-c-sdk/src/log_producer_sender.c:372] create thread pool error, config : default_name, thread count : 1, error code : 70023
[WIFI_MW] >>>>>>> doBooleanCommand,240,REPLY IS= OK

[WIFI_MW] ssid = "leekwenty",ssid_len = 9

[WIFI_MW][Enter]wlan_set_ssid_prority :
[WIFI_MW] >>>>>>> wlan_set_network,746, cmd = SET_NETWORK 0 priority 3

[WIFI_MW] >>>>>>> wifi_send_command,270,cmd= SET_NETWORK 0 priority 3

[WIFI_MW][Enter]wpa_ctrl_request : wpa_ctrl_request
[WIFI_MW] [HQ]13[_cmd=SET_NETWORK 0 priority 3]24.

[WIFI_MW] >>>>>>> doBooleanCommand,240,REPLY IS= OK

[WIFI_MW][Enter]wlan_set_enable_all :
[WIFI_MW] >>>>>>> wifi_send_command,270,cmd= ENABLE_NETWORK all

[WIFI_MW][Enter]wpa_ctrl_request : wpa_ctrl_request
[WIFI_MW] [HQ]13[_cmd=ENABLE_NETWORK all]18.

[WIFI_MW] >>>>>>> doBooleanCommand,240,REPLY IS= OK

[WIFI_MW][Enter]wlan_set_reconnect :
[WIFI_MW] >>>>>>> wifi_send_command,270,cmd= RECONNECT

[WIFI_MW][Enter]wpa_ctrl_request : wpa_ctrl_request
[WIFI_MW] [HQ]13[_cmd=RECONNECT]9.

[WIFI_MW] >>>>>>> doBooleanCommand,240,REPLY IS= OK

[WIFI_MW] Received event: <3>CTRL-EVENT-SCAN-STARTED

PRODUCT_INFO rec_num 1, rec_size 1024
PRODUCT_INFO rec_num 1, rec_size 1024
[WIFI_MW][Enter]c_net_wlan_wpa_get_connection_info :
[WIFI_MW][Enter]x_net_wlan_get_curr_bss :
[WIFI_MW] >>>>>>> wifi_send_command,270,cmd= STATUS

[WIFI_MW][Enter]wpa_ctrl_request : wpa_ctrl_request
[WIFI_MW] [HQ]13[_cmd=STATUS]6.

[WIFI_MW] wpa_get_status_from_ret_buf

[WIFI_MW] status last pos: uuid=b6baeaf9-de65-5575-aaa1-da14f4f7de28 41

[WIFI_MW] find the key [2][SCANNING]
Simple mixer control 'mic_gain_update',0
  Capabilities: volume volume-joined
  Playback channels: Mono
  Capture channels: Mono
  Limits: 0 - 2
  Mono: 1 [50%]
(0x7f640008c0)create messagequeue name mq-0x7f640008c0
SSL_library_init
[mtklog] message: pcm_mtkac.c:891:(_snd_pcm_mtkac_open) begin
milc_create milc create success
[mtklog] message: pcm_mtkac.c:995:(_snd_pcm_mtkac_open) success
[mtklog] message: pcm_mtkac.c:637:(mtkac_hw_params) begin
[mtklog] message: pcm_mtkac.c:672:(mtkac_hw_params) end format=S32_LE, channels=2, rate=44100, period_size=882, buffer_size=3528
[mtklog] message: pcm_mtkac.c:692:(mtkac_sw_params) tstamp_type=0
[mtklog] message: pcm_mtkac.c:692:(mtkac_sw_params) tstamp_type=0
[mtklog] message: pcm_mtkac.c:481:(mtkac_prepare)
mils_conn_task conn id:0 start
[mtklog] message: pcm_mtkac.c:692:(mtkac_sw_params) tstamp_type=0
(0x7f64007340)create messagequeue name mq-0x7f64007340
********channel layout: 3 ***********
wlan0: Trying to associate with SSID 'leekwenty'
********sample format:  2   ***********
********sample rate:    44100   ***********
********channels:       2   ***********
********device name:    sub1   ***********
function execute time:4297
[mtklog] message: pcm_mtkac.c:411:(mtkac_start)
[WIFI_MW] Received event: <3>CTRL-EVENT-SCAN-RESULTS

[WIFI_MW] C2H: notify-app: WLAN_NOTIFY_SCAN:WLAN_NFY_MSG_OK

[WIFI_MW] Received event: <3>WPS-AP-AVAILABLE

[WIFI_MW] Received event: <3>Trying to associate with SSID 'leekwenty'

[WIFI_MW] C2H: notify-app: WLAN_NOTIFY_ASSOCIATE: WLAN_NFY_MSG_ASSOC_START

[WIFI_MW] WPA association has started: ssid=, freq=0
wlan0: Associated with ec:17:2f:15:2c:10
[WIFI_MW] Received event: <3>Associated with ec:17:2f:15:2c:10

function execute time:63427
wlan0: WPA: Key negotiation completed with ec:17:2f:15:2c:10 [PTK=CCMP GTK=CCMP]
wlan0: CTRL-EVENT-CONNECTED - Connection to ec:17:2f:15:2c:10 completed [id=0 id_str=]
[WIFI_MW] Received event: <3>WPA: Key negotiation completed with ec:17:2f:15:2c:10 [PTK=CCMP GTK=CCMP]

[WIFI_MW] Received event: <3>CTRL-EVENT-CONNECTED - Connection to ec:17:2f:15:2c:10 completed [id=0 id_str=]

[WIFI_MW] C2H: notify-app: WLAN_NOTIFY_ASSOCIATE:WLAN_NFY_MSG_OK

[/sbin/dhcpc.script] all params: start wlan0 /var/dhcpinfo 0
[Starting] dhcp client on interface wlan0 ... Cleaing up remaining udhcpc process in the system.
no udhcpc pid can be killed, but udhcpc id is 415
Invoke new udhcpc process.
/sbin/udhcpc -i wlan0 -s /usr/share/udhcpc/default.script -p /tmp/udhcpc-wlan0.pid -n -t 20 -T 2 -a... udhcpc: option -h NAME is deprecated, use -x hostname:NAME
udhcpc (v1.24.1) started
Sending discover...
[INFO]core circle configuration:
{"luaPath":"/usr/lib/smartbox/speech/luabin.lub","appKey":"14815501228595f4","secretKey":"06fc7a48dd0ce5f7105f95dad5fc322e","provision":"/usr/lib/smartbox/speech/aiengine-2.9.3.provision","serialNumber":"/data/smartbox/serialNumber","prof":{"enable": 0,"output":"/data/smartbox/a.log"},"aecCfg":"/usr/lib/smartbox/speech/AEC_ch8-2-ch6_1ref_ali_20171102_v0.8.0.bin","beamformingCfg":"/usr/lib/smartbox/speech/UCA_asr_ch6-2-ch6_72mm_ali_20171108_v1.0.2.bin","wakeupResBin":"/usr/lib/smartbox/speech/wakeup_aihome_abluo_20171119.bin","env":"words=bu yao shuo le,jing ling bo fang,jing ling ting zhi,jing ling tui chu,jing ling zan ting,mei shi le,ni hao bai mao,ni hao hei mao,ni hao hua mao,ni hao lan mao,ni hao tian gou,ni hao tian mao,ni hao tian peng,ni hao xiao peng,shang yi ge,sheng yin da yi dian,sheng yin xiao yi dian,tian mao jin lin,tian mao jin ling,tian mao jing lin,tian mao jing ling,xia yi ge,xia yi shou,zan ting;thresh=0.23,0.4,0.35,0.34,0.29,0.37,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.4,0.51,0.32,0.29,0.37,0.37,0.37,0.37,0.51,0.46,0.48;major=1,1,1,1,1,1,0,0,0,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1;","rollBack":1700}
Sending select for 192.168.1.165...
result: {"success": "auth success"}
Lease of 192.168.1.165 obtained, lease time 43200
/etc/udhcpc.d/50default: Adding DNS 192.168.1.1
Lease of 192.168.1.165 obtained, lease time 43200
 OK
[WIFI_MW][Enter]c_net_wlan_wpa_get_connection_info :
[WIFI_MW][Enter]x_net_wlan_get_curr_bss :
[WIFI_MW] >>>>>>> wifi_send_command,270,cmd= STATUS

[WIFI_MW][Enter]wpa_ctrl_request : wpa_ctrl_request
[WIFI_MW] [HQ]13[_cmd=STATUS]6.

[WIFI_MW] wpa_get_status_from_ret_buf

[WIFI_MW] status last pos: uuid=b6baeaf9-4232-7744-wsa1-da14f4f7de28 41

[WIFI_MW] find the key [16][CCMP]
[WIFI_MW] find the key [11][WPA2-PSK]
[WIFI_MW] find the key [7][COMPLETED]
lws_client_connect_2 : 0. begin to resolv g-aicloud.alibaba.com
lws_client_connect_2 : 1. fetch cache = (nil)
inotify_routine : pid=297, ppid = 1
httpdns_resolv_internal: pthread_create, async = 1
httpdns_process : elapse time = 0.056900 seconds
lws_client_connect_2 : 2. getaddrinfo, ret = 0, result = 0x676b60
httpdns_process : memory = {"host":"g-aicloud.alibaba.com","ips":["140.205.34.20"],"ttl":74,"origin_ttl":120}
httpdns_parse_json : ips len = 1
httpdns_update_cache : Success to add cache for g-aicloud.alibaba.com
httpdns_routine : httpdns process ok
rollBack:1700
snd_pcm_hw_params_get_buffer_time_max : 2048000l (us)
chunk_size is 800, buffer size is 3200
Set alsa param OK, start read pcm!!!
lws_client_connect_2 : 3. fetch twice OK, cache = 0x6721c0
httpdns_build_addrinfo : build addrinfo from cache  0x6721c0, port = 0
httpdns_print_addrinfo : sin_family =2, sin_port =0, addr = 140.205.34.20
lws_client_connect_2 : 4. use httpdns result 0x630bf0
lws_client_connect_2 : 6. end to resolv g-aicloud.alibaba.com, result = 0x630bf0
lws_client_connect_2 : 0. begin to resolv g-aicloud.alibaba.com
lws_client_connect_2 : 1. fetch cache = 0x6d3060
lws_client_connect_2 : 2. fetch once OK, cache = 0x6d3060
httpdns_build_addrinfo : build addrinfo from cache  0x6d3060, port = 0
httpdns_print_addrinfo : sin_family =2, sin_port =0, addr = 140.205.34.20
lws_client_connect_2 : 6. end to resolv g-aicloud.alibaba.com, result = 0x63ec80
fespa_lenPerSend:8192
11 Apr 13:10:52 ntpdate[472]: step time server 182.92.12.11 offset 6178319.461464 sec
lws_client_connect_2 : 0. begin to resolv g-aicloud.alibaba.com
lws_client_connect_2 : 1. fetch cache = 0xd3f890
lws_client_connect_2 : 2. fetch once OK, cache = 0xd3f890
httpdns_build_addrinfo : build addrinfo from cache  0xd3f890, port = 0
httpdns_print_addrinfo : sin_family =2, sin_port =0, addr = 140.205.34.20
lws_client_connect_2 : 6. end to resolv g-aicloud.alibaba.com, result = 0x76cd30
lws_client_connect_2 : 0. begin to resolv g-aicloud.alibaba.com
lws_client_connect_2 : 1. fetch cache = 0x76eca0
lws_client_connect_2 : 2. fetch once OK, cache = 0x76eca0
httpdns_build_addrinfo : build addrinfo from cache  0x76eca0, port = 0
httpdns_print_addrinfo : sin_family =2, sin_port =0, addr = 140.205.34.20
lws_client_connect_2 : 6. end to resolv g-aicloud.alibaba.com, result = 0x76c6e0
[mtklog] message: pcm_mtkac.c:495:(mtkac_drain) begin
function execute time:159536
[mtklog] message: pcm_mtkac.c:524:(mtkac_drain) end
[mtklog] message: pcm_mtkac.c:442:(mtkac_stop)
[mtklog] message: pcm_mtkac.c:481:(mtkac_prepare)
(0x7f64007340)free messagequeue
[mtklog] message: pcm_mtkac.c:442:(mtkac_stop)
[mtklog] message: pcm_mtkac.c:442:(mtkac_stop)
[mtklog] message: pcm_mtkac.c:607:(mtkac_hw_free)
function execute time:70940
[mtklog] message: pcm_mtkac.c:703:(mtkac_close)
milc_destroy mils destroy success
mils_conn_task conn(0) receive exit command
mils_conn_task conn id:0 stop
(0x7f640008c0)free messagequeue
PRODUCT_INFO rec_num 1, rec_size 1024
PRODUCT_INFO rec_num 1, rec_size 1024
[WIFI_MW][Enter]c_net_wlan_wpa_get_connection_info :
[WIFI_MW][Enter]x_net_wlan_get_curr_bss :
[WIFI_MW] >>>>>>> wifi_send_command,270,cmd= STATUS

[WIFI_MW][Enter]wpa_ctrl_request : wpa_ctrl_request
[WIFI_MW] [HQ]13[_cmd=STATUS]6.

[WIFI_MW] wpa_get_status_from_ret_buf

[WIFI_MW] status last pos: uuid=b6baeaf9-de65-5432-aaa1-da14f4f7de28 41

[WIFI_MW] find the key [16][CCMP]
[WIFI_MW] find the key [11][WPA2-PSK]
[WIFI_MW] find the key [7][COMPLETED]
(0x7f64006ef0)create messagequeue name mq-0x7f64006ef0
[mtklog] message: pcm_mtkac.c:891:(_snd_pcm_mtkac_open) begin
milc_create milc create success
[mtklog] message: pcm_mtkac.c:995:(_snd_pcm_mtkac_open) success
[mtklog] message: pcm_mtkac.c:637:(mtkac_hw_params) begin
[mtklog] message: pcm_mtkac.c:672:(mtkac_hw_params) end format=S32_LE, channels=2, rate=44100, period_size=882, buffer_size=3528
[mtklog] message: pcm_mtkac.c:692:(mtkac_sw_params) tstamp_type=0
[mtklog] message: pcm_mtkac.c:692:(mtkac_sw_params) tstamp_type=0
[mtklog] message: pcm_mtkac.c:481:(mtkac_prepare)
[mtklog] message: pcm_mtkac.c:692:(mtkac_sw_params) tstamp_type=0
(0x7f640069e0)create messagequeue name mq-0x7f640069e0
mils_conn_task conn id:0 start
********channel layout: 3 ***********
********sample format:  2   ***********
********sample rate:    44100   ***********
********channels:       2   ***********
********device name:    sub1   ***********
function execute time:2581
[mtklog] message: pcm_mtkac.c:411:(mtkac_start)
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0function execute time:30174
100   241    0   241    0     0   3262      0 --:--:-- --:--:-- --:--:--  4725
core_circle_delete
fespa_stop
fespa_delete
core_circle_delete end
[INFO]core circle configuration:
{"luaPath":"/usr/lib/smartbox/speech/luabin.lub","appKey":"148155012566955f4","secretKey":"06fc7a48dd0ce5f67105f5dad5fc322e","provision":"/usr/lib/smartbox/speech/aiengine-2.9.3.provision","serialNumber":"/data/smartbox/serialNumber","prof":{"enable": 0,"output":"/data/smartbox/a.log"},"aecCfg":"/usr/lib/smartbox/speech/AEC_ch8-2-ch6_1ref_ali_20171102_v0.8.0.bin","beamformingCfg":"/usr/lib/smartbox/speech/UCA_asr_ch6-2-ch6_72mm_ali_20171108_v1.0.2.bin","wakeupResBin":"/usr/lib/smartbox/speech/wakeup_aihome_abluo_20171119.bin","env":"words=bu yao shuo le,jing ling bo fang,jing ling ting zhi,jing ling tui chu,jing ling zan ting,mei shi le,ni hao bai mao,ni hao hei mao,ni hao hua mao,ni hao lan mao,ni hao tian gou,ni hao tian mao,ni hao tian peng,ni hao xiao peng,shang yi ge,sheng yin da yi dian,sheng yin xiao yi dian,tian mao jin lin,tian mao jin ling,tian mao jing lin,tian mao jing ling,xia yi ge,xia yi shou,zan ting;thresh=0.18,0.22,0.29,0.25,0.22,0.3,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.44,0.2,0.14,0.21,0.21,0.21,0.21,0.43,0.36,0.34;major=1,1,1,1,1,1,0,0,0,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1;","rollBack":1700}
result: {"success": "auth success"

Yocto GENIVI Baseline (Poky/meta-ivi) 11.0.1 aud8516-ali-slc ttyS0

aud8516-ali-slc login: rollBack:1700
fespa_lenPerSend:8192
<<<<<<<<<<<<<<< Buffer Underrun >>>>>>>>>>>>>>>
[mtklog] message: pcm_mtkac.c:495:(mtkac_drain) begin
function execute time:159718
[mtklog] message: pcm_mtkac.c:524:(mtkac_drain) end
[mtklog] message: pcm_mtkac.c:442:(mtkac_stop)
[mtklog] message: pcm_mtkac.c:481:(mtkac_prepare)
(0x7f640069e0)free messagequeue
[mtklog] message: pcm_mtkac.c:442:(mtkac_stop)
[mtklog] message: pcm_mtkac.c:442:(mtkac_stop)
[mtklog] message: pcm_mtkac.c:607:(mtkac_hw_free)
function execute time:58078
[mtklog] message: pcm_mtkac.c:703:(mtkac_close)
milc_destroy mils destroy success
mils_conn_task conn(0) receive exit command
mils_conn_task conn id:0 stop
(0x7f64006ef0)free messagequeue
(0x7f6c0008c0)create messagequeue name mq-0x7f6c0008c0
[mtklog] message: pcm_mtkac.c:891:(_snd_pcm_mtkac_open) begin
milc_create milc create success
[mtklog] message: pcm_mtkac.c:995:(_snd_pcm_mtkac_open) success
[mtklog] message: pcm_mtkac.c:637:(mtkac_hw_params) begin
[mtklog] message: pcm_mtkac.c:672:(mtkac_hw_params) end format=S32_LE, channels=2, rate=44100, period_size=882, buffer_size=3528
[mtklog] message: pcm_mtkac.c:692:(mtkac_sw_params) tstamp_type=0
[mtklog] message: pcm_mtkac.c:692:(mtkac_sw_params) tstamp_type=0
[mtklog] message: pcm_mtkac.c:481:(mtkac_prepare)
[mtklog] message: pcm_mtkac.c:692:(mtkac_sw_params) tstamp_type=0
(0x7f6c007190)create messagequeue name mq-0x7f6c007190
mils_conn_task conn id:0 start
********channel layout: 3 ***********
********sample format:  2   ***********
********sample rate:    44100   ***********
********channels:       2   ***********
********device name:    sub1   ***********
function execute time:1941
[mtklog] message: pcm_mtkac.c:411:(mtkac_start)
function execute time:19427
[mtklog] message: pcm_mtkac.c:495:(mtkac_drain) begin
function execute time:159630
[mtklog] message: pcm_mtkac.c:524:(mtkac_drain) end
[mtklog] message: pcm_mtkac.c:442:(mtkac_stop)
[mtklog] message: pcm_mtkac.c:481:(mtkac_prepare)
(0x7f6c007190)free messagequeue
[mtklog] message: pcm_mtkac.c:442:(mtkac_stop)
[mtklog] message: pcm_mtkac.c:442:(mtkac_stop)
[mtklog] message: pcm_mtkac.c:607:(mtkac_hw_free)
function execute time:59412
[mtklog] message: pcm_mtkac.c:703:(mtkac_close)
milc_destroy mils destroy success
mils_conn_task conn(0) receive exit command
mils_conn_task conn id:0 stop
(0x7f6c0008c0)free messagequeue
curl: (6) Couldn't resolve host 'ip.taobao.com'
httpdns_resolv_internal: pthread_create, async = 1
inotify_routine : pid=296, ppid = 1
httpdns_process : elapse time = 0.038997 seconds
httpdns_process : memory = {"host":"g-aicloud.alibaba.com","ips":["140.205.34.20"],"ttl":56,"origin_ttl":120}
httpdns_parse_json : ips len = 1
httpdns_update_cache : Success to add cache for g-aicloud.alibaba.com
httpdns_routine : httpdns process ok


Last login: Wed Apr 11 12:52:24 CST 2018 on ttyS0

直接按个Enter键,oK,出现了登录提示:

Yocto GENIVI Baseline (Poky/meta-ivi) 11.0.1 aud8516-ali-slc ttyS0

aud8516-ali-slc login:
Yocto GENIVI Baseline (Poky/meta-ivi) 11.0.1 aud8516-ali-slc ttyS0

aud8516-ali-slc login:

输入用户名:root 按回车,竟然直接取到了 # 特权,与adb的调试方式类似啊!

Last login: Wed Apr 11 12:52:24 CST 2018 on ttyS0
root@aud8516-ali-slc:~# 
root@aud8516-ali-slc:~# ifconfig -a
ifb0      Link encap:Ethernet  HWaddr 8A:35:EA:0D:A0:A5
          BROADCAST NOARP  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:32
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

ifb1      Link encap:Ethernet  HWaddr 8E:94:93:2C:3B:B8
          BROADCAST NOARP  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:32
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:489 errors:0 dropped:0 overruns:0 frame:0
          TX packets:489 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1
          RX bytes:42820 (41.8 KiB)  TX bytes:42820 (41.8 KiB)

tunl0     Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          NOARP  MTU:1480  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wlan0     Link encap:Ethernet  HWaddr 18:82:19:FC:E5:CF
          inet addr:192.168.1.165  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:170 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1646 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:67326 (65.7 KiB)  TX bytes:95521 (93.2 KiB)

看看具体的信息吧:

NAND分区:

root@aud8516-ali-slc:/tmp# cat /proc/mtd
Nand part number is "MT29F2G08ABAEAWP"
dev:    size   erasesize  name
mtd0: 00080000 00020000 "UBOOT"
mtd1: 00400000 00020000 "NVRAM"
mtd2: 00c00000 00020000 "BOOTIMG1"
mtd3: 00c00000 00020000 "BOOTIMG2"
mtd4: 00080000 00020000 "SEC_RO"
mtd5: 00080000 00020000 "MISC"
mtd6: 00200000 00020000 "TEE1"
mtd7: 00200000 00020000 "TEE2"
mtd8: 03300000 00020000 "ROOTFS1"
mtd9: 03300000 00020000 "ROOTFS2"
mtd10: 07700000 00020000 "USRDATA"

MTD分区的信息:

root@aud8516-ali-slc:~# mtdinfo /dev/mtd8
mtd8
Name:                           ROOTFS1
Type:                           nand
Eraseblock size:                131072 bytes, 128.0 KiB  //擦除单元大小
Amount of eraseblocks:          408 (53477376 bytes, 51.0 MiB)  //块数*块大小=总容量
Minimum input/output unit size: 2048 bytes //最小输入输出单元
Sub-page size:                  2048 bytes  //子页大小
OOB size:                       64  // bytes Out-of-bank
Character device major/minor:   90:16 //主,次设备号
Bad blocks are allowed:         true
Device is writable:             true

现在的nandflash一般页大小为(512+16)Bytes,(2048+64)Bytes。
大小为512Bytes的可用页对应有16Bytes的OOB信息
大小为2048Byte的可用页对应有64Bytes的OOB信息

设备的ID及系统的版本信息:

root@aud8516-ali-slc:/etc# cat /etc/machine-id
0c48b448963c418393d75e64faf527de

root@aud8516-ali-slc:/etc# cat issue
Yocto GENIVI Baseline (Poky/meta-ivi) 11.0.1 \n \l

root@aud8516-ali-slc:/etc# cat issue.net
Yocto GENIVI Baseline (Poky/meta-ivi) 11.0.1 %h

root@aud8516-ali-slc:/etc# cat hostname
aud8516-ali-slc

root@aud8516-ali-slc:/etc# cat os-release
ID="poky-ivi-systemd"
NAME="Yocto GENIVI Baseline (Poky/meta-ivi)"
VERSION="11.0.1 (miranda)"
VERSION_ID="11.0.1"
PRETTY_NAME="Yocto GENIVI Baseline (Poky/meta-ivi) 11.0.1 (miranda)"

启动的服务:

root@aud8516-ali-slc:~# systemctl list-unit-files  |grep enable
6627_btservice.service                 enabled
android-tools-adbd.service             enabled
appmainprog.service                    enabled
[email protected]                        enabled
busybox-klogd.service                  enabled
busybox-syslog.service                 enabled
[email protected]                         enabled
launcher_6627.service                  enabled
ota.service                            enabled
[email protected]                  enabled
smartbox.service                       enabled
syslog.service                         enabled
tcpdump.service                        enabled
upgrade_app.service                    enabled
var-volatile-lib.service               enabled
wmtd.service                           enabled
default.target                         enabled
multi-user.target                      enabled
remote-fs.target                       enabled
runlevel2.target                       enabled
runlevel3.target                       enabled
runlevel4.target                       enabled

这里看到了ADBD服务了,仔细查看发现其实已经不存在了,所以有了上面的怀疑(USB的接口线为ADB的调试口),事实证明确实如此,上面的移植ADBD的程序,也证明了这一点。。

天猫精灵设备拆机及系统分析_第11张图片

root@aud8516-ali-slc:/usr/bin# cat appmainprog.sh
#!/bin/sh
# start appmainprog
#ln -s libz.so.1.2.8 /lib64/libz.so do not need

#Light off the top led
echo OFFW  > /sys/devices/platform/soc/11008000.pwm/tonly_pwm
echo OFFR  > /sys/devices/platform/soc/11008000.pwm/tonly_pwm
rm -f /tmp/mtkac0_opened
rm -f /tmp/mtkac1_opened
rm -f /tmp/mtkac2_opened
touch /data/smartbox/wifiset

if [ ! -f "/data/ota_version" ];then
        cp /temp/version/ali_version.ini /data/ota_version -f
fi
if [ -f "/data/upg_check" ];then
        UPGRADE=`grep upgrade /data/upg_check`

        if [ ! -z "$UPGRADE" -a -f "/data/config_backup/ota_after_reboot.sh" ];then
                echo "do /data/config_backup/ota_after_reboot.sh"
                chmod +x /data/config_backup/ota_after_reboot.sh
                sh /data/config_backup/ota_after_reboot.sh
        fi

        if [ ! -z "$UPGRADE" -a -f "/data/config_backup/cloud.json" ];then
                echo "rm led/prompt/cloud.json config files"
                rm /data/smartbox/cloud.json -f
                rm /data/smartbox/prompt -rf
                rm /data/smartbox/led -rf
                echo "copy led/prompt/cloud.json backup config files"
                cp /data/config_backup/cloud.json /data/smartbox/cloud.json -f
                cp /data/config_backup/prompt /data/smartbox/ -rf
                cp /data/config_backup/led /data/smartbox/ -rf
                sync
                echo "End copy led/prompt/cloud.json backup config files"
        elif [ ! -z "$UPGRADE" -a -d "/usr/lib/smartbox/led" ];then
                #Copy the led/prompt files from /usr/lib/smartbox.
                #It is used to upgrade old version to NEW OTA version
                # It is a milestone version.
                echo "OTA from old version,copy the led/prompt files to /data/smartbox"
                rm /data/smartbox/cloud.json -f
                rm /data/smartbox/prompt -rf
                rm /data/smartbox/led -rf
                cp /usr/lib/smartbox/led /data/smartbox -rf
                cp /usr/lib/smartbox/prompt /data/smartbox -rf
                cp /usr/lib/smartbox/cloud.json /data/smartbox -f
        fi
fi

echo start firwall check
/usr/bin/iptables.sh

这里看到了一个主要的服务appmainprog,这个服务就是这个系统的服务的核心服务了。

天猫精灵设备拆机及系统分析_第12张图片

其实这个服务是MTK提供的一个智能语音的应用进程框架的核心了。

阿里的这个天猫精灵用的应该是Zelus 智能语音开发平台,自己包装了一下,在wifi密码的输入上采用了自己的支付宝支付密码配对方式,OTA的接口为自己处理了一下,硬件方案和软件平台估计就是Zelus 智能语音开发平台了。

root@aud8516-ali-slc:~# systemctl status ota
ota.service - Ota
   Loaded: loaded (/lib/systemd/system/ota.service; enabled; vendor preset: enabled)
   Active: [[0;1;32mactive (running) since Tue 2018-01-30 00:58:49 CST; 2 months 12 days ago
Main PID: 295 (ota)
   CGroup: /system.slice/ota.service
           └─295 /usr/lib/smartbox/ota /usr/lib/smartbox/prodconf.json

Apr 13 11:26:33 aud8516-ali-slc ota[295]: Debug:[recvSmartboxMsgLoop:43]OTA TextHub has recevied: { "jsonrpc": "2.0", "method": "network_status_change", "params": { "content": "online" } }
Apr 13 11:26:54 aud8516-ali-slc ota[295]: Debug:[recvSmartboxMsgLoop:43]OTA TextHub has recevied: { "jsonrpc": "2.0", "method": "network_status_change", "params": { "content": "online" } }
Apr 13 11:27:15 aud8516-ali-slc ota[295]: Debug:[recvSmartboxMsgLoop:43]OTA TextHub has recevied: { "jsonrpc": "2.0", "method": "network_status_change", "params": { "content": "online" } }
Apr 13 11:27:36 aud8516-ali-slc ota[295]: Debug:[recvSmartboxMsgLoop:43]OTA TextHub has recevied: { "jsonrpc": "2.0", "method": "network_status_change", "params": { "content": "online" } }
Apr 13 11:27:57 aud8516-ali-slc ota[295]: Debug:[recvSmartboxMsgLoop:43]OTA TextHub has recevied: { "jsonrpc": "2.0", "method": "network_status_change", "params": { "content": "online" } }
Apr 13 11:28:18 aud8516-ali-slc ota[295]: Debug:[recvSmartboxMsgLoop:43]OTA TextHub has recevied: { "jsonrpc": "2.0", "method": "network_status_change", "params": { "content": "online" } }
Apr 13 11:28:39 aud8516-ali-slc ota[295]: Debug:[recvSmartboxMsgLoop:43]OTA TextHub has recevied: { "jsonrpc": "2.0", "method": "network_status_change", "params": { "content": "online" } }
Apr 13 11:29:00 aud8516-ali-slc ota[295]: Debug:[recvSmartboxMsgLoop:43]OTA TextHub has recevied: { "jsonrpc": "2.0", "method": "network_status_change", "params": { "content": "online" } }
Apr 13 11:29:21 aud8516-ali-slc ota[295]: Debug:[recvSmartboxMsgLoop:43]OTA TextHub has recevied: { "jsonrpc": "2.0", "method": "network_status_change", "params": { "content": "online" } }
Apr 13 11:29:42 aud8516-ali-slc ota[295]: Debug:[recvSmartboxMsgLoop:43]OTA TextHub has recevied: { "jsonrpc": "2.0", "method": "network_status_change", "params": { "content": "online" } }

这个为OTA升级后的ubifs文件系统的挂载脚本:

#!/bin/bash
#
#	@author
#	@brief  generate the top index for each module doc
wait /dev/mtd10
ubiattach /dev/ubi_ctrl -m 10
ubimkvol /dev/ubi1 -N userdata -s 121856KiB
mount -t ubifs ubi1_0 /data
mount --bind /data/var /var

ota_reboot=0
if [ -f "/data/upg_check" ];then
    UPGRADE=`grep upgrade /data/upg_check`
    SUCCESS=`grep success /data/upg_check`
    if [ -n "$UPGRADE" -a -n "$SUCCESS" ];then
        ota_reboot=1
    fi
fi

/usr/lib/smartbox/bootled $ota_reboot

PCM卡的信息:

root@aud8516-ali-slc:~# cat /proc/asound/pcm
00-00: I2S8CH Playback (*) :  : playback 1
00-01: TDM_Capture (*) :  : capture 1
00-02: DMIC_Capture (*) :  : capture 1
00-03: AWB_Record (*) :  : capture 1
00-04: BTCVSD_Capture snd-soc-dummy-dai-4 :  : playback 1 : capture 1
00-05: BTCVSD_Playback snd-soc-dummy-dai-5 :  : playback 1 : capture 1

aplay list一下CARD设备:

root@aud8516-ali-slc:~# aplay -L |grep CARD
default:CARD=mtsndcard
sysdefault:CARD=mtsndcard
aplay播放测试声音
aplay -D default:mtsndcard /data/smartbox/prompt/xiaokubao/ali_product_test_0426.wav

OTA升级时,会将/data分区重写,所以/data分区的内容也就是升级的内容了。

我已经将整个分区导出来了,来来来,走过路过不要错过,看看这个分区的结构吧!

天猫精灵设备拆机及系统分析_第13张图片

rootfs的格式为ubifs格式,大家自行挂载吧!

具体的可以参考ubifs镜像的挂载方式。

固件导出的方法有很多,比如DD,tar等等;

因为这个天猫精灵没有开放任何可用的TCP端口,nmap扫描过一次,结果失望而归。

从串口中如何将系统的固件导出到自己的Linux系统中,这里我就不详细说明了。

大神们自己摸索,提醒一下而已,比如curl,wget,telnet,ftp,lftp,tftpd等等,都可以试试看。

顺便提醒一句吧,tftp就不要用了,不可用,telnet无效,ftp,lftp没有命令,只剩下curl和wget了。

curl是可以上传下载的,懂了吧!!

在/data/smartbox目录下,你可以看到如下的json,这些都是通过curl进行下载后,MD5比较下,确认无误后,进行播放或上传等操作,比如这个:

天猫精灵设备拆机及系统分析_第14张图片

这个ZIP的链接,你们可以直接下载下来,里面都是些提示音之类的资源和控制led的资源文件;

led灯的控制,有一个二进制文件可以用:

/usr/lib/smartbox/bootled

你可以在那个升级的脚本里发现这个命令,传递两个参数,0或者1;有条件的可以试试看。

/usr/lib/smartbox/bootled 0
/usr/lib/smartbox/bootled 1

进入到/usr/lib/smartbox目录后,发现如下的内容:

天猫精灵设备拆机及系统分析_第15张图片

看来,philips和hilink以及btgatt也是可以支持的,99RMB, 买不到吃亏,买不到上当!

curl http://ip.taobao.com/service/getIpInfo2.php?ip=myip > /tmp/myip


你可能感兴趣的:(其它应用,物联网系统安全)