Архивы

Восстановление прошивки и сброс пароля с помощью 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

dvr uart pinout small

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

USB-UART преобразователи CP2102 CH340 PL2303

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

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

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

Putty лог загрузки

Это лог загрузки. На короткое мгновение на экране мелькнёт приглашение 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.

tftpd32 сервер

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

Настройки сервера tftpd32

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

Теперь подключаем нашу многострадальную камеру/регистратор к той же сети, что и компьютер, запускаем 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, когда устройство ещё работало?
Скачиваем прошивку, открываем архиватором и извлекаем все файлы в папку tftp сервера (у меня r:\tftp).

Содержимое файла прошивки

Теперь осталось немного, даём в консоли следующие команды:
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), складываем полученные значение и переключаем калькулятор в режим 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

putty стирание mtd раздела

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

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

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

 

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

Программа для восстановления и сброса паролей exipcam

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

 

Взято с : http://www.cctvsp.ru/articles/vosstanovlenie-proshivki-i-sbros-parolya

 

Описание и расшифровка моделей

Существуют модели плат, к примеру AHB7004T-EL, AHB7004T-MH-V2, AHB7004T-GS-V3 etc.),
Итак разберём:
AHB: это гибридный (аналог, AHD и IP камеры).
7004/7008/7016 — это главная/ основная разработка
7804/7808/7816 — это эконом вариант

GL, G, LME, MH — это самое интересное:

LM =720P&1080N,

MH =1080P non realtime,

 H  =1080P real time. 

GS =3.0M@10FPS&4.0M@8FPS ,

GL =3.0M@18FPS&4.0M15FPS&5.0@11FPS.

G  =3.0M@30FPS&4.0M@25FPS&5.0M@18FPS

в сериях GL и LME точно есть интеллектуальный режим обработки видео (проход через черту, оставленный или украденные предметы) {нечто подобное есть у дорогих RedLine регистраторов} и точно есть отсылка фотографий по детекции движения или опасности. (очень удобно)

В чём разница

Вот интересно, в чём разница.

AHB7004T-MH-V2 или AHB7004T-EL

AHB- это видимо AHD гибридный регистратор

7004 — 7008 — это видимо как праивло 4 или 8 каналов. (но не факт, т.к. есть модификации с 4, но каналов 8 — видимо ошибки ПО)

 

Но самое неопнятное, это MH, EL, G, GL и т.д.

Китаец сказал что в G, GL — есть интеллектуальный режим. (надо проверять)

Про прошивки

Скачать свежачЁк можно тут: http://wiki.xm030.com:81/123/

http://baike.xm030.com/download.html

Опознание железки

