Введение

Материал в стадии оформления. Последнее обновление – 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                                     // Разрешение доступа к флешке
mw.b 0x82000000 ff 1000000                     // Очистка памяти
sf read 0x82000000 0x0 0x800000                // Чтение всей флешки в память
tftp 0x82000000 ff.img 0x800000                // Выгрузка дампа (fullflash) на TFTP сервер

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

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

Пример создания дампа для 16 Mb Flash на USB флешку (если есть USB порт и метод поддерживается загрузчиком)

#
usb start                                      // Инициализация USB
sf probe 0                                     // Разрешение доступа к флешке
mw.b 0x82000000 ff 1000000                     // Очистка памяти
sf read 0x82000000 0x0 0x1000000               // Чтение всей флешки в память
fatwrite usb 0:1 0x82000000 ff.img             // Выгрузка дампа (fullflash) на USB Flash

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

Периодически на распродажах 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                                     // Разрешение доступа к флешке
mw.b 0x82000000 ff 1000000                     // Очистка памяти
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                                     // Разрешение доступа к флешке
mw.b 0x82000000 ff 1000000                     // Очистка памяти
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 сервера
mw.b 0x82000000 ff 1000000                     // Очистка памяти
tftp 0x82000000 u-boot.bin                     // Загрузка в память загрузчика
sf probe 0                                     // Разрешение доступа к флешке
sf erase 0 0x40000                             // Очистка части флешки под запись
sf write 0x82000000 0 0x40000                  // Запись загрузчика из памяти на флешку
reset                                          // Рестарт устройства

Пример прошивки устройств с USB флешки

#
usb start
mw.b 0x82000000 ff 1000000
fatload usb 0:1 0x82000000 dump.bin
sf probe 0
sf lock 0
sf erase 0 0x1000000
sf write 0x82000000 0 0x1000000

Включение отображения процесса загрузки ядра 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
18520 sf probe 0; sf erase 0×0000007b0000 50000

Получение базовой информации по плате XM

Для получения базовой информации по плате XM выполните команду dvrbox в консоли

# dvrbox
LibCrypto : g_cryptotype = 1
00:12:16:d8:6f:89
*************************************************
|                      SYSTEM INFO
|                 ID:           8043421804748432
|       product type:           53H13
|            product:           HI3518E_53H13_S39
|      video channel:           1
|      audio channel:           1
|           alarm in:           1
|          alarm out:           1
| forward video chip:           AR0130
|           DSP chip:           HI3518E
|  analog audio mode:           voice codec
|           talkback:           voice codec
|    back video chip:           no chip
|    store interface:           SDIO
|    matrix surpport:           No
| wireless interface:           USB
|    hardware encode:           encode chip
|   hardware version:           1
|    video_interface:           BNC
|      net_interface:           Ethernet
|  hardware info len:           8
*************************************************
LIBDVR: Complied at Sep 12 2016 10:37:43 SVN:1579

Типовые полезные команды

Сканирование локальной сети для поиска видеокамер

clear; nmap -p 23,80,554 192.168.1.1-254

Запуск Telnet сервера на камере без авторизации

telnetd -F -p 4321 -l /bin/ash

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


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

  • -


Published

01 February 2018

Tags