прошу помощи в восстановлении XM NBD7804T-F

saffers
Сообщения: 11
Зарегистрирован: 07 апр 2017, 00:53

Re: прошу помощи в восстановлении XM NBD7804T-F

Сообщение saffers » 08 апр 2017, 14:41

Код: Выделить всё

U-Boot 2010.06-svn198 (Dec 08 2014 - 09:53:48)

Check spi flash controller v350... Found
Spi(cs1) ID: 0xC2 0x20 0x17 0xC2 0x20 0x17
Spi(cs1): Block:64KB Chip:8MB Name:"MX25L6406E"
envcrc 0xdaa32b8b
ENV_SIZE = 0xfffc
In:    serial
Out:   serial
Err:   serial
USB:   scanning bus for devices... 1 USB Device(s) found
0 Storage Device(s) found
Press CTRL-C to abort autoboot in 0 seconds8192 KiB hi_sfc at 0:0 is now current device

CFG_BOOT_ADDR:0x0
0ff:0x84000000
### /UbootLogo UbootLogoload complete: 21986 bytes loaded to 0x8e800000
jpeg decoding ...
<<addr=0x8e800000, size=0xb85f9, vobuf=0x8e800000>>
<<imgwidth=800, imgheight=600, linebytes=1600>>
decode success!!!!
decode jpeg success.
decode jpeg!

srcAddr 0x82000000, dstAddr 0x82000000
find_squashfs_file: name bin, start_block 0, offset 1284, type 1
find_squashfs_file: name boot, start_block 0, offset 1376, type 1
read inode: name boot, sb 0, of 1376, type 1
find_squashfs_file: name zImage.img, start_block 0, offset 1316, type 2
read inode: name zImage.img, sb 0, of 1316, type 2
### FS load complete: 1613452 bytes loaded to 0x82000000
## Booting kernel from Legacy Image at 82000000 ...
   Image Name:   linux
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1613388 Bytes = 1.5 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.



Код: Выделить всё

hisilicon # help
?       - alias for 'help'
base    - print or set address offset
boot    - boot default, i.e., run 'bootcmd'
bootd   - boot default, i.e., run 'bootcmd'
bootm   - boot application image from memory
bootp   - boot image via network using BOOTP/TFTP protocol
cmp     - memory compare
cp      - memory copy
crc32   - checksum calculation
decjpg  - jpgd   - decode jpeg picture.

ext2load- load binary file from a Ext2 filesystem
ext2ls  - list files in a directory (default /)
fatinfo - print information about filesystem
fatload - load binary file from a dos filesystem
fatls   - list files in a directory (default /)
fload   - fload  - load binary file from a filesystem image for system boot

flwrite - SPI flash sub-system
getinfo - print hardware information
go      - start application at address 'addr'
help    - print command description/usage
lload   - lload  - load logo file

loadb   - load binary file over serial line (kermit mode)
loady   - load binary file over serial line (ymodem mode)
logoload- logoload  - load binary file from a filesystem image for system boot

loop    - infinite loop on address range
md      - memory display
mii     - MII utility commands
mm      - memory modify (auto-incrementing address)
mtest   - simple RAM read/write test
mw      - memory write (fill)
nm      - memory modify (constant address)
ping    - send ICMP ECHO_REQUEST to network host
printenv- print environment variables
rarpboot- boot image via network using RARP/TFTP protocol
reset   - Perform RESET of the CPU
run     - run commands in an environment variable
saveenv - save environment variables to persistent storage
setenv  - set environment variables
setvobg - setvobg   - set vo backgroud color.
        - setvobg [dev color]
sf      - SPI flash sub-system
squashfsload- fsload  - load binary file from a filesystem image

startgx - startgx   - open graphics layer.
        - startgx [layer addr stride x y w h]

startvo - startvo   - open interface of vo device.
        - startvo [dev type sync]
stopgx  - stopgx   - close graphics layer.
        - stopgx [layer]
stopvo  - stopvo   - close interface of vo device.
        - stopvo [dev]
tftp    - tftp  - download or upload image via network using TFTP protocol
usb     - USB sub-system
usbboot - boot from USB device
version - print monitor version
hisilicon #




