| Автор | Сообщение |
Dedushka Гость 176.37.*.*
|
CPU - Hi3531
SPI - S25FL216K
DRAM: 256 MiB
на борту так же находится Nand flash - S34ML01G100TF100
в сервисе есть три штуки плат, когда приходили гарантийные клиентские, просто менял платы, теперь когда появилась возможность решил разобраться и поднять, но не получается пока. И так, что пробовал:
Как показвает практика - висти заставка - типичный слет прошивки. Начал копать. В первую очерель попытался прошить через USB с флешки. Судя по светодиоду на флешке процесс перепрошивки шел, обмен был, но это не помогло. Когда у меня появился мост USB-UART, стал шить через него. Делал это так:
Аппарат со вставленой флешкой, на которой файлы с прошивки:
appsf31
kern31
rootfs31
uboot31
после остановки загрузки - Ctrl+C вводил команды:
# setenv auversion0
# setenv auversion1
# setenv auversion2
# setenv auversion3
# setenv auversion4
# setenv auversion5
# setenv auversion6
# sa
ждем 10 секунд
# reset
Далее аппарат перезагружается и на консоли (NCOM) видно, что идет процесс прошивания - стирания/записи информации.
После перезагрузки ДВР не поднимается. На экране монитора все таже заставка с предложением подождать.
Полный лог - ncom_20160429.rar
А так же инфо после ввода # printenv
| Цитата: | hisilicon # printenv
bootdelay=1
baudrate=115200
ethaddr=00:00:23:34:45:66
ipaddr=192.168.1.10
serverip=192.168.1.1
netmask=255.255.255.0
bootfile="uImage"
bootcmd=nand read 0x82000000 0x0 0x500000;bootm 0x82000000
phyaddr0=2
phyaddr1=1
bootargs=mem=224M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=yaffs2 mtdparts=hi_sfc:2M(boot);hinand:8M(kernel),16M(rootfs),64M(user),32M(dvu110000) pcieclkext=0
phyintfx=1
auversion0=513d503c
auversion1=5091ef22
auversion2=52417975
auversion3=51b05a2d
stdin=serial
stdout=serial
stderr=serial
verify=n
jpeg_addr=0xc0000000
jpeg_size=0xc119
vobuf=0xc1000000
ver=U-Boot 2010.06 (Jun 06 2013 - 17:40:40)
Environment size: 628/131068 bytes
hisilicon # |
хочу отметить, что в логе меня смущает эта строка:
Initial product manager fail!
после этого система я так понимаю вистет:
DVRService.cpp, 132, child process exit!
DVRService.cpp, 141 system exit!
Вот help:
| Код: | hisilicon # ?
? - alias for 'help'
base - print or set address offset
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 /)
getinfo - print hardware information
go - start application at address 'addr'
help - print command description/usage
loadb - load binary file over serial line (kermit mode)
loady - load binary file over serial line (ymodem mode)
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)
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
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
startgx - open graphics layer.
- startgx [layer addr stride x y w h]
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 |
Коллеги, не сочтите за труд, объясните где, на каком этапе сложности возникают и как с ними бороться.
Я не силен в этой машинерии, осваивать приходится самому и с помощью мониторовцев.
Заливать прошивку через tftp пробовал, но пока не получается...
Добавлено 29-04-2016 09:53
Попробую протестить память, в логе есть меседж
| Цитата: | NAND read: device 0 offset 0x0, size 0x500000
Skipping bad block 0x002a0000 |
ncom_20160429.rar 6,19 КБ Скачано: 241 раз(а)
|
|
M - 16. Участник Сообщения: 263
|
А в момент обращения к USB флешке и якобы прошивки записи из терминала есть?
Заливать прошивку через tftp пробовал, но пока не получается...
А что именно не получается? |
|
Dedushka Гость 176.37.*.*
|
| M - 16. писал: | А в момент обращения к USB флешке и якобы прошивки записи из терминала есть?
|
ну конечно есть. Сейчас выложу полный лог процесса.
Добавлено 29-04-2016 11:12
| M - 16. писал: | Заливать прошивку через tftp пробовал, но пока не получается...
А что именно не получается? |
не могу разобраться. Слить получилось, читал темы соответствующие, с заливкой пока туго.
Я так понимаю, при заливке tftp32 (комп) как сервер работает. В данном случае выставляю адреса сервер - 192.168.1.1, двр (клиент) - 192.168.1.10. Скорее всего я с самой прогой tftp32 не разобрался.
Добавлено 29-04-2016 11:23
Вот лог процесса
Добавлено 29-04-2016 11:43
Но с заликой я в принципе буду разбираться дальше. Дома посижу, выходные впереди. Есть ДВР, тоже TVT, мост и нетбук. Если будет туго, спрошу.
Добавлено 29-04-2016 12:04
Возвращяясь к Initial product manager fail!, возможно прошивка не та? Похожая, но не она? Хотя надпись на стикере на плате и название прошивки соответствуют.
Добавлено 29-04-2016 12:10
Пробую залить от TD2516HE-B, сразу же подхватилась.Процесс прошивки пошел без моего вмешательства. Но результат не изменный, не грузится.
ncom_20160429.rar 7,4 КБ Скачано: 183 раз(а)
|
|
M - 16. Участник Сообщения: 263
|
len_incl_bad настораживает.
Попробуйте набрать в загрузчике help nand
Вывалится список команд для работы с nand,
не исключено, что есть возможность проверить количество bad блоков. |
|
Dedushka Гость 176.37.*.*
|
попробовал.| Цитата: | hisilicon # nand help
nand - NAND sub-system
hisilicon # |
не понимает он этой команды |
|
M - 16. Участник Сообщения: 263
|
не "nand help", а "help nand". |
|
Dedushka Гость 176.37.*.*
|
M - 16., сорри, затуркался.
Нет, не проходит| Цитата: | hisilicon # help nand
nand - NAND sub-system
hisilicon # |
Добавлено 29-04-2016 13:35
я вот что думаю, может загрузчик в SPI лежит, а прощивка в NAND? Если заменить NAND и прошить, может запустится? |
|
M - 16. Участник Сообщения: 263
|
Логично, стоит попробовать.
Можно ради интереса вообще без NAND включить, убедиться. |
|
Dedushka Гость 176.37.*.*
|
Без NAND пищит, обмена нет.
Добавлено 29-04-2016 15:35
взял другую плату - DJ2508HE, тоже не грузится, но
| M - 16. писал: | Попробуйте набрать в загрузчике help nand
Вывалится список команд для работы с nand,
не исключено, что есть возможность проверить количество bad блоков. |
набрал, вывалился список команд:
| Цитата: | hilinux # help nand
nand info - show available NAND devices
nand device [dev] - show or set current device
nand read - addr off|partition size
nand write - addr off|partition size
read/write 'size' bytes starting at offset 'off'
to/from memory address 'addr', skipping bad blocks.
nand erase [clean] [off size] - erase 'size' bytes from
offset 'off' (entire device if not specified)
nand bad - show bad blocks
nand dump[.oob] off - dump page
nand scrub - really clean NAND erasing bad blocks (UNSAFE)
nand markbad off - mark bad block at offset (UNSAFE)
nand biterr off - make a bit error at offset (UNSAFE)
nand lock [tight] [status]
bring nand to lock state or display locked pages
nand unlock [offset] [size] - unlock section |
Добавлено 29-04-2016 15:37
тоже есть битые блоки:
| Цитата: | hilinux # nand bad
Device 0 bad blocks:
02860000
07800000
hilinux # |
|
|
Dedushka Гость 176.37.*.*
|
Такс. Продолжил я изыскания и на этой плате DJ2516HE-C мне удалось ввсести команда для NAND.
Команда "help nand" не выводит список, но сами команды относящиеся к NAND вводятся.
nand info - инфо о NAND.
nand bad - битые блоки.
nand scrub - очистка битых блоков.
потом разхрабрился с ввел "nand erase", но заливка прошивки после этой процедуры не увенчалась успехом.
Добавлено 04-05-2016 17:00
Есть битый блок:| Цитата: | hisilicon # nand bad
Device 0 bad blocks:
01ec0000
hisilicon # |
Может ли это влиять? |
|
M - 16. Участник Сообщения: 263
|
Не думаю.. Попадались экземпляры с десятком бэдов. У Вас есть возможность сдампить рабочий регистратор? |
|
Dedushka Гость 176.37.*.*
|
К сожалению возможности слить дамп программатором нет (нет программатора для NAND). Могу взять на складе новый и попытаться слить через UART, но нет опыта и понимания. Но можно лог посмотреть с рабочего. Возможно это поспособствует.
Тренируюсь пока на "кошечках". Те реги, в которых SPI стоит без проблем, с этитми (NAND) сложности. Подыскиваю программатор.
Добавлено 05-05-2016 09:37
Вот лог рабочего. Как оказалось в его NAND тоже есть бэды.
ncom_20160505_1.rar 8,78 КБ Скачано: 149 раз(а)
|
|
M - 16. Участник Сообщения: 263
|
Постараюсь посмотреть сегодня.
У S25FL216K разницы по содержимому нет?
Вы на http://forum.videon.spb.ru/ тему продублируйте, там много материала по сливу дампов и опытных людей по софтовой части.
Я сам давеча дампил 128МБ нанд с одного корейца по tftp, получилость только двумя кусками - так что, я сам на этапе освоения.  |
|
Dedushka Гость 176.37.*.*
|
M - 16., Спасибо. Да, на Питерском форуме тоже читаю, и Ваши посты видел. Вобщем тема интересная и необходимая.
Я выложу сейас два лога полных, для удобства сравнения, сделанных только что. Один с рабочего, другой с нерабочего.
по SPI пока не скажу. Считаю с обоих, сравню. Залью с рабочего. Посмотрим реакцию.
Добавлено 05-05-2016 11:22
Разница в содержимом SPI была. Читал, шил как S25FL128K
NCOM.rar 14,99 КБ Скачано: 171 раз(а)
|
|
Dedushka Гость 176.37.*.*
|
После запуска с перепрошитой SPI чуда не произошло. Как и после перепрошивки с флешки. КАпаем дальше. |
|
M - 16. Участник Сообщения: 263
|
На плате есть криптофлешь AT88 ? Может дело в ней или в её питателе.
Active Security error
#@#error**flag#@#-2 cryptomemory read data error crypto.c,51
LocalDevice.cpp,4150,no write crytoinfo |
|
Dedushka Гость 31.43.*.*
|
M - 16., да, есть. спасибо. буду смотреть. я так понимаю, что считать её обычным способом не выдет. Проверю питание, а потом способом замены с рабочего попробую. |
|
Dedushka Гость 176.37.*.*
|
Продолжу.
К сожалению рабочего ДВРа, с которого можно было бы снять и подставить АТ88 уже не было. Что сделал: взял с другой (DJ2508HE) рабочей платы АТ88. После перепрошивки в логе появились изменения:
Часть лога первично не рабочего аппарата ncom_20160505_wrong
| Цитата: | Auto login as root ...
(none) login: PUB_common.cpp, 1924, pid = 989, tid=990
xdvr.cpp, 638, pid = 989, tid=989
Active Security error
ј¤»оИПЦ¤К§°Ь
AAC: 0xF7
#@#error**flag#@#-2 cryptomemory read data error crypto.c,51
LocalDevice.cpp,4150,no write crytoinfo
#############xdvr.cpp,661,productID:0 |
Часть лога той же платы с замененной (с другой модели) АТ88
ncom_20160511
| Цитата: | Auto login as root ...
(none) login: PUB_common.cpp, 1924, pid = 1024, tid=1025
xdvr.cpp, 638, pid = 1024, tid=1024
check OK!
LocalDevice.cpp,4150,no write crytoinfo
#############xdvr.cpp,661,productID:0 |
Теперь причина стала более очевидной, и в связи с этим возникает вопрос по поводу работы с АТ88. Очевидно, что в этой имс уже находится информация относящаяся к определенной моделе ДВР. Но чтение и запись подобных микросзем в моей практике ни разу не увенчалась успехом. Интересно, есть ли программые средства для работы с ней непосредственно в консоли?
Что значит сообщение - LocalDevice.cpp,4150,no write crytoinfo ? инфо не считывается или не записывается в criptochip? |
|
M - 16. Участник Сообщения: 263
|
Я б с этими штуками был поосторожнее: брал бы с донора с такой же прошивкой. К ней с неправильным паролем несколько раз обратился - и в мусорку. Эти самые пароли могут меняться в прошивках, а обращения быть и из загрузчика (хотя, мне такие экземпляры не встречались, квадратная шина оживает обычно в середин5е загрузки).  |
|
Dedushka Гость 176.37.*.*
|
M - 16., спасибо огромное за помощь.
Итог таков: нашел у себя еще одну не работающую плату DJ2516HE-C с кторой и взял микросхему AT88SC0104CA, поставил, еще раз прошил ДВР через UART, перезагрузил и система запустилась. Все работает.
Осталось несколько вопросов по чтению/записи criptochip AT88SC0104CA, и сливанию полного дампа через UART, а так же восстановлению других, не работающих плат DJ2516HE-C, но это уже другая история. Продолжаю изучать. Чертовски интересная тема... |
|
|