Є два методи, перший піходить якщо є незначні пошкодження ПЗ і ядро грузиться. Це можна помітити по лінку, на 2-5 сек буде підійматися.
Якщо лінку нема, то потрібен буде кабель UART.
VTH5221d-s2 відлік зверху в низ RX TX GND +V
Для інших пристроїв, спочатку шукаємо TX, підключивши провід до піну, вмикаємо пристрій, повинен піти лог завантаження, поряд буде пін RX.
Ще потрібно скачати ПЗ для свого пристрою та його розпакувати 7z, файл install не чіпаємо, він не розпакується, треба правити в хекс редакторі, хоча мені не допомогло.
Кому цікаво є проект на github https://github.com/BotoX/Dahua-Firmware-Mod-Kit/ він може розпакувати архів, та щось можна робити з прошивкою.
В файлі інсталл прописані моделі пристоїв та алгоритм оновлення, тобто які розділи потрібно оновити.
Виглядає він так:
Код: Виділити все
{
"Commands" : [
"burn uboot.bin.img uboot",
"burn kernel-x.cramfs.img kernel",
"burn romfs-x.cramfs.img rootfs",
"burn web-x.cramfs.img web",
"burn data-x.cramfs.img data",
"burn usr-x.cramfs.img usr",
"burn pd-x.cramfs.img pd"
],
"Devices" : [
[ "VTH2421F", "0.00" ],
[ "VTH2421F_R", "0.00" ],
[ "VTH5221D-S", "0.00" ],
[ "VTH5241D-S", "0.00" ],
[ "VTH5441G", "0.00" ],
[ "VTH5421E-H", "0.00" ],
[ "VTH5421CH", "0.00" ],
[ "VTH5241D-S-SH", "0.00" ],
[ "VTH5221D-S-SH", "0.00" ],
[ "VTH2421FS-SH", "0.00" ]
],
"Vendor" : "Dahua"
}
Дуже не рекомендую оновлювати розділ ENV - DE
З гарантією в 100% прошивка на загрузиться!!!!
Кабель напряму до ПК, ІП адреси потрібно дві 192.168.1.1/255.255.255.0 та 192.168.254.254/255.255.0.0
Запустити Commands.bat він згенерує текстовий документ в папці root
Запустити Console.bat та TFTPServer.bat
Ввімкнути пристрій, прошивка почнеться.
То в теорії...
Ну наш спосіб то другий.
Кабель підключили, відкрили Putty https://www.putty.org прописали ком порт, швидкість 115200
Вмикаємо пристрій, в терміналі клацаємо зірочку *********************
Лог повинен зупинитись і у вас буде командна строка.
Пишимо printenv
Повинно бути щось таке
Код: Виділити все
-----------------------------------------------------------------------------------------------
HWID=VTH5221D-S:00:04:02:00:31:1B:01:16:01:01:04:4B0:00:02:00:06:00:00:01:00:80:
ID=серійний номер пристрою
PartitionVer=2
appauto=1
bootcmd=run setargs_nand;bootm
bootdelay=4
console=ttyS0,115200
da=tftpboot uboot.bin.img;burn uboot
da0=tftpboot boot0.bin.img;burn boot0
dd=tftpboot data-x.cramfs.img;burn data
de=tftpboot env-x.cramfs.img;burn env
devname=aw_ipc
dh_keyboard=0
dk=tftpboot kernel-x.cramfs.img;burn kernel
dl=tftpboot logo-x.cramfs.img;burn boot_logo
dm=tftpboot mbr.img;burn mbr
dp=tftpboot pd-x.cramfs.img;burn pd
dpa=tftpboot partition-x.cramfs.img;burn partition
dr=tftpboot romfs-x.cramfs.img;burn rootfs
du=tftpboot usr-x.cramfs.img;burn usr
dw=tftpboot web-x.cramfs.img;burn web
ethact=eth0
ethaddr=12:33:22:43:55:ad
gatewayip=192.168.1.1
init=/init
ipaddr=192.168.1.15
licence=304402205660F598CB872CA6FD48B4C2CA65F56983602EECA57530DACE23FC0D6B48BFDF02201753D07F1B2629B25312644848C54BF9A821A9809DDD274B9F08B2216864C0DD
loglevel=8
mmc_root=/dev/mmcblk0p7
nand_root=/dev/nandd
netmask=255.255.255.0
netretry=no
partitions=env@mmcblk0p2:updateflag@mmcblk0p5:partition@mmcblk0p6:kernel@mmcblk0p7:rootfs@mmcblk0p8:boot_logo@mmcblk0p9:web@mmcblk0p10:data@mmcblk0p11:usr@mmcblk0p12:pd@mmcblk0p13:backup@mmcblk0p14:config@mmcblk0p15:UDISK@mmcblk0p1
serverip=192.168.1.2
setargs_mmc=setenv bootargs console=${console} root=${mmc_root} init=${init} loglevel=${loglevel} partitions=${partitions} mac_addr=${ethaddr} uid=${uid}
setargs_nand=setenv bootargs console=${console} root=${spinand_root} init=${init} loglevel=${loglevel} partitions=${partitions} mac_addr=${ethaddr} uid=${uid} kmemleak=on mem=128M
setargs_spinor=setenv bootargs console=${console} root=${spinor_root} init=${init} loglevel=${loglevel} partitions=${partitions} mac_addr=${ethaddr} uid=${uid} kmemleak=on mem=128M
spinand_root=/dev/mtdblock7
spinor_root=/dev/mtdblock3
stderr=serial
stdin=serial
stdout=serial
sysbackup=1
tk=tftpboot uImage;run setargs_nand;bootm
uid=8882f574-3e53-45
up=tftpboot update.img;burn all
verify=no
wifiaddr=12:33:22:43:55:ae
------------------------------------------------------------------------------------
Треба налаштований tftp сервер, можна взяти з прикріпленного файлу, конфіг під себе поправити. Або tftpd64.
З printenv видно який розділ оновлення за що відповідає, рекномендую спочатку оновити ті розділи що в файлі інсталл.
Прописати IP адресу:
Код: Виділити все
setenv ipaddr 192.168.1.15
setenv gatewayip 192.168.1.1
setenv netmask 255.255.255.0
setenv serverip 192.168.1.2
saveenv
saveenv зберегти налаштування. (якщо не зберегти, то значення будуть чинні до перезапуску)
setenv редагування значень змінних. Знак дорівнює ставити не потрібно.
Ще буде в нагоді команда:
setenv dh_keyboard 0
Вона буде виводити лог запуску пристрою, бо по дефолту, лог буде тільки поки грузиться UBoot.
Саме оновлення, вводимо по черзі:
(для вашого девайсу можуть розділи і кількість бути інша)
Код: Виділити все
run da
run dk
run dw
run dd
run du
run dp
Може що пропустив, питайте
Додаю прошивку для VTH-5221D-S2
Посилання на архів ПЗ для Dahua https://dahuawiki.com/images/Files/Firmware/
Форум англомовний по цій темі https://ipcamtalk.com/threads/dahua-ipc ... ftp.17189/ та https://ipcamtalk.com/threads/dahua-ipc ... ftp.16474/
Ще ресурс, але... тут читати... https://dahuacctv.com/forums/Прошивки-firmware.45/