VIM3L出现【Err imgread(L328):Fail to read ……】无法连接到设备

问题描述

本人一块正常使用的VIM3L今天出现了异常情况,无法登录到系统中。
下面是齐串口上电后的打印信息

SM1:BL:511f6b:81ca2f;FEAT:A0F83180:20282000;POC:F;RCY:0;EMMC:0;READ:0;0.0;CHK:0;
bl2_stage_init 0x01
bl2_stage_init 0x81
hw id: 0x0000 - pwm id 0x01
bl2_stage_init 0xc1
bl2_stage_init 0x02

L0:00000000
L1:00000703
L2:00008067
L3:15000000
S1:00000000
B2:20282000
B1:a0f83180

TE: 178790

BL2 Built : 19:23:14, Sep 18 2020. g12a g9fde858 - gongwei.chen@droid11-sz

Board ID = 8
Set cpu clk to 24M
Set clk81 to 24M
Use GP1_pll as DSU clk.
DSU clk: 1200 Mhz
CPU clk: 1200 MHz
Set clk81 to 166.6M
eMMC boot @ 0
sw8 s
board id: 8
Load FIP HDR DDR from eMMC, src: 0x00010200, des: 0xfffd0000, size: 0x00004000, part: 0
fw parse done
PIEI prepare done
00000000
emmc switch 1 ok
ddr saved addr:00016000
Load ddr parameter from eMMC, src: 0x02c00000, des: 0xfffd0000, size: 0x00001000, part: 0
00000000
emmc switch 0 ok
fastboot data verify
result: 255
Cfg max: 12, cur: 1. Board id: 255. Force loop cfg
LPDDR4 probe

LPDDR4_PHY_V_0_1_22-Built : 14:57:16, Sep  1 2020. g12a g3c95fed - gongwei.chen@droid11-sz
ddr clk to 1608MHz

dmc_version 0001
Check phy result
INFO : ERROR : Training has failed!
Check phy result
INFO : ERROR : Training has failed!
Check phy result
INFO : End of initialization
INFO : ERROR : Training has failed!
1D training failed
Cfg max: 12, cur: 2. Board id: 255. Force loop cfg
LPDDR4 probe
ddr clk to 1608MHz

dmc_version 0001
Check phy result
INFO : End of CA training
INFO : End of initialization
INFO : Training has run successfully!
Check phy result
INFO : End of initialization
INFO : End of read enable training
INFO : End of fine write leveling
INFO : End of read dq deskew training
INFO : End of MPR read delay center optimization
INFO : End of Write leveling coarse delay
INFO : End of read delay center optimization
INFO : Training has run successfully!
Check phy result
INFO : End of initialization
INFO : End of MPR read delay center optimization
INFO : End of write delay center optimization
INFO : End of read delay center optimization
INFO : End of max read latency training
INFO : Training has run successfully!
1D training succeed
Check phy result
INFO : End of initialization
INFO : End of 2D read delay Voltage center optimization
INFO : End of 2D read delay Voltage center optimization
INFO : End of 2D write delay Voltage center optimization
INFO : End of 2D write delay Voltage center optimization
INFO : Training has run successfully!

