Прислали сабж для исследования на предмет отвязки от облака Ростелеком. Занимался этим на протяжении нескольких месяцев и результат, хотя и с некоторыми нюансами и вообще странным образом, но был достигнут.
По серийному номеру с платы поддержка прислала прошивку, которая была успешно прошита и запущена, но картинка отсутствовала. То есть камера загружается и войти в веб-морду можно, но изображения нет, а в консоли – ошибки.
При сравнении со стоковым аналогом – камерой Uniview IPC2122SR3-PF40-C, выяснилось, что камеры одинаковые только на первый взгляд. Корпус, основная плата, процессор и память те же, поэтому прошивка и стартует, но вот сенсор совсем другой.
Стоковую прошивку пока найти не удалось и не факт, что она вообще есть. OpenIPC запускается, но картинка фиговая, как и у камеры IPC-HFW1230SP. Самое интересное, что платформы этих камер в основных компонентах совпадают: процессор – HI3516CV300, память – NAND и сенсор OV2735. Возникла мысль – почему бы не попробовать залить в камеру Uniview прошивку от Dahua?
Ещё одна модель, которую удалось прошить по этому же мануалу: IPC322SR3-VSPF28-C
Инструменты
Материалы
- ipc1230sp-boot+.zip – кусочек оригинального дампа.
- update.zip – оригинальная прошивка.
- DeviceConfig.zip – файл конфигурации.
Утилиты
- TFTP-сервер Tftpd64 — TFTP-сервер для передачи файлов.
Вскрытие
Наверное самое сложное – это разобрать камеру. Первым делом надо снять декоративную накладку, которая держится на 4-х защёлках, расположенных по углам. Аккуратно поддеваем накладку, просунув, например, кредитную карту, между ней и корпусом в верхней части, ведём вдоль щели и освобождаем защёлки.
Далее откручиваем 4 винта крепления передней крышки и снимаем её, стараясь не оторвать шлейф и провод питания ИК-подсветки.
Следующий этап – откручиваем 3 винта крепления платы и вынимаем её. Далее, откручиваем шестигранные проставки. Для этого понадобится миниголовка – пришлось специально купить набор, в котором она была.
Нижнюю плату тоже вынимаем из корпуса и соединяем с верхней. С помощью проставки лучше сделать так, чтобы платы не соприкасались друг с другом. Иначе могут коротнуть.
Подключение
После этого можно подключаться к разъёму UART и приступать к прошивке. При подключении через CH340 к камерам Uniview почему-то почти всегда не работает TX, соответственно не удаётся остановить загрузку системы и отдавать команды тоже. А вот CH341A в режиме TTL отлично работает, поэтому его и использую. Разъём подойдёт такой же, как и для камер Dahua: Коннектор JST 1,25 4p, только расположение контактов другое.
Бэкап
Алгоритм прошивки аналогичен описанному в статье Отвязка от Ростелеком камеры IPC-HFW1230SP/IPC-HDW1230SP. Приведу его здесь вкратце, а за подробностями – туда.
Делаем резервную копию прошивки. Достаточно первых 32 Мб.
setenv serverip 192.168.1.128;setenv ipaddr 192.168.1.10;save
mw.b 0x82000000 0xff 0x1000000;nand read 0x82000000 0x0 0x1000000;tftp 0x82000000 rt-ipc2122SR3-ruo_dump0.bin 0x1000000
mw.b 0x82000000 0xff 0x1000000;nand read 0x82000000 0x1000000 0x1000000;tftp 0x82000000 rt-ipc2122SR3-ruo_dump1.bin 0x1000000
Перед манипуляциями с tftp-сервером отключайте Брандмауэр Windows или, если используете какой-то другой, то его, либо ставьте порт UDP 69 в исключения.
Прошивка
Шьём подготовленный загрузчик и перезагружаемся в него.
mw.b 0x82000000 0xff 0x1000000
tftp 0x82000000 ipc1230sp-boot+.bin
nand erase 0x0 0x1000000
nand write 0x82000000 0x0 0x1000000
reset
Запуск нового загрузчика останавливаем нажатием * и конфигурируем его задавая ID, MAC-адрес и снова адрес tftp-сервера. Далее выполняем команду run up запускающую процесс прошивки.
Поскольку серийник Dahua взять негде, в качестве ID используем ростелекомовский серийник.
setenv ID 123450000000 // значение берётся с шильдика
setenv ethaddr 08:ed:ed:00:00:00 // значение берётся с шильдика
setenv serverip 192.168.1.128
save
run up
...
reset
Тюнинг
Платформа та же, но производитель другой, поэтому и совместимость не полная. Обнаружил три момента:
- В Dahua есть такая вещь – Voltage Detection. Видимо, это какой-то контроль напряжения, поддержки которого в железе от Uniview нет, поэтому через некоторое время работы в правом верхнем углу экрана вылезает красный мигающий значок батарейки. Ни на что, вроде бы, не влияет, но напрягает – надо отключить! Делается это в разделе Event->Abnormality->Voltage Detection.
- ИК-фильтр срабатывает наоборот, т.е. в ночном режиме он включен, а в дневном выключен. Тут уже программно не решишь – надо в разъёме поменять местами красный и чёрный проводок, инвертируя управление.
- В ночной режим камера переходит нормально, а вот в дневной возвращаться не хочет. Надо в разделе Camera->Conditions, в профиле дневного режима Day, в подразделе Day & Night выбрать вариант Color вместо Auto и на вкладке Profile Management задать расписание.
Для удобства сохранил настройки в файл и достаточно их просто импортировать в разделе System.
После прошивки получаем рабочую камеру и даже с подключением к облаку Dahua!