Взял за правило сохранять всю доступную информацию по препарируемым камерам. Бывает так, что посчитаешь что-то незначительным и не нужным, а потом вдруг оно надо, а нету. А чтобы не искать в своих “архивах” всё буду выкладывать на сайт.
Камера
… тут будет фото и данные по SoС, памяти и т.п. …
Инструменты
Утилиты
- TFTP-сервер Tftpd64 — TFTP-сервер для передачи файлов.
- Putty — программа для работы через UART.
- ConfigTool — поисковая утилита для камер Dahua.
Материалы
- ipc1230sp-boot+.zip – кусочек оригинального дампа.
- update.zip – оригинальная прошивка.
Исходные данные
Бэкап
Первым делом надо сделать резервную копию текущей прошивки. Благо соответствующие команды в загрузчике присутствуют. Для того, чтобы дамп успешно скопировался в каталог tftp-сервера, нужно, чтобы компьютер, где он запущен, и камера находились в одной сети. Смотрим значение ipaddr и serverip и меняем, если нужно, или меняем адрес компьютера.
У меня локальная сеть 192.168.1.х и адрес 192.168.1.10 не занят, поэтому с адресом камеры всё в порядке. Адрес моего компьютера 192.168.1.128 и либо можно изменить его в настройках сетевой карты и поменять последний октет, чтобы получилось 192.168.1.2, либо поменять значение serverip.
setenv serverip 192.168.1.128
save
Снимать дамп будем частями по 16 Мб, но вся память не нужна, т.к. в прошивке Ростелеком она, в основном, пустая и имеет смысл сохранить только первые 32 Мб.
mw.b 0x82000000 0xff 0x1000000
nand read 0x82000000 0x0 0x1000000
tftp 0x82000000 rt-ipc-hdw1230sp0.bin 0x1000000
mw.b 0x82000000 0xff 0x1000000
nand read 0x82000000 0x1000000 0x1000000
tftp 0x82000000 rt-ipc-hdw1230sp1.bin 0x1000000
На всякий случай выкладываю и дамп прошивки Ростелеком. Мало ли, вдруг кто-то захочет обратно вернуться. Только надо серийник поправить в редакторе. И ещё вырезал из дампа загрузчик, который позволяет восстановить окирпиченную камеру через HiTool. Статья об этом будет чуть позже.
- rt-ipc-hdw1230sp.zip – дамп прошивки Ростелеком
- rt-ipc-hdw1230sp-boot.zip – загрузчик прошивки Ростелеком
Прошивка и настройка загрузчика
Правильнее шить камеру средствами загрузчика, но загрузчик у нас корявый, поэтому очевидное решение – прошить родной загрузчик. Как выяснилось в процессе экспериментов, одного загрузчика недостаточно, а нужна ещё часть родного дампа, поэтому и шить будем сразу всё нужное.
mw.b 0x82000000 0xff 0x1000000
tftp 0x82000000 ipc1230sp-boot+.bin
nand erase 0x0 0x1000000
nand write 0x82000000 0x0 0x1000000
reset
После перезапуска, не дожидаясь приглашения, сразу жмём кнопку * и попадаем в загрузчик. Приглашения нет, потому что вывод в консоль в загрузчике отключен. За это отвечает параметр dh_keyboard. По умолчанию он равен 1, но если хочется видеть лог загрузки и загрузчика и ядра, то можно выставить его в 0.
Для понимания, что и как, введём команду printenv и увидим следующее:
Environment size: 990/131068 bytes
dhboot # printenv
bootargs=mem=256M console=ttyS0,115200 root=/dev/mtdblock7 rootfstype=squashfs
bootcmd=kload 0x82000000; bootm 0x82000000
bootdelay=1
baudrate=115200
ethaddr=00:12:34:56:78:9A
ipaddr=192.168.1.108
serverip=192.168.1.1
gatewayip=192.168.1.1
netmask=255.255.255.0
bootfile="uImage"
quickstart=0
wifiaddr=00:12:34:56:78:91
mp_autotest=0
HWID=IPC-HDBW1230E-S2:01:02:05:60:28:00:01:00:00:00:00:320:00:00:00:00:00:00:00:00:100
hwidEx=00:03:00:00:00:00:00:00:00:00:00:00:00:00:00:00
ID=000000000000000000
devalias=DH-IPC-HFW1230SP-0280B
da=tftp 0x82000000 dhboot.bin.img; flwrite;nand protect off;tftp dhboot-min.bin.img;flwrite
dr=tftp 0x82000000 romfs-x.squashfs.img; flwrite
dk=tftp 0x82000000 kernel.img; flwrite
du=tftp 0x82000000 user-x.squashfs.img; flwrite
dw=tftp 0x82000000 web-x.squashfs.img; flwrite
dp=tftp 0x82000000 partition-x.cramfs.img;flwrite
dc=tftp 0x82000000 custom-x.squashfs.img; flwrite
up=tftp 0x82000000 update.img; flwrite
tk=tftp 0x82000000 uImage; bootm
dh_keyboard=1
appauto=1
sysbackup=1
loglevel=4
pd=tftp 0x82000000 pd-x.squashfs.img; flwrite
stdin=serial
stdout=serial
stderr=serial
ver=U-Boot 2010.06-svn6470 (Dec 11 2018 - 16:27:39)
Environment size: 990/131068 bytes
Как видим, всё получилось и загрузчик у нас теперь Dahua, но нет важных параметров: MAC-адреса (ethaddr) и ID. Корректный MAC позволит работать в сети, а правильный ID даст возможность подключиться к облаку.
MAC-адрес есть на шильдике, а ID берётся из QR-кода на корпусе ИК-фильтра. Только точки из него надо убрать. Ниже QR-кода есть те же цифры, что и зашифрованы в нём, но не все. Если считать код, то там цифр больше и тестировал именно такой ID. Будет ли облако работать с укороченным, не проверял.
Поскольку загрузчик теперь другой то и serverip тоже другой – дефолтный, а не тот, который задали на предыдущем шаге. Выставим заодно и его в нужное значение.
setenv ID 6F079F7B09000000 // значение берётся из QR-кода
setenv ethaddr 08:ed:ed:00:00:00 // значение берётся с шильдика
setenv serverip 192.168.1.128
save
Прошивка прошивки
Теперь всё готово для прошивки штатным образом. Вводим команду run up и ждём окончания процесса, а после этого перезапускаем камеру командой reset.
run up
............
reset
После перезапуска камера станет доступна по адресу 192.168.1.108 и будет в неинициализированном состоянии. Надо инициализировать – задать пароль и можно настраивать.
Добрый день, решился прошить по инструкции. Но похоже что-то пошло не так и после последнего действия при загрузке выходит только это:
hi3516cv300 System startup
U-Boot 2010.06-svn6470 (Dec 11 2018 – 16:27:39)
Похоже кирпич) Подскажите есть варианты воскресить?
Она жива 🙂 Просто у загрузчика отключен вывод в консоль. Если бы было только hi3516cv300 System startup, то кирпич, а так, скорее всего нет и всё нормально. После подачи питания надо сразу давить * не дожидаясь приглашения и всё будет.
Отлично, сработало) Инициализировал в ConfigTool и зашел на Web-морду. Единственный нюанс с маком, вводил вроде все по инструкции но стал 90 и все нули. На выходных потестю с регистраторои Орбита. Большое спасибо за ваш труд!!!!
Пожалуйста!
С таким MAC-ом могут быть проблемы при работе в сети. Так что лучше всё-таки пофиксить.
Здравствуйте.
Знакомый принес камеру с такой проблемой.
При подключении к UART вывод – “hi3516cv300 System startup” и более ничего. Ни на какие кнопки не реагирует.
Похоже что залили не ту прошивку или по какой-то причине дальше загрузчик не стартует. Не подскажете что с ней можно сделать?
Здравствуйте! В этих моделях отключен вывод лога в консоль, поэтому то, что ничего не видно ещё ни о чём не говорит. Консоль ждёт нажатия только первые несколько секунд, так что может не успеваете просто либо проблема в адаптере или подключении. Если система таки стартует, то на сетевом порту должен быть линк, должен щёлкать ИК-фильтр и загораться и гаснуть ИК-подсветка. Если ничего из этого не происходит, то вероятно камера окирпичена. Так бывает при заливке не всей родной прошивки, а только первой части загрузчика, например, либо при наличии бэдов на флешке, что приводит к сдвигу дампа, и как следствие, невозможности загрузки.
Полечить просто – залить ростелекомовский загрузчик через HiTool или Burn. Про HiTool и именно эту модель есть статья: Восстановление камеры IPC-HFW1230SP/IPC-HDW1230SP. Про Burn есть инструкция и видосик на GitHub.
Спасибо за ссылку на статью! Буду пробовать.
А не подскажите еще. Есть камера IPC322SR3-VSPF28-C. Такая же беда. Лежит уже давно, никак руки не доходят. Нет у Вас случайно прошивки на эту камеру?
Пожалуйста! Эта камера шьётся аналогично камере IPC2122SR3-RUO. Родную прошивку найти не удалось либо её вообще нет, но зато шьётся прошивка от камеры Dahua: Отвязка от Ростелеком камеры IPC2122SR3-RUO . Совместимость не полная, но всё решаемо и есть большой плюс – работает облако!
Этот метод подойдёт к любой камере IPC-HFW1230SP с прошивкой Ростелекома или есть различия исходя из серийного номера?
Вот чего не знаю, того не знаю. Таких камер пока восстановил не очень много и статистики не набралось. До сих пор всё проходило удачно. У некоторых, правда, был какой-то непонятный глюк с bootargs, но ещё не понял по какой причине он возникает. И даже этот глюк путём шаманства лечится, но опять же, не совсем понятно почему лечится именно так. Так что, практически результат тоже есть, но и научный интерес тоже есть, а там уж кому что – или восстановить и запустить в работу или ковыряться дальше.
Статья не закончена, а когда этот момент настанет, то и все ответы будут, надеюсь.
Благодарю за инструкцию и файлы!
Удалось отвязать две камеры с положительным исходом.
Рад помочь!
Уважаемый mixatronik!
Огромное спасибо за проделанный труд! Можно попросить у вас фото штрих-кода для ID (например, K42LB на борту несёт 3 наклейки,одна на объективе 17 символов с точками, вторая в правом углу (мелкая 15 символов) и последняя на плате после снятия объектива).
Надо понимать, что тут всё на уровне догадок, но я же чётко указал откуда сам брал код – с корпуса ИК-фильтра. Это как раз 17 символов с точками, но точки надо убрать.
На самом деле, для этой модели облако не так уж и актуально. Слота под карту памяти у неё нет, а значит писать придётся на регистратор. Ну а там своё облако.
Здравствуйте! А вы можете помочь удаленно спроцессом отвязки камер? По незнанию купил пару таких, а теперь вот в печали… Приобрел вроде все необходимое, подпоялся на плате и выполнил подключение через Putty, бежит бесконечно отладочная информация, но никаких команд веести не могу
Как понимаю уже не акутально. 🙂
Алексей добрый день помогите разобраться у меня такая же проблема как у вас камера у меня IPC-HFW1230SP и тоже при подключении циклически бегут какие то данные на ” * ” ни как не реагирует
у меня прогресс
но на моменте выполнения команды runup выдает вот такое
dhboot # run up
Hisilicon ETH net controler
miiphy_register: non unique device name ‘0:1’
miiphy_register: non unique device name ‘0:2’
UP_PORT : phy status change : LINK=DOWN : DUPLEX=FULL : SPEED=100M
UP_PORT : phy status change : LINK=UP : DUPLEX=FULL : SPEED=100M
Download Filename ‘update.img’.
Downloading: *
ARP Retry count exceeded; starting again
Недоступен tftp-сервер или в его каталоге нет искомого файла. Если первое, то смотреть в сторону брандмауэра, если второе, то положить файл. Ещё может быть, что неправильно задан IP-адрес сервера, то бишь компа, но тут могу посоветовать только повнимательнее читать мануал 🙂
Уже разобрался😀 ip сервера поправил и все завелись отлично! Спасибо Вам большое за отличную инструкцию) спасаете людей)
Всегда пожалуйста!
Добрый день, mixatronik!
Пытался отвязать камеру и получил кирпич.
Вот что было последнее:
bootdelay=1
baudrate=115200
ethaddr=00:00:23:34:45:66
netmask=255.255.255.0
bootfile=”uImage”
hi_gpios=60! 72 27 0! 73
stdin=serial
stdout=serial
stderr=serial
verify=n
ver=U-Boot 2010.06 (Feb 20 2020 – 08:38:06)
serverip=192.168.1.39
ipaddr=192.168.1.111
Environment size: 658/131068 bytes
hi3516cv300-vc # mw.b 0x82000000 0xff 0x1000000
hi3516cv300-vc # tftp 0x82000000 ipc1230sp-boot+.bin
Hisilicon ETH net controler
MAC: 00-00-23-34-45-66
PHY not link.
hi3516cv300-vc # nand erase 0x0 0x1000000
NAND erase: device 0 offset 0x0, size 0x1000000
Erasing at 0xfe0000 — 100% complete.
OK
hi3516cv300-vc # nan
nand – NAND sub-system
hi3516cv300-vc # nand erase 0x0 0x1000000
NAND erase: device 0 offset 0x0, size 0x1000000
Erasing at 0xfe0000 — 100% complete.
OK
hi3516cv300-vc # nand write 0x82000000 0x0 0x1000000
NAND write: device 0 offset 0x0, size 0x1000000
pure data length is 16777216, len_incl_bad is 16777216
16777216 bytes written: OK
hi3516cv300-vc # reset
resetting …
Добрый! В чате уже подсказали, что и как, но напишу и здесь. Строка PHY not link буквально означает, что связи нет и, соответственно, передача дампа невозможна. Значит и записывать нечего, поэтому и имеющееся стирать не стоит. Надо разбираться почему нет связи и только после её восстановления продолжать.
Тем не менее, дерьмо случается, но выход есть: Восстановление камеры IPC-HFW1230SP/IPC-HDW1230SP, поэтому можно смело экспериментировать.
Огромное спасибо за проделанную работу! Удачно отвязал камеру от ростелекома.
Рад помочь!
Добрый день. А русский язык в родную прошивку Dahua 1230SP как-то добавить можно? Если да, то как? Благодарю.
Добрый! Честно говоря, по моему мнению, русификация, в данном случае, нужна не более чем никому 🙂 Переводить там особо нечего. Там ведь не высокохудожественный текст, а тупо параметры. Соответственно, вообще не интересовался этим вопросом. Может и можно что-то сделать, но зачем?
Здравствуйте. При остановке загрузки с помощью “*” камера почему то не получает ip адрес и не определяется роутером. При обычной загрузкой ip получает и пингуется но как я понимаю команды для считывания и загрузки конфиги недоступны. Как быть?
Привет! Само собой. Для получения адреса должен работать DHCP-клиент, а в загрузчике его нет. Но в загрузчике есть переменная ipaddr, которая задаёт адрес камеры и переменная serverip, которая задаёт адрес сервера, то бишь компьютера, на котором запущен tftp-сервер. Нужно присвоить им правильные значения и всё будет.
Вообще говоря, в статье, в разделе Бэкап, подробно расписано что к чему.
А с такой моделькой сталкивались?
ipc-hfw1230sp v2
я так полагаю эта статья не подойдет под v2 и нужна прошивка под v2?
Не сталкивался. А подойдёт или нет непонятно. Смотря что означает v2. Надо смотреть аппаратную платформу – может там вообще не Dahua или Dahua, но совсем другая.
Подтверждаю, метод рабочий и ещё раз выражаю огромную благодарность автору.
Без танцев с бубном не обошлось, признаю, с другой стороны, новый опыт и новые знания.
В частности, у меня собственно прошивка никак не заливалась, но тут сам виноват, это был мой косяк с сетевым интерфейсом (не пинговалась вообще никак ни при каких конфигурациях и настройках)
Связался с автором, он не счёл за труд ответить, помог раскирпичить (есть отдельная инструкция), взял отдельный ноут и всё завелось без проблем.
Ещё раз спасибо!
Пожалуйста!
подскажите пожалуйста ,начал отвязывать камеру ,по инструкции ,сделал бекаб всё сохранилось ,прошил загрузчик ,тоже всё залилось ,грузится в загрузчик ,но при вводе команды run up .пишет нет такой команды tru help но только потом посмотрел на наклейку а там написано другая модель IPC-HFW1231SNM ,и сразу вы пишите что лог загрузки отключен ,а здесь в этой камере не отключен.вам не попадалась такая камера ,
Судя по описанию, загрузчик не прошился. В противном случае, либо не ругался бы на команды, либо камера бы окирпичилась, т.к. загрузчик от другой модели. А вот совместимая ли это модель по одному наименованию сказать сложно. Надо смотреть что за процессор и память, как минимум.
процессор такой же как описание в этой теме hi3516cv300 при прошивки загрузчика ,написало типа загрузка выполнена ,после перезагрузки ,идёт лог загрузки ,да и ip адрес камеры и сервера не изменился ,я тоже подумал что не прошился загрузчик ,но написало что успешно залилось ,и дальше грузится ,не окирпичилась. и активный лан порт и tftp сервер её видит ,заливал несколько раз загрузчик и почему то команда run up в этой камере не работает,может другая команда здесь нужна
Загрузка – это загрузка. Это просто передача в оперативку. Она ни на что не влияет. Главное – запись. Если из оперативки дамп записан на флешку, то при следующем включении запустится именно он. И тут либо-либо: либо загрузится, либо кирпич. Скопируй сюда вывод printenv. Насчёт run up – неправильный вывод. Команды загрузчика потому и называются командами загрузчика, что код, ими выполняемый, является его частью. Поэтому не может так получиться, что загрузчик есть, а команды в нём нет. она может выполняться с ошибкой, например, при отсутствии сети, но совсем отсутствовать не может.
Добрый день mixatronik принесли камеру от РТ IPC-HFW1230SP помогите отвязать. Если есть возможность то удаленно. Заранее спасибо!!!
Добрый! Удалённо – никак. Камеру разбирать надо и всё такое прочее.