РадиоЛоцман - Все об электронике

Программный ремонт IP-видеокамеры Dahua серии DH-IPC-HDW4421E

Dahua DH-IPC-HDW4421E

- Тирасполь

В статье я хочу рассказать о способе программного ремонта или восстановления прошивки IP-видеокамеры Dahua DH-IPC-HDW4421E (Рисунок 1). В общем случае эта инструкция подходит для всех IP-видеокамер Dahua серии IPC-HX4X2X и используется в том случае, если камера не запускается, у нее недоступен веб-интерфейс и не запускается процесс обновления прошивки в автоматическом режиме через TFTP сервер. В статье мы рассмотрим именно программный сбой и способ его устранения, ведь причина, по которой камера не работает, может быть и аппаратная, например, неисправность встроенного модуля PoE или цепей питания процессора и периферии.

Вебинар «Особенности применения литиевых батареек Fanso (EVE) в популярных решениях» (30.11.2021)

IP-видеокамера Dahua серии DH-IPC-HDW4421E.
Рисунок 1. IP-видеокамера Dahua серии DH-IPC-HDW4421E.

Проверить, что у IP-камеры Dahua программный сбой,  можно с помощью отладочного UART-интерфейса (его же будем использовать для устранения неполадок в прошивке), сигналы которого доступны на контактных площадках процессорной платы. Кроме того, неисправная IP-видеокамера Dahua не определяется в программе ConfigTool (программное обеспечение от производителя), и веб-интерфейс камеры по установленному ранее IP-адресу недоступен. Для доступа к отладочному интерфейсу IP-камеру требуется разобрать, извлечь процессорную плату и снять радиаторы охлаждения (Рисунки 2, 3).

IP-видеокамера Dahua DH-IPC-HDW4421E со снятой крышкой корпуса.
Рисунок 2. IP-видеокамера Dahua DH-IPC-HDW4421E со снятой крышкой корпуса.
Вид процессорной платы IP-видеокамеры Dahua DH-IPC-HDW4421E со стороны объектива.
Рисунок 3. Вид процессорной платы IP-видеокамеры Dahua DH-IPC-HDW4421E со стороны
объектива.

На Рисунке 2 корпус IP-камеры вскрыт, на переднем плане виден модуль PoE (Power over Ethernet, питание камеры по сетевому интерфейсу). Под радиатором видна часть процессорной платы и микросхема Flash-памяти в корпусе SO-8. Демонтируем модуль PoE (я не отключал его от процессорной платы), откручиваем винты крепления процессорной платы к корпусу камеры и затем снимаем радиатор охлаждения.

Сняв радиатор, мы получаем доступ к контактам отладочного интерфейса, а также к контактам кнопки сброса (Рисунок 4). На этой стороне процессорной платы также имеется наклейка с серийным номером  (ID, идентификатором) камеры, этот номер также прописан в прошивке.

Расположение контактных площадок на процессорной плате IP-видеокамеры Dahua DH-IPC-HDW4421E:
Рисунок 4. Расположение контактных площадок на процессорной плате IP-видеокамеры
Dahua DH-IPC-HDW4421E: 1 - отладочный UART интерфейс, 2 - кнопка сброса.

Расположение сигналов отладочного UART-интерфейса +3.3 В, GND, Rx, Tx изображено на Рисунке 4. Для подключения отладочного интерфейса к терминальной программе на ПК я использовал адаптер USB-UART на микросхеме PL2303. В других IP-камерах этой серии расположение контактных площадок и сигналов может отличаться, поэтому если вы не увидите вывод отладочной информации в терминальной программе при подаче питания на IP-камеру, то просто поменяйте сигналы Rx и Tx местами (Рисунок 5).

Подключение адаптера USB-UART к контактам отладочного интерфейса IP-видеокамеры.
Рисунок 5. Подключение адаптера USB-UART к контактам отладочного
интерфейса IP-видеокамеры.

Подключаем USB-UART адаптер к компьютеру. Далее скачиваем и устанавливаем терминальную программу; я использую PuTTY. В настройках программы выбираем последовательный порт (Serial), указываем номер порта (Serial Line), соответствующий адаптеру USB-UART, указываем скорость обмена (Speed) 115200 и нажимаем кнопку «Открыть» (Open).

После открытия окна терминальной программы подаем питание на камеру (внешний блок питания 12 В или через PoE, при наличии PoE инжектора) и, если все сделано правильно и процессор исправен, то в окне мы увидим вывод отладочной информации о ходе загрузки (Рисунок 6). В противном случае необходимо проверить параметры порта и подключение сигнальных линий Rx/Tx адаптера USB-UART к отладочному интерфейсу (поменять их местами).

Процесс загрузки операционной системы IP-видеокамеры Dahua DH-IPC-HDW4421E.
Рисунок 6. Процесс загрузки операционной системы IP-видеокамеры
Dahua DH-IPC-HDW4421E.

