Взял за правило сохранять всю доступную информацию по препарируемым камерам. Бывает так, что посчитаешь что-то незначительным и не нужным, а потом вдруг оно надо, а нету. А чтобы не искать в своих “архивах” всё буду выкладывать на сайт.
Камера
… тут будет фото и данные по 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 помогите отвязать. Если есть возможность то удаленно. Заранее спасибо!!!
Добрый! Удалённо – никак. Камеру разбирать надо и всё такое прочее.
Автору огромнейшее спасибо и уважение за труды! Вопрос, где можно посмотреть фото в разобранном виде, а именно интересует местоположение qr-кода?? Может ли он отсутствовать на корпусе ИК-фильтра?
Заранее спасибо.
Пожалуйста! Фотки есть, но почему-то до сих пор не выложил и не оформил статью полноценно, как все последние. Причём сам же каждый раз лезу в архив фото – смотреть, как правильно подключить UART, но всё никак доделать не могу почему-то. Сделаю… Скоро… Честно…
QR-код прям на корпусе фильтра должен быть наклеен, но сталкивался, что не было его. В этом случае можно придумать свой по образу и подобию родного – главное, чтобы ни с чьим не совпало, но можно взять и ростелекомовский. Когда попадались камеры без QR-кода, так и делал – брал ростелекомовский и, что интересно, с ним облако Dahua тоже работает. Хотя для этих моделей прямое подключение к облаку, чаще всего, не актуально.
А почему не актуально подключение к облаку?
mixatronik, еще подскажите пожалуйста, если сравнивать данную камеру и IPC2122SR3-RUO, что лучше выбрать на перепрошивку, Ваше мнение если можно (качество картинки, детализация, удобство использования)?
Обычно, к облаку имеет смысл подключать камеру, имеющую слот MicroSD, а у этих камер такого слота нет, соответственно, писать надо на регистратор и для удалённого доступа использовать его облако. Разве что, если на NFS писать, но сам не делал и не знаю насколько хорошо работает. Думаю, что не очень.
Если выбор между IPC2122SR3-RUO и IPC-HFW1230SP, то однозначно лучше брать последнюю. Сенсор у них одинаковый, отсюда и качество картинки тоже аналогичное. В случае с камерой IPC2122SR3-RUO имеем ситуацию, когда камера производства Uniview работает на прошивке Dahua, поэтому и приходится после прошивки “дорабатывать напильником”, но всё равно остаётся косяк с переключением день/ночь. А в случае с IPC-HFW1230SP получаем 100%-ный оригинал – прошивка родная, облако работает.
Спасибо!
А облако позволяет просто удаленно смотреть текущую картинку с камеры без записи в случае IPC-HFW1230SP?
Да, смотреть можно.
Подскажите после прошивки камера находится по ip силами роутера. но не грузит веб интерфейс. Не видна утилитой. в терминале перезагрузка раз в несколько минут. Щелчков нет.
hi3516cv300 System startup
U-Boot 2010.06-svn6470 (Dec 11 2018 – 16:27:39)
hi3516cv300 System startup
U-Boot 2010.06-svn6470 (Dec 11 2018 – 16:27:39)
hi3516cv300 System startup
U-Boot 2010.06-svn6470 (Dec 11 2018 – 16:27:39)
Что можно сделать. Пробовал восстанавливать загрузчик. Перешивать заново. не помогает. Таких камер несколько штук из 10.
Судя по всему прошит только загрузчик. Вот он и грузится в цикле. Для понимания нужно включить лог загрузки: setenv dh_keyboard 0;save – тогда будет видно в какой момент крашится. Точно система прошита? То есть команда run up была дана и было видно, что части прошивки скачиваются и прошиваются? Есть ещё вероятность, что дело в битой флешке, но вряд ли это сразу у всех десяти камер.
Нет вы не правильно поняли. Из 10 камер 8 прошилось две нет. Проживал по одному алгоритму. Одна камера кстати жалуется на бэд блоки. А бэд блоки победить можно?
Смотря где они. Чаще всего они между dh-boot-min и dh-boot, поэтому прошив эти части загрузчика по отдельности, можно проблему обойти. В комментах, кажется, писал команды для этого. Если же бэды в критически важной области, то только менять флешку.
А не могли бы прислать ссылку на команды раздельной прошивки. Все перечитал но не нашёл.
Видимо в Телеге было… Смысл в том, что загрузчик у Dahua состоит из двух частей. В случае наличия бэдов происходит смещение и вторая часть оказывается не там, где нужно, но если прошить отдельно, то смещения не будет.
mw.b 0x82000000 0xff 0x1000000;tftp 0x82000000 dhboot-min.bin;nand erase 0x0 0x20000;nand write 0x82000000 0x0 0x20000
mw.b 0x82000000 0xff 0x1000000;tftp 0x82000000 dhboot.bin;nand erase 0x200000 0x60000;nand write 0x82000000 0x200000 0x60000
Сами бинарники вот, но после прошивки в загрузчике не будет HWID, поэтому надо задать: setenv 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;setenv hwidEx 00:03:00:00:00:00:00:00:00:00:00:00:00:00:00:00;save
Привет. Не попадалась камера: IPC-HFW1239SIP v2 ?
Не могу ничего сделать с терминала, на * не реагирует логи бегут и всё… и босюь как бы состав не отличался от предложенного ПО
Отвечу сам себе: В данной камере IPC-HFW1239SIP v2 похоже нет NAND чисто SPI поэтому работает команда SF , а не NAND, собсна сделал тоже самое что и для NAND, адреса не совпали, SPI стёр, загрузчик убил:)))…
Ну что сказать, буду пробовать через программатор чё-то писать на 25q128 )) что именно пока не понятно :)) скорее всего загрузчик из темы
Модель другая, значит всё другое. Аккуратнее надо. А проц там какой? Если SigmaStar или HiSilicon, то, скорее всего, всё поправимо. Другое дело, что нужны материалы для восстановления.
Судя по загрузчику, там SigmaStar, как думаешь реально без выпайки SPI реанимировать? или тут уже всё конкретно надо выпаивать и на программатор сажать?
Вполне: snander в помощь! Как минимум можно накатить загрузчик OpenIPC, а дальше уже из него действовать. Если, конечно, есть загрузчик для конкретно твоего проца.
У меня есть вторая залоченная камера, могу с неё дамп снять
Это будет шаг назад, поэтому большого смысла нет. Разве что загрузчик починить.
Остановка по * только у Dahua. Если тут Ростелеком, то, либо вообще любая клавиша, либо какая-то особая.