Восстановление камеры DH-IPC-HDW1230SP

Кейс

Member
Добрый день!
Помогите пожалуйста советом.
Имеется камера DH-IPC-HDW1230SP на чипе hi3516cv300, которую необходимо откатить на стандартную прошивку.
При попытке обратиться через UART к памяти SPI вылезает ошибка:
Код:
hi3516cv300-vc # sf probe 0
Failed to initialize SPI flash at 0:0
При попытке обратиться к NAND реакции вообще нет:
Код:
hi3516cv300-vc # nand probe 0
nand - NAND sub-system
Код:
hi3516cv300 System startup


U-Boot 2010.06 (Jun 01 2020 - 08:20:12)

Check Flash Memory Controller v100 ... Found
SPI Nand(cs 0) ID: 0xc8 0x21 Name:"F50L1G41A"
Block:128KB Page:2KB Chip:128MB*1 OOB:64B ECC:8bit/512
ECC provided by Flash Memory Controller
SPI Nand total size: 128MB
MMC:
EMMC/MMC/SD controller initialization.
Card did not respond to voltage select!
No EMMC/MMC/SD device found !
In:    serial
Out:   serial
Err:   serial
Код:
hi3516cv300-vc # help
?       - alias for 'help'
base    - print or set address offset
bootm   - boot application image from memory
bootp   - boot image via network using BOOTP/TFTP protocol
bootss  - boot from snapshot image
cmp     - memory compare
cp      - memory copy
crc32   - checksum calculation
ddr     - ddr training function
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 /)
fwupdate- fwupdate command allows to flash vc camera firmware from file on mmc or from memory.
getinfo - print hardware information
go      - start application at address 'addr'
help    - print command description/usage
hi_gpio - set hisilicon gpio states
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)
mmc     - MMC sub system
mmcinfo - mmcinfo <dev num>-- display MMC info
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
sf      - SPI flash sub-system
tftp    - tftp  - download or upload image via network using TFTP protocol
ugzip   - Compress gzipfile with hardware IP
version - print monitor version
На getinfo так же как и на nand ответа нет.
Как я могу достучаться до памяти? Не может ли она быть залочена?
 

mixatronik

Well-known member
Камера от Ростелеком? Тут дело в том, что родную прошивку найти не просто. А что за nand probe? Не надо этого. Просто пиши, но рискуешь окирпичить. Как врач говорю - сам окирпичил две или три пока научился оживлять. Но с восстановлением пока проблемы. Говорят можно программатором дамп залить и всё будет, но у меня программатора нет - ищу другие способы.
 

fobos

Энтузиаст
если камера РТ, то через уарт можете не пробовать...загрузчик максимально обрезан и не примет команды sf probe и т.п...., только программатор...
 

mixatronik

Well-known member
Да не - всё не так плохо! По крайней мере в моих экземплярах ничего особо не вырезано. Но sf probe там не нужен, т.к. это же команда для NOR памяти, а в этих камерах - NAND и там команды другие - nand erase и nand write. Таким макаром вполне себе шьётся OpenIPC, но там есть проблема с сенсором. Картинка есть, но какая-то не такая.
Другое дело, что в случае с NAND, дамп для программатора и дамп для загрузчика - это ведь разные дампы, если я правильно я понимаю...
 

fobos

Энтузиаст
Да не - всё не так плохо! По крайней мере в моих экземплярах ничего особо не вырезано. Но sf probe там не нужен, т.к. это же команда для NOR памяти, а в этих камерах - NAND и там команды другие - nand erase и nand write. Таким макаром вполне себе шьётся OpenIPC, но там есть проблема с сенсором. Картинка есть, но какая-то не такая.
Другое дело, что в случае с NAND, дамп для программатора и дамп для загрузчика - это ведь разные дампы, если я правильно я понимаю...
в полный дамп для NAND входит и загрузчик в том числе, но можно для NAND собрать дамп, в котором будет только загрузчик а остальные блоки надо будет загонять через уарт...как говорится, кто чем располагает для восстановления
 

mixatronik

Well-known member
Я другое имею ввиду. В полном дампе, снятом программатором, присутствуют spare-области. А в дампе снятом через UART их нет. Поэтому дамп снятый программатором и не подходит для прошивки через UART. Как я понимаю, надо прошить имеющийся дамп программатором, прописать в нём BSN и HWID, потом его можно слить уже через UART и будет готовый дамп, который можно использовать для массового восстановления. И фен не понадобится и программатор тоже. Но это пока только теория... Не факт, что в моих рассуждениях нет ошибки :)
 