system Board Link 更多
00000001 BLK5008A-S http://pan.sohu.net/f/MTY3MzcsaGRpa2k.htm 查看详情
00000002 BLK5008L https://pan.sohu.net/f/MTY3MzgsaGRpa3U.htm 查看详情
00000003 BLK5016B-S http://pan.sohu.net/f/MTY3MzksaGRpa3g.htm 查看详情
00000045 MVB5504E-E http://pan.sohu.net/f/MTY3NDIsaGRpbWM.htm 查看详情
00000053(00000116) MBD6016E-E(旧) AHB7016T-LM(新) https://pan.sohu.net/f/MTcwMTksaGliaHg.htm 查看详情
00000058 NBD5504T-FE(NVR) https://pan.sohu.net/f/MTY3NDYsaGRpbWQ.htm 查看详情
00000061 (00000115) MBD6508E(旧) AHB7008T-LM(新) https://pan.sohu.net/f/MTcwMTgsaGliaHU.htm 查看详情
00000062 MBD6504E https://pan.sohu.net/f/MTY3NDgsaGRpbXU.htm 查看详情
00000064 EVB6504M-PH http://pan.sohu.net/f/MTY3NDksaGRpbXg.htm 查看详情
00000066 DVB6504E-P http://pan.sohu.net/f/MTY3NTAsaGRpcWI.htm 查看详情
00000068 MBD6024H-S https://pan.sohu.net/f/MTY3NTEsaGRpcWg.htm 查看详情
00000069 MBD6032E-B https://pan.sohu.net/f/MTY3NTIsaGRpcWM.htm 查看详情
00000070 MBD6024E-B https://pan.sohu.net/f/MTY3NTMsaGRpcWs.htm 查看详情
00000072 NBD6516H-P https://pan.sohu.net/f/MTY3NTUsaGRpcXE.htm 查看详情
00000073 MBD6004G-PL https://pan.sohu.net/f/MTY3NTYsaGRpcWQ.htm 查看详情
00000075 NBD6508H-PL https://pan.sohu.net/f/MTY3NTcsaGRpcWk.htm 查看详情
00000076 NBD6516H-PL https://pan.sohu.net/f/MTY3NTgsaGRpcXU.htm 查看详情
00000079 MBD5204S-S http://pan.sohu.net/f/MTY3NjAsaGRpZGI.htm 查看详情
00000081 (00000117 MBD6304T(旧) AHB7004T-EL(新) https://pan.sohu.net/f/MTg3OTQsaHVpeG0.htm 查看详情
00000082 MBD6704T https://pan.sohu.net/f/MTY3NjQsaGRpZG0.htm 查看详情
00000083 (00000121) NBD6308T-PL(旧) NBD7008T-PL (新) https://pan.sohu.net/f/MjE0OTgsY2hteHU.htm 查看详情
00000084 MBD6716T https://pan.sohu.net/f/MTY3NzAsaGRpaWI.htm 查看详情
00000085 NBD6704T-F https://pan.sohu.net/f/MTY3NzIsaGRpaWM.htm 查看详情
00000087 MBD6516T-B https://pan.sohu.net/f/MTY3NzQsaGRpaW0.htm 查看详情
00000088 NBD6516T-F 请联系企业QQ4008553199获取该型号程序 查看详情
00000089 NBD6516H-G https://pan.sohu.net/f/MTY3NzksaGRpaXg.htm 查看详情
00000090 MBD6704T-E https://pan.sohu.net/f/MTY3ODEsaGRpdWg.htm 查看详情
00000092 MBD6004S-S https://pan.sohu.net/f/MTY3ODQsaGRpdW0.htm 查看详情
00000092 MBD6004S-S https://pan.sohu.net/f/MTY3ODQsaGRpdW0.htm 查看详情
00000094 MBD6804T-EL https://pan.sohu.net/f/MTY3ODgsaGRpdXU.htm 查看详情
00000097 MVB6004D-E https://pan.sohu.net/f/MTY3OTIsaGRpeGM.htm 查看详情
00000098 NBD6904T-F https://pan.sohu.net/f/MTY3OTQsaGRpeG0.htm 查看详情
00000099 (00000119) NBD6808T-PL(旧) NBD7808T-PL (新) https://pan.sohu.net/f/MjE0OTcsY2hteGk.htm 查看详情
00000101 MVB6004L-ES https://pan.sohu.net/f/MTY3OTYsaGRpeGQ.htm 查看详情
00000104 NBD6908T-PL https://pan.sohu.net/f/MTY3OTcsaGRpeGk.htm 查看详情
00000105 NBD6904Q-FS https://pan.sohu.net/f/MTY3OTgsaGRpeHU.htm 查看详情
00000107 NBD7024H-P https://pan.sohu.net/f/MTY3OTksaGRpeHg.htm 查看详情
000001077 MBD5508T-B https://pan.sohu.net/f/MTY3NTksaGRpcXg.htm 查看详情
00000108 MBD6004T_FL https://pan.sohu.net/f/MTg3OTUsaHVpeHE.htm 查看详情
00000109 NBD7816T-F http://pan.sohu.net/f/MTY4MDAsaGR1YmI.htm 查看详情
000001095 (00000118) NBD6804T-F(旧) NBD7804T-F(新) https://pan.sohu.net/f/MjE0OTUsY2hteHE.htm 查看详情
00000110 (00000114) MBD6804T-EH(旧) AHB7804T-EL(新) https://pan.sohu.net/f/MTcwMTcsaGliaGk.htm 查看详情
00000111 AHB7016F-M https://pan.sohu.net/f/MjUwOTksY3FieHg.htm 查看详情
00000113 NBD7816T-FS https://pan.sohu.net/f/MjUxMDAsY3FoYmI.htm 查看详情
00000114 AHB7804T-EL https://pan.sohu.net/f/MTcwMTcsaGliaGk.htm 查看详情
00000115 AHB7008T-LM https://pan.sohu.net/f/MTcwMTgsaGliaHU.htm 查看详情
00000116 AHB7016T-LM https://pan.sohu.net/f/MTcwMTksaGliaHg.htm 查看详情
00000117 AHB7004T-EL https://pan.sohu.net/f/MTg3OTQsaHVpeG0.htm 查看详情
00000118 NBD7804T-F https://pan.sohu.net/f/MjE0OTUsY2hteHE.htm 查看详情
00000119 NBD7808T-PL https://pan.sohu.net/f/MjE0OTcsY2hteGk.htm 查看详情
00000121 NBD7008T-PL https://pan.sohu.net/f/MjE0OTgsY2hteHU.htm 查看详情
00000122 NBD7904R-FS https://pan.sohu.net/f/MjUxMDEsY3FoYmg.htm 查看详情
00000123 AHB7804R-ELS https://pan.sohu.net/f/MzIwMTYsa2NiaGQ.htm 查看详情
00000124 NBD7804R-F https://pan.sohu.net/f/MjUxMDIsY3FoYmM.htm 查看详情
00000125 NBD7908T-Q https://pan.sohu.net/f/MzIwMTcsa2NiaGk.htm 查看详情
00000126 AHB7808R-LM https://pan.sohu.net/f/MzIwMjEsa2NiY2g.htm 查看详情
00000127 NBD7904T-Q https://pan.sohu.net/f/Mzk2NzQsa3hkaW0.htm 查看详情
00000128 NBD7904T-PL https://pan.sohu.net/f/MzgzOTYsa3VreGQ.htm 查看详情
00000129 NBD7904T-P https://pan.sohu.net/f/Mzk2NzUsa3hkaXE.htm 查看详情
00000130 NBD8004T-QT https://pan.sohu.net/f/Mzk2NzYsa3hkaWQ.htm 查看详情
00000131 AHB7804R-LMS https://pan.sohu.net/f/Mzk2Nzcsa3hkaWk.htm 查看详情
00000132 DBD7004E-P https://pan.sohu.net/f/MzgzOTcsa3VreGk.htm 查看详情
00000133 AHB7804R-MS https://pan.sohu.net/f/NTg4NTYscXV1cWQ.htm 查看详情
00000135 AHB7032F-LM https://pan.sohu.net/f/NDg5MTAsbXV4aGI.htm 查看详情
00000136 NBD8032H-Q https://pan.sohu.net/f/NzEwMDMsaWhiYms.htm 查看详情
00000140 AHB7008T-MH-V2 https://pan.sohu.net/f/NjUzOTUsZHFreHE.htm 查看详情
00000141 NBD8008T-Q https://pan.sohu.net/f/NjY4OTQsZGR1eG0.htm 查看详情
00000142 AHB7004T-MH-V2 https://pan.sohu.net/f/NjY3NTksZGRpcXg.htm 查看详情
00000143 NBD8016H-Q https://pan.sohu.net/f/NjUzOTcsZHFreGk.htm 查看详情
00000144 AHB7808R-MS https://pan.sohu.net/f/NjY1MzYsZGRxa2Q.htm 查看详情
00000146 AHB7016T-MH-V2 https://pan.sohu.net/f/NzI1MTEsaWNxaGg.htm 查看详情
00000148 AHB7008T-LM-V1 https://pan.sohu.net/f/NzE0NzYsaWhtaWQ.htm 查看详情
00000149 AHB7804R-MH-V2 https://pan.sohu.net/f/NzE1NjksaWhxZHg.htm 查看详情
00000151 AHB7808R-MH-V2 https://pan.sohu.net/f/NzE0ODIsaWhtdWM.htm 查看详情
00000152 NBD8904T-Q https://pan.sohu.net/f/NzQzMTksaW1raHg.htm 查看详情
00000153 NBD8908T-Q https://pan.sohu.net/f/NzQyODAsaW1jdWI.htm 查看详情
00000155 AHB7032F-LM-V2 https://pan.sohu.net/f/NzczNjQsaWlrZG0.htm 查看详情
00000156 AHB7808R-MS-V2 https://pan.sohu.net/f/NzkxMzIsaXhoa2M.htm 查看详情
00000157 NBD7804R-FW https://pan.sohu.net/f/NzgyOTgsaXVjeHU.htm 查看详情
00000158 NBD7004T-FW https://pan.sohu.net/f/ODkyMzksdXhja3g.htm 查看详情
00000159 NBD8016H-QT https://pan.sohu.net/f/ODMxNDgsdWtobXU.htm 查看详情
00000160 MVB7004L-LM https://pan.sohu.net/f/ODA0OTQsdWJteG0.htm 查看详情
00000161 NBD8064H-P https://pan.sohu.net/f/ODMyNTYsdWtjcWQ.htm 查看详情
00000162 NBD8128H-Q https://pan.sohu.net/f/ODM0NTUsdWttcXE.htm 查看详情
00000163 NBD7016T-F-V2 https://pan.sohu.net/f/Nzk5NTQsaXh4cW0.htm 查看详情
00000164 NBD7816R-F-V2 https://pan.sohu.net/f/Nzk5NTUsaXh4cXE.htm 查看详情
00000168 NBD7804R-PW http://pan.sohu.net/f/ODU0OTAsdXFteGI.htm 查看详情
00000169 AHB7804R-MS-V2 https://pan.sohu.net/f/ODE4ODAsdWh1dWI.htm 查看详情
00000170 AHB7008T-GS-V3 https://pan.sohu.net/f/ODMxNDksdWtobXg.htm 查看详情
00000171 AHB7004T-GS-V3 https://pan.sohu.net/f/ODMxNzQsdWtoaW0.htm 查看详情
00000172 AHB7016T-GS-V3 https://pan.sohu.net/f/ODM0MzYsdWtta2Q.htm 查看详情
00000175 AHB7016F-GL-V4 https://pan.sohu.net/f/ODcyNTYsdWljcWQ.htm 查看详情
00000177 AHB7808T-MS-V2 https://pan.sohu.net/f/ODYyMTQsdWRjaG0.htm 查看详情
00000178 NBD7004T-PW https://pan.sohu.net/f/ODkxMTgsdXhoaHU.htm 查看详情
00000179 NBD8032H-P https://pan.sohu.net/f/ODM2OTMsdWtkeGs.htm 查看详情
00000180 AHB7016F-GS-V3 http://pan.sohu.net/f/ODYyMTMsdWRjaGs.htm 查看详情
00000182 AHB7032F-GS-V3 http://pan.sohu.net/f/ODc0MzgsdWlta3U.htm 查看详情
00000185 NBD8916F-Q https://pan.sohu.net/f/ODg1ODksdXVxdXg.htm 查看详情
00000188 NBD8016T-Q https://pan.sohu.net/f/ODg2NzgsdXVkaXU.htm 查看详情
00000188 NBD8016T-Q https://pan.sohu.net/f/ODg2NzgsdXVkaXU.htm 查看详情

AHD или аналоговые видеорегистраторы

Итак.

Есть отряд китайских регистраторов на 4/8/16 и т.д. камер. гибридные и не очень под AHD камеры и схожих с ними.

контора на весь алиэкспрес одна, это Hangzhou Xiongmai Technology  xiongmaitech.com

Попробуем разобраться в чём разница железок. процессор то почти один и тот же у всех.