瘦网虫 发表于 2019-7-26 21:02:00

小米互联网音响拆解与浅析

本帖最后由 瘦网虫 于 2019-7-26 21:23 编辑

最近入了二手小米互联网音响一台,听了一天觉得不错,拆之以示敬意。
https://gss1.bdstatic.com/9vo3dSag_xI4khGkpoWK1HF6hhy/baike/c0%3Dbaike80%2C5%2C5%2C80%2C26/sign=b08d82e58b025aafc73f76999a84c001/14ce36d3d539b6005b6dcb92e050352ac65cb770.jpg

拆机帖网络搜下,太多。
例如:
小米互联网音箱,拆开一探究竟,看如何发烧|拆机乐园 - 数码之家
http://bbs.mydigit.cn/read.php?tid=2078819


别人都是拆了就装回去了,但是我不,因为这不符合极客的态度。

光是看看可不能满足好奇心,继续观察主板,看看有没有留下什么接口,毕竟是“为发烧而生”的。

观察了一圈,唯一的2个接口也就在这里了:


放大了看看:

一个三针,一个7针。先瞎猜一下,3针的是uart端口,7针的是jtag端口,反正猜错了也不影响什么。

焊盘已经被封死,不过这难不倒现在的我了,焊它几根线出来!


黑色线是GND,另外两个呢,测试下呗。

不是很美观,但是这也很极客了。


既然猜了是串口,先串口助手帮助一下:

居然一次就猜对了,通讯速率115200,8n1格式。

上putty,表示下敬意,启动后的界面:


嗯。是OpenWrt系统没跑了,然后怎么玩呢?

待续。。。

瘦网虫 发表于 2019-7-26 21:27:33

TE : 14341
BT : 19:45:35 Mar 14 2018



0x000000c8
00=0x00000000
01=0x00000000
02=0x00000320
03=0x00000180
04=0x00000320
05=0x00000000
06=0x00000000
07=0x000000c8
08=0x00000000
09=0x00000000
0a=0x00000000
0b=0x00000000
0c=0x00000000
0d=0x00000000
0e=0x00000000
0f=0x00000000
10=0x00000000
11=0x00000000
12=0x00000000
13=0x00000000
14=0x00000018
15=0x00000000
16=0x00000000
17=0x00000000
18=0x00000000
19=0x00000000
1a=0x00000000
1b=0x00000000
1c=0x00000000
1d=0x00000000
1e=0x00000180
1f=0x00000320
20=0x00000000
21=0x00000000
22=0x00000000
23=0x00000000
24=0x00000000
25=0x00000000
26=0x00000000
27=0x00000000
28=0x00000000
29=0x00000000
2a=0x00000000
2b=0x00000000
2c=0x00000000
2d=0x00000000

CPU clock is 800MHz


wait pll-0x03 target is 01d4 now it is 0x000001d4
wait pll-0x1e target is 01d4 now it is 0x000001d4
set ddr clock ok!
Mar 14 201819:45:35PHY trainning Result=0x00000000

Stage 00 Result 00000000
Stage 01 Result 00000000
Stage 02 Result 00000000
DDR init use : 30955 us

HHH
Boot From SDIO C
ucl decompress
decompress true
0x12345678
Boot from internal device 1st SDIO C

TE : 1252668

System Started


U-boot-00000-gf7838d6(m3_f40@f7838d60) (Mar 14 2018 - 19:45:31)

aml_rtc_init
DRAM:128 MiB
relocation Offset is: 05df0000
show partition table:
part: 0, name :      dtb, size : 100000
part: 1, name :       boot, size : 800000
part: 2, name :   system, size : 8000000
part: 3, name :       dtb1, size : 100000
part: 4, name :      boot1, size : 800000
part: 5, name :    system1, size : 8000000
part: 6, name :      cache, size : 8000000
part: 7, name :   userdata, size : 8000000
part: 8, name :      media, size : end
aml_card_type=0x200
MMC:    add mmc dev_num=0, port=1, if_type=6
add mmc dev_num=1, port=2, if_type=6
SDIO Port B: 0, SDIO Port C: 1
reboot times 0
reboot times 1
enter emmc boot
SDIO Port C:1, if_type=6, initialized OK!
skip cache partition.
Partition table get from SPL is :
      name                        offset            size            flag
===================================================================================
   0: bootloader                         0            100000                  0
   1: reserved                      100000            100000                  0
   2: cache                         200000         8000000                  1
   3: env                        8200000            100000                  0
   4: dtb                        8300000            100000                  1
   5: boot                         8400000            800000                  1
   6: system                     8c00000         8000000                  1
   7: dtb1                        10c00000            100000                  1
   8: boot1                     10d00000            800000                  1
   9: system1                     11500000         8000000                  1
10: userdata                  19500000         8000000                  1
11: media                     21500000         1b0b00000                  4
mmc read lba=0x800, blocks=0x1
mmc read lba=0x801, blocks=0x1
mmc_read_partition_tbl: mmc read partition OK!
eMMC/TSD partition table have been checked OK!
i=0,register --- emmc_key
device_boot_flag=2
MMC BOOT, emmc_env_relocate_spec : env_relocate_spec 74
set_storage_device_flag: store 2
In:    serial
Out:   serial
Err:   serial
done.
init suspend firmware done. (ret:0)
## Error: "upgrade_check" not defined
Hit Enter key to stop autoboot -- :0
exit abortboot: 0
## Booting kernel from Legacy Image at 82000000 ...
   Image Name:   Linux-3.10.33
   Image Type:   ARM Linux Kernel Image (gzip compressed)
   Data Size:    4079704 Bytes = 3.9 MiB
   Load Address: 80008000
   Entry Point:80008000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 83000000
   Booting using the fdt blob at 0x83000000
   Uncompressing Kernel Image ... OK
