Вы когда-нибудь задумывались, что скрывается внутри прошивки вашей IP-камеры? Или как собрать её заново, добавив свои изменения? А может, интересно узнать, что на самом деле внутри отечественной камеры, которую вы купили? Сегодня мы погрузимся в мир прошивок, файлов и плат, чтобы раскрыть все секреты.

В этой статье вы узнаете:

  • Что такое прошивка камеры DCS-2210 и из каких частей она состоит
  • Как распаковать и изменить файлы прошивки
  • Как собрать прошивку обратно и прошить камеру
  • Что скрывается внутри отечественной IP-камеры с точки зрения аппаратной части
  • Практические советы и примеры, чтобы вы смогли повторить всё сами

Готовы? Тогда поехали!


Что такое прошивка и почему она важна

Прошивка — это как душа камеры, её операционная система и мозг в одном флаконе. Без неё камера — просто кусок железа. В случае DCS-2210 прошивка состоит из нескольких разделов, каждый из которых отвечает за свою часть работы.

Основные разделы прошивки DCS-2210

Раздел Имя файла Описание Адрес на флешке
u-boot.env u-boot.env Переменные окружения загрузчика Das U-Boot 0x1c00 (mtdblock0)
kernel.img kernel.img Образ ядра Linux MontaVista v5.0 0x00200000-0x00400000
www.jffs2 www.jffs2 Веб-сервер: html, cgi и прочие файлы 0x00c00000-0x01000000
ipnc.jffs2 ipnc.jffs2 Вендор-специфичные бинарники 0x01000000-0x01a00000

Внимание! В прошивке D-Link отсутствует образ rootfs — корневая файловая система. Почему? Загадка, покрытая мраком.


Как распаковать прошивку DCS-2210

Только представьте: у вас есть файл прошивки dcs2210.bin, а вы хотите заглянуть внутрь, изменить что-то и собрать обратно. Звучит как шпионский триллер, правда?

Шаг 1. Скачиваем прошивку

Идем на официальный сайт D-Link или ftp-сервер и скачиваем файл прошивки. Переименовываем его в dcs2210.bin для удобства.

Шаг 2. Компилируем утилиту для распаковки

Тут начинается магия. Есть утилита decode_fw, написанная умельцем по имени leecher. Она умеет распаковывать прошивку.

  • Сохраняем исходный код в файл decode_fw.c
  • Компилируем в 32-битной Linux-среде (например, Ubuntu 13.04 32-bit) командой:
    bash gcc -o decode_fw decode_fw.c
  • Делаем файл исполняемым:
    bash sudo chmod a+x decode_fw

Шаг 3. Распаковываем прошивку

Запускаем утилиту с параметрами:

sudo ./decode_fw dcs2210.bin a.out

В результате получаем 4 файла:

  • u-boot.env
  • kernel.img
  • www.jffs2
  • ipnc.jffs2

И файл a.out, который можно не трогать.

Шаг 4. Монтируем раздел www.jffs2

Чтобы внести изменения, нужно смонтировать файловую систему jffs2. Для этого используем скрипт mount_jffs2.sh:

./mount_jffs2.sh www.jffs2

В текущей папке появится подпапка fs с содержимым раздела. Вносим изменения, например, меняем html-файлы.

Шаг 5. Сохраняем изменения

Создаем новый файл www.jffs2.new:

mkfs.jffs2 -l -e 0x4000 -n -U -d fs -o www.jffs2.new

Отмонтируем старый раздел:

./mount_jffs2.sh www.jffs2 unmount

Как собрать прошивку обратно

Теперь, когда у вас есть изменённые файлы, пора собрать прошивку.

Шаг 1. Скачиваем исходники прошивки

Официальный сайт D-Link предлагает исходники, но скачивание часто прерывается. Лучше взять их с российского ftp:

ftp://ftp.dlink.ru/pub/Multimedia/Sources/GPL_DCS-2210.tar.gz

Шаг 2. Берём нужные файлы для сборки

Нам нужны:

  • firmware.conf — конфигурационный файл
  • host_mkfm — утилита для сборки и шифровки прошивки

Копируем их в рабочую папку.

Шаг 3. Правим firmware.conf

Вписываем имена файлов, номера блоков, тип файловой системы и смещения:

## file_name mtd section_type offset(hex) FLAG(GZ_COMPRESS)
u-boot.env 0 AUTO 1C000 0
kernel.img 3 AUTO 0 0
www.jffs2 6 JFFS2 0 0
ipnc.jffs2.old 7 JFFS2 0 0

Можно добавить свои разделы, если нужно.

Шаг 4. Собираем прошивку

Запускаем:

sudo ./host_mkfm dcs2210_new.bin

Получаем готовый файл dcs2210_new.bin для прошивки камеры.


Практический пример: добавляем свой раздел rootfs

Допустим, вы хотите добавить изменения в rootfs (корневую файловую систему), которой в оригинальной прошивке нет.

  • Монтируем mtdblock4 с помощью скрипта
  • Вносим изменения
  • Сохраняем новый образ
  • Добавляем раздел rootfs в firmware.conf с типом AUTO
  • Собираем прошивку и прошиваем камеру

Результат: камера успешно прошивается и содержит ваши изменения!


Что внутри отечественной IP-камеры

Теперь переключимся на аппаратную часть отечественной камеры mini dome 360+1 2MDIS-28, произведённой в Краснодаре.

Внешний вид и корпус

  • Корпус напоминает смесь Хика с носорогом — загадочно и необычно
  • Камера крепится на съемную поворотную платформу — странное решение для купольных камер
  • Множество стикеров ОТК на русском языке, включая дату изготовления и адрес производства

Внутренности

  • Три платы: подсветка, матплата/сенсор и плата питания
  • Матплата на SigmaStar SSC337DE — китайский процессор
  • Плата питания с массивным трансформатором и газоразрядниками — вероятно отечественная разработка
  • Подсветка с маркировкой НИЦ "Технологии" — тоже отечественная

Итог

  • Камера — гибрид: китайский процессор и сенсор, отечественная плата питания и подсветка
  • Вероятно, сборка отечественная, проектирование некоторых модулей тоже
  • Прошивка китайская, с китайским MAC-адресом и интерфейсом

Полезные советы и рекомендации

  • Для работы с прошивкой используйте 32-битную Linux-среду — иначе утилиты могут не работать
  • Всегда делайте резервные копии оригинальных файлов прошивки перед изменениями
  • При добавлении новых разделов в прошивку ставьте section_type в AUTO, чтобы избежать проблем с прошивкой
  • Если при прошивке появляется пустая страница, не паникуйте — камера может перезагрузиться и заработать нормально
  • Для монтирования jffs2 используйте готовые скрипты, чтобы не изобретать велосипед

Итог

Прошивка IP-камеры — это не просто набор файлов, а сложная структура с несколькими разделами, каждый из которых отвечает за свою функцию. Разобрать, изменить и собрать прошивку — задача не из лёгких, но вполне выполнимая с правильными инструментами и знаниями.

Отечественные камеры — это интересный микс китайских и российских технологий. Понимание их устройства поможет вам лучше ориентироваться в мире видеонаблюдения и, возможно, вдохновит на создание собственных модификаций.

Не бойтесь копаться в прошивках и платах — это как читать тайный дневник вашей камеры. А если что-то пойдёт не так, всегда можно спросить у сообщества или вернуться к оригиналу.

Удачи в ваших экспериментах с прошивками и устройствами!