MBD6016E-E прошивка дампа

Вопросы по восстановлению, настройке, апгрейду, прошивкам и т.п.
igorjastiy
Новичок
Сообщения: 8
Зарегистрирован: 12 дек 2015, 20:30

MBD6016E-E прошивка дампа

Сообщение igorjastiy » 12 дек 2015, 21:03

Здравствуйте уважаемые хранители форума.
Досталось 2 16-ти канальных регистратора на базе MBD6016E-E (отличие только корпусов), чип HI3531.
Первый регистратор работал нестабильно, перезагружался хаотично. Была залита прошивка по совету продавца. Результат - полное отсутствие видео на каналах. Загружается в штатном режиме. Заливка других прошивок для платформы MBD6016E-E положительного результата не принесло. Я сделал дампы c рабочего регистратора с 16 мб флешки (MX25L12845EMI-10G) из telnet'а:
mtdblock0 (512 kb) - boot, загрузчик u-boot 0x82000000
mtdblock1 (4096 kb) - romfs, romfs-x.cramfs.img
mtdblock2 (5632 kb) - usr, user-x.cramfs.img
mtdblock3 (1536 kb) - web, web-x.cramfs.img
mtdblock4 (3072 kb) - custom, custom-x.cramfs.img
mtdblock5 (256 kb) - logo, logo-x.cramfs.img, логотип при загрузке
mtdblock6 (1280 kb) - mtd
Подскажите пожалуйста, как правильно через UART записать блоки дампов (1-5), по каким адресам заливать, чтобы загрузчик не тронуть?

u-boot:

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

U-Boot 2010.06 (May 24 2012 - 10:35:50)

DRAM:  256 MiB
NAND:  Special Nand id table Version 1.35
Nand ID: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
No NAND device found!!!
0 MiB
Spi(cs1) ID: 0xC2 0x20 0x18 0xC2 0x20 0x18
Spi(cs1): Block:64KB Chip:16MB Name:"MX25L128"
envcrc 0x69bb2370
ENV_SIZE = 0x3fffc
In:    serial
Out:   serial
Err:   serial
PHY 0x02: OUI = 0x01F0, Model = 0x0F, Rev = 0x01, MAC:   00-0C-9F-A0-DD-0F
user init finish.
Press CTRL-C to abort autoboot in 0 secondsCFG_BOOT_ADDR:0x58080000
### boot load complete: 3006876 bytes loaded to 0x82000000
### SAVE TO 80008000 !
## Booting kernel from Legacy Image at 82000000 ...
   Image Name:   linux
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3006812 Bytes = 2.9 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
вот так, кратенько.

help:

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

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.

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
lip     - lip      - set local ip address but not save to flash

lload   - lload  - load logo file

loadb   - load binary file over serial line (kermit mode)
loady   - load binary file over serial line (ymodem mode)
loop    - infinite loop on address range
mac     - mac      - set mac address and save to flash

md      - memory display
mii     - MII utility commands
mm      - memory modify (auto-incrementing address)
mtest   - simple RAM read/write test
mw      - memory write (fill)
nand    - NAND sub-system
nboot   - boot from NAND device
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
sf      - SPI flash sub-system
sip     - sip      - set server ip address but not save to flash

tftp    - tftp  - download or upload image via network using TFTP protocol
version - print monitor version
printenv:

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

hisilicon # printenv
bootcmd=lload;fload;bootm 0x82000000
bootdelay=1
baudrate=115200
bootfile="uImage"
da=tftp 0x82000000 u-boot.bin.img;sf probe 0;flwrite
du=tftp 0x82000000 user-x.cramfs.img;sf probe 0;flwrite
dr=tftp 0x82000000 romfs-x.cramfs.img;sf probe 0;flwrite
dw=tftp 0x82000000 web-x.cramfs.img;sf probe 0;flwrite
dl=tftp 0x82000000 logo-x.cramfs.img;sf probe 0;flwrite
dc=tftp 0x82000000 custom-x.cramfs.img;sf probe 0;flwrite
up=tftp 0x82000000 update.img;sf probe 0;flwrite
tk=tftp 0x82000000 zImage.img; bootm 0x82000000
dd=tftp 0x82000000 mtd-x.jffs2.img;sf probe 0;flwrite
filesize=286C4
ipaddr=192.168.1.10
serverip=192.168.1.1
netmask=255.255.0.0
gatewayip=192.168.0.1
ethaddr=00:0c:9f:a0:dd:0f
appSystemLanguage=Russian
appVideoStandard=PAL
bootargs=mem=120M console=ttyAMA0,115200 root=1f01 rootfstype=cramfs mtdparts=hi
_sfc:512K(boot),4M(romfs),5632K(usr),1536K(web),3M(custom),256K(logo),1280K(mtd)

