Как я наконец убил свой видеорегистратор
Итак, напомню что есть китайский 8-канальный видеорегистратор на базе FLK-AHB780XT8-3520D V1.01B 20140927 (платформа MBD9304D-F).
Свежих прошивок нет, глюки есть. Захотелось переделать его под известный брэнд XM.
Модель от XM на этой же плате называется AHB7804T-EL (00000114, платформа NBD6808T-PL), но похоже что подходят и прошивки AHB7804R-LMS (00000131, платформа NBD6804T-F) и AHB7804R-ELS (00000123, тоже платформа NBD6804T-F).
AHB7804T-EL и AHB7808T-EL - это одна и та же модель, только на 2-й распаян кабель для дополнительных 4 входов (4 и 8-канальный вариант).
При этом прошивка одна общая AHB7804T-EL. Сколько реально каналов есть на плате зашито в EEPROM, но об этом ниже.
Добрые люди скинули мне полный дамп прошивки
1. AHB780XT8_3520D-SA V1.01 20140819 (платформа NBD6804T-F), правда процессор Hi3520D V200, а у меня V100
http://remont-aud.net/dump/prochie/proc ... -1-0-49646
2. AHB780XT8-3520D v1.01 (платформа NBD6808T-PL), без EEPROM вообще!
http://remont-aud.net/dump/gps_navigato ... -1-0-40893
Собственно после прошивки дампа от XM можно прошить любую прошивку от XM, даже от другой платформы.
Качаем прошивку от производителя
http://baike.xm030.cn/download.html или тут
http://www.cctvsp.ru/articles/firmware-update (есть самые свежие с обновлением после
хакерской атаки на видеорегистраторы).
Переименовываем в .zip, вытаскиваем файл InstallDesc и правим в нем платформу на ту, что сейчас в видеорегистраторе, запаковываем обратно, переименовываем в .bin и прошиваем с флэшки через стандартное меню.
Итак, я засунул прошивку от XM в свой видеорегистратор, он загрузился и тут выяснилось...
Что так НЕЛЬЗЯ БЫЛО ДЕЛАТЬ!
Видеорегистратор хранил настройки в отдельном разделе на флэшке вместе с прошивкой, но!..
Оказывается на плате есть ещё и EEPROM.
Причем у меня была EEPROM 256 байт (24C02), из которых использовались только первые 128 байт. В частности с адреса 0x08 там лежал MAC адрес, а с адреса 0x4C лежал строковый id для облачного сервиса
http://www.topslink.net
На видеорегистраторах XM сама флэшка меньше (8МБ вместо 16МБ), но EEPROM больше - 1КБ (FM24C08).
Я не сделал резервную копию EEPROM!!!
И оказалось что прошивка от XM что-то там записала своё и всё, приехали.
Видео регистратор с прошивкой XM и чужим EEPROM не видит HDD вообще, в списке режимов камер только 4 аналоговые вместо 8 и то реально работает только 2.
Вернул обратно свою прошивку, но EEPROM уже поврежден! HDD видится, но в списке камер только 1 аналоговая камера с разрешением CIF.
Итог - видеорегистратор полностью испорчен.
Разумеется теперь родную прошивку не вернуть (родной EEPROM не найти).
Единственный вариант - оставлять прошивку XM и найти EEPROM от XM, причем именно для этой платы, именно для 8 канального варианта.
В EEPROM от XM нужно будет найти и изменить MAC адрес (на случай пользования облачным сервисом).
Саму микросхему EEPROM на 1КБ я уже купил, стоила 12 руб. Теперь жду/ищу содержимое EEPROM...
Как вариант - берем прошивку, переименовываем в .zip, вытаскиваем файлы .cramfs.img
В этих файлах удаляем первые 64 байта, получаем GZIP и распаковываем архиватором 7z.
В разделе user (user-x.cramfs.img) находим файл bin\Sofia.tar.lzma, распаковываем Sofia.elf, дизассемблируем его и пытаемся понять где что должно быть в EEPROM.
Но это уже чистый хак!... Нужно много времени и желания.
После анализа есть предположение что прошивка от XM испортила только 2 первых байта в EEPROM записав туда 0xD2 0xD4. Но как узнать что там было??? Всего 65535 вариантов...
PS: Свою старую прошивку (полный дамп) и прошивку от производителя патченную для доступа через telnet со стандратным паролем xc3511 я залил сюда (чтобы больше не спрашивали):
http://remont-aud.net/dump/gps_navigato ... -1-0-49854
http://remont-aud.net/dump/gps_navigato ... -1-0-49853