Введение

Материал в стадии оформления. Последнее обновление – 2018.04.13

Используя данный Сайт, Вы выражаете свое согласие с «Отказом от ответственности» и принимаете всю ответственность за выполняемые действия с оборудованием и программным обеспечением на себя !

Просьба – при использовании материалов с сайта в своих проектах, указывать первоисточник. Спасибо!

Доступ в группу для различных обсуждений по IPCam и NVR возможен через WebIRC = Slack = Telegram


Благодарности

Данная информация является результатом совместной работы дружной компании:

  • ESonya – Игорь, г.Сергиев Посад
  • FlyRouter – Игорь, г.Симферополь
  • max380 – Максим, г.Екатеринбург
  • Oleg34 – Олег, г.Волгоград
  • и много других товарищей…

Создание полного дампа с Flash устройства (ff, fullflash)

СТРОГО РЕКОМЕНДУЕТСЯ СДЕЛАТЬ ДАННУЮ МАНИПУЛЯЦИЮ ПЕРЕД ЛЮБЫМИ ЭКСПЕРИМЕНТАМИ !

Настройте TFTP сервер и проверьте доступ к нему

Выполните в консоли, нажав Ctrl+C для остановки загрузки ядра после подачи питания на модуль

Ниже приведен пример создания дампа для 8Mb Flash

#
set serverip 192.168.1.254                     // Устанавка адреса TFTP сервера
sf probe 0                                     // Разрешение доступа к флешке
sf read 0x82000000 0x0 0x800000                // Чтение всей флешки в память
tftp 0x82000000 ff.img 0x800000                // Выгрузка дампа (fullflash) на TFTP сервер

Ниже приведен пример создания дампа для 16Mb Flash

#
set serverip 192.168.1.254                     // Устанавка адреса TFTP сервера
sf probe 0                                     // Разрешение доступа к флешке
sf read 0x82000000 0x0 0x1000000               // Чтение всей флешки в память
tftp 0x82000000 ff.img 0x1000000               // Выгрузка дампа (fullflash) на TFTP сервер

Практический пример бекапа IP камеры JVT 323

set ipaddr 192.168.1.10; set serverip 192.168.1.254
sf probe 0; sf read 0x82000000 0x0 0x1000000; tftp 0x82000000 ff.img 0x1000000

Откат на стоковую заводскую прошивку

Периодически на распродажах Aliexpress попадаются IP камеры с вшитыми в них OEM прошивками, заточенными только под китайский сегмент. Попытка перепрошить такую камеру стандартными способамм не приносят должного результата.

Как правило, в программах CMS или Upgrade Tool такие камеры содержат перед Hardware ID цифры, вместо нулей. Например, обычная камера имеет HW ID 00022520, а вот заблокированная или заточенная под какой-то сервис будет выглядеть как 3422520.

Для решения данной проблемы, подберите свежую стоковую прошивку для вашего типа камеры, распакуйте её в каталог TFTP сервера, подключите UART консоль, войдите в загрузчик и выполните команды, приведенные ниже.

setenv serverip 192.168.1.254; sf probe 0; sf lock 0; run dc; run dr; run du; run dw; reset

После прошивки, камера перезагрузится и будет доступна уже с пустым префиксом (нули) перед HW ID. Так как в целях защиты от “дурака” консольной командой выше загрузчик НЕ обновляется, то для его замены желательно повторно обновить прошивку уже стандартными средствами.


Обновление из полного дампа устройства (ff, fullflash) через консоль

Настройте TFTP сервер и положите на него фаил дампа ff.img

Важно ! В результате вы получите полный дубликат устройства с которого сняли дамп !

Выполните в консоли, нажав Ctrl+C для остановки загрузки ядра после подачи питания на модуль

Ниже приведен пример обновление из полного дампа для 8Mb Flash

#
set serverip 192.168.1.254                     // Устанавка адреса TFTP сервера
sf probe 0                                     // Разрешение доступа к флешке
tftp 0x82000000 ff.img                         // Загрузка в память дампа (fullflash)
sf erase 0x000000000000 0x800000               // Очистка всей флешки под запись
sf write 0x82000000 0x000000000000 0x800000    // Запись дампа (fullflash) из памяти на флешку
reset                                          // Рестарт устройства

Ниже приведен пример обновление из полного дампа для 16Mb Flash

#
set serverip 192.168.1.254                     // Устанавка адреса TFTP сервера
sf probe 0                                     // Разрешение доступа к флешке
tftp 0x82000000 ff.img                         // Загрузка в память дампа (fullflash)
sf erase 0x000000000000 0x1000000              // Очистка всей флешки под запись
sf write 0x82000000 0x000000000000 0x1000000   // Запись дампа (fullflash) из памяти на флешку
reset                                          // Рестарт устройства

Обновление загрузчика (u-boot bootloader) через консоль

Настройте TFTP сервер и положите на него фаил u-boot.bin

Важно ! Всегда проверяйте первый байт загрузчика что-бы не получить “кирпич” !

Важно ! Крипто-раздел, прикреплённый к загрузчику в данном примере будет уничтожен !

Выполните в консоли, нажав Ctrl+C для остановки загрузки ядра после подачи питания на модуль

#
mw.b 0x82000000 0xFF 0x40000                   // Очистка памяти под запись
set serverip 192.168.1.254                     // Устанавка адреса TFTP сервера
tftp 0x82000000 u-boot.bin                     // Загрузка в память загрузчика
sf probe 0                                     // Разрешение доступа к флешке
sf erase 0 0x40000                             // Очистка части флешки под запись
sf write 0x82000000 0 0x40000                  // Запись загрузчика из памяти на флешку
reset                                          // Рестарт устройства

Включение отображения процесса загрузки ядра Linux

Иногда возникает необходимость, при поиске проблем, отобразить ход загрузки ядра и модулей.

Включение режима возможно в самом Linux, если зайти на устройство по Telnet.

#
armbenv -s xmuart 0                            // Включение отображения загрузки ядра Linux
reboot                                         // Рестарт устройства

Изменение некоторых системных параметров

Команда armbenv позволяет изменять некоторые настройки системы, работая с ENV областью загрузчика.

Все переменные можно изменять как непосредственно в Linux, так и в самом загрузчике.

Так, например, выполнение appauto 0 позволяет отключить проверку работы и наличия Sofia в системе.

А выполнение setenv telnetctrl 1; saveenv попытается включить Telnet сервер.

Список переменных можно запросить командой armbenv -r. Ниже представлен пример выполнения команды.

#
bootdelay = 1
baudrate = 115200
serverip = 192.168.1.1
ipaddr = 192.168.1.10
netmask = 255.255.255.0
ethaddr = 00:12:21:10:a3:d5
xmuart = 0
xmauto = 0                                     // Watchdog для перезагрузки камеры
telnetctrl = 1
NID = 0x0003

Очистка MTD раздела на Flash камеры (сброс настроек)

ВЫ ДОЛЖНЫ ОТДАВАТЬ СЕБЕ ОТЧЁТ О ПРОДЕЛЫВАЕМЫХ ОПЕРАЦИЯХ !

Для вычисления адреса и размера стираемого раздела необходимо смотреть MTD partitions.

Выполните в консоли, нажав Ctrl+C для остановки загрузки ядра после подачи питания на модуль.

ID камеры Адрес и размер для чистки
06510 sf probe 0; sf erase 0×0000007b0000 50000
18510 sf probe 0; sf erase 0×0000007b0000 50000
18510 sf probe 0; sf erase 0×0000007b0000 50000

Внутренние ссылки


Внешние ссылки

  • -


Published

01 February 2018

Tags