Прошивка камеры Ростелеком IPC2322EBR5-P-C

Отвязка от Ростелеком

Такую камеру в апреле отвязывали буквально в режиме online в чатике с камрадом @Aleksey4795. А сейчас эту же модель прислали на перепрошивку и появилась возможность написать статью.

Инструменты

Материалы

Утилиты

  • TFTP-сервер Tftpd64 — TFTP-сервер для передачи файлов.
  • Putty — программа для работы через UART.
  • EZTools — поисковая утилита для камер Uniview.

Исходные данные

u-boot
hi3516cv300 System startup


U-Boot 2010.06 (Aug 20 2020 - 10:49:38)

Check Flash Memory Controller v100 ... Found
SPI Nand(cs 0) ID: 0xef 0xaa 0x21 Name:"W25N01GV"
Block:128KB Page:2KB Chip:128MB*1 OOB:64B ECC:8bit/512
ECC provided by Flash Memory Controller
SPI Nand total size: 128MB
MMC:
EMMC/MMC/SD controller initialization.
Card did not respond to voltage select!
No EMMC/MMC/SD device found !

EMMC/MMC/SD controller initialization.
Card did not respond to voltage select!
No EMMC/MMC/SD device found !
*** Warning - bad CRC or NAND, using default environment

In:    serial
Out:   serial
Err:   serial
*No SD card found!
USB:   scanning bus for devices... 1 USB Device(s) found
0 Storage Device(s) found
Hit any key to stop autoboot:  0
help
?       - alias for 'help'
base    - print or set address offset
bootm   - boot application image from memory
bootp   - boot image via network using BOOTP/TFTP protocol
bootss  - boot from snapshot image
cmp     - memory compare
cp      - memory copy
crc32   - checksum calculation
ddr     - ddr training function
ext2load- load binary file from a Ext2 filesystem
ext2ls  - list files in a directory (default /)
fatinfo - print information about filesystem
fatload - load binary file from a dos filesystem
fatls   - list files in a directory (default /)
fwupdate- fwupdate command allows to flash vc camera firmware from file on mmc o                                                                      r from memory.
getinfo - print hardware information
go      - start application at address 'addr'
help    - print command description/usage
hi_gpio - set hisilicon gpio states
loadb   - load binary file over serial line (kermit mode)
loady   - load binary file over serial line (ymodem mode)
loop    - infinite loop on address range
md      - memory display
mii     - MII utility commands
mm      - memory modify (auto-incrementing address)
mmc     - MMC sub system
mmcinfo - mmcinfo -- display MMC info
mtest   - simple RAM read/write test
mw      - memory write (fill)
nand    - NAND sub-system
nboot   - boot from NAND device
nm      - memory modify (constant address)
ping    - send ICMP ECHO_REQUEST to network host
printenv- print environment variables
rarpboot- boot image via network using RARP/TFTP protocol
reset   - Perform RESET of the CPU
saveenv - save environment variables to persistent storage
setenv  - set environment variables
sf      - SPI flash sub-system
tftp    - tftp  - download or upload image via network using TFTP protocol
ugzip   - Compress gzipfile with hardware IP
usb     - USB sub-system
usbboot - boot from USB device
version - print monitor version
printenv
bootargs=mem=64M console=ttyAMA0,115200 rootfstype=ramfs mtdparts=hinand:1024K(boot),1024K(tech),5120K(kernel),16384K(app),-(config) hw_type=1205 ubi.mtd=3,2048
bootcmd=hi_gpio $(hi_gpios); fwupdate mmc 0:1 firmware.bin --enable-legacy-fw --with-props; nand read 0x82000000 0x200000 0x500000; bootm 0x82000000; setenv bootargs $(bootargs) bkp=1; nand read 0x82000000 0x700000 0x500000; bootm 0x82000000
bootdelay=1
baudrate=115200
ethaddr=00:00:23:34:45:66
ipaddr=192.168.1.10
serverip=192.168.1.2
netmask=255.255.255.0
bootfile="uImage"
hi_gpios= 40 7! 72! 73!
stdin=serial
stdout=serial
stderr=serial
verify=n
ver=U-Boot 2010.06 (Aug 20 2020 - 10:49:38)

Environment size: 656/131068 bytes
Сначала использовал адаптер CH340G, но никак не удавалось остановить загрузку или удавалось, но команды в консоль не передавались. Не так давно камрад . Ucon в чатике в процессе обсуждения указал на то, что у CH341A рабочее напряжение не 3.3В, как надо, а . Появилась мысль, что причина того что CH340G не работает с камерами Uniview, а CH341A работает именно в напряжении. Попробовал переключить CH340G на , но это не помогло. Взял CH341A, переключил в режим TTL и всё полетело. Так что по прежнему хз что там и как 🙂

Подготовка

Всё очень похоже на алгоритм, описанный в статье Отвязка от Ростелеком камеры IPC8232SWC-WE. Разворачиваем нужный софт, вскрываем, подключаемся.

Вскрытие