soc_vref_reg_value 0x 00000026 00000026 00000024 00000024 00000026 00000027 00000025 00000025 00000025 00000024 00000026 00000026 00000025 00000025 00000028 00000027 00000024 00000024 00000025 00000025 00000024 00000025 00000025 00000023 00000027 00000025 00000028 00000028 00000025 00000026 00000026 00000026 dwc_ddrphy_apb_wr((0<<20)|(2<<16)|(0<<12)|(0xb0):0004 
 dram_vref_reg_value 0x 00000013
2D training succeed
auto size-- 65535DDR cs0 size: 2048MB
DDR cs1 size: 0MB
DMC_DDR_CTRL: 00c0002cDDR size: 2048MB
cs0 DataBus test pass
cs0 AddrBus test pass

non-sec scramble use zero key
ddr scramble enabled

100bdlr_step_size ps== 414
result report
boot times 0Enable ddr reg access
00000000
emmc switch 3 ok
Authentication key not yet programmed
get rpmb counter error 0x00000007
00000000
emmc switch 0 ok
Load FIP HDR from eMMC, src: 0x00010200, des: 0x01700000, size: 0x00004000, part: 0
Load BL3X from eMMC, src: 0x00078200, des: 0x01768000, size: 0x000c8800, part: 0
0.0;M3 CHK:0;cm4_sp_mode 0
MVN_1=0x00000000
MVN_2=0x00000000
[Image: g12a_v1.1.3390-6ac5299 2019-09-26 14:09:46 luan.yuan@droid15-sz]
OPS=0x04
ring efuse init
2b 0c 04 00 01 13 0d 00 00 08 38 38 37 50 43 50 
[0.017319 Inits done]
secure task start!
high task start!
low task start!
boot bl31
NOTICE:  BL31: v1.3(release):4fc40b1
NOTICE:  BL31: Built : 15:57:33, May 22 2019
NOTICE:  BL31: G12A normal boot!
NOTICE:  BL31: BL33 decompress pass
ERROR:   Error initializing runtime service opteed_fast


U-Boot 2015.01 (Nov 18 2022 - 17:15:05)

DRAM:  2 GiB
Relocation Offset is: 76e4c000
spi_post_bind(spifc): req_seq = 0
register usb cfg[0][1] = 0000000077f324a8
aml_i2c_init_port init regs for 0
MCU version: 0x00 0x03
MCU version is to low! Doesn't support froce boot from SD card.
MMC:   aml_priv->desc_buf = 0x0000000073e3ce50
aml_priv->desc_buf = 0x0000000073e3f190
SDIO Port B: 0, SDIO Port C: 1
co-phase 0x2, tx-dly 0, clock 400000
co-phase 0x2, tx-dly 0, clock 400000
co-phase 0x2, tx-dly 0, clock 400000
emmc/sd response timeout, cmd8, status=0x3ff2800
emmc/sd response timeout, cmd55, status=0x3ff2800
co-phase 0x2, tx-dly 0, clock 400000
co-phase 0x2, tx-dly 0, clock 40000000
aml_sd_retry_refix[983]:delay = 0x0,gadjust =0x172000
[mmc_startup] mmc refix success
init_part() 297: PART_TYPE_AML
[mmc_init] mmc init success
start dts,buffer=0000000073e41a00,dt_addr=0000000073e41a00
get_partition_from_dts() 91: ret 0
parts: 3
00:      logo   0000000000800000 1
01:   ramdisk   0000000002000000 1
02:    rootfs   ffffffffffffffff 4
init_part() 297: PART_TYPE_AML
eMMC/TSD partition table have been checked OK!
crc32_s:0x1577dad == storage crc_pattern:0x1577dad!!!
crc32_s:0xee152b83 == storage crc_pattern:0xee152b83!!!
crc32_s:0x79f50f07 == storage crc_pattern:0x79f50f07!!!
mmc env offset: 0x6c00000 
In:    serial
Out:   serial
Err:   serial
reboot_mode=cold_boot
[store]To run cmd[emmc dtb_read 0x1000000 0x40000]
_verify_dtb_checksum()-3477: calc 609a0518, store 609a0518
_verify_dtb_checksum()-3477: calc 609a0518, store 609a0518
dtb_read()-3694: total valid 2
update_old_dtb()-3675: do nothing
aml_i2c_init_port init regs for 0
fusb302_init: Device ID: 0x91
CC connected in 0 as UFP
charge ic max_vol = 12000mv max_cur = 6000ma
chip->pos_power = 2, chip->pd_output_vol=9000  chip->pd_output_cur=3000
fusb302 detect chip.port_num = 0
gpio: pin GPIOA_13 (gpio 77) value is 1
gpio: pin GPIOA_13 (gpio 77) value is 0
gpio: pin GPIOA_8 (gpio 72) value is 0

amlkey_init() enter!
[EFUSE_MSG]keynum is 1
vpu: clk_level in dts: 7
vpu: vpu_power_on
vpu: set clk: 666667000Hz, readback: 666666667Hz(0x100)
vpu: vpu_module_init_config
vpp: vpp_init
vpp: vpp osd2 matrix rgb2yuv..............
cvbs: cpuid:0x2b
LCD_RESET PIN: 0
lcd: detect mode: tablet, key_valid: 0
lcd: detect lcd_clk_path: 1
lcd: load config from dts
lcd: pinctrl_version: 2
lcd: use panel_type=lcd_0
lcd: bl: pinctrl_version: 2
lcd: bl: name: backlight_pwm, method: 1
lcd: bl: aml_bl_power_ctrl: 0
Net:   dwmac.ff3f0000
amlkey_init() enter!
amlkey_init() 71: already init!
[EFUSE_MSG]keynum is 1
MACADDR:02:00:00:0d:13:01(from chipid)

upgrade_step=0
reboot_mode:::: cold_boot

amlkey_init() enter!
amlkey_init() 71: already init!
[EFUSE_MSG]keynum is 1
[KM]Error:f[key_manage_query_size]L515:key[usid] not programed yet

mac address: c8:63:14:72:56:4b
[KM]Error:f[key_manage_query_size]L515:key[deviceid] not programed yet
edid preferred_mode is <NULL>[0]
hdr mode is 0
dv  mode is ver:0  len: 0
hdr10+ mode is 0
HDMI cable is NOT connected
hpd_state=0
[OSD]load fb addr from dts:/meson-fb
[OSD]load fb addr from dts:/fb
[OSD]set initrd_high: 0x7f800000
[OSD]fb_addr for logo: 0x7f800000
[OSD]load fb addr from dts:/meson-fb
[OSD]load fb addr from dts:/fb
[OSD]fb_addr for logo: 0x7f800000
[OSD]VPP_OFIFO_SIZE:0xfff01fff
[CANVAS]canvas init
[CANVAS]addr=0x7f800000 width=5760, height=2160
card out
** Bad device mmc 0 **
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **
1080138 bytes read in 44 ms (23.4 MiB/s)
[OSD]osd_hw.free_dst_data: 0,1079,0,1919
[OSD]osd1_update_disp_freescale_enable
cvbs: outputmode[panel] is invalid
hdmitx: outputmode[panel] is invalid
vpp: vpp_matrix_update: 0
vpp: g12a/b post2(bit12) matrix: YUV limit -> RGB ..............
lcd: enable: TS050, mipi, 1080x1920@47.6Hz
lcd: tablet driver init(ver 20180718): mipi
lcd: lcd_pll_wait_lock_g12a: path=1, pll_lock=1, wait_loop=1
vpp: vpp_init_lcd_gamma_table
lcd: pixel_clk = 120.000MHz, bit_rate = 960.000MHz, lanebyteclk = 120.000MHz
lcd:  Waiting STOP STATE LANE
lcd: dsi init on
lcd: bl: set level: 100, last level: 0
lcd: bl: aml_bl_power_ctrl: 1
lcd: clear mute
vpp: Rx hdr_info.hdr_sup_eotf_smpte_st_2084 = 0

amlkey_init() enter!
amlkey_init() 71: already init!
[EFUSE_MSG]keynum is 1
[KM]Error:f[key_manage_query_size]L515:key[usid] not programed yet

mac address: c8:63:14:72:56:4b
[KM]Error:f[key_manage_query_size]L515:key[deviceid] not programed yet
gpio: pin GPIOAO_7 (gpio 7) value is 1
saradc: 0x288, hw_ver: 0x32 (VIM3.V12)
Product checking: pass! Hardware version: VIM3.V12
normal power on
boot wol: disable
port mode is pcie
Hit Enter or space or Ctrl+C key to stop autoboot -- :  0 
pll tsensor avg: 0x20bc, u_efuse: 0x8014
temp1: 44
ddr tsensor avg: 0x20bd, u_efuse: 0x2a
temp2: 45
device cool done
cfgload: start ...
cfgload: reading /boot.ini from mmc 0:1 ...
card out
** Bad device mmc 0 **
cfgload: no /boot.ini or empty file on mmc 0:1
cfgload: reading /boot/boot.ini from mmc 0:1 ...
card out
** Bad device mmc 0 **
cfgload: no /boot/boot.ini or empty file on mmc 0:1
cfgload: reading /boot.ini from mmc 1:1 ...
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **
cfgload: no /boot.ini or empty file on mmc 1:1
cfgload: reading /boot/boot.ini from mmc 1:1 ...
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **
cfgload: no /boot/boot.ini or empty file on mmc 1:1
cfgload: reading /boot/boot.ini from mmc 1:5 ...
10279 bytes read in 4 ms (2.4 MiB/s)
cfgload: applying boot.ini...
[#] Script a:73e6c210 l:10259 c:0 s:0 - run
Starting boot.ini...
saradc: 0x288, hw_ver: 0x32 (VIM3.V12)

mac address: c8:63:14:72:56:4b
uboot type: vendor
Scanning mmc 0:1...
card out
** Bad device mmc 0 **
Scanning mmc 0:5...
card out
** Bad device mmc 0 **
Scanning mmc 1:1...
** Unrecognized filesystem type **
Scanning mmc 1:5...
10722115 bytes read in 307 ms (33.3 MiB/s)
** File not found zImage **
Scanning mmc 2:1...
MMC Device 2 not found
** Bad device mmc 2 **
Scanning mmc 2:5...
MMC Device 2 not found
** Bad device mmc 2 **
Scanning usb 0:1...
** Bad device usb 0 **
Scanning usb 1:1...
** Bad device usb 1 **
Scanning usb 2:1...
** Bad device usb 2 **
Scanning usb 3:1...
** Bad device usb 3 **
card out
** Bad device mmc 0 **
Failed to mount ext2 filesystem...
** Unrecognized filesystem type **
10452 bytes read in 6 ms (1.7 MiB/s)
## Executing script at 01020000
Starting S905 autoscript...
saradc: 0x289, hw_ver: 0x32 (VIM3.V12)
uboot type: vendor
Scanning mmc 0:1...
card out
** Bad device mmc 0 **
Scanning mmc 0:5...
card out
** Bad device mmc 0 **
Scanning mmc 1:1...
** Unrecognized filesystem type **
Scanning mmc 1:5...
10722115 bytes read in 307 ms (33.3 MiB/s)
** File not found zImage **
Scanning mmc 2:1...
MMC Device 2 not found
** Bad device mmc 2 **
Scanning mmc 2:5...
MMC Device 2 not found
** Bad device mmc 2 **
Scanning usb 0:1...
** Bad device usb 0 **
Scanning usb 1:1...
** Bad device usb 1 **
Scanning usb 2:1...
** Bad device usb 2 **
Scanning usb 3:1...
** Bad device usb 3 **
** File not found zImage **
10722115 bytes read in 307 ms (33.3 MiB/s)
** File not found dtb.img **
Bad Linux ARM64 Image magic!
** Unrecognized filesystem type **
** Unrecognized filesystem type **
** Unrecognized filesystem type **
** Unrecognized filesystem type **
** Unrecognized filesystem type **
** Partition 6 not found on device 1 **
** Invalid partition 6 **
** Partition 7 not found on device 1 **
** Invalid partition 7 **
** Partition 8 not found on device 1 **
** Invalid partition 8 **
** Partition 9 not found on device 1 **
** Invalid partition 9 **
** Partition 10 not found on device 1 **
** Invalid partition 10 **
** Partition 11 not found on device 1 **
** Invalid partition 11 **
** Partition 12 not found on device 1 **
** Invalid partition 12 **
** Partition 13 not found on device 1 **
** Invalid partition 13 **
** Partition 14 not found on device 1 **
** Invalid partition 14 **
** Partition 15 not found on device 1 **
** Invalid partition 15 **
** Partition 16 not found on device 1 **
** Invalid partition 16 **
** Partition 17 not found on device 1 **
** Invalid partition 17 **
** Partition 18 not found on device 1 **
** Invalid partition 18 **
** Partition 19 not found on device 1 **
** Invalid partition 19 **
** Partition 20 not found on device 1 **
** Invalid partition 20 **
** Partition 21 not found on device 1 **
** Invalid partition 21 **
** Partition 22 not found on device 1 **
** Invalid partition 22 **
** Partition 23 not found on device 1 **
** Invalid partition 23 **
** Partition 24 not found on device 1 **
** Invalid partition 24 **
InUsbBurn
noSof
sof timeout, reset usb phy tuning
card out
[MSG]mmcinfo failed!
card out
(Re)start USB...
USB0:   USB3.0 XHCI init start
Register 3000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
scanning bus 0 for devices... 2 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
** Bad device usb 0 **
** Bad device usb 0 **
Start read misc partition datas!
Cannot find dev.
amlmmc cmd <NULL> failed 

store - STORE sub-system

Usage:
store init flag
store read name addr off|partition size
    read 'size' bytes starting at offset 'off'
    to/from memory address 'addr', skipping bad blocks.
store write name addr off|partition size
    write 'size' bytes starting at offset 'off'
    to/from memory address 'addr', skipping bad blocks.
store rom_write add off size.
        write uboot to the boot device
store erase boot/data: 
        erase the area which is uboot or data 
store erase partition <partition_name>: 
        erase the area which partition in u-boot 
store erase dtb 
store erase key 
store disprotect key 
store rom_protect on/off 
store scrub off|partition size
        scrub the area from offset and size 
store dtb iread/read/write addr <size>
        read/write dtb, size is optional 
store key read/write addr <size>
        read/write key, size is optional 
store ddr_parameter read/write addr <size>
        read/write ddr parameter, size is optional 
store mbr addr
   update mbr/partition table by dtb

[burnup]Err:store_read_ops,L84:cmd failed, ret=1, [store  read misc 0x73e3ab90  0x0  0x820]
failed to store read misc.
info->magic = 
info->version_major = 0
info->version_minor = 0
info->slots[0].priority = 0
info->slots[0].tries_remaining = 0
info->slots[0].successful_boot = 0
info->slots[1].priority = 0
info->slots[1].tries_remaining = 0
info->slots[1].successful_boot = 0
info->crc32 = 0
Magic  is incorrect.
boot-info is invalid. Resetting.
save boot-info 
info->magic = 
info->version_major = 1
info->version_minor = 0
info->slots[0].priority = 15
info->slots[0].tries_remaining = 7
info->slots[0].successful_boot = 0
info->slots[1].priority = 14
info->slots[1].tries_remaining = 7
info->slots[1].successful_boot = 0
info->crc32 = -1075449479
Cannot find dev.
amlmmc cmd <NULL> failed 

store - STORE sub-system

Usage:
store init flag
store read name addr off|partition size
    read 'size' bytes starting at offset 'off'
    to/from memory address 'addr', skipping bad blocks.
store write name addr off|partition size
    write 'size' bytes starting at offset 'off'
    to/from memory address 'addr', skipping bad blocks.
store rom_write add off size.
        write uboot to the boot device
store erase boot/data: 
        erase the area which is uboot or data 
store erase partition <partition_name>: 
        erase the area which partition in u-boot 
store erase dtb 
store erase key 
store disprotect key 
store rom_protect on/off 
store scrub off|partition size
        scrub the area from offset and size 
store dtb iread/read/write addr <size>
        read/write dtb, size is optional 
store key read/write addr <size>
        read/write key, size is optional 
store ddr_parameter read/write addr <size>
        read/write ddr parameter, size is optional 
store mbr addr
   update mbr/partition table by dtb

[burnup]Err:store_write_ops,L148:cmd [store  write misc 0x73e3ab90  0x0  0x820] failed active slot = 0
active_slot: normal
Cannot find dev.
amlmmc cmd <NULL> failed 

store - STORE sub-system

Usage:
store init flag
store read name addr off|partition size
    read 'size' bytes starting at offset 'off'
    to/from memory address 'addr', skipping bad blocks.
store write name addr off|partition size
    write 'size' bytes starting at offset 'off'
    to/from memory address 'addr', skipping bad blocks.
store rom_write add off size.
        write uboot to the boot device
store erase boot/data: 
        erase the area which is uboot or data 
store erase partition <partition_name>: 
        erase the area which partition in u-boot 
store erase dtb 
store erase key 
store disprotect key 
store rom_protect on/off 
store scrub off|partition size
        scrub the area from offset and size 
store dtb iread/read/write addr <size>
        read/write dtb, size is optional 
store key read/write addr <size>
        read/write key, size is optional 
store ddr_parameter read/write addr <size>
        read/write ddr parameter, size is optional 
store mbr addr
   update mbr/partition table by dtb

[burnup]Err:store_read_ops,L84:cmd failed, ret=1, [store  read recovery 0x1080000  0x0  0x100000]
Err imgread(L328):Fail to read 0x100000B from part[recovery] at offset 0

这种情况我要怎么修复呢?

@locke 你的设备是什么系统?或许你可以试下重新升级下固件看看。

使用的是ubuntu的系统,想知道是什么原因导致的。这个块板子在使用过程中出现这样的情况,担心出厂的设备中也存在这样的情况。

Hello @locke

从log来看是启动文件丢失了。你对系统做了什么操作吗?是否有读写时异常断电的操作等?

板子是空载着,那天想连接上去看看,结果发现链接不上了。如果说有操作的话,唯一的操作就是对设备进行断电了一次。断电后接上串口看输出了。不过断电前并没有看到串口是否正常工作。

最终还是选择了重新烧录系统了。不过我想知道如果出现这样的情况的话有方法补救回来吗?或者说有机会把里面的数据拷贝出来吗?