Отладочная информация выводится до запуска ядра (после зауска ядра могут выводиться сообщения только о критических ошибках). Тем не менее, даже этой информации было достаточно, чтобы увидеть программные неполадки. Кроме того, IP-камера через несколько минут после старта перезагружается, повторяется процесс загрузки (снова отрабатывает загрузчик U-Boot).

На скриншоте лога загрузки операционной системы можно выделить несколько основных моментов:

  • сообщение «* * *  Warning - bad CRC, using default environment» говорит о ошибке контрольной суммы (CRC);
  • при инициализации сетевого интерфейса IP-камеры сообщается MAC-адрес Ethernet: Net:   Detected MACID:00:12:34:56:78:9a. Такое значение MAC-адреса (последовательность 0-А) является некорректным, не говоря о соответствии данной IP-камере;
  • сообщение «unknown core, use back» после запуска ядра свидетельствует о программной проблеме.

Чтобы проверить остальные параметры камеры (правильнее будет – параметры среды загрузчика), требуется остановить выполнение загрузчика U-Boot и проверить параметры и их текущие значения.

Для остановки загрузки U-Boot необходимо сразу после подачи питания на IP-камеру в терминальной программе отправить символ «*» (или их последовательность), пока не появится надпись «Hit any key to stop autoboot», после этого нажимаем любую кнопку на клавиатуре – появится приглашение к работе «>».

В командной строке вводим команду printenv, наблюдаем список параметров и значений (Рисунок 7). В списке параметров отображаются параметры сетевого интерфейса (MAC, текущий IP камеры, адрес TFTP сервера для обновления прошивки, адрес основного шлюза, маска подсети), команды обновления разделов прошивки с адресами областей Flash-памяти, параметры отладочного UART-интерфейса, уровень отладки и др. Снова в списке видим некорректное значение MAC адреса сетевого интерфейса (параметр ethaddr), некорректный идентификатор (серийный номер) ID, в занчении которого все 0 (данный идентификатор используется при работе IP-камеры с облачными сервисами).

Также в этом списке по какой-то причине отсутствует один важный параметр с именем HWID, который определяет аппаратную платформу IP-видеокамеры. Другими словами – явно программный сбой, причина которого неизвестна (возможно, после неудачного обновления).

Кроме того, отсутствует параметр BSN, который, судя по всему, является идентификатором (серийным номером) процессорной платы IP-камеры, и параметр devalias. Этикетка с идентификатором BSN наклеена на процессорную плату. Как я убедился, наличие или отсутствие параметров BSN и devalias на работу камеры не влияет.

список параметров среды в загрузчике U-Boot.
Рисунок 7. Результат выполнения команды "printenv": список параметров
среды в загрузчике U-Boot.

В общем случае, список параметров у исправной IP-камеры данной серии должен быть вида, как указан на Рисунке 8.

Список параметров среды (printenv) у исправной IP-камеры серии DH-IPC-HDW4421E.
Рисунок 8. Список параметров среды (printenv) у исправной IP-камеры
серии 
DH-IPC-HDW4421E.

Серийный номер (ID) IP-камеры обычно находится на наклейке на корпусе камеры (длина 15 символов), возможно, он также будет на упаковке или в гарантийном талоне. Идентификатор аппаратной платформы (HWID) можно взять от идентичной камеры (для этого тоже потребуется подключение к отладочному интерфейсу) или найти по модели камеры в файле check.img, который входит в состав программного пакета для обновления прошивки данной серии IP-видеокамер. Для этого необходимо скачать официальную прошивку для данной модели, распаковать ее и найти файл check.img; файл открыть в режиме текстового просмотра и по модели камеры найти значение параметра HWID, которое должно иметь вид: IPC-HDW4421E-AS:01:02:05:23:19:00:01:0E:01:00:04:258:00:00:00:00:00:00:00:00:100

С MAC-адресом сложнее, предположительно, он тоже может быть указан на упаковке или гарантийном талоне; обычно на корпусе IP-камеры имется наклейка с указанием MAC и ID. В моем случае я не смог найти MAC-адрес этой камеры, поэтому пришлось подобрать по аналогии с другой камерой идентичной модели. Здесь следует обратить внимание, что в случае сложных систем видеонаблюдения администраторы сетей требуют уникальность MAC-адресов сетевых устройств.

Забегая вперед, скажу, что подключившись к отладочному интерфейсу, можно на этом этапе обновить прошивку IP-камеры из командной строки, однако из-за некорректных значений указанных выше идентификаторов камера не запустится. В частности, из-за отсутствия идентификатора HWID после перепрошивки мы снова получим сообщение об ошибке «unknown core, use back». Поэтому сначала восстановим значения этих параметров.