Для того, чтобы добраться до внутренностей зверька, нужно открутить 4 винта на передней панели, для чего понадобится “звёздочка” и 4 винта под обычный “крест” на металлическом кронштейне внутри. Дальше, взявшись за объектив, надо аккуратно потянуть на себя и внутренности станут наружностями.

TFTP-сервер

TFTP-сервер Tftpd64 нужно извлечь из архива и запустить. Речь идёт про портативную версию. Далее нужно положить распакованные файлы прошивки в ту же папку или в отдельную, но тогда эту отдельную папку надо указать в настройках Tftpd64. Нажатием на кнопку Show Dir можно открыть окно с содержимым текущей папки и убедиться, что файлы видны сервером.

Прошивка камеры Ростелеком IPC2322EBR5-P-C

Брандмауэр или антивирус с функцией брандмауэра должен быть отключён, либо в их настройках должен быть открыт UDP-порт 69.

Правка manuinfo.txt

Параметры камеры задаются посредством файла manuinfo.txt. В нём нужно отредактировать параметры DEVICE_SERIAL_NUMBER и MAC_ADDRESS. Поскольку пока с работой родного облака вопрос не решён и неизвестно. будет ли решён когда-нибудь, то редактировать ACTIVE CODE смысла нет.

@@
DEVICE_NAME:IPC2322EBR5-P-C
DEVICE_SERIAL_NUMBER:12100002000900000000
MAC_ADDRESS:E4F1-4C27-0000
MANUFACTURING_DATE:2023-07-13
VENDOR_NAME:UNIVIEW
##
REGION_CODE:IN
BUILD_INFO:ENC-0302C2XA;SEN-0302C1X2;LENS-4801C07S
CUSTOMER_CODE:09
TEST_TRACKING_NUMBER:100
E_LABEL_VER:1.20
PROTOTYPE_NAME:IPC2322EBR5-P-C
%%
ACTIVE_CODE:0000000000000000000000000
$$

UART-адаптер

Далее нужно подключить коннектор к контактным отверстиям UART-интерфейса. Ножки разъёма болтаются в отверстиях, поэтому надо либо их чуть подогнуть, либо наклонить сам коннектор, чтобы добиться надёжного соединения. Затем можно подключать адаптер к компьютеру. Исхожу из того, что драйверы уже установлены и номер порта известен.

Putty

При запуске Putty нужно выбрать тип соединения Serial, скорость 115200, прописать COM-порт, который система выделила UART-адаптеру и нажать кнопку Open.

При работе с загрузчиком учитывайте один интересный момент: при отсутствии активности в консоли больше 1 минуты происходит автоматический перезапуск.

Бэкап

На всякий случай нужно сделать резервную копию прошивки. Делать будем через tftp. Сохранять больше 32 мегабайт нет смысла, т.к. ростелекомовская прошивка совсем небольшая и дальше лишь пустота. Хотя, если возврата к Ростелекому не предвидится, то можно пропустить это шаг.

В приведённых примерах адрес компьютера: 192.168.1.128, а адрес камеры: 192.168.1.10. Необязательно адреса должны быть именно такими. Главное, чтобы были из одной подсети.
setenv serverip 192.168.1.128
setenv ipaddr 192.168.1.10
save

mw.b 0x82000000 0xff 0x1000000
nand read 0x82000000 0x0 0x1000000
tftp 0x82000000 rt-ipc2322ebr5-p-c_dump0.bin 0x1000000

mw.b 0x82000000 0xff 0x1000000
nand read 0x82000000 0x1000000 0x1000000
tftp 0x82000000 rt-ipc2322ebr5-p-c_dump1.bin 0x1000000

Прошивка

Подать питание на камеру и сразу же нажать любую кнопку. Отпустить можно тогда, когда запуск остановится и на экране появится приглашение ввода команд. Либо не держать кнопку, а нажать только тогда, когда в консоли появится надпись Hit any key to stop autoboot, но нужно успеть за 2 секунды. Дальше нужно задать адреса камеры и компьютера с запущенным TFTP-сервером и прошить родной загрузчик.

setenv serverip 192.168.1.128
setenv ipaddr 192.168.1.10
save
mw.b 0x82000000 0xff 0x100000
tftp 0x82000000 u-boot.bin
nand erase 0 0x100000
nand write 0x82000000 0 0x100000

reset

После завершения прошивки загрузчика вводим reset, но запуск можно не прерывать – сам остановится, т.к. кроме загрузчика в памяти ничего и нет. Если вдруг понадобится таки остановить позже, то останавливается комбинацией Ctrl+B. Снова задаём адреса камеры и компьютера и вводим команду старта прошивки update all и ждём завершения. Затем вводи команды конфигурирования. Прошивка завершена, перезагружаем.

setenv serverip 192.168.1.128
setenv ipaddr 192.168.1.10
save
update all
manuinfo manuinfo.txt
config ethaddr E4:F1:4C:27:00:00

reset

Запуск