fobos

Энтузиаст
  1. программатором можно снять и без spare, все зависит от программатора, или использовать утилиты для отделения spare от main
  2. BSN необязательный параметр, наличие или отсутствие этого параметра в env не влияет на загрузку устройства и на его работоспособность, что нельзя сказать про HWID - это обязательный параметр
  3. что касается устройств Dahua,то в большинстве из них использует SNAND и, скорее всего, дамп можно слить через уарт, но с наскока у меня не получилось это сделать, т.к. не разобрался с вводом правильных команд, поэтому если у вас есть положительный опыт слива дампа с SNAND с удовольствием бы попробовал повторить на тестовых устройствах
 

mixatronik

Well-known member
Выложенный здесь Вами дамп для этой камеры, судя по всему, как раз с этими областями. Уже по всякому шил - и с ними и без и через HiTool и через консоль. И даже загрузчик вроде бы грузится, но после строки о старте - тишина. Коллега шил программатором и у него тоже бут такой же молчаливый, но у него получилось зайти в него, а у меня не выходит. То ли как-то не так прошиваю, то ли что-то не то жму, то ли ещё что...

Вот как раз на обсуждаемой камере слил РТ-шный дамп и после экспериментов, залил обратно. Читал блоками по 32 метра, хотя данные есть только в первом блоке, остальные - пустые.

читал так:
mw.b 0x82000000 0xff 0x2000000
nand read 0x82000000 0x0 0x2000000
tftp 0x82000000 dump.bin 0x2000000

писал так:
mw.b 0x82000000 ff 0x2000000
tftp 0x82000000 dump.bin
nand erase 0x0 0x2000000
nand write 0x82000000 0x0 0x2000000

З.Ы. есть ещё вариант nand write.i - запись с учётом бэдов, но оно и без буквы .i их вроде бы учитывает.
 
Останнє редагування:
В итоге что получилось?
У меня тоже несколько камер DH-IPC-HDW1230SP от РТ лежат, ждут пока вы тут решение выложите))
 

mixatronik

Well-known member
Пока нет :( Кто-то шьёт дамп программатором и вроде как всё работает. У меня программатора нет, хотя всё чаще думаю о том, что стоит купить... А то всё больше камер с НАНДами попадается.
 

Кейс

Member
Коллега шил программатором и у него тоже бут такой же молчаливый, но у него получилось зайти в него, а у меня не выходит.
Бут молчаливый, потому что в silent mode. А выйти из него никак, если не знать, как процедура выхода прописана в памяти.
Я купил с рук оригинальную камеру Dahua, отнес ее и РТ в сервис, там сняли с обеих дампы прямо с флешки и залили дамп Dahua в РТ. Все заработало, но MAC тоже клонировался. Как его переписать, непонятно, в Dahua камере загрузчик тоже в silent mode, а в дампе больше сотни упоминаний этого адреса.

Дамп РТ MAC: BC:32:5F:4A:69:62
Дамп Dahua MAC: A0🇧🇩1D:79:08:AB
Прошивки, кстати, нашел здесь и здесь

Есть мысли, куда копать дальше?
 

Вкладення

mixatronik

Well-known member
А какая оригинальная? 1230SP? Так там же железо отличается... Или нет?
Вообще, в обычном загрузчике MAC прописан в энвах. Это в самом начале дампа. По идее этого должно быть достаточно.
2636
 

fobos

Энтузиаст
Бут молчаливый, потому что в silent mode. А выйти из него никак, если не знать, как процедура выхода прописана в памяти.
Я купил с рук оригинальную камеру Dahua, отнес ее и РТ в сервис, там сняли с обеих дампы прямо с флешки и залили дамп Dahua в РТ. Все заработало, но MAC тоже клонировался. Как его переписать, непонятно, в Dahua камере загрузчик тоже в silent mode, а в дампе больше сотни упоминаний этого адреса.

Дамп РТ MAC: BC:32:5F:4A:69:62
Дамп Dahua MAC: A0🇧🇩1D:79:08:AB
Прошивки, кстати, нашел здесь и здесь

Есть мысли, куда копать дальше?
...вывод полного лога закрыт, но ничто не мешает открыть его из терминала, так же как и прописать нужный MAC-адрес
 

mixatronik

Well-known member
...вывод полного лога закрыт, но ничто не мешает открыть его из терминала, так же как и прописать нужный MAC-адрес
Надо ещё в него попасть. У меня пока не вышло. Ни на какие клавиши не реагирует. Или там какая-то секретная комбинация? Хотя я тут ещё один метод узнал и уже даже опробовал на одной камере - коротнуть у микрухи лапки 5 и 6. Память отваливается, ядро грузить неоткуда и вываливаемся в бут. На 1230 ещё не проверял. Надо попробовать. Чувствую скоро мы совместными усилиями её добьём.
 
Останнє редагування:

fobos

Энтузиаст
Надо ещё в него попасть. У меня пока не вышло. Ни на какие клавиши не реагирует. Или там какая-то секретная комбинация? Хотя я тут ещё один метод узнал и уже даже опробовал на одной камере - коротнуть у микрухи лапки 5 и 6. Память отваливается, ядро грузить неоткуда и вываливаемся в бут. На 1230 ещё не проверял. Надо попробовать. Чувствую скоро мы совместными усилиями её добьём.
что касается дахи, то еще ни разу не встречал невозможности остановки загрузки...причина может быть или в адаптере, или в неправильном подключении к уарту или в отсутствии установленных резисторов на Rx. А добивать там собственно и нечего - все тривиально.
P.S. замыкание 5-6 лап флеши может привести как к остановке загрузки и вываливанию в командную строку так и к зависанию...видимо имеет значение в какой момент времени производить замыкание...
 

mixatronik

Well-known member
Да, время поймать надо. Когда загрузчик считался, а ядро нет. Но тут не прокатывает. Думаю всё-таки дело в том, что я пытаюсь записывать дамп снятый программатором средствами загрузчика. Уже и spare области удалял, но всё же что-то не то. Если бы просто не мог попасть, то камера бы грузилась, а у меня она встаёт или в цикле выдаёт System startup. Уже думал программатор прикупить, но дорогие они. Хотя идея с сервисом очень даже. Либо оригинальную Даху купить, как сделал Кейс.
 

fobos

Энтузиаст
Да, время поймать надо. Когда загрузчик считался, а ядро нет. Но тут не прокатывает. Думаю всё-таки дело в том, что я пытаюсь записывать дамп снятый программатором средствами загрузчика. Уже и spare области удалял, но всё же что-то не то. Если бы просто не мог попасть, то камера бы грузилась, а у меня она встаёт или в цикле выдаёт System startup. Уже думал программатор прикупить, но дорогие они. Хотя идея с сервисом очень даже. Либо оригинальную Даху купить, как сделал Кейс.
все гораздо проще...надо правильно установить родной дамп и правильным программатором, который умеет работать как со spare так и без нее, правильно пересчитывая ECC, залить его (дамп)... и все будет норм...
 

Кейс

Member
А какая оригинальная? 1230SP? Так там же железо отличается... Или нет?
Вообще, в обычном загрузчике MAC прописан в энвах. Это в самом начале дампа. По идее этого должно быть достаточно.
Переглянути вкладення 2636
Оригинальная 1230SP, да.
В энвах забит пример мака, 00:12:34:56:78:9A.
Фактический адрес A0🇧🇩1D:79:08:AB

Для того, чтобы выйти из silent mode нужно знать прописанную последовательность действий, описано на стр. 33 мануала на U-boot
26382638
 

fobos

Энтузиаст
Оригинальная 1230SP, да.
В энвах забит пример мака, 00:12:34:56:78:9A.
Фактический адрес A0🇧🇩1D:79:08:AB

Для того, чтобы выйти из silent mode нужно знать прописанную последовательность действий, описано на стр. 33 мануала на U-boot
Переглянути вкладення 2638Переглянути вкладення 2638
жесть, конечно!!!...🙈...вы можете, то, что вы заявляете подтвердить логами на примере конкретной камеры?
 

Кейс

Member
жесть, конечно!!!...🙈...вы можете, то, что вы заявляете подтвердить логами на примере конкретной камеры?
Там всех логов-то...

Код:
hi3516cv300 System startup

U-Boot 2010.06-svn6470 (Dec 12 2018 - 01:57:36)
Это оригинальная Dahua, выдает при старте, более ни на какие символы не отвечает.
 
Зверху