uboot time: 3585776 us.
machid from environment: 0xb8e
EFUSE machid is not set.
Using machid 0xb8e from environment
From device tree /memory/ node aml_reserved_end property, for relocate ramdisk and fdt, relocate_addr: 0x84007001
   Loading Device Tree to 84000000, end 84006238 ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 3.10.33 (jenkins@3023ab9de008) (gcc version 4.8.3 (OpenWrt/Linaro GCC 4.8-2014.04 unknown) ) #1 PREEMPT Wed Sep 26 02:58:29 UTC 2018
[    0.000000] CPU: ARMv7 Processor revision 4 (ARMv7), cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine: Amlogic Meson3, model: AMLOGIC
[    0.000000] physical memory start address is 0x80000000
[    0.000000] reserved_end is 853fffff
[    0.000000]reserved 0x87ef0000-0x87f00000 1M memory for firmware
[    0.000000] Total memory is128 MiB
[    0.000000] Reserved low memory from 0x85000000 to 0x853fffff, size:   4 MiB
[    0.000000]mesonfb0(low)         : 0x85100000 - 0x85300000 (2 MiB)
[    0.000000]mesonfb1(low)         : 0x85300000 - 0x85400000 (1 MiB)
[    0.000000] storage_flag=2
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] On node 0 totalpages: 31488
[    0.000000] free_area_init_node: node 0, pgdat c07c2708, node_mem_map c081c000
[    0.000000]   Normal zone: 254 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 31488 pages, LIFO batch:7
[    0.000000] CPU: All CPU(s) started in SVC mode.
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: 0
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.Total pages: 31234
[    0.000000] Kernel command line: root=/dev/mmcblk0p10 rootfstype=ext4 rootwait init=/sbin/init console=ttyS0,115200n8 no_console_suspend debug nohlt a9_clk=600M clk81=200M storage=2
[    0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Memory: 80MB 43MB = 123MB total
[    0.000000] Memory: 116416k/116416k available, 9536k reserved, 0K highmem
[    0.000000] Virtual kernel memory layout:
[    0.000000]   vector: 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]   fixmap: 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]   vmalloc : 0xc8000000 - 0xff000000   ( 880 MB)
[    0.000000]   lowmem: 0xc0000000 - 0xc7f00000   ( 127 MB)
[    0.000000]   pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]   modules : 0xbf000000 - 0xbfe00000   (14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc0749090   (7429 kB)
[    0.000000]       .init : 0xc074a000 - 0xc077684c   ( 179 kB)
[    0.000000]       .data : 0xc0778000 - 0xc07c31c0   ( 301 kB)
[    0.000000]      .bss : 0xc07c31c0 - 0xc081ba88   ( 355 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000] NR_IRQS:128
[    0.000000] sched_clock: 32 bits at 1000kHz, resolution 1000ns, wraps every 4294967ms
[    0.000000] Global timer: MESON TIMER-A (c0788b80) initialized
[    0.000000] Disable timerA
[    0.000000] Console: colour dummy device 80x30
[    0.000000] meson_serial_console_setup
[    0.000000] console enabled
[    0.277401] Calibrating delay loop... 795.44 BogoMIPS (lpj=3977216)
[    0.320062] pid_max: default: 32768 minimum: 301
[    0.321839] Security Framework initialized
[    0.325807] SELinux:Initializing.
[    0.329321] SELinux:Starting in permissive mode
[    0.334057] Mount-cache hash table entries: 512
[    0.339419] CPU: Testing write buffer coherency: ok
[    0.343811] Setting up static identity map for 0xc0587eb8 - 0xc0587f10
[    0.350107] L310 cache controller enabled
[    0.353899] l2x0: 8 ways, 512 sets, CACHE_ID 0x4100a0c8,Cache size: 131072 B
[    0.361142]       AUX_CTRL 0x3e420000, PERFETCH_CTRL 0x30000006, POWER_CTRL0x00000000
[    0.369121]       TAG_LATENCY 0x00000111, DATA_LATENCY 0x00000111
[    0.376232] devtmpfs: initialized
[    0.380096] clkrate [ xtal   ] : 24000000
[    0.382437] clkrate [ pll_sys      ] : 800000000
[    0.386764] clkrate [ pll_fixed      ] : 800000000
[    0.391217] clkrate [ pll_ddr      ] : 468000000
[    0.395462] clkrate [ a9_clk         ] : 800000000
[    0.399637] clkrate [ clk81] : 200000000
[    0.404910] pinctrl core: initialized pinctrl subsystem
[    0.409151] NET: Registered protocol family 16
[    0.414112] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.434534] amlogic_gpio gpio: Probed amlogic meson3 GPIO driver
[    0.435261] register lm device lm-root
[    0.438959] register lm device lm0
[    0.443219] Init pinux probe!
[    0.445522] pinmux-m3 pinmux: Probed amlogic pinctrl driver
[    0.451205] aml_i2c version: 20140813
[    0.454326] plat->state_name:default
[    0.457800] master_no = 1, master_regs=f1108500
[    0.462920] aml-i2c i2c-A: add adapter aml_i2c_adap1(c79520a8)
[    0.468141] aml-i2c i2c-A: aml i2c bus driver.
[    0.526615] bio: create slab <bio-0> at 0
[    0.528420] SCSI subsystem initialized
[    0.529295] usbcore: registered new interface driver usbfs
[    0.535110] usbcore: registered new interface driver hub
[    0.539847] usbcore: registered new device driver usb
[    0.549962] Advanced Linux Sound Architecture Driver Initialized.
[    0.552054] Bluetooth: Core ver 2.16
[    0.554536] NET: Registered protocol family 31
[    0.558662] Bluetooth: HCI device and connection manager initialized
[    0.565287] Bluetooth: HCI socket layer initialized
[    0.569891] Bluetooth: L2CAP socket layer initialized
[    0.575042] Bluetooth: SCO socket layer initialized
[    0.580770] cfg80211: Calling CRDA to update world regulatory domain
[    0.587758] Switching to clocksource Timer-E
[    0.622212] NET: Registered protocol family 2
[    0.622761] TCP established hash table entries: 1024 (order: 1, 8192 bytes)
[    0.627918] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    0.634763] TCP: Hash tables configured (established 1024 bind 1024)
[    0.640849] TCP: reno registered
[    0.643828] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.649655] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.656181] NET: Registered protocol family 1
[    0.660366] wifi_dev_probe
[    0.663049] wifi_dt : interrupt_pin=GPIOA_17
[    0.667227] wifi_dt : irq_num=null
[    0.670612] wifi_dt : irq_trigger_type=GPIO_IRQ_HIGH
[    0.675602] wifi_dt : power_on_pin=GPIOX_10
[    0.679750] wifi_dt : clock_32k_pin=GPIOAO_11
[    0.684118] interrupt_pin=153, irq_num=4, irq_trigger_type=0, power_on_pin=33,clock_32k_pin=175
[    0.695188] audit: initializing netlink socket (disabled)
[    0.698237] type=2000 audit(0.630:1): initialized
[    0.716226] VFS: Disk quotas dquot_6.5.2
[    0.716645] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    0.725326] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.727515] exFAT: Core Version 1.2.4
[    0.730521] exFAT: FS Version 1.2.4
[    0.735043] NTFS driver 2.1.30 .
[    0.739016] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.749311] fuse init (API version 7.22)
[    0.753354] msgmni has been set to 227
[    0.755713] SELinux:Registering netfilter hooks
[    0.762961] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[    0.767763] io scheduler noop registered
[    0.771862] io scheduler deadline registered
[    0.776317] io scheduler cfq registered (default)
[    0.780955] meson3-pwm meson_pwm: pinctrl_name = meson3-pwm1
[    0.786291] meson3-pwm meson_pwm: register pwm device.. meson_pwm_probe
[    1.005066] loop: module loaded
[    1.007041] tun: Universal TUN/TAP device driver, 1.6
[    1.007615] tun: (C) 1999-2004 Max Krasnyansky <[email protected]>
[    1.014722] PPP generic driver version 2.4.2
[    1.018714] PPP BSD Compression module registered
[    1.023130] PPP Deflate Compression module registered
[    1.027815] PPP MPPE Compression module registered
[    1.032747] NET: Registered protocol family 24
[    1.038129] usbcore: registered new interface driver usb-storage
[    1.044048] mousedev: PS/2 mouse device common for all mice
[    1.049722] i2c /dev entries driver
[    1.052893] Bluetooth: HCI UART driver ver 2.2
[    1.056511] Bluetooth: HCI H4 protocol initialized
[    1.063254] zram: Created 1 device(s) ...
[    1.065771] ashmem: initialized
[    1.068847] aml_wdt_driver_init,303
[    1.072126] ** disable watchdog
[    1.075207] one-secod=100000,min_timeout=1,max_timeout=41,default_timeout=10,reset_watchdog_method=0,reset_watchdog_time=2,shutdown_timeout=10,firmware_timeout=6,suspend_timeout=6
[    1.092041] AML Watchdog Timer probed done
[    1.095612] keys===========================================
[    1.100941] keys_devno=fa00000
[    1.104509] securitykey: device aml_keys created
[    1.108471] amlkeys=0
[    1.111075] platform_driver_register--aml_keys_driver--------------------
[    1.118198] set uart_ao pinmux use pinctrl subsystem
[    1.122716] P_AO_RTI_PIN_MUX_REG:1800
[    1.126142] start uart_ao_ttyS0:(irq = 90)
[    1.130198] register uart_ao ok
[    1.134040] set uart_a pinmux use pinctrl subsystem
[    1.138202] P_AO_RTI_PIN_MUX_REG:1800
[    1.142032] start uart_a_ttyS1:(irq = 26)
[    1.145858] register uart_a ok
[    1.149215] dwc_otg: version 2.20a 13-Jan-2012
[    1.153522] dwc_otg lm-root: dwc_otg_driver_probe(c794c000)
[    1.158913] dwc_otg_driver_probe NOT match
[    1.163098] dwc_otg lm0: dwc_otg_driver_probe(c794c200)
[    1.168259] usb0: type: 1, speed: 0, config: 0, dma: 0, id: 1, phy: f1108404, ctrl: f9040000
[    1.176782] USB use clock source: XTAL input
[    1.183363] dwc_otg lm0: core work at High speed.
[    1.185619] dwc_otg lm0: DMA config: DISABLE
[    1.600704] dwc_otg lm0: Working on port type = HOST
[    1.600750] DWC_otg: Using DMA mode
[    1.603517] dwc_otg lm0: DWC OTG Controller
[    1.607716] dwc_otg lm0: new USB bus registered, assigned bus number 1
[    1.614280] dwc_otg lm0: irq 30, io mem 0x00000000
[    1.619034] DWC_otg: Init: Port Power? op_state=1
[    1.623720] DWC_otg: Init: Power Port (0)
[    1.627698] set usb port power on (board gpio 143)!
[    1.633726] hub 1-0:1.0: USB hub found
[    1.636341] hub 1-0:1.0: 1 port detected
[    1.640892] Amlogic nand flash Kernel driver, Version K1.06.015 (c) 2010 Amlogic Inc.
[    1.648057] ####Version of Uboot must be newer than U1.06.011!!!!!
[    1.654478] ===========================================m3_nand_probe:1306,nand device tree ok,dev-name:nand2
[    1.664177] m3_get_nand_platform:1750,find enable pad finished
[    1.669981] m3_get_nand_platform:1763,find busy_pad finished
[    1.675713] m3_get_nand_platform:1775,find timming_mode finished
[    1.681690] m3_get_nand_platform:1787,find bch_mode finished
[    1.687295] m3_get_nand_platform:1799,find plane_modefinished
[    1.693073] m3_get_nand_platform:1855,parse dts
[    1.697564] chip->controller=c080f740
[    1.701245] ###plat->platform_nand_data.chip.nr_chips =1
[    1.706530] init bus_cycle=17, bus_timing=10, start_cycle=10, end_cycle=10,system=5.0ns
[    1.714753] No NAND device found
[    1.717924] NAND device id: 8 e8 e8 e8 e8 e8
[    1.722141] No NAND device found!!!
[    1.725610] m3_get_nand_platform:1750,find enable pad finished
[    1.731535] m3_get_nand_platform:1763,find busy_pad finished
[    1.737061] m3_get_nand_platform:1775,find timming_mode finished
[    1.743095] m3_get_nand_platform:1787,find bch_mode finished
[    1.748717] m3_get_nand_platform:1799,find plane_modefinished
[    1.754491] m3_get_nand_platform:1855,parse dts
[    1.758984] chip->controller=c080f740
[    1.762653] ###plat->platform_nand_data.chip.nr_chips =1
[    1.767950] init bus_cycle=17, bus_timing=10, start_cycle=10, end_cycle=10,system=5.0ns
[    1.776118] No NAND device found
[    1.779335] NAND device id: 8 e8 e8 e8 e8 e8
[    1.783549] No NAND device found!!!
[    1.787457] efuse===========================================
[    1.793419] efuse: device efuse created
[    1.796743] efuse--------------------------------------------
[    1.802351] SARADC Driver init.
[    1.805693] __saradc_probe__
[    1.950805] saradc calibration: ref_val = 511
[    1.950837] saradc calibration: ref_nominal = 512
[    1.954216] saradc calibration: coef = 4096
[    1.958659] ADC Keypad Driver init.
[    1.962091] ==kp_probe==
[    1.964427] chan #4 used for ADC key
[    1.967964] volup key(103) registed.
[    1.971608] voldn key(108) registed.
[    1.975098] chann key(106) registed.
[    1.978665] chanp key(105) registed.
[    1.982668] input: adc_keypad as /devices/platform/adc_keypad.4/input/input0
[    1.989739] adc keypad register input device completed.
[    1.994739] adc keypad major:248
[    1.998775] Encoder Keypad Driver init.
[    2.001932] Enter encoder_key_probe
[    2.005274] encoder_key_probe: key_num = 4
[    2.009290] encoder_key_probe: key->plus_code = 75
[    2.014454] encoder_key_probe: key->minus_code = 77
[    2.019469] encoder_key_probe: key->A_pin = 150
[    2.024349] encoder_key_probe: key->B_pin = 149
[    2.029039] encoder_key_probe: key->rising_irq = 1
[    2.034131] encoder_key_probe: key->falling_irq = 0
[    2.039218] encoder_key_probe: key->plus_code = 72
[    2.044295] encoder_key_probe: key->minus_code = 80
[    2.049396] encoder_key_probe: key->A_pin = 148
[    2.054209] encoder_key_probe: key->B_pin = 147
[    2.058966] encoder_key_probe: key->rising_irq = 3
[    2.064179] encoder_key_probe: key->falling_irq = 2
[    2.069249] report_key_func 138 :
[    2.072451] encoder_key_probe 575 : key(75) registed.
[    2.077583] encoder_key_probe 576 : [    2.081015] 77 key

[    2.082982] report_key_func 138 : 75 key
[    2.087072] key(77) registed.
[    2.090024] encoder_key_probe 575 : key(72) registed.
[    2.095071] encoder_key_probe 576 : key(80) registed.
[    2.100529] input: encoder_keypad as /devices/platform/encoder_keypad.5/input/input1
[    2.108439] encoder_key_probe: Encoder keypad major:247
[    2.114249] GPIO Keypad Driver init.
[    2.116769] gpio_key_probe
[    2.119449] 1 key registed.
[    2.122280] 28 key registed.
[    2.124999] 32 key registed.
[    2.127869] 59 key registed.
[    2.130829] 60 key registed.
[    2.133611] 61 key registed.
[    2.136890] input: gpio_keypad as /devices/platform/gpio_keypad.7/input/input2
[    2.144350] gpio keypad register input device completed.
[    2.149111] gpio keypad major:246
[    2.153564] wake_src_probe
[    2.155120] 200 key registed.
[    2.158058] 201 key registed.
[    2.161318] 202 key registed.
[    2.163975] 203 key registed.
[    2.166932] 204 key registed.
[    2.169890] 205 key registed.
[    2.173322] input: wake_src as /devices/platform/wake_src.8/input/input3
[    2.180028] register input device completed.
[    2.184135] register_wakesrc_dev major:245
[    2.188858] wake_src_init wake up source Driver init 0.
[    2.193495] mmc driver version: 1.07, 2014-06-30: eMMC add hw reset function
[    2.201049] host->base f1108c20
[    2.203454] pdata->caps 107
[    2.206170] pdata->caps2 0
[    2.208869] get property:                     port, value:0x00000002
[    2.215487] get property:                ocr_avail, value:0x00200000
[    2.221631] get property:                  f_min, value:0x000493e0
[    2.227921] get property:                  f_max, value:0x02faf080
[    2.234339] get property:                  f_max_w, value:0x02faf080
[    2.240624] get property:             max_req_size, value:0x00020000
[    2.247025] get property:                  pinname, str:emmc
[    2.252663] get property:                card_type, value:0x00000001
[    2.258986] get property:                gpio_dat3, str:BOOT_3
[    2.264969] host->storage_flag=2, POR_BOOT_VALUE=3
[    2.316132] pdata->caps 107
[    2.316163] pdata->caps2 0
[    2.316183] get property:                     port, value:0x00000001
[    2.324598] get property:                ocr_avail, value:0x00200000
[    2.328728] get property:                  f_min, value:0x000493e0
[    2.335097] get property:                  f_max, value:0x01c9c380
[    2.341511] get property:                  f_max_w, value:0x01c9c380
[    2.347842] get property:             max_req_size, value:0x00020000
[    2.354264] get property:                  pinname, str:sd
[    2.359684] get property:                card_type, value:0x00000003
[    2.377226] emmc: BKOPS_EN bit is not set
[    2.377257] ###check hw reset function is already enabled here
[    2.383484] emmc: new high speed MMC card at address 0001, clock 50000000, 4-bit-bus-width
[    2.390347] mmcblk0: emmc:0001 8GME4R 7.28 GiB
[    2.394489] mmcblk0boot0: emmc:0001 8GME4R partition 1 4.00 MiB
[    2.400283] mmcblk0boot1: emmc:0001 8GME4R partition 2 4.00 MiB
[    2.421827]mmcblk0: p1
[    2.422903] Delete invalid mbr partition part c7a95c00, part->partno 1
[    2.426274] emmc read lba=0x800, blocks=0x1 OK!
[    2.430317] emmc read lba=0x801, blocks=0x1 OK!
[    2.434404] mmc read partition OK!
[    2.439859] add_emmc_partition
[    2.442967] aml_sdio_probe() success!
[    2.448835] device name=nand_key open error
[    2.452564]          bootloaderoffset 0x000000000000, size 0x000000100000
[    2.460972] aml_keys: version 0 can not be init c07ab6c4
[    2.465877] device name=emmc_key open error
[    2.470137] aml_keys: version 0 can not be init c07ab6c4
[    2.475820]              reservedoffset 0x000000100000, size 0x000000100000
[    2.484328]                 cacheoffset 0x000000200000, size 0x000008000000
[    2.493218] aml_rtc rtc.0: rtc core: registered aml_rtc as rtc0
[    2.499133]                   envoffset 0x000008200000, size 0x000000100000
[    2.506957] amlogic rfkill init
[    2.509369] enter bt_probe of_node
[    2.513353] not get gpio_en
[    2.515464] not get gpio_wake
[    2.518554]                   dtboffset 0x000008300000, size 0x000000100000
[    2.527326]                bootoffset 0x000008400000, size 0x000000800000
[    2.535523]                systemoffset 0x000008c00000, size 0x000008000000
[    2.543655] BT_RADIO going: on
[    2.546260] BCM_BT: going ON
[    2.549600]                dtb1offset 0x000010c00000, size 0x000000100000
[    2.557961]                 boot1offset 0x000010d00000, size 0x000000800000
[    2.566392]             system1offset 0x000011500000, size 0x000008000000
[    2.574571]              userdataoffset 0x000019500000, size 0x000008000000
[    2.582764]                 mediaoffset 0x000021500000, size 0x0001b0b00000
[    2.590496] card key: card_blk_probe.
[    2.594347] emmc_key_init:428 emmc key lba_start:0x820,lba_end:0xa20
[    2.600639] i=0,register --- emmc_key
[    2.604377] wifi_request_32k_clk : OFF-->ON for bt_rfkill
[    2.609687] clock_32k_pin(175) : (null)
[    2.613582] key 1 up
[    2.615691] key 28 up
[    2.617949] key 32 up
[    2.620211] key 59 up
[    2.622544] emmc key: emmc_key_init:450 ok.
[    2.626967] Exit aml_emmc_partition_ops OK.
[    2.631062] key 60 up
[    2.633176] key 61 down
[    2.635686] clock_32k_pin(175) : sdio_wifi
[    2.641160] key 0 up
[    2.642044]mmcblk0boot1: p1
[    2.644880] mmcblk0boot1: p1 start 16065 is beyond EOD, truncated
[    2.653626]mmcblk0boot0: p1
[    2.653927] mmcblk0boot0: p1 start 16065 is beyond EOD, truncated
[    2.741024] Bluetooth: BlueSleep Mode Driver Ver 1.2
[    2.741162] Bluetooth: bt_host_wake 154, bt_ext_wake 45
[    2.745603] Bluetooth: host_wake_irq 5, polarity 1
[    2.750851] Interrupt for sound system Driver init.
[    2.755334] Enter int_sound_probe
[    2.758537] ====== int_sound_probe int num 1
[    2.763049] int_sound_probe: int_num = 1
[    2.766711] int_sound_probe: key->I_pin = 41
[    2.771368] register_int_sound_dev major:244
[    2.778094] *****enter pcm2bt_codec_probe
[    2.779514] pcm2bt_codec_probe ok!
[    2.783447] enter aml_dai_probe
[    2.786418] aml_spdif_probe
[    2.790644] aml: Failed to create debugfs directory
[    2.795637] enter spdif_dit_probe
[    2.798466] aml_spdif_unmute
[    2.801987] --------aml_m3_codec_platform_probe---
[    2.806632] enter aml_m3_audio_probe
[    3.440733] aml_m3_codec aml_m3_codec.0: ASoC: Failed to add LINEOUT Playback Volume: -16
[    3.443588] enter aml_set_bias_level level: 1
[    3.447627] enter aml_set_bias_level level: 2
[    3.452069] enter aml_set_bias_level level: 1
[    3.456467] enter aml_set_bias_level level: 1
[    3.460877] enter aml_set_bias_level level: 1
[    3.465025] enter aml_set_bias_level level: 2
[    3.469406] enter aml_set_bias_level level: 2
[    3.473832] enter aml_asoc_init
[    3.477111] enter aml_set_bias_level level: 1
[    3.481438] enter aml_set_bias_level level: 1
[    3.485646] enter aml_set_bias_level level: 2
[    3.489997] enter aml_set_bias_level level: 1
[    3.494448] enter aml_set_bias_level level: 2
[    3.498711] enter aml_set_bias_level level: 2
[    3.503235] rtd c780c010
[    3.505654] cpu_dai c7af4600
[    3.508611] codec_dai c7af4a00
[    3.511938] enter aml_platform_pcm_new (codec_dai: AML-M3 0 cpu_dai: aml-dai0 0)
[    3.519988] aml-i2s 0:playback preallocate_dma_buffer: area=c80d7000, addr=87000000, size=524288
[    3.528778] aml-i2s 1:capture preallocate_dma_buffer: area=c8159000, addr=87100000, size=262144
[    3.536742] aml_m3_card aml_m3_sound_card.2:AML-M3 <-> aml-dai0 mapping ok
[    3.543757] enter aml_set_bias_level level: 1
[    3.548024] enter aml_set_bias_level level: 2
[    3.552437] enter aml_set_bias_level level: 1
[    3.556724] enter aml_set_bias_level level: 2
[    3.561233] enter aml_set_bias_level level: 1
[    3.565423] enter aml_set_bias_level level: 2
[    3.569959] rtd c780c5d4
[    3.572440] cpu_dai c7af4800
[    3.575340] codec_dai c7af4900
[    3.578476] enter aml_platform_pcm_new (codec_dai: dit-hifi 0 cpu_dai: aml-spdif-dai.0 0)
[    3.587542] aml-i2s 0:playback preallocate_dma_buffer: area=c81da000, addr=87200000, size=524288
[    3.596335] aml-i2s 1:capture preallocate_dma_buffer: area=c825c000, addr=87180000, size=262144
[    3.604227] aml_m3_card aml_m3_sound_card.2:dit-hifi <-> aml-spdif-dai.0 mapping ok
[    3.612205] enter aml_set_bias_level level: 1
[    3.616320] enter aml_set_bias_level level: 2
[    3.620727] enter aml_set_bias_level level: 1
[    3.625019] enter aml_set_bias_level level: 2
[    3.629393] enter aml_set_bias_level level: 1
[    3.633757] enter aml_set_bias_level level: 2
[    3.638220] rtd c780cb98
[    3.640706] cpu_dai c7af4700
[    3.643635] codec_dai c7af4500
[    3.646770] enter aml_platform_pcm_new (codec_dai: pcm2bt-pcm 0 cpu_dai: aml-dai1 1)
[    3.654561] enter aml_pcm_preallocate_dma_buffer stream: 0
[    3.660132] aml_pcm_preallocate_dma_buffer allcoate buf->area: c82dd000 buf->addr: 0x87290000 buf->bytes: 65536
[    3.670244] enter aml_pcm_preallocate_dma_buffer stream: 1
[    3.675731] aml_pcm_preallocate_dma_buffer allcoate buf->area: c82ee000 buf->addr: 0x870d0000 buf->bytes: 65536
[    3.685683] aml_m3_card aml_m3_sound_card.2:pcm2bt-pcm <-> aml-dai1 mapping ok
[    3.693133] enter aml_set_bias_level level: 1
[    3.697403] enter aml_set_bias_level level: 2
[    3.701805] enter aml_set_bias_level level: 1
[    3.706103] enter aml_set_bias_level level: 2
[    3.710473] enter aml_set_bias_level level: 1
[    3.714960] enter aml_set_bias_level level: 2
[    3.719224] enter aml_set_bias_level level: 1
[    3.723537] enter aml_set_bias_level level: 1
[    3.727853] enter aml_set_bias_level level: 2
[    3.732231] enter aml_set_bias_level level: 1
[    3.736552] enter aml_set_bias_level level: 2
[    3.740947] enter aml_set_bias_level level: 2
[    3.748621] input: AML-M3 hp switch as /devices/platform/aml_m3_sound_card.2/sound/card0/input4
[    3.755056] enter aml_set_bias_level level: 1
[    3.758305] enter aml_set_bias_level level: 2
[    3.762773] enter aml_set_bias_level level: 1
[    3.767004] enter aml_set_bias_level level: 2
[    3.771544] enter aml_set_bias_level level: 1
[    3.775703] enter aml_set_bias_level level: 2
[    3.780319] =aml_m3_pinmux_init==,aml_m3_pinmux_init done,---0
[    3.786768] GACT probability NOT on
[    3.789369] Mirror/redirect action on
[    3.793194] u32 classifier
[    3.795711]   Actions configured
[    3.799110] Netfilter messages via NETLINK v0.30.
[    3.803957] nf_conntrack version 0.5.0 (1819 buckets, 7276 max)
[    3.810880] ctnetlink v0.93: registering with nfnetlink.
[    3.815093] NF_TPROXY: Transparent proxy support initialized, version 4.1.0
[    3.822255] NF_TPROXY: Copyright (c) 2006-2007 BalaBit IT Ltd.
[    3.828861] xt_time: kernel timezone is -0000
[    3.832733] ip_tables: (C) 2000-2006 Netfilter Core Team
[    3.837605] arp_tables: (C) 2002 David S. Miller
[    3.842312] TCP: cubic registered
[    3.845390] Initializing XFRM netlink socket
[    3.851308] NET: Registered protocol family 10
[    3.854924] mip6: Mobile IPv6
[    3.857089] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    3.862997] sit: IPv6 over IPv4 tunneling driver
[    3.869140] NET: Registered protocol family 17
[    3.871787] NET: Registered protocol family 15
[    3.876037] Bridge firewalling registered
[    3.879970] NET: Registered protocol family 35
[    3.884697] Key type dns_resolver registered
[    3.888862] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
[    3.896315] Registering SWP/SWPB emulation handler
[    3.901277] enter meson_pm_probe!
[    3.908088] aml_rtc rtc.0: setting system clock to 1970-01-01 00:00:08 UTC (8)
[    3.912054] meson_cpufreq: no voltage_control prop
[    3.916382] voltage_control = 0
[   [    3.925507] config uart_ao_ttyS0:: Character length 8bits/char
[    3.940830] Changing uart_ao_ttyS0: baud from 0 to 115200
[    3.962392] force enable DISCARD here for ext4 fs
[    3.966248] checked enable EXT4 DISCARD here
[    3.966290] EXT4-fs (mmcblk0p10): mounting with "discard" option, but the device does not support discard
[    3.975999] EXT4-fs (mmcblk0p10): mounted filesystem without journal. Opts: (null)
[    3.982950] VFS: Mounted root (ext4 filesystem) readonly on device 179:10.
[    3.995260] devtmpfs: mounted
[    3.995541] Freeing unused kernel memory: 176K (c074a000 - c0776000)
procd: Console is alive
[    4.152657] ** enable watchdog
procd: - watchd[    4.152996] ** enable watchdog
og -
procd: - preinit -
e2fsck 1.42.4 (12-June-2012)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/mmcblk0p7: 1945/6016 files (0.2% non-contiguous), 17851/32768 blocks
e2fsck 1.42.4 (12-June-2012)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/mmcblk0p10: 1949/6016 files (0.2% non-contiguous), 17816/32768 blocks
Press the key and hit to enter failsafe mode
Press the , , or key and hit to select the debug level
mounting /dev/root
[    8.174667] EXT4-fs (mmcblk0p10): re-mounted. Opts: (null)
procd: - early -
procd: - watchdog -
[    8.185033] ** enable watchdog
procd: - ubus -
procd: - init -
Please press Enter to activate this console.
[   11.550882] force enable DISCARD here for ext4 fs
[   11.567219] checked enable EXT4 DISCARD here
[   11.567262] EXT4-fs (mmcblk0p11): mounting with "discard" option, but the device does not support discard
[   11.580920] EXT4-fs (mmcblk0p11): mounted filesystem with ordered data mode. Opts: nodelalloc
[   11.596267] name=emmc_key nand_key
[   11.596306] device name=nand_key open error
[   11.598292] aml_keys: version 0 can not be init c07ab6c4
[   11.613442] name=emmc_key emmc_key
[   11.620645] emmc read lba=0x820, blocks=0x100 OK!
[   11.628325] emmc read lba=0x820, blocks=0x100 OK!
[   11.628957] register_aes_algorithm:482,old way
[   13.386271] force enable DISCARD here for ext4 fs
[   13.401224] checked enable EXT4 DISCARD here
[   13.401267] EXT4-fs (mmcblk0p12): mounting with "discard" option, but the device does not support discard
[   13.409410] EXT4-fs (mmcblk0p12): mounted filesystem with ordered data mode. Opts: nodelalloc
ledserver: mode 0(normal), start :23:00 stop: 08:00

ledserver: mode 0(normal), start :23:00 stop: 08:00

ledserver: show and push light 4

ledserver: *****led_light_s6.c 183 light_show_effect

ledserver: *****led_light_s6.c 55 light_one_color

ledserver: *****led_light_s6.c 183 light_show_effect

procd: - init complete -
procd:
MSTC_R_SystemInitDone



BusyBox v1.22.1 (2018-09-26 02:45:38 UTC) built-in shell (ash)
Enter 'help' for a list of built-in commands.

root@OpenWrt:/#
root@OpenWrt:/# ls
bin         etc         media       proc      sbin      usr
data      lib         mnt         rom         sys         var
dev         lost+foundoverlay   root      tmp         www
root@OpenWrt:/# ps
PID USER       VSZ STAT COMMAND
    1 root      2316 S    /sbin/procd
    2 root         0 SW   
    3 root         0 SW   
    4 root         0 SW   
    5 root         0 SW<
    6 root         0 SW   
    7 root         0 SW   
    8 root         0 SW   
    9 root         0 SW   
   10 root         0 SW<
   11 root         0 SW   
   12 root         0 SW   
   16 root         0 SW<
297 root         0 SW<
299 root         0 SW<
301 root         0 SW<
309 root         0 SW   
328 root         0 SW<
329 root         0 SW   
420 root         0 SW   
466 root         0 SW   
489 root         0 SW<
1054 root         0 SW<
1104 root         0 SW   
1107 root         0 SW   
1111 root         0 SW   
1112 root         0 SW   
1113 root         0 SW   
1122 root         0 SW<
1157 root         0 SW   
1158 root         0 SW   
1188 root         0 SW<
1193 root         0 SW<
1194 root         0 SW<
2053 root      1620 S    /sbin/ubusd
2054 root      2676 S    /bin/ash --login
2055 root      1636 S    /sbin/askfirst tty1 /bin/ash --login
2135 root         0 SW   
2137 root         0 SW<
2253 root         0 SW   
2255 root         0 SW<
2299 root   11072 S </bin/ledserver
2348 root      1848 S    /sbin/logd -S 16
2493 root      2096 S    /sbin/netifd
2533 root      2672 S    /usr/sbin/crond -f -c /etc/crontabs -l 5
2586 root      1980 S    /usr/sbin/dropbear -F -P /var/run/dropbear.1.pid -s
2597 root      5084 S    {syslog-ng} supervising syslog-ng
2599 root      5084 S    /usr/sbin/syslog-ng
2980 root   10980 S </usr/bin/bsa_server -d /dev/ttyS1 -r 13 -pp /etc/bt/
2981 root      7788 S    /usr/bin/mibt_ble
3040 root      2204 S    /usr/sbin/dbus-daemon --system
3064 nobody    2528 S    avahi-daemon: running
3348 root         0 SW   
3350 root         0 SW   
3351 root         0 SW   
3352 root         0 SW   
3370 root         0 SW   
3392 root      2596 S    udhcpc -f -s /bin/simple_dhcp.sh -R -t 0 -i wlan0 -H
3394 root      2596 S    {wifi_check_ccmp} /bin/sh /bin/wifi_check_ccmp.sh
3402 root      2700 S    /usr/sbin/wpa_supplicant -Dnl80211 -iwlan0 -c/data/w
3420 root      2788 S    /usr/bin/alarmd
3430 root   38676 S </usr/bin/mediaplayer
3448 root      128m S    /usr/bin/messagingagent --handler_threads 8
3457 root      5220 S    /usr/bin/statpoints_daemon
3599 root      1704 S </usr/bin/mipns-s6
3637 root      3944 S    /usr/bin/linein
3646 root      1724 S    /bin/touchpad
3687 nobody    1808 S    /usr/sbin/dnsmasq -C /var/etc/dnsmasq.conf -k -x /va
3721 root      5556 S    /usr/bin/mibrain_service
3742 root      1616 S    /usr/bin/nano_httpd
3754 root   16968 S    /usr/bin/dlna
3766 root      3452 S    /usr/bin/pns_ubus_helper
3780 root      4224 S    /usr/bin/quickplayer
3800 root      1820 S    /usr/sbin/wpa_cli -a/bin/wpa_action.sh
3814 root      2752 S    /usr/sbin/ntpd -n -p cn.pool.ntp.org -p 0.openwrt.po
3816 root      2596 S    {miio_client_hel} /bin/sh /usr/bin/miio_client_helpe
3817 root   11312 S    /usr/bin/miio_client -L /dev/null
3892 root      3992 S    /usr/sbin/nmbd -D -s /var/etc/smb.conf
3895 root      3904 S    /usr/sbin/smbd -D -s /var/etc/smb.conf
3943 root      1364 S    /usr/bin/miio_recv_line
3988 root      1836 S    /usr/bin/miio_service
4545 root         0 Z   
4568 root      2464 S    sleep 5
4569 root      2676 R    ps
root@OpenWrt:/#

瘦网虫 发表于 2019-7-26 22:17:22

这篇文章很有参考价值:

小米AI音响的拆解及简要系统分析 - LeeKwen的专栏 - CSDN博客
https://blog.csdn.net/leekwen/article/details/82378639

瘦网虫 发表于 2019-7-26 22:27:47

本帖最后由 瘦网虫 于 2019-7-27 10:18 编辑

测试播放网络上的音乐命令:

root@OpenWrt:/# /usr/bin/mphelper tone http://ip.h5.ri01.sycdn.kuwo.cn/3caa21ef5b67863097f4a2ffeb5a92f6/5d3b0d4e/resource/n1/86/49/1761808846.mp3

:lol

有空试下这个:
让你的黑板小爱支持MQTT
https://bbs.hassbian.com/thread-7115-1-1.html

ybewu 发表于 2020-5-15 16:00:00

看了你写的《小米互联网音响拆解与浅析》,受益匪浅。我有一个想法,设法将自带8G大小EMMC更换为3G甚至更大的存储,用来存储本地歌曲。基本思路是取下原EMMC,通过安国主控,利用WINHEX克隆至32G大小的EMMC,然后在LINUX环境下利用GPATER调整分区大小,最后装回改好的EMMC,实现扩容。按此思路进行了偿试,除分区没有找到调整方法外,其它均已实现,更换后可正常工作,只是本地存储容量没有提高。有没有兴趣一起探讨下?我已将EMMC数据提取出来。微信号13185059090

瘦网虫 发表于 2020-5-21 08:59:28

ybewu 发表于 2020-5-15 16:00
看了你写的《小米互联网音响拆解与浅析》,受益匪浅。我有一个想法,设法将自带8G大小EMMC更换为3G甚至更 ...

不打算继续折腾这个了。玩其它的东东去了。:lol
页: [1]
查看完整版本: 小米互联网音响拆解与浅析