dh_keyboard=0
stdin=serial
stdout=serial
stderr=serial
verify=n
ver=U-Boot 2010.06 (May 24 2012 - 10:35:50)

Environment size: 1009/262140 bytes
PS: Программатора пока нет. Заранее благодарю за подсказки!

igorjastiy
Новичок
Сообщения: 8
Зарегистрирован: 12 дек 2015, 20:30

Re: MBD6016E-E прошивка дампа

Сообщение igorjastiy » 12 дек 2015, 21:13

фото платы:
https://cloud.mail.ru/public/43Bo/mdXHa3euw" onclick="window.open(this.href);return false;

iTuneDVR

Re: MBD6016E-E прошивка дампа

Сообщение iTuneDVR » 12 дек 2015, 21:42

Начни с версии и дата рабочей прошивки и той что стоит, но без видео?
Проще найти подходящую прошивку (divitec, polyvision,xiongmaitech) и штатно обновить, видимо не из новых версий.
Рабочий дамп и дамп с другого регистраторы были бы полезней!

igorjastiy
Новичок
Сообщения: 8
Зарегистрирован: 12 дек 2015, 20:30

Re: MBD6016E-E прошивка дампа

Сообщение igorjastiy » 12 дек 2015, 22:05

iTuneDVR писал(а):Начни с версии и дата рабочей прошивки и той что стоит, но без видео?
Проще найти подходящую прошивку (divitec, polyvision,xiongmaitech) и штатно обновить, видимо не из новых версий.
Рабочий дамп и дамп с другого регистраторы были бы полезней!
Перед сменой прошивки на первом регистраторе была переписана только версия (V4.00.R10.08427054.0 на втором V4.00.R10.08400053.0). Такой я нигде не нашел. Все прошивки, что удалось мне найти от разных производителей - перепробовал (General, Polyvision, Dahua, Kaopu, NVR и чисто китайские). Результат отрицательный - сетка есть, картинки с камер не отображаются. Снял дампы с рабочего, вкуриваю, как их залить без программатора. Из телнета нашел диапазон адресов:
mtdblock0 0x000000000000-0x000000080000 (512 kb) - boot, загрузчик u-boot 0x82000000
mtdblock1 0x000000080000-0x000000480000 (4096 kb) - romfs, romfs-x.cramfs.img
mtdblock2 0x000000480000-0x000000a00000 (5632 kb) - usr, user-x.cramfs.img (4965 kb)
mtdblock3 0x000000a00000-0x000000b80000 (1536 kb) - web, web-x.cramfs.img (1269 kb)
mtdblock4 0x000000b80000-0x000000e80000 (3072 kb) - custom, custom-x.cramfs.img (2953 kb)
mtdblock5 0x000000e80000-0x000000ec0000 (256 kb) - logo, logo-x.cramfs.img, логотип при загрузке (размер 17 кб!!!)
mtdblock6 0x000000ec0000-0x000001000000 (1280 kb) - mtd

igorjastiy
Новичок
Сообщения: 8
Зарегистрирован: 12 дек 2015, 20:30

Re: MBD6016E-E прошивка дампа

Сообщение igorjastiy » 12 дек 2015, 22:54

Друзья, подскажите пожалуйста, как правильно зашить блоки дампов по адресам выше.

igorjastiy
Новичок
Сообщения: 8
Зарегистрирован: 12 дек 2015, 20:30

Re: MBD6016E-E прошивка дампа

Сообщение igorjastiy » 13 дек 2015, 04:26

Разобрался. Вот так:
mw.b 82000000 ff 400000; tftp 82000000 mtdblock1; sf probe 0; sf erase 80000 400000; sf write 82000000 80000 400000
где,
mw.b 82000000 ff 400000 - выделение оперативной памяти под 400000 hex или 4194304 байт /1024 = 4096 Кбайт соответственно с адреса 0x82000000.
tftp 82000000 mtdblock1 - загрузка дампа "mtdblock1" в оперативную память.
sf probe 0 - включаем flash для работы.
sf erase 80000 400000 - стирание данных flash начиная с адреса 0x000000080000 по адрес 0x000000480000, 480000h - 80000h = 400000h или 4096 Кбайт.
sf write 82000000 80000 400000 - запись из оперативной памяти во flash.

U-Boot сам перезапускается через минуту, несмотря на то, что идет запись во flash. Поэтому заливал 4 раза блоками вот так:

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

mw.b 82000000 ff 580000; tftp 82000000 mtdblock2; sf probe 0; sf erase 480000 580000; sf write 82000000 480000 580000; reset
mw.b 82000000 ff 180000; tftp 82000000 mtdblock3; sf probe 0; sf erase a00000 180000; sf write 82000000 a00000 180000; reset
mw.b 82000000 ff 300000; tftp 82000000 mtdblock4; sf probe 0; sf erase b80000 300000; sf write 82000000 b80000 300000; reset
mw.b 82000000 ff 40000; tftp 82000000 mtdblock5; sf probe 0; sf erase e80000 40000; sf write 82000000 e80000 40000; reset

в итоге регистратор висит на цветном градиенте, но telnet работает, вот, что пишет:
...
VFS: Mounted root (cramfs filesystem) readonly on device 31:1.
Freeing init memory: 176K
udevd (600): /proc/600/oom_adj is deprecated, please use /proc/600/oom_score_adj
 instead.
Hisilicon Media Memory Zone Manager
ERROR: Conflict MMZ:
PHYS(0x86400000, 0x8FEFFFFF), GFP=0, nBYTES=158720KB,   NAME="anonymous"
MMZ conflict to kernel memory (0x80000000, 0x877FFFFF)
Add MMZ failed: PHYS(0x86400000, 0x8FEFFFFF), GFP=0, nBYTES=158720KB,   NAME="an
onymous"
hi3531_base: module license 'Proprietary' taints kernel.
Disabling lock debugging due to kernel taint
Hisilicon UMAP device driver interface: v3.00
load sys.ko for Hi3531...OK!
hi3531_dsu: Unknown symbol TdeOsiMbBlit (err 0)
hi3531_dsu: Unknown symbol TdeOsiMb2Mb (err 0)
hi3531_dsu: Unknown symbol TdeOsiCancelJob (err 0)
hi3531_dsu: Unknown symbol TdeOsiOpen (err 0)
hi3531_dsu: Unknown symbol TdeOsiOsd2Mb (err 0)
hi3531_dsu: Unknown symbol TdeOsiEndJob (err 0)
hi3531_dsu: Unknown symbol TdeOsiClose (err 0)
hi3531_dsu: Unknown symbol TdeOsiMbFill (err 0)
hi3531_dsu: Unknown symbol TdeOsiGetFiltParam (err 0)
hi3531_dsu: Unknown symbol TdeOsiBeginJobEx (err 0)
hi3531_dsu: Unknown symbol TdeOsiSetFiltParam (err 0)
hi3531_dsu: Unknown symbol TdeOsiMemRequest (err 0)
hi3531_dsu: Unknown symbol TdeOsiRegisterMemManage (err 0)
hi3531_dsu: Unknown symbol TdeOsiGetJobNumInFifo (err 0)
load group.ko success.
load rc.ko ....OK!
load mpeg4e.ko success.
load vou.ko ....OK!
load vpss.ko ....OK!
load region.ko ....OK!
load vda.ko ....OK!
hifb: Unknown symbol TdeOsiCancelJob (err 0)
hifb: Unknown symbol TdeOsiOpen (err 0)
hifb: Unknown symbol TdeOsiEndJob (err 0)
hifb: Unknown symbol TdeOsiClose (err 0)
hifb: Unknown symbol tde_get_procentry (err 0)
hifb: Unknown symbol TdeOsiBlit (err 0)
hifb: Unknown symbol TdeOsiBeginJob (err 0)
hifb: Unknown symbol TdeOsiEnableRegionDeflicker (err 0)
load vdec.ko ....OK
load vhd firmware.ko OK
load hdmi.ko ....OK!
FVIDEO driver init start ...
FVIDEO - MOD_SET_REG39 = 0
fvideo driver init successful!
hirtc driver init successful!
Kernel: ssp initial ok!
Hisilicon Watchdog Timer: 0.01 initialized. default_margin=60 sec (nowayout= 0,
nodeamon= 1)
rtusb init rt2870 --->
usbcore: registered new interface driver rt2870
[MTZ TEST Success]
[MTZ TEST Success]
MACADDR in set is 0:c:9f:a0:dd:f
oui = 0x1f0
PHY: 1:02 - Link is Up - 100/Full
[MTZ TEST Success]
hidog_ioctl
hidog_ioctl
[root@(none) /]$
а посему вопрос - настройки лежат в другой flash (AT88SC0104CA) ??? или все-таки регистраторы разные? память? что-то я не догоняю... подскажите пожалуйста.

