Восстановление прошивки и сброс пароля с помощью USB UART TTL (XMeye регистраторы и камеры)
Обновление устройств XM было рассмотрено в отдельной статье, здесь же я поделюсь дополнительными сведениями, которые могут оказаться полезными при восстановлении, когда что-то пошло не так (отключили свет в процессе обновления, была залита несовместимая прошивка или был другой сбой).
Обновление устройства можно произвести двумя способами: устройство самостоятельно скачивает прошивку и обновляется или пользователь находит свежую версию, загружает через Web-интерфейс или CMS, и далее обновление идёт по тому же сценарию.
Для минимизации проблем, в прошивке содержится специальный файл-описатель InstallDesc в котором содержится идентификатор платформы «Hardware», по которму устройство проверяет, подходит ли ему загружаемая прошивка, сравнивая его содержимое с файлом ProductDefinition.
Также есть отдельное поле «Vendor», которое обычно содержит «General».
Поле «Vendor» введено для производителей оборудования, которые помимо собственно сборки, добавляют также дополнительные функции, особые параметры работы или простом меняют адресацию памяти. Таким образом, осуществляется простейшая защита копирайта, а также от заливки несовместимой прошивки.
Если совпали оба этих поля, запускается процедура обновления, в противном случае выдаётся сообщение об ошибке.
Прошивка содержит несколько разделов, например:
u-boot. bin
u-boot. env
custom-x
logo-x
romfs-x
user-x
web-x
Обновление осуществляется по разделам, поэтому в случае прерывании процедуры обновления, повреждённым оказывается лишь один раздел.
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.
Включаем устройство и наблюдаем такую картинку:
Нас пока интересуют два параметра:
ipaddr=192.168.1.10 — IP адрес устройства
serverip=192.168.1.107 — IP адрес нашего компьютера
их можно изменить командой setenv или подставить компьютеру IP адрес из serverip на время восстановления.
TFTP сервер
Поиграв с командами, вероятно, вы захотите пойти дальше и восстановить устройство.
Для этого нам понадобится ещё одна программа — TFTP сервер, я рекомендую tftpd32.

Устанавливаете его и настраиваете согласно картинке.
Бэкап — наше всё
Теперь подключаем нашу многострадальную камеру/регистратор к той же сети, что и компьютер, запускаем tftp сервер
xmtech # sf probe 0
8192 KiB hi_fmc at 0:0 is now current device
Отсюда видно, что размер флеши — 8192кб, что составляет 0x800000h в шестнадцатеричной системе. (Для флеши 16384кб это число будет 0x1000000h).
Тогда команды для резервной копии будут такими:
| 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, когда устройство ещё работало?
Скачиваем прошивку, открываем архиватором и извлекаем все файлы в папку tftp сервера (у меня r:\tftp).
Обычно это позволяет восстановить работоспособность в случае порчи одного из модулей. Также может понадобится стереть все настройки (см. следующий абзац)
Если файлы не грузятся с 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), складываем полученные значение и переключаем калькулятор в режим 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
Внимательный читатель может обратить внимание, что раздел mtd последний, и для его вычисления достаточно вычесть размер mtd 0x50000 из размера флешки 0x800000, получим те же 0x7b0000. Что ж, можно и так.
Хочу ещё раз напомнить, что это только пример, у вас будут другие цифры. Использование неправильных значений обязательно приведёт к порче устройства!
Слишком сложно!
Не каждый пользователь осилит установку и настройку tftp сервера, не говоря уж про вычисления размеров и смещений для сброса настроек, поэтому мы разработали удобную программу с дружественным интерфейсом, единственная цель которой, «сделать всё хорошо». Программа позволяет производить три основных операции:
1. Создание резервной копии (дампа) устройства
2. Восстановление камеры/регистратора из резервной копии
3. Стирание настроек/сброс пароля
Эти возможности предоставляются бесплатно, но на определённых условиях: пользователь вводит свой e-mail
и разрешает отправку полученного дампа на наш сервер для анализа.
Xmeye. net – оформление и вход в личный кабинет
Xmeye. net – это онлайн программа, предназначенная для удаленного просмотра камер видеонаблюдения с помощью доступа к сети интернет. Облачный сервис используется многими производителями видеорегистраторов, ведь благодаря легкости и простоте управления он помогает просмотреть трансляции видеокамер в онлайн режиме.
С помощью интернет-программы Xmeye. net пользователи могут просматривать данные видеорегистраторов, установленных в автомобилях и на других объектах. Для настройки удаленного доступа к регистратору потребуется всего несколько кликов – регистрация личного кабинета. Пользователь может добавлять к своему персональному аккаунту огромное количество камер видеонаблюдения и видеорегистраторов и просматривать их данные в любом удобном месте и в любое время суток.
Регистрация личного кабинета
Пользователи онлайн системы Xmeye. net могут пользоваться ею как с предварительной регистрацией учетной записи, так и без нее. Но во втором случае клиент получает доступ к ограниченным функциональным возможностям. Для того чтобы пользоваться всеми опциями онлайн программы необходимо оформить личный кабинет:
Информация об успешной регистрации личного кабинета и детальная информация о работе на онлайн портале будет отправлена на электронный почтовый ящик пользователя, указанный при оформлении аккаунта.

Вход в личный кабинет

Восстановление пароля
В случае потери пароля от личного кабинета Xmeye. net пользователю нужно выполнить несколько действий для его восстановления. Для этого перейдите на страничку https://www. xmeye. net/cloud_forgotPass_forgotPass_member и ввести в контрольное поле адрес своей электронной почты.
Укажите код верификации с картинки и нажмите кнопку «Далее». В течение нескольких секунд новый пароль для доступа к учетной записи будет отправлена электронным письмом.
Функционал кабинета
С помощью кабинета Xmeye. net пользователь получает доступ к панели управления и онлайн функциям:
В личном кабинете пользователи могут сделать скриншоты любого изображения с камеры или же включить ее запись.
Контакты техподдержки
https://imatra. ru/vosstanovlenie-proshivki-i-sbros-parolya-s-pomoshhyu-usb-uart-ttl-xmeye-registratory-i-kamery/
https://cabinet-bank. ru/xmeye-net/