Запускаем утилиту EZTools и жмём в ней кнопку Search. Смотрим какой адрес получила камера и открываем его в браузере. Полноценно интерфейс работает, опять же, только в Internet Explorer или в Edge в режиме Internet Explorer, но и в некоторых других браузерах тоже работает. Например, работает в Яндекс.Браузере, а вот в том же Edge без режима IE не хочет.

Пароль по умолчанию: 123456. Вводим и видим пользовательское соглашение, которое надо принять. На следующем шаге видим предложение задать новый сложный пароль длиной от 9 до 32 символов, включающий цифры, буквы и спец.символы. Задаём. Снова видим окно входа, вводим свой пароль и наконец попадаем в интерфейс камеры.

Результат

u-boot
System startup


U-Boot 2010.06-svn (Jun 23 2022 - 14:31:29)

Check Flash Memory Controller v100 ... Found
SPI Nand(cs 0) ID: 0xef 0xaa 0x21 Name:"W25N01GV"
Block:128KB Page:2KB Chip:128MB*1 OOB:64B ECC:4bit/512
ECC provided by Flash Memory Controller
SPI Nand total size: 128MB
MMC:
EMMC/MMC/SD controller initialization.
Card did not respond to voltage select!
No EMMC/MMC/SD device found !
In:    serial
Out:   serial
Err:   serial
Detected MACID:e4:f1:4c:28:f5:d2
Press Ctrl+B to abort autoboot in 2 seconds
help
?       - alias for 'help'
base    - print or set address offset
bootm   - boot application image from memory
bootp   - boot image via network using BOOTP/TFTP protocol
bootss  - boot from snapshot image
cmp     - memory compare
config  - config  --- config mac address,ddr test flag,gpio state

cp      - memory copy
crc32   - checksum calculation
ddr     - ddr training function
devmem  - devmem  - Device Memory Test

ext2load- load binary file from a Ext2 filesystem
ext2ls  - list files in a directory (default /)
fatinfo - print information about filesystem
fatload - load binary file from a dos filesystem
fatls   - list files in a directory (default /)
getinfo - print hardware information
go      - start application at address 'addr'
help    - print command description/usage
loadb   - load binary file over serial line (kermit mode)
loady   - load binary file over serial line (ymodem mode)
loop    - infinite loop on address range
manuinfo- download,erase,display manuinfo

md      - memory display
mii     - MII utility commands
mm      - memory modify (auto-incrementing address)
mmc     - MMC sub system
mmcinfo - mmcinfo -- display MMC info
mtest   - simple RAM read/write test
mw      - memory write (fill)
nand    - NAND sub-system
nandtospi- copy image from nand flash to spi flash.
nboot   - boot from NAND device
nm      - memory modify (constant address)
ping    - send ICMP ECHO_REQUEST to network host
printenv- print environment variables
rarpboot- boot image via network using RARP/TFTP protocol
reset   - Perform RESET of the CPU
saveenv - save environment variables to persistent storage
setenv  - set environment variables
sf      - SPI flash sub-system
spitonand- copy image from spi flash to nand flash.
tftp    - tftp  - download or upload image via network using TFTP protocol
ugzip   - Compress gzipfile with hardware IP
update  - update image via network using TFTP protocol and write into flash.
version - print monitor version
printenv
bootargs=mem=128M console=ttyAMA0,115200 mtdparts=hinand:1M(boot),9M(kernel),90M(program),1M(cliinfo),1M(clibak),1M(mtd_runtime),16M(config),8M(calibration),512K(update),-(other)
bootcmd=nand read 0x82000000 0x100000 0x900000;bootm 0x82000000
bootdelay=1
baudrate=115200
netmask=255.255.255.0
bootfile="uImage"
serverip=192.168.1.128
ipaddr=192.168.1.10
stdin=serial
stdout=serial
stderr=serial
verify=n
ethaddr=e4:f1:4c:27:00:0
ver=U-Boot 2010.06-svn (Jun 23 2022 - 14:31:29)

Environment size: 478/262140 bytes

Поддерживается ONVIF и RTSP, поэтому никаких проблем с подключением к регистраторам и видеосерверам быть не должно. Ссылка RTSP:

  • rtsp://admin:password@192.168.0.174/media/video1 – 1-й поток;
  • rtsp://admin:password@192.168.0.174/media/video2 – 2-й поток.

Обновление

Прогресс не стоит на месте и обновления для прошивок периодически выходят, но не всегда удаётся их найти в свободном доступе. В камерах Uniview процесс получения новых версий прошивок реализован очень просто. Достаточно зайти в раздел System->Maintenance и нажать кнопку Detect. Если новая прошивка на сервере присутствует, то название кнопки сменится на Cloud Upgrade и после нажатия на неё процесс обновления начнётся.

Недавно прошивал пару камер. Версия прошивки из статьи: GIPC-B6103.16.40.220623, а на сервере есть новее GIPC-B6103.16.41.230404.

Прошивка камеры Ростелеком IPC2322EBR5-P-C
Оцените статью
( 1 оценка, среднее 5 из 5 )
МихаТроник
Добавить комментарий