Как восстановить прошивку видеорегистратора

Как восстановить прошивку видеорегистратора

Процедура обновления

Обновление устройств XM было рассмотрено в отдельной статье, здесь же я поделюсь дополнительными сведениями, которые могут оказаться полезными при восстановлении, когда что-то пошло не так (отключили свет в процессе обновления, была залита несовместимая прошивка или был другой сбой).


Обновление устройства можно произвести двумя способами: устройство самостоятельно скачивает прошивку и обновляется, или пользователь находит свежую версию, загружает через Web-интерфейс или CMS, и далее обновление идёт по тому же сценарию.
Для минимизации проблем, в прошивке содержится специальный файл-описатель InstallDesc в котором содержится идентификатор платформы "Hardware", по которому устройство проверяет, подходит ли ему загружаемая прошивка, сравнивая его содержимое с файлом ProductDefinition внутри прошивки.
Также есть отдельное поле "Vendor", которое обычно содержит "General".
Поле "Vendor" введено для производителей оборудования, которые помимо собственно сборки, добавляют также дополнительные функции, особые параметры работы или просто меняют заводское распределение памяти. Таким образом, осуществляется простейшая защита копирайта, а также от заливки несовместимой прошивки.
Если совпали оба этих поля, запускается процедура обновления, в противном случае выдаётся сообщение об ошибке.
Прошивка представляет из себя переименованный .zip архив, который содержит несколько .img файлов — разделов дампа со специальным заголовком в 64 байта, а также уже упоминаемый файл-описатель InstallDesc. Пример типового содержимого прошивки:
InstallDesc
u-boot.bin.img
u-boot.env.img
romfs-x.cramfs.img
user-x.cramfs.img
web-x.cramfs.img
custom-x.cramfs.img
У регистраторов ещё есть раздел с логотипом logo-x.cramfs.img
Обновление осуществляется по разделам, поэтому в случае прерывания процедуры обновления, повреждённым оказывается лишь один раздел.
u-boot.bin — это сам загрузчик u-boot, прошивается первым и почти всегда остаётся целым благодаря малым размерам. Помимо процедуры запуска, u-boot содержит также процедуры вывода на экран логотипа (у регистраторов), а также — самое важное — скрипты восстановления модулей прошивки.
Именно поэтому мы и видим на экране сбойного устройства "матрас" или логотип производителя.
Если логотип не пропадает, а устройство не переходит в рабочий режим, значит повреждён один из блоков прошивки, но сам загрузчик цел, и устройство можно относительно просто и недорого восстановить.

При повреждённом загрузчике мы получаем полный "кирпич", описываемый здесь метод уже не применим, восстанавливать придётся на программаторе, в данной статье его рассматривать не будем.

Подключаем UART

Общение с загрузчиком производится из консоли командами, которые подаются через специальный отладочный интерфейс — UART. В качестве консоли (терминала) удобнее использовать Putty (Kitty), хотя сгодится даже встроенный в Windows гипертерминал.
Чтобы иметь возможность слать команды из терминала, нам понадобится USB-UART преобразователь.
Самый распространённый — это преобразователь на базе микросхемы Prolific PL-2303HX. Для восстановления одного устройства его будет достаточно, но если вы профессионально занимаетесь ремонтом, лучше приобрести преобразователь на базе микросхемы FTDI FT232R, он более надёжный и не так подвержен помехам в линии.

Подключив UART преобразователь, получим в системе дополнительный последовательный COM порт, номер которого нужно узнать в диспетчере устройств. Этот номер указываем в программе-терминале, а также задаём другие параметры порта: скорость 115200, чётность нет, стоп. бит 1.

Для подключения соединяем минусовой ("земляной") провод устройства с общим (GND) проводом преобразователя, RX устройства соединяем с TX преобразователя, а RX, соответственно, с TX.

Включаем устройство и наблюдаем такую картинку:

