Вы когда-нибудь задумывались, что скрывается внутри прошивки вашей 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-камеры — это не просто набор файлов, а сложная структура с несколькими разделами, каждый из которых отвечает за свою функцию. Разобрать, изменить и собрать прошивку — задача не из лёгких, но вполне выполнимая с правильными инструментами и знаниями.
Отечественные камеры — это интересный микс китайских и российских технологий. Понимание их устройства поможет вам лучше ориентироваться в мире видеонаблюдения и, возможно, вдохновит на создание собственных модификаций.
Не бойтесь копаться в прошивках и платах — это как читать тайный дневник вашей камеры. А если что-то пойдёт не так, всегда можно спросить у сообщества или вернуться к оригиналу.
Удачи в ваших экспериментах с прошивками и устройствами!