Прислали как-то для отвязки от Ростелеком несколько камер DH-IPC-K42LB. Правда одна из них оказалась вовсе даже DH-IPC-K35AP и с ней пришлось разбираться отдельно, но она хотя бы была живой, а все DH-IPC-K42LB оказались “кирпичиками”. При подаче питания индикатор камеры загорается красным цветом и всё. Индикатор PoE порта коммутатора горит, а линка нет. При подключении через UART выдаёт в консоль несколько прямоугольников, что даёт надежду. Короче, пришлось разбираться с восстановлением.
Парой месяцев ранее сам окирпичил одну камерку – другую, но на том же процессоре и спросил совета в группе OpenIPC users, за что камрадом @FlyRouter был отправлен в Вики проекта, где соответствующая статья имеется. Взглянул – увидел, что там про Linux и немного приуныл, а камерку отложил до лучших времён.
Сейчас же пришлось вернуться к этой теме. Потыкался, потыкался, но зашёл в тупик и опять пошёл за помощью туда же. После нескольких чётких указаний камрада @dimerrr всё завелось и полетело!
Подготовка
В качестве программатора будем использовать CH341A, который умеет в I2C.
- GND -> GND (PIN 1-4,7)
- TX -> SDA I2C (PIN 5)
- RX -> SCL I2C (PIN 6)



Это железка, но нужен ещё соответствующий софт и правильный драйвер. Софт загружаем из репозитория на GitHub. В архиве лежит, собственно, сам snander.exe и драйвер.
Проверяем, что CH341A находится в режиме программатора и подключаем в соответствии со схемой. Подключаем его и к USB-порту компьютера.
Драйвер
Прежде всего нужно установить драйвер. Если уже пользовались этим девайсом ранее, то в системе он определяется как параллельный интерфейс.
В данном случае это нам не подходит и нужно установить драйвер из архива.


SNANDER
snander – программа консольная. Можно пользоваться прям в консоли или PowerShell, но сам предпочитаю Far Manager. Для отображения ключей вводим команду snander без параметров.
Вводим команду snander -i и если на камеру не подано питание, то увидим только, что программа нашла CH341A, а если подано, то и характеристики флешки.


Если результат выполнения команды выглядит как на скрине, значит всё подключено верно и можно двигаться дальше.
Выгрузка дампа
Нужный софт установлен, железо подключено – можно делать резервную копию и заливать новый загрузчик. В случае если камера уже “кирпич”, данное действие большого смысла не имеет, но почему бы и нет? Мало ли – вдруг там есть что-то полезное и это удастся вытащить. Правда долго это всё…
snander -a 0x000000 -l 0x8000000 -r dump.bin
Прошивка
Как известно, у Дахи загрузчик состоит из двух частей, поэтому кладём бинарники в тот же каталог и записываем их по соответствующим адресам, которые берём из заголовков файлов. Для разных моделей адреса, само собой, будут отличаться. Подробнее об этом можно прочитать в статье Восстановление камер Dahua.
snander -a 0x000000 -l 0x200000 -e
snander -a 0x000000 -l 0x200000 -w dhboot-min.bin -v
snander -a 0x340000 -l 0x60000 -e
snander -a 0x340000 -l 0x60000 -w dhboot.bin -v


Загрузчик прошит, можно отключать питание, переводить программатор в режим TTL, переключать коннекторы и запускать консоль. Дальнейшие действия описаны в статье Отвязка от Ростелеком камеры DH-IPC-K42LB.












Отличная наработка. У меня на руках 2 камеры на этом процессоре померли, после обновления. Ни в какую не стартуют, даже со снятой с донора флешкой. Возможно сам проц с подписью. Разница только умерли – рынок чисто китай, с доноры- европа.
Вообще разработчик допилил инструмент и теперь работа со snander стала намного проще. И под винду появилась сборка. Обновлю статейку в ближайшем будущем.
А шина видится snander-ом?
Да, шина видится. Если я правильно даташиты на процессор видел и правильно понял, сам проц ssc327de имеет защиту. С камерами РТшными с такой проблемой не попадались, если совсем убиты до появления snader я поднимал дампом, а потом правил переменные.
А вот оригинальные камеры Dахуа совсем не хотят.
PS 42 и 46 камеры – считаю самые удачные.
Я Дахи как-то вообще недолюбливаю. Хики больше нравятся.
Добрый день. А точки подключения те же что и ttl или надо искать другие?
В статье схема есть так-то. Правда статья устарела. Автор допилил софтину и теперь всё просто и элегантно без всяких плясок с пакетами.
Доброй ночи! Вы не подскажите в чем мб дело, ввожу в консоли первую команду, как у вас на скрине появляется окно, потом ввожу второе и уже ошибка вылазит, подскажите мб в чем проблема? Подключено все верно как у вас на фото
Usage:
-h display this message
-p select programmer device (mstar, ch341a)
-s enable i2c fast speed mode (for mstar programmer)
-q query connected i2c devices (for mstar programmer)
-d disable internal ECC (use read and write page size + OOB size)
-o manual set OOB size with disable internal ECC (default 0)
-I ECC ignore errors (for read test only)
-k Skip BAD pages, try read or write in to next page
-L print list support chips
-i read the chip ID info
-e erase chip (full or use with -a [-l])
-l manually set length
-a manually set address
-w write chip with data from filename
-r read chip and save data to filename
-v verify after write on chip
C:\Windows\System32>D:\snander.exe -i
SNANDer – Spi Nor/nAND programmER 1.8.0 by McMCC
Error opening usb device [1A86:5512]
Programmer device not found!