iTuneDVR

Re: MBD6016E-E прошивка дампа

Сообщение iTuneDVR » 13 дек 2015, 14:37

igorjastiy писал(а):Перед сменой прошивки на первом регистраторе была переписана только версия (V4.00.R10.08427054.0 на втором V4.00.R10.08400053.0). Такой я нигде не нашел. Все прошивки, что удалось мне найти от разных производителей - перепробовал (General, Polyvision, Dahua, Kaopu, NVR и чисто китайские). Результат отрицательный - сетка есть, картинки с камер не отображаются.
Видимо не те пробовал.
Я просил указать еще и дату прошивки, помимо релиза!!!

У тебя старые релизы R10, а ты пытаешься наверное R11 ставить и наверное совсем свежие.

MBD6016E-E таких полно релизов.
Надо понимать примерно давность аппарата.
Старые прошивки есть.
К тому же дампов тоже не видно!!!

iTuneDVR

Re: MBD6016E-E прошивка дампа

Сообщение iTuneDVR » 13 дек 2015, 14:41

К тому же аппараты у тебя разные ;)

iTuneDVR

Re: MBD6016E-E прошивка дампа

Сообщение iTuneDVR » 13 дек 2015, 15:01

igorjastiy писал(а):Разобрался. Вот так:
mw.b 82000000 ff 400000; tftp 82000000 mtdblock1; sf probe 0; sf erase 80000 400000; sf write 82000000 80000 400000
где,
mw.b 82000000 ff 400000 - выделение оперативной памяти под 400000 hex или 4194304 байт /1024 = 4096 Кбайт соответственно с адреса 0x82000000.
tftp 82000000 mtdblock1 - загрузка дампа "mtdblock1" в оперативную память.
sf probe 0 - включаем flash для работы.
sf erase 80000 400000 - стирание данных flash начиная с адреса 0x000000080000 по адрес 0x000000480000, 480000h - 80000h = 400000h или 4096 Кбайт.
sf write 82000000 80000 400000 - запись из оперативной памяти во flash.
Да, ручной способ он трудноемкий.
Гораздо проще из подходящей прошивки вытрянуть части и готовыми командами из printenv, быстро восстановить, но можно и так. Самое главное что бы правильныме образы шить по нужны местам по карте распределения mtd.
igorjastiy писал(а): U-Boot сам перезапускается через минуту, несмотря на то, что идет запись во flash. Поэтому заливал 4 раза блоками вот так:

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

mw.b 82000000 ff 580000; tftp 82000000 mtdblock2; sf probe 0; sf erase 480000 580000; sf write 82000000 480000 580000; reset
mw.b 82000000 ff 180000; tftp 82000000 mtdblock3; sf probe 0; sf erase a00000 180000; sf write 82000000 a00000 180000; reset
mw.b 82000000 ff 300000; tftp 82000000 mtdblock4; sf probe 0; sf erase b80000 300000; sf write 82000000 b80000 300000; reset
mw.b 82000000 ff 40000; tftp 82000000 mtdblock5; sf probe 0; sf erase e80000 40000; sf write 82000000 e80000 40000; reset
[/quote]
Как правило собаку надо притушить и тогда будет нормально!

[quote="igorjastiy"]
в итоге регистратор висит на цветном градиенте, но telnet работает, вот, что пишет:
...
VFS: Mounted root (cramfs filesystem) readonly on device 31:1.
Freeing init memory: 176K
udevd (600): /proc/600/oom_adj is deprecated, please use /proc/600/oom_score_adj
 instead.