Код: Выделить всё

hisilicon # printenv
bootcmd=sf probe 0;sf read 84000000 770000 10000;logoload 84000000;decjpg;sf read 82000000 30000 400000;squashfsload 82000000;bootm 0x82000000
bootdelay=1
baudrate=115200
bootfile="uImage"
da=mw.b 0x82000000 ff 1000000;tftp 0x82000000 u-boot.bin.img;sf probe 0;flwrite
du=mw.b 0x82000000 ff 1000000;tftp 0x82000000 user-x.cramfs.img;sf probe 0;flwrite
dr=mw.b 0x82000000 ff 1000000;tftp 0x82000000 romfs-x.cramfs.img;sf probe 0;flwrite
dw=mw.b 0x82000000 ff 1000000;tftp 0x82000000 web-x.cramfs.img;sf probe 0;flwrite
dl=mw.b 0x82000000 ff 1000000;tftp 0x82000000 logo-x.cramfs.img;sf probe 0;flwrite
dc=mw.b 0x82000000 ff 1000000;tftp 0x82000000 custom-x.cramfs.img;sf probe 0;flwrite
up=mw.b 0x82000000 ff 1000000;tftp 0x82000000 update.img;sf probe 0;flwrite
tk=mw.b 0x82000000 ff 1000000;tftp 0x82000000 zImage.img; bootm 0x82000000
dd=mw.b 0x82000000 ff 1000000;tftp 0x82000000 mtd-x.jffs2.img;sf probe 0;flwrite
ethaddr=00:0b:3f:00:00:01
appVideoStandard=PAL
appSystemLanguage=English
filesize=6040
fileaddr=82000000
gatewayip=192.168.0.1
netmask=255.255.255.0
ipaddr=192.168.1.10
serverip=192.168.1.120
restore=1
bootargs=mem=48M console=ttyAMA0,115200 root=1f01 rootfstype=squashfs
stdin=serial
stdout=serial
stderr=serial
verify=n
ver=U-Boot 2010.06-svn198 (Dec 08 2014 - 09:53:48)

saffers
Сообщения: 11
Зарегистрирован: 07 апр 2017, 00:53

Re: прошу помощи в восстановлении XM NBD7804T-F

Сообщение saffers » 08 апр 2017, 15:26

продублирую еще сюда свои соображения.

Код: Выделить всё

bootcmd=sf probe 0;sf read 84000000 770000 10000;logoload 84000000;decjpg;sf read 82000000 30000 400000;squashfsload 82000000;bootm 0x82000000



sf read 82000000 30000 400000
в память загружается область начиная с 0х30000 размером 0х400000
хотя в области с 220000 по 5d0000 лежит область модуль user-x
а в модуле user-x лежит Sofia.tar.lzma (~2330Kb), modules.tar.lzma (~830Kb)

и получается, что не весь блок загружается в память.
Почему не мапится блок размером 0х740000 (30000 +740000 = 770000), как раз до logo? Или это не принципиально, главное, чтобы romfs загрузить...

Кажется, что правильным был бы вариант:
sf read 82000000 30000 740000

iTuneDVR
Сообщения: 3218
Зарегистрирован: 24 авг 2013, 11:05

Re: прошу помощи в восстановлении XM NBD7804T-F

Сообщение iTuneDVR » 08 апр 2017, 16:10

Вообщем-то, как и было озвучено, либо замена переменных окружения на оригинал, который я выдал выше, либо затереть ту область
начиная с 0x20000 до 0x2FFFF и восстановить по модульно с той первоначальной прошивке, про которую ты писал.

saffers
Сообщения: 11
Зарегистрирован: 07 апр 2017, 00:53

Re: прошу помощи в восстановлении XM NBD7804T-F

Сообщение saffers » 08 апр 2017, 17:47

Код: Выделить всё