Это лог загрузки. На короткое мгновение на экране мелькнёт приглашение Press Ctrl+C to stop autoboot. Нужно поймать этот момент и нажать комбинацию клавиш Ctrl+C, после чего мы попадаем в командный интерфейс загрузчика.
Даём команду printenv , это выведет на экран переменные окружения загрузчика и сообщит нам дополнительную информацию о подопытном.

Нас пока интересуют два параметра:
ipaddr=192.168.1.10 — IP адрес устройства
serverip=192.168.1.107 — IP адрес нашего компьютера
их можно изменить командой setenv или подставить компьютеру IP адрес из serverip на время восстановления.

TFTP сервер

Поиграв с командами, вероятно, вы захотите пойти дальше и восстановить устройство.
Для этого нам понадобится ещё одна программа — TFTP сервер, я рекомендую tftpd32.

Читайте также:  Wo mic не видит телефон usb

Устанавливаете его и настраиваете согласно картинке.

Бэкап — наше всё

Теперь подключаем нашу многострадальную камеру/регистратор сетевым кабелем к той же сети, что и компьютер с программой терминала и TFTP сервером, запускаем tftp сервер

Перед экспериментами обязательно нужно сделать резервную копию (дамп). Для этого нужно узнать размер flash памяти устройства. В этом нам поможет команда sf probe 0 .

xmtech # sf probe 0
8192 KiB hi_fmc at 0:0 is now current device

Отсюда видно, что размер флеши — 8192кб, что составляет 0x800000h в шестнадцатеричной системе. (Для флеши 16384кб это число будет 0x1000000h).

Ещё понадобится узнать адрес доступной оперативной памяти, чтобы скопировать дамп в память или загрузить туда блоки. Дайте команду printenv и посмотрите переменную bootcmd= . В самом конце всегда присутствует команда bootm и адрес памяти. В нашем случае bootm 0x82000000 (бывают также 0x42000000)

Тогда команды для резервной копии будут такими:

setenv serverip 192.168.1.101 установка IP адреса нашего компьютера (не обязательно, если уже задали ему IP из serverip)
setenv ipaddr 192.168.1.10 изменение IP адреса устройства (не обязательно, если находится в той же подсети, что и комп)
sf probe 0 Обращение к SPI флеши
sf read 0x82000000 0x0 0x800000 Копирование содержимого flash в оперативную память
tftp 0x82000000 dump.bin 0x800000 Передача дампа на tftp сервер

После чего в папке tftp сервера появится файл dump.bin, содержащий полную резервную копию.

Восстановление

Теперь понадобится файл прошивки под наше устройство. Надеюсь, вы записали номер устройства из окошка Info, когда устройство ещё работало? Если нет, подобрать подходящую прошивку можно по фото устройства, написав комментарий к статье или написав в наш канал в Telegrem.
Скачиваем прошивку, открываем архиватором и извлекаем все файлы в папку tftp сервера (у меня r: ftp).

Теперь осталось немного, даём в консоли следующие команды:
run dc
run du
run dr
run dw
После чего перезагружаем командой reset .

Обычно это позволяет восстановить работоспособность в случае порчи одного из модулей. Также может понадобится стереть все настройки (см. следующий абзац)
Если файлы не грузятся с tftp сервера (в консоли циклические попытки), то скорее всего мешает брандмауэр Windows — отключите его или добавьте tftpd32 в исключения.

Сброс пароля

Бывают ситуации, когда пароль администратора утерян, но нужно получить доступ к устройству с целью изменения его настроек. В этой ситуации тоже поможет преобразователь USB-UART, с той лишь разницей, что в этом случае не требуется tftp сервер.
Повторяем те же действия из раздела "Подключаем UART", включая команду printenv.
Внимательно изучаем её вывод, обратив внимание на содержимое переменной bootargs
В нашем примере это будет вывод от камеры 00018510
bootargs=mem=39M console=ttyAMA0,115200 root=/dev/mtdblock1 rootfstype=cramfs mtdparts=hi_sfc:320K(boot),3520K(romfs),2560K(user),1152K(web),320K(custom),320K(mtd)
320K(boot),3520K(romfs),2560K(user),1152K(web),320K(custom),320K(mtd)
Запускаем калькулятор Windows, переводим его в режим программиста и начинаем подсчёт. Для этого переключаем калькулятор в режим dec, переводим мегабайты и килобайты в байты (килобайты умножаем на 1024, а мегабайты — на 1048576), складываем полученные значение и переключаем калькулятор в режим hex.
Получаем следующие таблички:

Размеры mtd разделов
320K(boot) 327680 50000h
3520K(romfs) 3604480 370000h
2560K(user) 2621440 280000h
1152K(web) 1179648 120000h
320K(custom) 327680 50000h
320K(mtd) 327680 50000h

Адреса mtd разделов
0x000000-0x050000 : "boot"
0x050000-0x3c0000 : "romfs"
0x3c0000-0x640000 : "user"
0x640000-0x760000 : "web"
0x760000-0x7b0000 : "custom"
0x7b0000-0x800000 : "mtd"

Из таблицы нас интересует последний раздел — mtd. Как видно из bootargs, его размер 320кб, что составляет 50000h в шестнадцатеричной системе, а начальный адрес — 0x7b0000.
Здесь хранятся настройки устройства, и, самое важное, пароли пользователей. Если его стереть, то система пересоздаст этот раздел заново с настройками по умолчанию, и, соответственно, с пустыми паролями.

даём следующие команды:
sf probe 0
sf erase 0x7b0000 0x50000
reset

В новых прошивках появилась защита флешки от записи, поэтому сразу после sf probe 0 нужно давать ещё команду sf lock 0 , чтобы снять защиту.

Читайте также:  Как перенести файлы ватсап на карту памяти

Внимательный читатель может обратить внимание, что раздел mtd последний, и для его вычисления достаточно вычесть размер mtd 0x50000 из размера флешки 0x800000, получим те же 0x7b0000. Так даже проще, если нас интересует только один раздел.

Хочу ещё раз напомнить, что это только пример, у вас будут другие цифры. Использование неправильных значений обязательно приведёт к порче устройства!

Слишком сложно!

Не каждый пользователь осилит установку и настройку tftp сервера, не говоря уж про вычисления размеров и смещений для сброса настроек, поэтому мы разработали удобную программу с дружественным интерфейсом, упрощающую действия пользователя. Программа позволяет производить четыре основных операции:
1. Создание резервной копии (дампа) устройства
2. Восстановление камеры/регистратора из созданного дампа
3. Восстановление устройства с помощью файла прошивки
4. Стирание настроек/сброс пароля
Эти возможности предоставляются бесплатно. К пользователю есть лишь одна просьба — для новых устройств по возможности сделать фото устройства и прислать их вместе со слитым дампом по одному из контактов сайта. Пожертвования автору программы приветствуются.

Программу XMDeviceExplorer можно скачать тут.

Последняя версия программы Ambarella DirectUSB III предназначена для установки и восстановления программного обеспечения (прошивки) в видеорегистраторах, видеокамерах, использующих процессоры фирмы Амbаrella.

Поддерживаемые процессоры:

  • Ambarella A2: A2S30, A2S60, A2S70
  • Ambarella A5: A5S30, A5S50, A5S90
  • Ambarella A7: A7LA30, A7LA50, A7LA50D, A7LA55, A7LA70, A7LA70D, A7LA75, A7LA85
  • Ambarella A12: A12A35, A12A55, A12A75

Если устройство не включается, не спешите обращаться в сервис-центр. Попробуйте восстановить прошивку с помощью программы Ambarella DirectUSB.

Восстановление прошивки требуется в следующих случаях:

  • Стирание прошивки в случае внешних воздействий (нестабильное питание, статическое электричество).
  • Неудачная прошивка с помощью карты памяти (например, регистратор выключился в процессе прошивки).
  • Использование прошивки от другого устройства.
  • Иногда прошивка с карты памяти может устанавиться "криво", наложившись на старую прошивку.
  • Замена микросхемы NAND-памяти (Flash Memory), в которой хранится прошивка.

Обновление прошивки происходит следующим образом. Видеорегистратор переводится в режим программирования, путем нажатия и удержания определенной кнопки. Затем устройство подключается к USB-порту компьютера. Используя программу Ambarella DirectUSB, в NAND память устройства "заливается" новая прошивка.

Прошивка с помощью Ambarella DirectUSB

TrendVision выпустила специальную версию программы Ambarella DirectUSB. В неё вшиты последние прошивки TrendVision для Ambarella и сделаны предварительные настройки. Программу можно использовать для любых устройств Ambarella других производителей, если имеется исходный файл прошивки.

2. Запустите файл установки TrendVision DirectUSB-III.exe, дважды щелкнув по нему

3. После установки программы, на рабочем столе появится иконка программы DirectUSB-III
— Программа устанавливается в папку C: Program Files (x86) TrendVision USB-III
— Прошивки находятся в папке C: Program Files (x86) TrendVision USB-III FW
— Драйвера находятся в папке C: Program Files (x86) TrendVision USB-III Driver

4. Нажмите и отпустите кнопку RESET на видеорегистраторе.

5. Нажмите и удерживайте кнопку для входа в режим программирования и подключите видеорегистратор к USB-порту компьютера. Кнопки для входа в режим программирования:
— MR-700, MR-712, MR-720, MR-715, MR-720 кнопка программирования — REC (вторая слева)
— TDR-708, TDR-718, TDR-719 кнопка программирования — MODE (нижняя слева)
— Combo — кнопка программирования (нижняя справа)
— TV-103 кнопка программирования > (крайняя правая)
— TV-100, TV-102, TV-Q2N, TV-Q2, TV-Q5, TV-Q5NV, TV-107 кнопка программирования — REC
— Для устройств других производителей можно попробовать по очереди удерживать все кнопки

6. Войдите в диспетчер устройств (Компьютер Управление Диспетчер устройств) и убедитесь в том, что новое устройство определилось как "Ambarella Evolution Board 1.2.3.0". Если устройство определилось как "Неизвестное устройство" придется устанавливать драйвера вручную (описано ниже).

7. Если устройство вообще не обнаружилось в диспетчере устройств, можно попробовать нажать на 3-5 сек. кнопку POWER. Или переподключите устройство в другой порт USB.

8. После определения компьютером, в независимости от установки драйверов, можно отпустить кнопку программирования.

9. Если драйвера не установились (это возможно для Windows 8 и Windows 10) и в диспетчере устройств появилось "Неизвестное устройство", необходимо отключить проверку цифровых драйверов на вашем ПК. Возможно, придется установить драйвера вручную: щелкнуть правой мышкой на "Неизвестное устройство" -> Обновить драйвер -> Выполнить поиск драйверов на этом компьютере -> Искать драйвер в следующем месте -> выбрать папку C: Program Files (x86) TrendVision USB-III Driver -> OK -> Далее. Разрешить установку драйверов.

Читайте также:  При обновлении налогоплательщик юл пропали все данные

10. Запустите программу DirectUSB-III, щелкнув иконку на рабочем столе. На вкладке Download необходимо выбрать модель процессора Model: A2, A5, A7 или A12 вашего видеорегистратора и путь к файлу прошивки в поле Firmware Programming. Прошивки для видеорегистраторов TrendVision находятся в папке C: Program Files (x86) TrendVision USB-III Driver . Их можно выбрать, нажав на кнопку . Название прошивки содержит название модели. Для устройств других производителей, файл прошивки должен иметь расширение ".elf". и путь к прошивке выбирается с помощью кнопки Choose. Тип процессора по моделям:
— MR-700, MR-710, MR-715, MR-720, TDR-708, TDR-718, TDR-719, Combo — процессор Model: A7
— TV-103, TV-102, TV-107, TV-108, TV-Q2, TV-Q5 — процессор Model: A2
— TV-Q5NV — процессор Model: A5

11. Щелкните на кнопку Connect. Если устройство подключено правильно, индикатор Status окрасится в зеленый цвет, с надписью OK.

12. Загрузите прошивку, нажав на кнопку DownLoad. Продолжительность прошивки около 1 минуты. После удачной прошивки индикатор Status окрасится в зеленый цвет, с надписью OK. Если прошивка произойдет неудачно, проверьте правильность выбора процессора Model и прошивки.

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

14. Включите видеорегистратор и сделайте сброс настроек через меню.

Эта инструкция была опубликована мною в 2015 году на сайте gps-club.ru. Сайта ныне не существует, но инструкция возможно кому то пригодиться. Ссылки могут быть устаревшими.

upd 16.12.2019
По многочисленным просьбам выложил файлы *.elf и *.bin прошивки
mivue 388 v2.01.06_rus.zip
Файлы в архиве
388.bin
amboot_kernel_romfs_dsp_release.elf
process.doc
miVue 388 v2.01.07_rus.zip
Файлы в архиве
388.bin
amboot_kernel_romfs_dsp_release.elf
Разбираться чем отличаются файлы нет времени, да и не помню уже. По моему разницы никакой, по крайней мере в *.elf. Архивы качались мною с официального сайта, когда реанимировал свой регистратор.

Восстановление «кирпича» Mio Mivue 388 из под Windows 7 x64
Весь процесс вы делаете на свой страх и риск!
Сразу оговорюсь, я не профессионал в этом деле, просто энтузиаст, которому было в лом ехать в СЦ отдавать за ремонт свои кровные.
Я восстановил два своих 388-х из под Windows 7 x64, УСПЕШНО (хотя советуют из под XP x32). Думаю этот метод подойдёт и для Mio Mivue 368.
Предистория: Кирпич получил банально, при прошивке не проверил подключено ли питание, в итоге сел аккумулятор во время прошивки bin файлом (через SD карту) и в результате — кирпич.
Симптомы: Ни на что не реагирует, только при подключенном питании горит красный светодиод.
То же самое происходит если рабочий регик, подключить к компу с зажатыми двумя правыми кнопками (так он входит в сервисный режим и вывести его оттуда можно только отключив батарею). Кстати можно попробовать перед прошивкой проделать эту манипуляцию, вдруг оживёт.
Лечение: Пытаясь восстановить аппарат, облазил весь инет, выкурил не один форум, перепробовал кучу способов, в результате методом научного тыка нашел решение.
ПРОШИВАТЬ НАДО С ОТКЛЮЧЁННЫМ АККУМУЛЯТОРОМ
(с подключённым мне прошиться не удалось)
Для этого разбираем нашего зверька. При помощи присоски отклеиваем защитное «стекло» (это пластик, осторожно, не сломай). Отвинчиваем два винта, снимаем крышку с кнопками. Отвинчиваем ещё шесть «белых» винтов (чёрные не трогаем, ими привинчен объектив!). Приподнимаем плату и с обратной стороны, в правом верхнем углу отключаем батарею. После успешной прошивки собираем в обратной последовательности.

Ссылка на основную публикацию
Как вернуть чемпиона в league of legends
Я купил чемпиона, но он мне особо не понравился. Могу ли я его вернуть? Вопрос относиться к игре: League of...
Извлекается ли корень из отрицательного числа
Онлайн калькулятор Как посчитать корень. Теория Извлечение корня — это обратная операция от возведения в степень. Корень n-й степени из...
Имена переменных в python
Не один язык программирования не может обойтись без переменных и Python здесь не исключение. Переменная в программировании – это именованная...
Как взломать личный кабинет мегафон
Компания Мегафон является одним из топовых поставщиков услуг сотовой связи. Пользователи могут получать качественные услуги, а также выполнять большое количество...
Adblock detector