Hisilicon Media Memory Zone Manager
ERROR: Conflict MMZ:
PHYS(0x86400000, 0x8FEFFFFF), GFP=0, nBYTES=158720KB,   NAME="anonymous"
MMZ conflict to kernel memory (0x80000000, 0x877FFFFF)
Add MMZ failed: PHYS(0x86400000, 0x8FEFFFFF), GFP=0, nBYTES=158720KB,   NAME="an
onymous"
hi3531_base: module license 'Proprietary' taints kernel.
Disabling lock debugging due to kernel taint
Hisilicon UMAP device driver interface: v3.00
load sys.ko for Hi3531...OK!
hi3531_dsu: Unknown symbol TdeOsiMbBlit (err 0)
hi3531_dsu: Unknown symbol TdeOsiMb2Mb (err 0)
hi3531_dsu: Unknown symbol TdeOsiCancelJob (err 0)
hi3531_dsu: Unknown symbol TdeOsiOpen (err 0)
hi3531_dsu: Unknown symbol TdeOsiOsd2Mb (err 0)
hi3531_dsu: Unknown symbol TdeOsiEndJob (err 0)
hi3531_dsu: Unknown symbol TdeOsiClose (err 0)
hi3531_dsu: Unknown symbol TdeOsiMbFill (err 0)
hi3531_dsu: Unknown symbol TdeOsiGetFiltParam (err 0)
hi3531_dsu: Unknown symbol TdeOsiBeginJobEx (err 0)
hi3531_dsu: Unknown symbol TdeOsiSetFiltParam (err 0)
hi3531_dsu: Unknown symbol TdeOsiMemRequest (err 0)
hi3531_dsu: Unknown symbol TdeOsiRegisterMemManage (err 0)
hi3531_dsu: Unknown symbol TdeOsiGetJobNumInFifo (err 0)
load group.ko success.
load rc.ko ....OK!
load mpeg4e.ko success.
load vou.ko ....OK!
load vpss.ko ....OK!
load region.ko ....OK!
load vda.ko ....OK!
hifb: Unknown symbol TdeOsiCancelJob (err 0)
hifb: Unknown symbol TdeOsiOpen (err 0)
hifb: Unknown symbol TdeOsiEndJob (err 0)
hifb: Unknown symbol TdeOsiClose (err 0)
hifb: Unknown symbol tde_get_procentry (err 0)
hifb: Unknown symbol TdeOsiBlit (err 0)
hifb: Unknown symbol TdeOsiBeginJob (err 0)
hifb: Unknown symbol TdeOsiEnableRegionDeflicker (err 0)
load vdec.ko ....OK
load vhd firmware.ko OK
load hdmi.ko ....OK!
FVIDEO driver init start ...
FVIDEO - MOD_SET_REG39 = 0
fvideo driver init successful!
hirtc driver init successful!
Kernel: ssp initial ok!
Hisilicon Watchdog Timer: 0.01 initialized. default_margin=60 sec (nowayout= 0,
nodeamon= 1)
rtusb init rt2870 --->
usbcore: registered new interface driver rt2870
[MTZ TEST Success]
[MTZ TEST Success]
MACADDR in set is 0:c:9f:a0:dd:f
oui = 0x1f0
PHY: 1:02 - Link is Up - 100/Full
[MTZ TEST Success]
hidog_ioctl
hidog_ioctl
[root@(none) /]$
а посему вопрос - настройки лежат в другой flash (AT88SC0104CA) ??? или все-таки регистраторы разные? память? что-то я не догоняю... подскажите пожалуйста.
Видимо, то что ставится оно не то, как и говорилось!

iTuneDVR

Re: MBD6016E-E прошивка дампа

Сообщение iTuneDVR » 13 дек 2015, 15:19

Вообщем, надо было тебе дамп с регистратора всё же снять изначально с 54-го!!!
http://www.taker.im/phpBB2/topic/54144- ... __st__3820" onclick="window.open(this.href);return false;

Да и начинать надо было с того что у тебя прошивка 2012 года!!!

iTuneDVR

Re: MBD6016E-E прошивка дампа

Сообщение iTuneDVR » 13 дек 2015, 15:30

Почти не гугля скорее всего у тебя SDI, потому и не показывает. ;)
Нашлась одна прошивка для R10 2012 для MBD6016E-E

igorjastiy
Новичок
Сообщения: 8
Зарегистрирован: 12 дек 2015, 20:30

Re: MBD6016E-E прошивка дампа

Сообщение igorjastiy » 13 дек 2015, 17:31

iTuneDVR писал(а):Почти не гугля скорее всего у тебя SDI, потому и не показывает. ;)
Нашлась одна прошивка для R10 2012 для MBD6016E-E
iTuneDVR, благодарю за правильную наводку. Действительно, прошивки, что я накатывал, были R11. Дампировал рег к рабочей загрузке и Нашел R10, под свою платформу. Вот, если что:
https://cloud.mail.ru/public/43Bo/mdXHa3euw" onclick="window.open(this.href);return false;

iTuneDVR, еще раз ВАС благодарю!!! Кажет!!! Зато разобрался, как шить Flash без программатора :)) Не зря время потратил.
а что за команды из printenv по быстрому восстановлению?
И мой пытливый ум не успокаивается, почему R11 прошивки не пашут?

Ответить

Вернуться в «Восстановление и настройка»