hisilicon # printenv
bootcmd=sf probe 0;sf read 84000000 770000 10000;logoload 84000000;decjpg;sf read 82000000 30000 400000;squashfsload 82000000;bootm 0x82000000
bootdelay=1
baudrate=115200
bootfile="uImage"
da=mw.b 0x82000000 ff 1000000;tftp 0x82000000 u-boot.bin.img;sf probe 0;flwrite
du=mw.b 0x82000000 ff 1000000;tftp 0x82000000 user-x.cramfs.img;sf probe 0;flwrite
dr=mw.b 0x82000000 ff 1000000;tftp 0x82000000 romfs-x.cramfs.img;sf probe 0;flwrite
dw=mw.b 0x82000000 ff 1000000;tftp 0x82000000 web-x.cramfs.img;sf probe 0;flwrite
dl=mw.b 0x82000000 ff 1000000;tftp 0x82000000 logo-x.cramfs.img;sf probe 0;flwrite
dc=mw.b 0x82000000 ff 1000000;tftp 0x82000000 custom-x.cramfs.img;sf probe 0;flwrite
up=mw.b 0x82000000 ff 1000000;tftp 0x82000000 update.img;sf probe 0;flwrite
tk=mw.b 0x82000000 ff 1000000;tftp 0x82000000 zImage.img; bootm 0x82000000
dd=mw.b 0x82000000 ff 1000000;tftp 0x82000000 mtd-x.jffs2.img;sf probe 0;flwrite
ethaddr=00:0b:3f:00:00:01
appVideoStandard=PAL
appSystemLanguage=English
filesize=6040
fileaddr=82000000
gatewayip=192.168.0.1
netmask=255.255.255.0
ipaddr=192.168.1.10
serverip=192.168.1.120
restore=1
bootargs=mem=104M console=ttyAMA0,115200 root=1f01 rootfstype=squashfs
mtdparts=hi_sfc:192K(boot),1984K(romfs),3776K(usr),1664K(custom),64K(logo),512K(mtd)
stdin=serial
stdout=serial
stderr=serial
verify=n
ver=U-Boot 2010.06-svn198 (Dec 08 2014 - 09:53:48)


восстановил параметры bootargs и mtdparts, но пока без толку... сравнивал в экселе строчки.
это можно считать восстановлением?
не грузится девайс дальше логотипа.

вы, как получили дефолтные значения Environment, их в дампе не видел?

saffers
Сообщения: 11
Зарегистрирован: 07 апр 2017, 00:53

Re: прошу помощи в восстановлении XM NBD7804T-F

Сообщение saffers » 08 апр 2017, 17:56

прошивку ставить по-модульно лучше той версии, которая у меня работала?
SimpGeneral_General_NBD7804T-F_V4.02.R11.20150623 (1).bin
хотя я доподлинно не знаю, код этой прошивки был залит или отличной, но дата совпадает 20150623, как выдавал NVR

iTuneDVR
Сообщения: 3218
Зарегистрирован: 24 авг 2013, 11:05

Re: прошу помощи в восстановлении XM NBD7804T-F

Сообщение iTuneDVR » 08 апр 2017, 18:12

saffers писал(а):Стояла версия V4.02.R11.00031118.12001.130000 от 2015-06-23.


Я отталкиваюсь от модели оборудования указанной тобой вначале. №118
По ней и предложил название прошивки в найденной мной прошивки в своём архиве.

Модель не новая и тогда еще в регистраторах были отдельные крипточипы, и во флеше отсутствует шифрованны блок.

iTuneDVR
Сообщения: 3218
Зарегистрирован: 24 авг 2013, 11:05

Re: прошу помощи в восстановлении XM NBD7804T-F

Сообщение iTuneDVR » 08 апр 2017, 18:24

saffers писал(а):восстановил параметры bootargs и mtdparts, но пока без толку... сравнивал в экселе строчки.

Сравнивают обычно построчно и визуаотно в данном случае. Порядок следования строк не так важен, но ....

saffers писал(а):это можно считать восстановлением?
не грузится девайс дальше логотипа.

Не грузится он может по разным причинам, далеко не связанным с этим образом.

Сама предистория непонятна, зачем?
Напрямую прошивку не обновить, только если подправив немного...
Зачем???

saffers писал(а):вы, как получили дефолтные значения Environment, их в дампе не видел?

