Проблема
Наш мир кишит камерами видеонаблюдения, и большинство из нас сами добровольно окружают себя этими устройствами. Камерами, которые имеют как случайные дыры в безопасности, так и намеренно внедренные компоненты которые отстукивают своему хозяину. Одни производители стараются по максимуму предвидеть и решить проблемы, другие же делают вид, что и проблем особо нет, если камера показывает изображение. Но если начать приглядываться, то лишь требование ActiveX и Internet Explorer для пользования камерой в XXI веке это нечто из пучин ада.
Решают проблемы производители каждый по своему. Как вариант, через облако, через своё приложение Android с приватными протоколами. Но через несколько лет после продажи облачной камеры, бесплатное облако вполне может стать платным, приложение обрастает рекламой до безобразия. А если проект производителя не зашел, то прописанные в ней сервера отключаются и ваша камера, возможно даже с отличным оборудованием внутри, становится бесполезным кирпичом, потому как способов использования больше нет.
В случае с зоопарком рутеров, ворох проблем заставил энтузиастов собраться с силами и создать открытую платформу OpenWRT на базе Linux. И ради тех, кто ждет решения для камер, сейчас кипит работа над аналогичным открытым проектом OpenIPC — универсальной встраиваемой платформы на базе Linux для IP камер. Проделан колоссальный труд, и есть уже ряд камер, на которые можно установить новую прошивку, получив базовый функционал.
Что даст установка OpenIPC
Возможность работать с камерой с различных ОС
Теперь не нужно устанавливать Internet Explorer и его ActiveX, Macromedia Flash и прочие пережитки девяностых.
Расширение функционала
Универсальная система позволит вам быть уверенным, что камера с OpenIPC поддерживает стандартные протоколы такие как RTSP, ONVIF, NETIP (хоть пока и частично). К примеру ваша WiFi cloud камера, к которой даже с компьютера было проблематично подключиться, сможет отображаться на видеорегистраторе и её видеопотоки будут писаться вместе со всеми стандартными камерами.
Кроме того, для таких протоколов как HLS теперь не нужен отдельный сервер или сервис: достаточно включить его на камере и можно встраивать поток на свой сайт.
Огромное количество приятных плюшек, вроде отправки изображения не только на емайл или FTP, но и в Yandex.Disk, Telegram, MQTT.
Возможность разобраться в компонентах камеры
OpenIPC — это отличное решение для тех, у кого есть желание разобраться в компонентах и програмно-аппаратной части встраиваемых устройств, а так же кому хочется разнообразить свою жизнь, самоутвердиться, улучшить ЧСВ и решить множество прочих психологических проблем, как своих так и окружающих.
Однако, если вы не любите разбираться в деталях, не ищете способы что-либо улучшить, а вам нужна просто готовая вылизанная система, то OpenIPC однозначно пока что не для вас. В ней еще очень долго будет над чем придется поработать. Но без вас этот процесс будет длиться намного дольше.
Воскрешение облачных P2P новомодных камер
Просто невероятно популярны сейчас облачные камеры за счет простоты их настройки и без сложных для домохозяек моментов вроде порт-форвардинга для доступа к камере из интернета. Но у многих скопились коробки таких облачных камер, которые вроде и не сломаны физически, но работать не могут потому что прошитое облако больше не доступно. Такие камеры становятся бесполезными потому что как правило не поддерживают стандартные протоколы, не могут быть использованы с видеорегистратором или платным видеосервисом. Оживить такую камеру может замена прошивки на OpenIPC.
Одной из камер с похожей тяжелой судьбой, которую можно вернуть к нормальной полноценной жизни с помощью OpenIPC является Switcam-HS-303.
Более эффективная работа системы
То ли от отсутствия троянов и тонн телеметрии, то ли благодаря каким-либо еще внешним силами, но одна из китайских камер, которая на стоковой прошивке при попытках использовать h.265 давала гарантированно битое изображение и на h.264 лишь изредка несмотря на заявленую поддержку, а на OpenIPC картинка стала нормальной.
Разработчики объясняют это тем, что вместо тредов они активно используют цикл событий.
Что теряем после установки OpenIPC
К сожалению, на сегодняшний день в OpenIPC пока ещё не поддерживаются ставшие стандартными функции камер PTZ и AI.
Но главное, что вы должны понимать устанавливая OpenIPC на камеру, это то, что вы не получите идеально работающую систему. Проект крайне активно развивается, и при огромном количестве поддерживаемых платформ невозможно избежать поломок. Пользование OpenIPC на сегодняшний день — это сбор информации о проблемах, формулирование, написание репортов на GitHub. Благо разработчики реагируют очень быстро и мелкие проблемы могут даже по сообщению в телеге по быстрому пофиксить.
Сейчас это далеко не самая безопасная система. Вы должны понимать на какое безумие идете, открывая доступ к ней через интернет. Но это более правильный путь, потому что рано или поздно тут решатся все проблемы, в отличие от того ада, которому и конца и края не видно с дырявыми как решето прошивками всемирно известных китайских вендоров.
С чего начать
Начать стоит с осознания, что установка OpenIPC на вашу камеру — это дорога в один конец, если предметами вашего ежедневного быта не являются такие вещи как паяльник и программатор, а также вы не знакомы с тем, что такое linux, u-boot, spi, uart, nor flash, nand flash, mtd, squashfs, jffs2. Сама установка OpenIPC через веб интерфейс камеры может занять считанные минуты. Но ровно так-же через считанные минуты ваша чудесная новая дорогая камера благодаря ошибке может превратиться в кирпич, который оживить можно будет лишь только прокачав свои скиллы. Именно от непонимания того, как устроена камера внутри ещё совсем недавно меня преследовало ощущение, что накатить назад заводскую прошивку не составит труда. Ведь вот они все выложены в публичный доступ производителем. Но каждый экземпляр камеры уникален, ведь в нем зашит MAC адрес сетевой платы, CloudID. Чтобы не было соблазна у пользователя менять это, эти данные зашифрованы в криптоблоке. Для некоторых камер уже есть программы, которые позволяют зашифровать криптоблок с измененными пользователем даными. Но далеко не для всех. Поэтому затёртый криптоблок может очень серьезно осложнить возврат даже для тех, кто уже разбирается и имеет опыт в теме.
Дальше, чтобы дорога в один конец не оказалась слишком короткой, нужно безошибочно выяснить с каким железом мы имеем дело. Тут не пройдёт номер выбрать похожий процессор, имя которого отличается лишь одной буквой, например hi3516cv100 вместо hi3516dv100. У них много общего, но небольшие различия приведут к тому, что загрузчик u-boot не сможет загрузить ядро Linux и это будет последней остановкой в путешествии вашей камеры.
Также следует принять что надписи на камере не несут никакой смысловой нагрузки: Azishn, Baovision, Besder, Cotier, Dahua, Escam, Foscam, Gadinan, Hiseeu, Imilab, LarmTek, Misecu, Powerview, Reolink, Szsinocam, Topsee, Usafeqlo, Veskys, Wanscam, Xiaomi, YI, Zjuxin, Zilink. Сегодня этот производитель использует одни платы, завтра другие.
Ещё более опрометчиво верить заявлениям продавца. Иногда продавец абсолютно точно и уверенно заявляет что в его камере будет вот такой-то процессор и вот такой сенсор лишь потому, что это хорошие ключевые слова от топовой конфигурации. Как-то раз я заказал на Али плату которая судя по заголовку имеет на борту hi3516ev300 и сенсор imx335. При получении я понял, что не так-то просто выяснить правдивость заявлений: процессор намертво заклеен радиатором, пароль root неизвестен чтобы узнать программным путем. Но в u-boot chipinfo выдал название системы FH8852V200, а в логах загрузки промелькнуло название сенсора. По этим данным я нашёл имя вендора платы Vatilon, у него на сайте и фото с характеристики чтобы открыть диспут. Несмотря на собранную информацию, продавец несколько недель пытался вводить в заблуждение арбитров Али (которые уж точно не технари) заявлениями мол «А тут не видно, что это вообще за плата, не видно как получили эту информацию, а фото не доказательство, нужно видео, плата не моя». В конце концов арбитры задолбались крутить свой диван и присудили вернуть лишь половину стоимости.
В общем, надо надо выяснить абсолютно точно какое железо внутри, а точнее процессор и сенсор (светочувствительная матрица).
Надежнее всего разобрать и посмотреть, что написано на процессоре, и это будет уже залогом что OpenIPC загрузится и к ней можно будет подключиться через ssh, чтобы выяснить какой сенсор установлен на плате. Но если процессор заклеен радиатором, то придется искать альтернативные способы. Как вариант можно найти точное название платы. Но тут важно не перепутать платы, если камера сложена как бутерброд из нескольких, которые могут оказаться модулями POE, WIFI, 3G/LTE или платой управления моторами PTZ.
Ещё один способ это запускать программы производителей платы (не путать с производителями камер, которые эти платы вкручивают внутрь корпуса и клеят свои логотипы), которые находят «свои» камеры в сети по своему протоколу и позволяют как конфигурировать их, обновлять прошивки, так и просто увидеть название платы. К примеру, для плат одного из самых популярных произодителей XiaongMai используйте программу IPCam DMS.
Немного дополнительной информации по поводу идентификации оборудования: https://openipc.github.io/wiki/en/installation.html
Способы установки OpenIPC
Есть несколько основных способов установки OpenIPC
Coupler
Этот метод годится лишь для камер производителя XiaongMai: через специально сформированный файл, формат которого производители используют для доставки своих обновлений. Такой файл может содержать образы разделов u-boot, kernel, rootfs. Этим методом можно воспользоваться либо через веб-интерфейс камеры как правило если камера все еще рабочая, если под рукой есть Windows и Internet Explorer. Если нет Windows, то такую прошивку можно прошить удаленно через сторонний софт вроде IPCam DMS, который отлично работает под wine в Linux.
Это простейший метод для тех, кто пока не имеет опыта работы с прошивками оборудования, но, к сожалению, такой выбор очень сужает спектр поддерживаемых устройств. Таким способом, как правило, не прошить WiFi и облачные камеры. Но сегодня речь пойдет именно об этом способе.
По протоколу UART через меню u-boot
u-boot — это раздел, который кроме ежедневной загрузки и запуска ядра может быть использован нами для обновления системы по сети или MMC (SD карты) и для сохранения бэкапов как всей флэшки с прошивкой, так и отдельных областей. Чтобы добраться до меню u-boot нужно иметь USB UART адаптер, найти на плате камеры неприметные контакты RX, TX подключиться к ним используя специальные прищепки или подпаяться и запустить программу терминал вроде putty для Windows или minicom под Linux.
Именно такой метод использовали все, кто исследовал прошивки камер.
Использование функции fastboot процессора
Некоторые процессоры могут принять прошивку даже если уничтожен раздел u-boot или он защищен паролем. Воспользоваться этим способом можно через программы HiTool (для Hisilicon), TooPlatform (для процессоров Goke) или OpenIPC утилитой Burn, написанной на python.
Программатором на флэшку
Иногда u-boot меню защищено паролем или урезан по функционалу производителем, чтобы пользователи не имели возможности лазить своими ручками там, где не следует. Для современных камер это становится массовой тенденцией. И тогда для тех, кто умеет паять самым универсальным будет снять микросхему с платы, бросить её на программатор, сделать бэкап и залить новую прошивку.
Меняем прошивку
Сегодня речь пойдет только о методе замены прошивки на OpenIPC через coupler, так как он простой и даже не требует разбирать камеру, но камера должна быть рабочая и пароль на веб интерфейс известен. В следующих частях будет рассказано и о других методах.
Есть две версии OpenIPC: Lite для камер с флэшкой 8 мегабайт и Ultimate для камер с флэшкой 16 мегабайт, в которой запланирован расширенный функционал. Какой бы ни была ваша флэшка, через этот метод пока что можно установить только версию Lite с минимальным функционалом (на сегодняшний день будет отсутствовать лишь ZeroTier) поэтому подойдет для флэшек как 8М так и 16М.
Для примера я взял завалявшуюся древнюю, но относительно неплохую камеру Escam Bolt QD410.
Выясняем ID устройства
Чтобы выяснить ID есть два способа:
-
Заходим в веб интерфейс камеры и в разделе About/Info находим длинный номер под названием вроде «System».
-
Запускаем программу IPCam DMS, выбираем сетевой интерфейс, задаем поиск камер. Видим все найденые камеры в списке. Если ваша камера защищена не пустым паролем, то самое время его вписать чтобы программа могла подключиться и считать данные. В этой программе интересующая нас строка называется «системная версия» и она абсолютно такая же, которую сообщит вам веб интерфейс.
Каждый производитель называет этот номер по своему. Нам он нужен не весь, а только четвертый его сегмент, который и является ID устройства. В данном случае этот ID такой: 00014840. По этому ID можно точно быть уверенным что плата имеет определенный процессор и сенсор.
Кроме необходимого нам ID видим в пункте «Платформа» что моя камера Escam Bolt QD410 основана на плате под названием HI3516D_83H40, по документации на который видим что плата имеет процессор Hisilicon 3516DV100 и сенсор OmniVision OV4689.
Еще одна из моих современных топовых плат для камеры имеет на борту процессор gk7205v300 и сенсор imx335. Вот к примеру что она о себе пишет: V4.02.R12.00014911.10010.143500.00000
Таким образом ее ID устройства: 00014911 .
Дальше идем на гитхаб coupler: https://github.com/OpenIPC/coupler/
Тут ищем нужный ID и смотрим если для него доступна прошивка. Если нашли для вашей камеры, то поздравляю. Можно скачивать и прошивать.
Если у вас нет подходящей камеры и вы в поиске какую камеру лучше выбрать, то берите камеру на процессоре gk7205v300 и на сенсоре Sony imx335 который выдает 5MP. Более продвинутый сенсор на 8MP Sony imx415 пока еще не поддерживается в OpenIPC. Для тех, кому сгодится 1080p: gk7205v200+imx307. Это отличное по характеристикам бюджетное оборудование по цене практически не отличается от массы устаревшего хлама, которое заполонило рынок и Aliexpress в частности. Я нашёл пока лишь один магазин на Ali, который на всем оборудовании пишет название процессора/сенсора и пока ещё не был замечен в присылании оборудования отличного от заявленого: VOLDRELI H.265 Security Store. Ещё есть CCDCAM Security Solution Store, но камеры этого производителя пока не прошить с помощью coupler’а.
Кстати, имейте в виду, что за несоответствие описанию при наличии веских доказательств можно в результате спора на Али иногда получить даже полную компенсацию.
Прошиваем
В веб интерфейсе в пункте Settings -> Advanced -> Upgrade или в IPCam DMS жмем «Прошивка из файла» и выбираем скачанный файл прошивки
Готово! Два клика, Карл! Ну это если конечно всё прошло без эксцессов. Колоссальный труд проделан разработчиками, чтобы можно было перешить камеру вот таким простым способом. А длиннотекст выше нужен был лишь для того, чтобы вы на этом этапе морально были готовы к сюрпризам и неожиданностям, которые дальше всегда будут преобладать в пользовании вашей камерой. Поэтому расчехляйте Telegram и подписывайтесь на канал разработчиков, вам теперь часто нужна будет их помощь в решении проблем с вашей камерой (да и им тоже наверняка не помешает фидбэк):
https://openipc.org/our-channels
Вот так, после долгих нравоучений, в два клика в вашу скучную камеру вдохнули новую жизнь, полную адреналина и приключений. Ребутим камеру, находим её в сети (например через nmap или логи роутера), заходим на неё через браузер на порт 85 используя admin:12345.
Да, OpenIPC использует для веб интерфейса нестандартый 80 порт. Но тут есть нюансы в механизмах OpenIPC, о которых я бегло упомяну. Сердцем проекта OpenIPC является Majestic streamer, который отвечает за большинство поддерживаемых протоколов таких как RTSP, ONVIF, NETIP, HLS. Веб-админка Majestic работает по умолчанию на пору 80, дублируя веб интерфейс порта 85. Но если процесс Majestic отвалился, то основной веб интерфейс все ещё будет работать. Сейчас httpd с веб интерфейсом работает на порту 85. Выглядит эта админка на обоих портах вроде одинаково, но могут быть нюансы, когда пароль к одному порту подходит, а к другому не подходит. Поэтому всегда учитывайте эту особенность.
Настройка OpenIPC
Настроить систему можно как через веб интерфейс, так и через консоль по ssh. В исключительных случаях система может заработать сразу, но так как это универсальная платформа для множества камер от разных производителей, то чаще всего ей нужно помочь.
Вот тут самое время посетить wiki проекта и ознакомиться с функционалом, найти как включать необходимые фичи и проверить их работоспособность: https://openipc.github.io/wiki/
И конкретно по компоненту Majestic Streamer, который отвечает за основной функционал камеры: https://openipc.github.io/wiki/en/majestic-streamer.html
Вот некоторые пути, по которым можно получать различные данные с камеры: https://openipc.org/majestic-endpoints
Итак, подставляем IP вашей камеры, который она по умолчанию получит по DHCP, и есть небольшой шанс что все заработает сразу. Но я пока такого еще не встречал без некоторых ритуалов с настройками системы. Рассказываю на примере своей свежепрошитой камеры на плате 83H40 что было дальше.
Захожу в веб интерфейс на порт 85 и вижу в разделе preview … ничего:
Ясно, что сенсор не дает картинку. Нужно разобраться с сенсором, но выясняется что камера ещё и ребутится каждые несколько секунд. Ребутится потому, что не запускается majestic, а без него по умолчанию watchdog считает, что камера сдохла и нужно её перегрузить. И в догонку, чтобы жизнь малиной не казалась, после ребута камера иногда получает новый IP. И при этом веб админка требует сменить дефолтный пароль.
Решаю проблемы по мере важности.
-
Чтобы можно было нормально работать подключаюсь по ssh, используя пустой пароль, и отключаю модуль ядра watchdog через команду «rmmod wdt».
Теперь камера не ребутится без majestic. Можно заняться настройкой.
Имейте ввиду, что если пароль был изменён в веб интерфейсе, то пароль root по ssh будет тоже таким.
-
Идем в веб интерфейс на порт 85 и в меню «Majestic->ISP->Path to sensor configuration file» выбираем конфиг сенсора. Для моего сенсора ov4689 есть два конфига 1080p и 4M. Выбираю 4M.
Эту же операцию, как и большинство других настроек, можно сделать отредактировав файл конфига:
vi /etc/majestic.yaml
-
Еще одна не менее важная опция, без которой хоть я и начал видеть изображение, но оно представляло собой такой черный квадрат, что Малевич обзавидовался бы. Обязательно там же нужно переключить Sensor exposure time в Auto.
-
Теперь настало время разобраться с сетью. Когда затерт оригинальный MAC адрес сетевого адаптера OpenIPC ставит 00:00:23:34:45:66. Чтобы его заменить, нужно подключиться по ssh и задать его через переменную окружения u-boot:
fw_setent ethaddr оригинальный-MAC
Вы ведь записали старый MAC, прежде чем прошивать? Ну может там на каком-то скриншоте осталось? Нет!? Не беда! Придумайте себе любой. Например, если хотите вкусить добрых проблем с сетью, то поставьте MAC от своей материнки (шутка, не стоит так делать!).
-
Теперь можно и задать фиксированный IP для камеры. Это можно сделать через веб интерфейс:
-
Мой NVR умеет работать только по протоколу ONVIF, но даже после включения этого функционала в веб админке регистратор не увидел камеру. С моим регистратором чтобы решить проблему пришлось сделать две вещи.
Обязательно нужно включить субпоток video1 (отключен по умолчанию) и убедиться что включен RTSP. Регистраторы обычно используют основной поток для записи и суб-поток при отображении множества камер на экране.
Дело в том, что ONVIF всего лишь сообщает регистратору RTSP путь по которому можно получить видео, но сам видеопоток идет через RTSP. На сегодняшний день пока что не реализована функция передачи пользовательского пароля в RTSP URL. Пришлось установить пустой пароль root. Разработчики обещают это исправить для аутентификации RTSP в будущем. Пароль на веб интерфейс при этом остается тем, который был введен при первом логине.
Всё!
У меня на этом этапе заработали все функции камеры кроме ночного режима (подсветка сгорела). Но это был пример наименее проблемной камеры. Другие примеры могут занять гораздо больше времени для запуска и без поддержки зала в телеграмме не обойтись. Отличается ревизия камеры: вендор сменил что-то в железе и всё, сенсор работает с другими настройками, не с теми, на которой система была проверена. Чтобы выяснить настройки конфига разработчики просят вернуться на стоковую прошивку и снять их серией команд. Но это возможно если есть бэкап стоковой прошивки, если в ней включен удаленный доступ, если есть пароль root… и много других «если». Будьте готовы к такому повороту событий, особенно если ваша камера не занесена в список рекомендуемых для OpenIPC:
https://openipc.org/supported-hardware/featured
Решение проблем
Для выявления проблем в OpenIPC начинать следует с проверки запущен ли majestic и запускать его из консоли, чтобы видеть все сообщения об ошибках. Вот лог нормальной загрузки:
root@openipc-hi3516dv100:~# killall majestic
root@openipc-hi3516dv100:~# majestic -s
12:13:33 [ main] main@128 Majestic Lite for HISILICON, version master+d10be2a, built on 2022-08-20
12:13:33 [app_conf] load_config@104 Using /etc/majestic.yaml as main configuration
12:13:33 [app_conf] parse_app_config@349 app_config.osd_template %a %e %B %Y %H:%M:%S %Z
12:13:33 [watchdog] watchdog_start@101 Detected Hisilicon Watchdog
12:13:33 [watchdog] watchdog_start@121 Watchdog timeout set to 10 seconds
12:13:33 [ sdk] start_sdk@399 Using /etc/sensors/ov4689_i2c_4M.ini sensor configuration file
12:13:33 [ sdk] start_sdk@408 App was built with MPP version: Hi3516A_MPP_V1.0.8.0.B070 Release
12:13:33 [ sdk] start_sdk@411 Current MPP version: HI_VERSION=Hi3516A_MPP_V1.0.8.0 B070 Release
12:13:33 [ sdk] start_sdk@436 sensor ov4689
12:13:33 [ sdk] start_sdk@441 input_mode MIPI, WDR NONE
12:13:33 [ sdk] start_sdk@448 dev [2592x1520@0x00 25fps, BGGR
12:13:33 [ sensor] try_to_load@19 trying to load /usr/lib/sensors/libsns_ov4689.so
12:13:33 [ hal] hisi_free_mem_ex@714 Free MMZ mem before allocation: 87892KB
12:13:33 [ sdk] dump_vb_configuration@2253 VB configuration:
12:13:33 [ sdk] dump_vb_configuration@2263 [0]: 5909760 x 6
12:13:33 [ sdk] dump_vb_configuration@2263 [2]: 622080 x 1
12:13:33 [ hal] hisi_free_mem_ex@714 Free MMZ mem after allocation: 52648KB
12:13:34 [ sdk] init_sensor@2443 Sensor driver loaded
12:13:34 [ sdk] init_vi@2851 SDK is in 'online' mode
12:13:34 [ puts] linear mode
12:13:34 [ puts] -------OV4689 Sensor 4M30fps Initial OK!!-------
12:13:34 [ sdk] log_venc_chn@1299 H.265 2592x1520 25fps 4096Kbit 25 GOP
12:13:34 [ sdk] create_vpss_chn@1046 new venc: 0 vpss_grp: 0, vpss_chn: 0
12:13:34 [ sdk] start_video@1931 venc took 15468KB of MMZ [2885]
12:13:34 [ sdk] log_venc_chn@1299 H.265 704x576 15fps 1024Kbit 15 GOP
12:13:34 [ sdk] create_vpss_chn@1046 new venc: 1 vpss_grp: 0, vpss_chn: 1
12:13:34 [ sdk] start_video@1931 venc took 1596KB of MMZ [297]
12:13:34 [ sdk] init_chn@1334 JPEG snapshot snapshot venc_chn 2 2592x1520
12:13:34 [ sdk] start_jpeg@1415 jpeg_enc took 976KB of MMZ [961]
12:13:34 [ osd] init_osd@92 OSD initialized
12:13:34 [ sdk] start_sdk@522 OSD took 448KB of MMZ
12:13:34 [ sdk] start_sdk@548 HiSilicon SDK started
12:13:34 [ hal] hisi_free_mem_ex@714 Free MMZ mem finally: 21392KB
12:13:34 [ httpd] new_http_server@361 HTTP server started on :::80
12:13:34 [ rtsp] rtsp_init@31 RTSP server started on port 554
12:13:34 [ netip] netip_start@2035 NETIP server started on port 34567...
Еще один инструмент, который активно используется пользователями OpenIPC это ipctool. Эта утилита встроена в операционную систему OpenIPC как автоматически скачиваемая команда, но очень желательно до смены системы на камере уже иметь сохраненные результаты вывода этой команды. Скомпилированную под платформу arm (для запуска непосредственно на самой камере) последнюю версию этой утилиты вы всегда найдете тут:
https://github.com/OpenIPC/ipctool/releases/download/latest/ipctool
Вот так можно получить полезные данные, которые надо сохранить именно при запуске на заводской прошивке работающей камеры и после перехода на OpenIPC они смогут помочь разработчикам пофиксить возникшие проблемы:
ipctool
ipctool reginfo
ipctool gpio scan
С помощью ipctool узнают какой установлен процессор, сенсор, тип флэш памяти для прошивки, объем RAM, а так же на некоторых платформах для получения доступа к регистрам и GPIO выводам, через которые управляются внешние устройства вроде датчика освещенности, IR CUT фильтр и для многого другого. Если хотите совет от разработчиков по поводу какой-либо камеры, то желательно иметь вывод этой утилиты, как перед походом к врачу иметь на руках результаты анализов чтобы два раза не ходить туда-сюда. Чтобы ее запустить, вам понадобится telnet, ssh, UART доступ к камере и пароль root чтобы попасть в систему. Притащить ipctool на камеру можно различными способами: через USB-флэш, через MMC карту, через HTTP/FTP или просто подмонтировать с сервера NFS (Network File System):
mount -o nolock 95.217.179.189:/srv/ro /mnt
К сожалению не на всех системах это возможно, не для всех можно легко найти в интернете пароль root, поэтому дальше все упирается в ваши знания и умения. Но если у вас возникли проблемы с прошитой камерой, и вы решили задать вопрос разработчикам в одном из каналов, то без логов и информации о процессоре, сенсоре, типе флэш-памяти, помочь вам не смогут. Ведь это даже хуже гадания на кофейной гуще. Как и доктор, вас отправят за результатами анализов.
Мой опыт
Когда я узнал о проекте OpenIPC, меня накрыл восторг и первая моя мысль была «Ура! Ведь это то, что мне нужно, сейчас перешью все свои камеры… а потом все чужие». То что в телеге ежедневно пользователи решали множество своих проблем мне казалось незначительными нюансами, ведь меня устроит и как-нибудь, я не привередлив.
Первая камера, которую я перешил была новенькая камера gk7205v300+imx335 (это было в конце 2021 года). После установки OpenIPC камера отказывалась сохранять настройки. Я ее перешивал через UART, не понимая множества действий, которые делаю, но при этом не стесняясь лезть в самые опасные манипуляции. Предсказуемым итогом, после того как я записал неверно сформированный загрузчик u-boot на флэшку, камера перестала подавать признаки жизни. Мне пришлось научиться паять, чтобы перешить эту микросхему. Кроме того, были подозрения что микросхема не самая живая, поэтому на замену была заказана пачка Winbond 25Q128 на 16 мегабайт, которые подходят и для большинства камер где установлена флэшка на 8 мегабайт. В результате я таки заставил работать систему как надо. Лишь спустя долгое время я узнал, что в современных процессорах камер есть функция fastboot, которая позволяет прошить флэш-память даже если загрузчик затерт.
Одной из очередных плат, куда я залил OpenIPC была древняя камера 2016 года HI3516_83H30 на процессоре 3516dv100 с сенсором AR0330, который вроде как проверен и поддерживается системой. Я рассчитывал ее прошить даже не снимая с места, где она работала последнюю пятилетку. Такой номер иногда проходил с другими камерами. Но после быстрой установки через coupler в два клика оказалось что majestic категорически не может получить кадр от сенсора. С помощью разработчиков OpenIPC выяснили, что используемый в системе драйвер этого сенсора libsns_ar0330.so не работает на моей плате и с тех пор в системе есть два драйвера для различных модификаций этого soc+sensor: libsns_ar0330_dc.so.
Еще одной необычной камерой, была noname облачная камера на процессоре gm8135s+sc1041, единственным способом использования которой было мобильное приложение V380. И вот вроде скоро десяток лет, как все нормально работает, но хотелось из нее сделать полноценную камеру, подключенную к домашней сети с видеорегистрацией (но без СМС) с использованием обычных протоколов ONVIF/RTSP, чтобы видеозаписи не покидали пределы моей локалки и работало это все даже без интернета. Состояние поддержки платформы gm8136 (практически то же самое что и gm8135s) в проекте заявлено как зачаточное, а значит ее особенно никто пока еще не тестировал. Но я решился. После установки пришлось подобрать драйвер wifi, настроить скрипты загрузки драйверов, подключения к wifi точке, немного поиграть с параметрами распределения памяти и система кое-как зашевелилась. Необычным было то, что на заводской прошивке в камере нет ни веб интерфейса, ни LAN, а значит недоступна классическая загрузка прошивки по сети. Прошил, добравшись через UART в меню u-boot с флэшки. Про такие более сложные варианты нужно писать отдельный пост. Камера в итоге запустилась, но с нюансами: не работает суб-поток, при ярком свете не корректно высчитывается экспозиция и многое по мелочам. Разработчики намекнули куда копать в конфигах драйвера и при наличие свободного времени буду заниматься тюнингом.
Кстати на gm8135s производят очень много автомобильных видеорегистраторов, которые в теории можно тоже превратить в wifi камеру, как это можно сделать и с видеоглазками, экшн-камерами, парковочными камерами и прочим оборудованием имеющим поддерживаемый в OpenIPC сенсор, флэшку, LAN или WiFi адаптер. Но о таком опыте пока еще никто не рассказывал.
Open Wall
В системе есть интересная фишка, которая позволяет публиковать снимки для сравнения качества изображения с разных сенсоров:
https://openipc.org/open-wall
Сообщество пользователей OpenIPC призывает включать эту функцию, если вид от лица камеры это позволяет. Включить её можно в меню Services->Send to OpenWall.
Ссылки
Проект OpenIPC: https://openipc.org/
GitHub: https://github.com/OpenIPC/
Wiki проекта : https://openipc.github.io/wiki/
IPCam DMS: https://team.openipc.org/ipcam_dms/
Стоит помнить, что любое обновление имеет риски сбоя. Выберите наиболее безопасное время для обновления и подготовьте замену для экстренных случаев на важных объектах.
1. Подготовка к обновлению
Убедитесь, что:
- ПК и камера в одной подсети.
- Путь к файлу обновления на латинице.
- Питание надежно и не пропадет про обновлении
- Установлена программа IPCManager для Windows, Linux или MacOS не ниже v4.
-
После запуска программы Вы увидите найденные камеры. Камеры будут найдены автоматически в случае, если ваш ПК и камеры находятся в одной подсети. Одновременно можно обновить несколько камер одной модели и одной версии.
- Нельзя обновлять устройство прошивками сторонних производителей.
- Камеры на «белом IP» с использованием DNS, нельзя обновить через IPCManager.
1.1 Если камера в другой подсети, но до нее идет ping
Если вы выполнили все пункты из части «Подготовка к обновлению» и тем не менее вы не видите камеру в IPC Manager, но можете зайти на нее по IP адресу в браузере и/или она доступна по средствам утилиты Ping, то:
- В меню IPC Manager, находясь в поиске нажать на клавишу «Вручную добавить»
- Указать IP адрес, логин и пароль от камеры, а так же http порт, если он был изменен.
- После добавления камеры и успешного открытия прямой трансляции по двойному щелчку на камере, можно переходить к следующей части инструкции
2. Порядок обновления
Перед всеми далее описанными процессами камеру нужно перезагрузить, это делается для высвобождения памяти.
- Прошивка может состоять из 1-2-3 файлов.
- Загружайте файлы по порядку, в имени файла есть порядковый номер (если необходимо прошивать более одного установочного файла).
IPCManager V3.xx.xx | IPCManager V4.xx.xx |
---|---|
Прошить устаревшие камеры, до 2017 года выпуска, можно при помощи IPC Manager V3.xx.xx (скачать IPC Manager V3 для Windows можно по ссылке выше) |
В меню IPC Manager выберите «Обновление», после чего:
|
- ОБЯЗАТЕЛЬНО сбросить камеру к заводским установкам по окончанию загрузки последнего файла. В промежутках сброс не нужен. Без сброса может возникнуть конфликт старой конфигурации с новой, что приведет к некорректной работе камеры, отсутствию некоторых функций.
-
Сброс камеры к заводским установкам можно произвести в веб версии камеры и при помощи IPC Manager. Для правильного сброса без сброса IP адреса нужно зайти по текущему IP адресу камеры в WEB и перейти в «Настройка — Система — Служебные команды», и выбрать «Сброс настроек (без сброса IP адреса)»
После неудачного обновления, камера выпадает в безопасный режим.
В безопасном режиме у камеры нет WEB-страницы, нет шлюза. IP по умолчанию.
Поэтому, камера и ПК должны находиться в одной физической сети.
3. Что делать, если обновление прошло неуспешно и камера не загружается. Восстановление из безопасного режима
3.1 Отключите Wi-Fi, отключите все сетевые карты вашего ПК кроме той, с которой будет производиться восстановление.
3.2 Смените IP-адрес вашего ПК на 192.168.1.X, где X — любое, кроме 1 и 120, и маску подсети на 255.255.255.0.
3.3 Отключите брандмауэр, антивирус. Они могут препятствовать восстановлению.
3.4 Запустите командную строку (exe) и проверьте командой ping по адресу 192.168.1.120 (именно этот адрес). Если ответов ping от камеры нет, дальнейшая процедура не имеет смысла.
3.5 Закройте IPCManager и откройте заново от имени администратора.
3.6 На вкладке “Обновление” нажмите “Диапазон”, выберите камеру и повторно загрузите файл прошивки.
3.7 Может возникнуть ошибка обновления. Нужно снова закрыть/открыть IPCmanager и повторить попытку несколько раз. После каждой попытки IPCmanager перезапускать.
IPCManager V3.xx.xx |
IPCManager V4.xx.xx |
---|---|
|
|
Если по-прежнему не удается загрузить файл обновления, нужно описать все выполненные действия и запросить дальнейшие шаги в техподдержке support@nag.ru.
В письме необходимо указать:
- Тему, в которой обозначить производителя и модель оборудования с которым присутствует проблема.
- Название вашей организации.
- Номер заказа, если оборудование покупалось напрямую в ООО «НАГ».
- Описание проблемы и текущие версии прошивок на оборудовании OMNY.
Как обновить прошивку IP камер и видеорегистраторов?
Как обновить прошивку IP камер и видеорегистраторов?
IP камеры представляют из себя достаточно сложное устройство, управляемой микропрограммой. Как и в любых программах, она может содержать ошибки или уязвимости, которыми могут воспользоваться злоумышленники. Для устранения таких ошибок, а также для добавления новых функций, производитель выпускает обновления прошивок, которые можно самостоятельно установить.
При этом нужно правильно подготовиться к проведению обновления прошивки, иначе могут возникнуть серьезные проблемы. Для этого:
- Перед обновлением прошивки убедитесь, что файлы обновления и модель устройства совместимы.
- Если Вы не уверены, обратитесь в службу технической поддержки.
- Нельзя выключать питание и интернет кабель во время обновления.
- Нельзя обновлять устройство прошивками сторонних производителей.
- Обновление прошивки может привести выходу из строя оборудования, так что позаботьтесь о резервном устройстве.
Также для обновления прошивки потребуется узнать её версию и дату.
Для этого с помощью программы для видеонаблюдения, которую вы используете, подключаетесь к камере или регистратору, откройте свойства и зайдите в настройки (Device config):
Там выбираете «Информация» -> «Версия» (Setting->Info->Version). Нас интересует Версия системы (System) — это цифры, обведённые красным. Первые три цифры определяют конкретного сборщика оборудования (Вендора), а оставшиеся пять — это и есть версия прошивки.
При скачивании прошивки нужно выбирать файл с теми же цифрами. Дата прошивки (Build Date) означает дату её выпуска, по этим данным можно ориентироваться, на сколько старое ПО установлено в камере.
Для установки скачанной прошивки нужно зайти в пункт «Обновление» (Upgrade)
Выбрать пункт «Директория» (Browse), выбрать файл новой прошивки и нажать кнопку «Обновить» (Upgrade). После чего начнётся сам процесс обновления.
Обычно это занимает около минуты, после чего ещё одну минуту камера перезагружается. В конце обновление должна появиться табличка «Обновление успешно». Поздравляю, ваша камера/регистратор теперь имеют свежую программу.
Если появилась табличка «Обновление неудачно», скорее всего вы пытались установить неподходящую прошивку, ещё раз проверьте версию из пункта «Версия» и скачанной прошивки. Ещё такое может произойти, если вы пытаетесь обновить оборудование от другого производителя (первые три цифры отличаются от 000).
В некоторых случаях, производители защищают подмену ПО в своих продуктах, указывая в настройках прошивки дополнительный пункт Vendor, тогда обычные версии (General) ПО уже не могут быть установлены без правки InstallDesc. Тогда остается лишь обратиться в техподдержку фирмы-производителя вашего оборудования.
Главное, помните, обновление прошивки производится на свой страх и риск, и не является гарантийным случаем.
Так как у разного оборудования от разных производителей свои программы для видеонаблюдения, то обновлении прошивки может несколько отличаться. В любом случае подготовка к обновлению должна проводиться следующим образом:
1. Ваш ПК и устройство при обновлении должны находится в одной локальной сети.
2. Перед обновлением, устройство необходимо перезагрузить, программно или аппаратно.
3. Путь к файлу обновления не должен содержать русских букв и не должен быть слишком длинным.
C:UsersstefanDocumentsпрошивка для камеры
4. Запишите текущую версию вашего устройства перед обновлением для понимания изменилась ли версия после обновления. Если обновление пройдет некорректно техподдержка запросит у вас версию которая была до обновления.
5. После успешного обновления переустановите плагин для корректной работы в WEB интерфейсе.
Также помните, что нельзя перед обновлением экспортировать настройки и после обновления импортировать обратно на устройство, т.к. может возникнуть конфликт конфигурации из за смены версий и сбои в работе устройства.
После обновления прошивки видеорегистратора, обязательно сбросьте регистратор к заводским установкам, перезагрузите его через интерфейс GUI дважды. Это важно. Затем обязательно измените пароли и порты по умолчанию в целях безопасности.
Существует несколько способов обновления прошивки. Самый обычный и распространенный способ мы уже привели выше. Основные же способы обновления следуюшие:
1. Через веб интерфейс устройства
2. С помощью инструмента для обновления и поиска устройств в сети — ConfigTool
3. Обновление с помощью USB носителя (для видеорегистратора)
Обновление IP камеры через веб интерфейс доступен не каждой модели оборудования для видеонаблюдения. Старые модели камер и регистраторов до 2013 года не имеют интерфейс обновления через браузер.
Для обновления заходим в веб интерфейс устройства.
Укажите путь к файлу обновления, и нажмите Upgrade. Статус обновления можно наблюдать на веб странице, в среднем обновление занимает от 3 до 5 минут, после обновления устройство автоматически перезагрузится.
С помощью ConfigTool можно обновить любое устройство Dahua DVR, HCVR, XVR, NVR, IP камера.
Если все устройства в одной локальной сети, ConfigTool найдет их автоматически. Нажмите login для входа, затем перейдите на вкладку upgrade.
Обновление с помощью USB носителя (для видеорегистратора)
Скопируйте все файлы на usb носитель (в корень). Вставьте в регистратор USB носитель, зайдите в главное меню/Инфо/Версия. Нажмите Start для начала обновления, статус обновления можно наблюдать на экране.
В случае если регистратор отказывается принимать файл обновления с USB то переименуйте файл в update
После обновления прошивки переустановите плагин.
Заходим в C:Program Files находим две папки : webplugin и webrec (возможно только одна папка)
Удаляем их затем переходим в C:Program Files (x86) также удаляем webplugin, webrec.
Обе папки содержат компоненты плагина, к ОС Windows отношения не имеют.
Подключитесь к устройству через Internet Explorer, вам будет предложено скачать и установить плагин. Разрешите установку.
Вот пожалуй и все, что нужно знать об обновлении прошивки цифровых видеокамер и регистраторов.
Похожие записи
Это не совсем обзор программатора, потому что мои познания в данной области, мягко скажем, ограничены моими умственными способностями. Но это повествование о том, как будучи полным «чайником» в данной теме, тем не менее, немножко разобравшись, можно справиться, на первый взгляд, с абсолютно безнадёжным делом.
Понимаю, что многие наши гуру электроники с Мусек, починили бы эту камеру, возможно, просто силой мысли. Но тут особый случай, потому что за дело берётся человек не особо в этом разбирающийся и обладающий минимальными знаниями в том, что собирается делать.
И если это сделал я, то могут сделать и другие, не шарящие люди. Возможно этот недообзор, кому-то пригодится. Если вы например убили китайскую камеру неудачной прошивкой.
В общем это очередное моё ОНО — обзор не обзорщика. Подробности под катом.
Предыстория
История этого обзора уходит своими корнями в далёкий 2019 год, как раз в то время, когда только-только в наши страны начинал проникать короновирус. И к делу это никакого отношения не имеет.
Заказал мой друг себе комплект видеонаблюдения на Али. Взял регистратор на 8 каналов и несколько уличных видеокамер. Заказывал он в магазине Besder. Я несколько раз брал там камеры и регистраторы, и проблем не было. В общем получили мы посылочки, всё подключили (на столе разумеется) и начали прописывать камеры в регистраторе. И одна камера не завелась. То есть она была вообще мёртвая. Регистратор её не определял, утилиты, которые ищут IP камеры в сети по Onvif или другому протоколу, тоже её не находили. На фишке RJ45 у камеры есть светодиод «пинга», и он тоже не светился и не моргал. В общем кирпич.
Мы отсняли подробное видео для китайца, в качестве доказательства и китаец ответил, что нет проблем, пришлю другую камеру. И собственно прислал. Нормальную и работающую.
Камеру мы конечно разбирали и долго тупили глядя на печатную плату. Визуально с ней было всё ок. Подкидывали провода от другой камеры. Не помогло. Так эта камера и лежала мёртвым грузом. Периодически мы возвращались к идее её оживления. Одним из явных вариантов было заказать на Али плату с матрицей и всем остальным. Но плата со схожими характеристиками стоит около 80% стоимости от камеры. Есть варианты и подешевле, но с более слабыми параметрами. Но это всё были размышления моего товарища. У меня же мысли шли в другом направлении. Я был уверен, что проблема в прошивке камеры. И я предлагал более авантюрный вариант. Выпаять микросхему флеш памяти из работающей камеры, считать с неё прошивку, и залить в флеш память неработающей камеры. И таким образом, ушатать ещё и рабочую камеру)))
Подкреплялась моя уверенность в успехе ещё и тем, что камера, как мы выяснили, пингуется через командную строку по своему стандартному из коробки IP адресу, 192.168.1.10. А это значит, что часть прошивки, которая не меняется при обновлении, живая. Да и светодиоды подсветки в камере включались без проблем, если закрыть датчик. То есть проблема, явно программного характера.
Периодически я возвращался к этой теме и вот в один из таких моментов, когда захотелось оживить, по сути, бесплатную камеру, я наткнулся на пост на 4pda, где человек, на много и во много раз умнее меня, восстановил видеоглазок. Который он «окирпичил» неудачной прошивкой. Симптомы в результате он получил схожие. Камера пингуется, но web-интерфейс, а с ним и всё остальное недоступны. Так вот, этот умный товарищ смог оживить свою камеру, примерно таким же методом, над которым я размышлял в теории. Только он не клонировал чип с другой камеры, а собрал вручную дамп прошивки. Звучит всё это дико сложно, для человека, который в этом не разбирается. То есть для меня. Теоретически, в общих словах, мне понятно что он сделал. Но вот применить на практике — это совсем другое дело. К тому же он использовал там программатор, который стоил около полусотни баксов. Что тоже ставило под сомнение и без того сложное, для меня, дело.
Но потом, он дополнил свой пост, что эти микросхемы можно прошивать и дешёвым программатором, если его чуть-чуть допилить. А дешёвый программатор стоил 5$, что на фоне камеры и программатора за 50 это просто пыль на сапогах, поэтому я его не задумываясь сразу же и заказал.
Программатор был заказан и пришёл на удивление очень быстро. Менее чем за две недели. Вот собственно и он
Я заказывал полную комплектацию, с адаптером и прищепкой. Как вы уже могли догадаться фундаментального обзора от меня на программатор ждать не стоит. Только применение на практике, для своей задачи. В конце обзора я выложу ссылки на инструкцию на программатор и весь необходимый софт.
Итак, в чём собственно состоит суть оживление камеры. Объясню «колхозным» языком, как умею. У камеры есть флеш память. Это микросхема XT25F6B-S. Их можно купить на Алике, десять баксов за десяток. Туда записывается прошивка камеры. И когда вы прошивку обновляете она записывается поверх старой, но есть одна область, которая при этом не перезаписывается. В этой области хранится MAC-адрес камеры, сетевые и другие настройки. А также серийный номер камеры, по которому она регистрируется на облачном сервере. В нашем случае это облако Xmeye. И если бы я перезалил прошивку с другой камеры, то у нас бы получился полный клон. И я не знаю смог бы он работать в одной сети или нет. Понятное дело, что одинаковые IP адреса конфликтуют. Но адрес можно сменить. А МАС-адрес нельзя. И конфликтуют ли одинаковые МАС-адреса в одной сети, я если честно точно не знаю, но по идее проблемы могут возникнуть. Но нам собственно это и не нужно. Мы же будем собирать дамп прошивки вручную.
Так вот, если предположить, что в нерабочей камере, вот эта область прошивки живая, то её можно взять и вставить в рабочую прошивку, которыми обычно и прошиваются камеры. И такая прошивка у нас есть. Продавец присылал её моему товарищу, когда у него лагала одна из камер. Звучит сложно, но на самом деле всё не так страшно. Если немножко вникнуть и разобраться. Начнём.
Итак, вот наша камера
Уличная камера на 3Мп, в алюминиевом кожухе, с ИК подсветкой и вариофокальным объективом 2.8-12 мм. С очень удобной регулировкой. Не нужно откручивать «морду» камеры, всё регулируется винтиками прямо на кожухе.
Вот плата камеры
Наша флеш память, это маленькая микросхема слева на 8 ножках
Её нужно выпаять и вставить в прищепку. Без выпаивания считать-записать не получится. Поскольку я раздолбай, то не сфоткал микросхему в прищепке. Поэтому это иллюстрационное фото, взятое в инструкции
Оставим пока микросхему в покое и вернёмся к программатору. Его нужно немного доработать. По словам умных людей с 4pda программатор не работает с микросхемами на 3.3В. И в официальном софте нашей микросхемы нет. Зато она есть в софте NEOPROGRAMMER. А для того что бы всё работало прекрасным образом, нужно 28 ножку микросхемы на программаторе, перекинуть на проходящую рядом дорожку. Вот эта дорожка уже зачищенная
Ножку разумеется нужно припаять
Получилось так себе, но проверка мультиметром показала, что всё ок. Со старым контактом ножка не коротит и контакт доходит куда надо.
Подключаем программатор к компьютеру и заходим в диспетчер устройств
Автопоиск драйверов в сети тут не поможет. Нужно вручную указать путь к папке с драйверами. Весь необходимый софт и драйвера, будут по ссылкам в конце обзора.
После установки драйверов имеем следующее устройство
Теперь нужно подключить прищепку с микросхемой к программатору. И тут нужно соблюсти ряд правил, что бы не напутать куда идут какие контакты. На программаторе есть два слота. Для микросхем 25-й серии и 24-й. Нам нужен для 25-й, он ближе к USB. Устанавливаем туда комплектный адаптер, как на фото
Обратите внимание на нумерацию клемм. 1 это первая ножка микросхемы. На шлейфе это красный провод. Соответственно втыкаем шлейф в адаптер так, что бы красный провод был на 1-й клемме
Микросхему тоже нужно вставить правильно в прищепку. На микросхеме первая ножка обозначена точкой на корпусе
Эта ножка должна совпадать с красным проводом со стороны прищепки. Теперь перейдём к программной части. Запускаем NEOPROGRAMMER
Нажимаем кнопку Поиск
Выбираем нашу микросхему
И нажимаем на пиктограмму «Читать чип», на панели справа от кнопки сохранить. Начинается считывание прошивки
Если прошло всё хорошо, а у меня прошло без проблем, получаем такой результат
Сохраняем скачанную прошивку на жёсткий диск. Далее нам нужно собрать дамп. Запускаем программу Dump builder, указываем там размер флешки 8 Мб и нажимаем Create dump и указываем путь и имя файла для сохранения
Далее нам нужно добавить рабочую прошивку для камеры (полученную в нашем случае от китайца). Нажимаем Open frimware и выбираем файл прошивки
Нажимаем добавить и все компоненты прошивки добавляются в наш дамп и он автоматически сохраняется
Закрываем Dump builder. Далее нам нужен любой HEX редактор. Я взял Free Hex Editor Neo. Он условно бесплатный. Работает 14 дней. Но прежде чем в нём что-то изменять в дампе, нужно подтвердить пробный период. Например открыть файл прошивки (любой), повыделять там, покопировать и повставлять, пока не выскочит окно в котором нужно будет подтвердить или купить. После этого закрыть редактор и открыть заново два раза. Ну лично я делал так. На одном мониторе открыл одно окно на втором другое. Он без проблем запускается параллельно. В одном редакторе мы открываем созданный нами в программе Dump builder дамп
Во втором открываем скачанную в NEOPROGRAMMER и сохранённую прошивку с микросхемы. В сохранённой прошивке мы выбираем «крипту», это как раз тот раздел, в котором прописан МАС-адрес и прочее. Находится этот раздел по адресу 0002fc00 — 0002fff0. Выделяем его полностью. Нажимаем правой кнопкой мыши и выбираем копировать
Возвращаемся к первому окну, где открыт наш дамп, и находим там этот же адрес строки 0002fc00. Кликаем правой кнопкой по первой ячейке и выбираем Вставить
Скопированная часть прошивки переносится в наш дамп
Далее сохраняем нашу сборку на диск. Запускаем NEOPROGRAMMER и опять находим нашу микросхему. Здесь же кликаем на пиктограмму Открыть и выбираем только что сохранённую сборку. И находим пиктограмму Записать
Нажимаем на треугольник рядом с ней
Здесь нужно поставить галочки
Снять защиту
Стереть
Проверка на чистоту
Записать
Сравнить содержимое — галочку убрать. Далее нажать на саму пиктограмму Записать. Начнётся процесс записи на флеш память. По окончанию записи будет выглядеть так
После всей проделанной работы, мы впаяли микросхему обратно на плату
Да, выглядит корявенько, но это паял не я, а мой товарищ. Его же камера. Так что с меня взятки гладки. Закончив с пайкой и собрав камеру, мы подали на неё напряжение и подкинули патч-кордом к ноутбуку. Приятным для нас сигналом был светящийся диод на разъёме RJ45 на шнуре камеры. Первым делом я пинганул камеру через командную строку
Камера пингуется. Потом запустил утилиту от Geovision и она определила камеру по Onvif
Ну а далее ввёл адрес в IE и с радостью увидел до боли знакомую картину
Камера заработала
Мы пожали руки и поздравили друг друга с удачей.
Ну, а если, у кого то после прочтения, закрались мысли, что автор, а это я, шибко-больно умный, раз раскидывается тут разными мудрёными понятиями и прочим непонятным. То я спешу вас успокоить. Я просто начитался в этих ваших интернетах всякого, на умных форумах. А с языка этих слов уже не снимешь, поэтому и выпендриваюсь тут перед вами.
Итог. Мой друг получил абсолютно бесплатную рабочую камеру (за программатор платил я), а она на скидках стоила больше тридцатки. Я получил программатор, который возможно пригодится мне в будущем, скилл в прошивке микросхем и сборке дампа, а так же материал для дилетантского обзора. На этой позитивной ноте, пожалуй, и закончим.
Ссылки:
Тема посвящённая программатору CH341A на 4pda
Ссылка на пост автора со схожей проблемой (с которой я собственно и начинал)
Инструкция к программатору (на русском)
Драйвера для программатора
Официальный софт для программатора
Не официальный софт NeoProgrammer 2.2.0.7
Dump builder
Free hex editor
Всем спасибо за внимание