您好,我有一个受阻的4G LTE路由器。而且我之前已经通过telnet从同一型号的另一台设备上转储了分区。

我将linux.bin映像刷新到了相应的分区,但是我不知道我需要做什么才能使设备重新工作。也许从U-Boot闪烁就可以正常工作。

这是TFTP的启动过程信息:

    U-Boot 2010.09 (Sep 06 2016 - 10:08:39)GCT GDM7243



Build Info:

  date: 2016/09/06-10:08:44

  user: root@ubuntu-will

  svnr: 

  src: /home/will/DEVELOPMENT/LTE_Router/B5328_FDD/SDK/work/uboot

  ver: 0.46e



DRAM:  128 MiB (wbd-p2)

NAND:  Built-in ECC Nand
maf_id : 0x00000098, dev_id : 0x000000a1
Pagesize : 2Kbytes
Address cycle : 4
128 MiB
Bad block table found at page 65472, version 0x01
Bad block table found at page 65408, version 0x01
nand_read_bbt: Bad block at 0x000006000000
In:    serial
Out:   serial
Err:   serial
Net:    001cc910 Realtek8211  PHYCR1: 0000211c  Rx delay: 0x00802300 
    PHYCR2:0x842  mii0
Hit ENTER key to stop autoboot:  5  4  3  2  1  0 
GPIO RESET KEY OFF
00420000
---------------------
hdr chksum  : 0xffffffff
magic       : 0xffffffff
timstamp    : 0xffffffff
data chksum : 0xffffffff
data size   : 0xffffffff
---------------------
image header magic is invalid
00440000
---------------------
hdr chksum  : 0xa6160741
magic       : 0xcafebabe
timstamp    : 0x00000003
data chksum : 0xf314f304
data size   : 0x0001ffdc
---------------------
cmnnv current block is : 1
pesifwcheck=1
Erasing Nand...

Erasing at 0x80000 --  25% complete.
Erasing at 0xa0000 --  50% complete.
Erasing at 0xc0000 --  75% complete.
Erasing at 0xe0000 -- 100% complete.
Writing to Nand... done

boot from part_idx: 2
do_check_partition() type:linux2, ---------------------
hdr chksum  : 0x00000000
magic       : 0x00000000
timstamp    : 0x00000000
data chksum : 0x00000000
data size   : 0x00000000
---------------------
---------------------
hdr chksum  : 0x00000000
magic       : 0x00000000
timstamp    : 0x00000000
data chksum : 0x00000000
data size   : 0x00000000
---------------------
no valid header(0)
There are no valid headers
---------------------
hdr chksum  : 0x00000000
magic       : 0x00000000
timstamp    : 0x00000000
data chksum : 0x00000000
data size   : 0x00000000
---------------------
---------------------
hdr chksum  : 0x00000000
magic       : 0x00000000
timstamp    : 0x00000000
data chksum : 0x00000000
data size   : 0x00000000
---------------------
no valid header(1)
There are no valid headers
Erasing Nand...

Erasing at 0x80000 --  25% complete.
Erasing at 0xa0000 --  50% complete.
Erasing at 0xc0000 --  75% complete.
Erasing at 0xe0000 -- 100% complete.
Writing to Nand... done

---------------------
hdr chksum  : 0x00000000
magic       : 0x00000000
timstamp    : 0x00000000
data chksum : 0x00000000
data size   : 0x00000000
---------------------
---------------------
hdr chksum  : 0x00000000
magic       : 0x00000000
timstamp    : 0x00000000
data chksum : 0x00000000
data size   : 0x00000000
---------------------
no valid header(0)
---------------------
hdr chksum  : 0x00000000
magic       : 0x00000000
timstamp    : 0x00000000
data chksum : 0x00000000
data size   : 0x00000000
---------------------
---------------------
hdr chksum  : 0x00000000
magic       : 0x00000000
timstamp    : 0x00000000
data chksum : 0x00000000
data size   : 0x00000000
---------------------
no valid header(2)
---------------------
hdr chksum  : 0x00000000
magic       : 0x00000000
timstamp    : 0x00000000
data chksum : 0x00000000
data size   : 0x00000000
---------------------
---------------------
hdr chksum  : 0x00000000
magic       : 0x00000000
timstamp    : 0x00000000
data chksum : 0x00000000
data size   : 0x00000000
---------------------
  ## Booting kernel from Legacy Image at d05fffc0 ...
   Image Name:   Linux-3.10.0-uc0
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2317840 Bytes = 2.2 MiB
   Load Address: d0600000
   Entry Point:  d0600000
   Verifying Checksum ... Bad Data CRC
ERROR: can't get kernel image!


评论

嗨,欢迎来到RE.SE。这是界外话题。但是我很同情我去过那里。您是否检查了(U-Boot)环境?通常,校验和将存储在此处。尝试将“砖”设备上的校验和值设置为正常工作的设备的值(假设这是您要引导的内核)。我在这里可能是完全错误的,但是我的设备可以那样工作。校验和就是:一种检查内核映像完整性的方法,而不是主要用于篡改设备。或者,在加载内核的地址上尝试U-Boot的crc32命令。

要显示环境,请尝试printenv并确保您具有有效的U-Boot映像(file命令可能有帮助)。 setenv和saveenv可用于操纵环境并保存您的更改。

#1 楼

kernel_load_addr=0xd0600000
filesize=400000


然后重置设备。它应该工作。

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
gipc-protocol address: d4880010
ipc config: 00000004
  router-device
s-ch_enabled: 0x10010001
s-ch_enabled: 0x10010001
s-ch_enabled: 0x10010001
ipc magic=0x40540103(12)
s-ch_enabled: 0x10010003


第二次重新引导后问题仍然存在。
如果在输入这些命令后重新启动,则设备实际上可以正常启动,但是如果我第二次重新启动,该错误将重新出现。仍然需要对此问题进行调查。