Разобрал и получил. ;)
Предлагаю зачистить переменные окружения и перезагрузить. Они должны восстановиться.
С остальным надо думать.

saffers
Сообщения: 11
Зарегистрирован: 07 апр 2017, 00:53

Re: прошу помощи в восстановлении XM NBD7804T-F

Сообщение saffers » 08 апр 2017, 18:43

сейчас слил еще раз всю память флеша, там у меня еще сейчас стоит V4.02.R11.00031118.12001.130000 от 2015-06-23
winhex'ом посчитал хэш-сумму блоков rom-fs,user,custom в отдельности c данными из модулей прошивки.
Все совпадает, т.е. заливается и сливается без повреждений. Думал в процессе заливки модулей, может что-то портится из-за скрытых проблем в чипе.

По вашему совету буду еще пробовать стереть переменные окружения.

А в каком формате хранится загрузчик, тоже интересно стало его разобрать?

iTuneDVR
Сообщения: 3218
Зарегистрирован: 24 авг 2013, 11:05

Re: прошу помощи в восстановлении XM NBD7804T-F

Сообщение iTuneDVR » 08 апр 2017, 18:57

Может быть немного торопишься и надо просто дождаться.
Сотри переменные при восстановленном всём остальном и подожди и наблюдай, даже если сам пойдёт в перезагрузку.
Конечно, у тебя зачищен раздел с данными, но ...

saffers
Сообщения: 11
Зарегистрирован: 07 апр 2017, 00:53

Re: прошу помощи в восстановлении XM NBD7804T-F

Сообщение saffers » 08 апр 2017, 19:21

Ура!!!!!!! ЗАРАБОТАЛО!!!!

значения из Environment теперь такие:

Код: Выделить всё

hisilicon #
hisilicon # printenv
bootcmd=sf probe 0;sf read 84000000 770000 10000;logoload 84000000;decjpg;sf read 82000000 30000 400000;squashfsload 82000000;bootm 0x82000000
bootdelay=1
baudrate=115200
ethaddr=00:0b:3f:00:00:01
ipaddr=192.168.1.10
serverip=192.168.1.1
netmask=255.255.255.0
bootfile="uImage"
da=mw.b 0x82000000 ff 0x1000000;tftp 0x82000000 u-boot.bin.img;sf probe 0;flwrite
du=mw.b 0x82000000 ff 0x1000000;tftp 0x82000000 user-x.cramfs.img;sf probe 0;flwrite
dr=mw.b 0x82000000 ff 0x1000000;tftp 0x82000000 romfs-x.cramfs.img;sf probe 0;flwrite
dw=mw.b 0x82000000 ff 0x1000000;tftp 0x82000000 web-x.cramfs.img;sf probe 0;flwrite
dl=mw.b 0x82000000 ff 0x1000000;tftp 0x82000000 logo-x.cramfs.img;sf probe 0;flwrite
dc=mw.b 0x82000000 ff 0x1000000;tftp 0x82000000 custom-x.cramfs.img;sf probe 0;flwrite
up=mw.b 0x82000000 ff 0x1000000;tftp 0x82000000 update.img;sf probe 0;flwrite
tk=mw.b 0x82000000 ff 0x1000000;tftp 0x82000000 zImage.img; bootm 0x82000000
dd=mw.b 0x82000000 ff 0x1000000;tftp 0x82000000 mtd-x.jffs2.img;sf probe 0;flwrite
bootargs=mem=82M console=ttyAMA0,115200 root=1f01 rootfstype=squashfs mtdparts=hi_sfc:192K(boot),1984K(romfs),3776K(usr),1664K(custom),64K(logo),512K(mtd)
appSystemLanguage=SimpChinese
appVideoStandard=PAL
stdin=serial
stdout=serial
stderr=serial
verify=n
ver=U-Boot 2010.06-svn198 (Dec 08 2014 - 09:53:48)


mac после загрузки Линукса изменяется, не такой, какой в U-boot.

Огромное СПАСИБО!
iTuneDVR - Вы настоящий эксперт!


Вернуться в «Видеорегистраторы XM»