Для установки MAC адреса сетевого интерфейса IP-камеры необходимо в командной строке выполнить команду вида:

setenv ethaddr XX:XX:XX:XX:XX

где XX:XX:XX:XX:XX – MAC-адрес IP-камеры (сетевого интерфейса).

Далее, пропишем идентификатор ID с помощью команды:

setenv ID XXXXXXXXXXXXXXX

где XXXXXXXXXXXXXXX – серийный номер IP-камеры.

Теперь укажем идентификатор аппаратной платформы IP-камеры (для данной модели):

setenv HWID IPC-HDW4421E-AS:01:02:05:23:19:00:01:0E:01:00:04:258:00:00:00:00:00:00:00:00:100

Для сохранения введенных параметров в Flash-памяти в командной строке вводим команду:

saveenv

Для того чтобы убедиться, что данные введены правильно, можно выполнить команду printenv. Параметры и значения, которые мы изменили и сохранили, будут в конце списка (Рисунок 9).

Рисунок 9. Изменение идентификаторов (MAC, ID, HWID) IP-камеры Dahua
DH-IPC-HDW4421E в отладочном интерфейсе.

Теперь можно перезапустить камеру командой reset или boot, или аппаратно – отключить и снова включить питание. Практически во всех случаях после корректировки MAC, ID и HWID IP-камеры запускаются с прежними пользовательскими настройками, определяются в программе ConfigTool и стабильно работают. В некоторых случаях было замечено, что пользовательские настройки были сброшены, и необходимо было пройти инициализацию IP-камеры (указать новый пароль администратора, e-mail для восстановления пароля).

Пока подключен отладочный UART-интерфейс, можно обновить прошивку камеры посредством TFTP (конечно, если доступна обновленная официальная версия прошивки). Для этого снова останавливаем загрузчик и смотрим настройки сетевого интерфейса:

  • текущий IP адрес камеры (ipaddr=192.168.1.108);
  • адрес TFTP сервера (serverip=192.168.1.1)
  • адрес шлюза (gatewayip=192.168.1.1)

Если камера подключена в локальную сеть через маршрутизатор, то необходимо выполнить соответствующую настройку IP адреса камеры, сервера, шлюза. Я подключаю камеру непосредственно к ПК по Ethernet, поэтому меняю настройки сетевой карты (Рисунок 10), присваивая ПК IP адрес 192.168.1.1 (на этом же ПК будет поднят TFTP сервер с этим же адресом).

Настройка сетевой карты при непосредственном подключении IP-камеры к ПК для обновления прошивки по TFTP.
Рисунок 10. Настройка сетевой карты при непосредственном подключении
IP-камеры к ПК для обновления прошивки по TFTP.

На ПК запускаем программу TFTPD, выбираем адрес сервера (192.168.1.1) и указываем папку, в которую распакованы файлы прошивки для IP-камеры.

Теперь в командной строке отладочного интерфейса запускаем обновление прошивки командой run up и ждем окончания загрузки файлов и записи Flash-памяти. Можно обновлять в ручном режиме по разделам соответствующими командами. Список команд/скриптов приводится в списке параметров среды загрузчика (Рисунок 11). Например, для обновления раздела веб-интерфейса камеры необходимо выполнить команду run dw.

Список скриптов для обновления прошивки IP-камеры в параметрах среды загрузчика U-Boot.
Рисунок 11. Список скриптов для обновления прошивки IP-камеры в
параметрах среды загрузчика U-Boot.

Командой run up мы обновляем все разделы прошивки в автоматическом режиме (Рисунок 12).

С помощью команды run up запускаем обновление  прошивки IP-камеры через TFTP.
Рисунок 12. С помощью команды "run up" запускаем обновление  прошивки
IP-камеры через TFTP.

После обновления перезапускаем IP-камеру и проверяем работоспособность.

Ссылки:

  1. ПО PuTTY
  2. ПО TFTPD
  3. ПО, утилиты и прошивки к оборудованию Dahua
  4. Dahua DH-IPC-HDW4421E

На английском языке: Software repair of Dahua DH-IPC-HDW4421E series IP-camera

Изготовление 1-4 слойных печатных плат за $2

Видеокамера IP 2Мп 1/2.7" CMOS, ICR/DWDR, 0.0324 лк/F2.0, H.265+/H.265/H.264+/H.264, 2.8мм, ИК-10 м, встроенный микрофон и динамик
XCom-Shop
Россия
Видеокамера IP Dahua DH-IPC-K22P
Dahua Technology
7 590 ₽
XComSpb
Санкт-Петербург и Ленинградская обл.
Видеокамера IP Dahua DH-IPC-K22AP
Dahua Technology
7 590 ₽
Запись вебинара «Микросхемы для защиты цепей питания: ограничители всплесков напряжения и тока, контроллеры горячей замены, идеальные диоды»
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя