Страница 1 из 1

Восстановление прошивки Spymax RA-0616 LC

Добавлено: 16 июн 2016, 22:17
droommer
Доброго времени суток.

Столкнулся я с небольшой проблемой, поступил от покупателя в ремонт регистратор Spymax RA-0616LC, с заявленным дефектом: "Не загружается" . При первичном осмотре дефект подтвердился: при старте доходит до логотипа, затем черный экран на мониторе, перезагрузки нет. Подключился через преобразователь USB-RS232(лог во вложении). Писал ребятам(также звонил) в офсаппорт, с просьбой выслать прошивку, дабы восстановить, на что получил ответ, что у производителя нет прошивки на данную модель(TFTP), и они помочь не могут, что по правде говоря несколько опечалило(другие бренды отправляли, хотя возможно действительно ввиду возраста девайса у них нет файлов). Гарантийный срок у поставщика перед нами уже истек(залежался товар на складе), а у нас перед покупателем нет... Дампа прошивки с рабочего аппарата тоже нет(да и если бы был, учитывая в каком корпусе микросхема, я не смог бы ее зашить, имею mini pro с комплектным набором адаптеров) Опыт по такому программному восстановлению у меня весьма мал, уповаю на совет компетентных коллег.

P.S.: Сброс конфигурации пробовал, после команды "bootd" регистратор прописывает пару строк и далее стопорится(лог ниже)

Прошу извинить за столь объемный пост, и заранее благодарен за ответы.


После команды "bootd"

Код: Выделить всё

IVSS# bootd
### CRAMFS loading 'boot/uImage' to 0xe1000000
### CRAMFS load complete: 1961128 bytes loaded to 0xe1000000
## Booting kernel from Legacy Image at e1000000 ...
   Image Name:   Linux-2.6.24-rt1-hi3520v100
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1961064 Bytes =  1.9 MB
   Load Address: e2800000
   Entry Point:  e2800000
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux........................................................................................................................... done, booting the kernel.

и стопор...

Команда cat: /usr/data/hardware.lua

Код: Выделить всё

BusyBox v1.1.2 (2010.12.14-09:22+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

Welcome to HiLinux.
/ $ cat /usr/data/hardware.lua
cat: /usr/data/hardware.lua: No such file or directory


appauto и dh_keyboard поправил на 1 (ноли появились после попытки сброса конфигурации по мануалу)

Код: Выделить всё

IVSS# printenv
bootargs=mem=72M console=ttyAMA0,115200 root=1f01 rootfstype=cramfs mtdparts=physmap-flash.0:640K(boot),3584K(rootfs),3328K(slave),5632K(user),2M(web),128K(custom),256K(logo),128K(tool),640K(config) pcimod=host pciclksel=1
bootcmd=fsload; bootm 0xe1000000
bootdelay=3
baudrate=115200
ipaddr=192.168.0.65
serverip=192.168.0.68
merge_mac_to_bootargs=no
reserved=0
jpeg_addr=0xe0000000
jpeg_size=0x80000
vobuf=0xc0000000
slave_autostart=1
xload=1
da=tftp 0xe1000000 u-boot.bin.img;protect off all; flwrite
dr=tftp 0xe1000000 romfs-x.cramfs.img; flwrite
dc=tftp 0xe1000000 custom-x.cramfs.img; flwrite
du=tftp 0xe1000000 user-x.cramfs.img; flwrite
dw=tftp 0xe1000000 web-x.cramfs.img; flwrite
dl=tftp 0xe1000000 logo-x.cramfs.img; flwrite
ds=tftp 0xe1000000 slave-x.cramfs.img; flwrite
up=tftp 0xe1000000 update.img; flwrite
tk=tftp 0xe1000000 uImage; bootm 0xe1000000
gatewayip=10.12.1.1
netmask=255.255.0.0
bootfile=boot/uImage
ID=701612250336
slave_bootargs=mem=15M console=ttyAMA0,115200 device=0 dsp_number=0
mdio_intf=rgmii
appauto=1
dh_keyboard=1
stdin=serial
stdout=serial
stderr=serial
verify=n
ethaddr=00:00:00:00:00:00
ver=U-Boot 2008.10 (Jan  7 2012 - 13:12:30)

Environment size: 1186/131068 bytes
IVSS#


...и все таки он перезагружается, но после минут пяти работы.

0616LC Firmware(not TFTP).rar
(12.71 МБ) 352 скачивания
Прошивка для обновления через меню регистратора

Re: Восстановление прошивки Spymax RA-0616 LC

Добавлено: 16 июн 2016, 23:42
iTuneDVR
Спаймакс просто сдох, потому нет должного саппорта!!!

Раз доходит в логе до

Код: Выделить всё

BusyBox v1.1.2 (2010.12.14-09:22+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.
Welcome to HiLinux.
/ $

то здравствуй линукс и можно побаловать немного консоль командами.

Код: Выделить всё

cat /usr/data/hardware.lua


Судя по выводу printenv,
appauto=0
И значит 8 страница инструкции по восстановлению!!!
Значение изменить на 1 для старта!!

А дальше будет видно! ;)

Re: Восстановление прошивки Spymax RA-0616 LC

Добавлено: 17 июн 2016, 15:20
iTuneDVR
droommer писал(а):и стопор...

Это потому, то dh_keyboard=1;

droommer писал(а):appauto и dh_keyboard поправил на 1 (ноли появились после попытки сброса конфигурации по мануалу)

нужно возвращать значения.

droommer писал(а):/ $ cat /usr/data/hardware.lua
cat: /usr/data/hardware.lua: No such file or directory


дать команды

Код: Выделить всё

cd \
ls
ls usr -la

droommer писал(а):...и все таки он перезагружается, но после минут пяти работы.

При включенном логе будет видно на чем вывалилось в консоль.

Re: Восстановление прошивки Spymax RA-0616 LC

Добавлено: 17 июн 2016, 16:03
iTuneDVR
Аппарат действительно не Dahua, а VIDEOPARK и прошивка под него специфическая.
Сейчас пересмотрел архивы и нашел для 0608LC, но образ по модулям из флеша.
Да там есть отличия, по загрузчику по крайней мере.

Код: Выделить всё

bootargs=mem=64M   
console=ttyAMA0,115200 root=1f01 rootfstype=cramfs mtdparts=physmap-flash.0:512K(boot),4M(rootfs),6M(user),2M(web),128K(custom),256K(logo),128K(tool),640K(config),1408K(backup)
...

Потому конечно надо искать именно под него.
Ранние модели у Spymax были от Dahua, но потом пошло с VIDEOPARK.
Картинки внесли ясность!

Нашелся и файл прошивки для 0608LC, но он не подойдет!

Если есть донор, то можно с него образ снять без выпайки и восстановить!!!

Re: Восстановление прошивки Spymax RA-0616 LC

Добавлено: 20 июн 2016, 15:11
droommer
Доброго времени, выслали мне прошивку на этот регистратор(правда не TFTP, расширение .BIN, во вложении первого поста)

Re: Восстановление прошивки Spymax RA-0616 LC

Добавлено: 20 июн 2016, 15:16
iTuneDVR
После очередного попадания в консоль запусти

Код: Выделить всё

dvrhelper /var/Kylin

или

Код: Выделить всё

/var/Kylin

и лог вывода сюда.

Возможно будет яснее, раз нет вывода загрузки

Re: Восстановление прошивки Spymax RA-0616 LC

Добавлено: 20 июн 2016, 15:18
iTuneDVR
droommer писал(а):Доброго времени, выслали мне прошивку на этот регистратор(правда не TFTP, расширение .BIN, во вложении первого поста)

Это как раз то, что нужно.
Распакую файл WINRAR и не смотри на то, что ругнулось.
Распакованные файлы используй как по инструкции!

Модель внутри для
"DVR80XX"

Re: Восстановление прошивки Spymax RA-0616 LC

Добавлено: 20 июн 2016, 16:41
droommer
Команда dvrhelper /var/Kylin

Код: Выделить всё

Welcome to HiLinux.
/ $ dvrhelper
LIBDVR : Unknow product type
Utils : dvrhelper
Utils : Usage:
example : dvrhelper             Challenge
/ $ /var/Kylin
Name: fdisk, bulid date: Feb 26 2010 14:53:59, version: 1.00.0--nils
main(1, /var/Kylin)
***********************************************
** Application Version 1.15 **
** Desc:-?-WTN--LBE--TRUNK **
** time: Aug 21 2012 17:40:57 **
***********************************************


LIBDVR : Unknow product type
Uart_Device_frontboard = 3
LIBDVR : 2016-6-20, today is weekday 1 time:15:15:29
LIBDVR : DvrShowInformation
LIBDVR : DvrGetHwidInformation(PRODUCT_TYPE) = 0
**********************************************************************
|                          SYSTEM INFORMATION
|         libsys version:       1.06.6 - Jul 10 2012 10:14:32--
|                 DVR ID:       0x0000000000000000
|           product type:       Unknow
|          video channel:       0
|          audio channel:       0
|               alarm in:       0
|              alarm out:       0
|             video chip:       No chip
|         audio surpport:       No
|         disk interface:       SATA
|          CDRW surpport:       No
|               disk num:       8
|               net card:       0
|                dsp num:       1
|          playback num:        16
**********************************************************************
CChallenger::CChallenger()>>>>>>>>>

***************************************************************************
*  Lua Engine Version: Lua 5.0.2
*  Supported Language: English,Russian
* SupportedVideoStand: PAL,NTSC
***************************************************************************

select thread 0 pid 1066
#######g_ToolSet########
#DisplayTypeBuf RA-0616LC

#SupportedLanguage 0
#DefaultLanguage 0
#AudioInputNumber 0
#AlarmInputNumber 0
#AlarmOutputNumber 0
#PlaybackLimitNumber 16
#VideoStand 0
#D1Channels 2
#VgaResolution 8
#VgaHue 50
#VgaBrightness 50
#VgaContrast 50
#VgaSaturation 50
#TvTop 0
#TvBottom 0
#TvRight 0
#TvHue 50
#TvBrightness 68
#TvContrast 45
#TvSaturation 50
#hdmi 0
#reserved 0
#######g_ToolSet########
>>>>>>>>>>>>>has audio 0 , MatrixBoard has 0 loop 0  ForNRT 0  HasPtzBoard 1 HasWlanBoard 0
g_ProductType=-1 g_ProductTypeStr=
--------g_CapsEx.ForATM = 0----------
readConfig file1 failed
CConfigManager::initialize() first config file parsing failed.
readConfig file2 failed
CConfigManager::initialize() second config file parsing failed too.
CConfigManager::setupConfig, recall config : 'Location'
CConfigManager::setupConfig, recall config : 'General'
CConfigManager::setupConfig, recall config : 'GUISet'
CConfigManager::setupConfig, recall config : 'VideoColor'
CConfigManager::setupConfig, recall config : 'RECWorksheet'
CConfigManager::setupConfig, recall config : 'ALMWorksheet'
CConfigManager::setupConfig, recall config : 'MTDWorksheet'
CConfigManager::setupConfig, recall config : 'LOSSWorksheet'
CConfigManager::setupConfig, recall config : 'BLINDWorksheet'
CConfigManager::setupConfig, recall config : 'Record'
CConfigManager::setupConfig, recall config : 'PTZ'
CConfigManager::setupConfig, recall config : 'PTZAlarm'
CConfigManager::setupConfig, recall config : 'Alarm'
CConfigManager::setupConfig, recall config : 'NetAlarm'
CConfigManager::setupConfig, recall config : 'Motion'
CConfigManager::setupConfig, recall config : 'Loss'
CConfigManager::setupConfig, recall config : 'Blind'
CConfigManager::setupConfig, recall config : 'Comm'
CConfigManager::setupConfig, recall config : 'Play'
CConfigManager::setupConfig, recall config : 'MonitorTour'
CConfigManager::setupConfig, recall config : 'TVAdjust'
CConfigManager::setupConfig, recall config : 'ATM'
CConfigManager::setupConfig, recall config : 'ChannelTitle'
CLocales::CLocales()>>>>>>>>>
CConfigManager::setupConfig, recall config : 'VideoOSD'
CConfigManager::setupConfig, recall config : 'StorageNotExist'
CConfigManager::setupConfig, recall config : 'StorageFailure'
CConfigManager::setupConfig, recall config : 'StorageLowSpace'
CConfigManager::setupConfig, recall config : 'NetAbort'
CConfigManager::setupConfig, recall config : 'NetArp'
CConfigManager::setupConfig, recall config : 'Encode'
CConfigManager::setupConfig, recall config : 'DHCP'
CConfigManager::setupConfig, recall config : 'VideoWidget'
CConfigManager::setupConfig, recall config : 'VideoMatrix'
CConfigManager::setupConfig, recall config : 'AutoMaintain'
CConfigManager::setupConfig, recall config : 'NetCommon'
CConfigManager::setupConfig, recall config : 'NetFTPServer'
CConfigManager::setupConfig, recall config : 'NetFTPApplication'
CConfigManager::setupConfig, recall config : 'NetIPFilter'
CConfigManager::setupConfig, recall config : 'NetMultiCast'
CConfigManager::setupConfig, recall config : 'NetPPPOE'
CConfigManager::setupConfig, recall config : 'NetDDNS'
CConfigManager::setupConfig, recall config : 'NetAlarmServer'
CConfigManager::setupConfig, recall config : 'NetNTP'
CConfigManager::setupConfig, recall config : 'NetEmail'
CConfigManager::setupConfig, recall config : 'NetSniffer'
CConfigManager::setupConfig, recall config : 'RECState'
CConfigManager::setupConfig, recall config : 'AudioInFormat'
CConfigManager::setupConfig, recall config : 'VGAAjust'
CConfigManager::setupConfig, recall config : 'TVColor'
CConfigManager::setupConfig, recall config : 'PresetClu'
CConfigManager::setupConfig, recall config : 'PTZTourClus'
CNetApp::CNetApp()>>>>>>>>>
open file fail: /mnt/mtd/Config/dial-ip
CDevFrontboard::CDevFrontboard()>>>>
LIBDVR : Frontboard use ttyAMA3
Index= 3, Uart_Device_reverse = 2
CThreadManager::CThreadManager()>>>>>>>>>
ProductType 99 gOEMType 0, gExOEMType 0, gOEMPatch 1, videoInChannel 0, playbackChannel 16, audioInChannel 0, gFrontBoardType 0, gHardVision 0, videoChipType = 0
hi35xx_GetVoIntfSynRes 242:Read Vo Interface Sync Config File Failed.
hi35xx_FBCreate 402:u32MaxWidth 1024, u32MinWidth 8, u32MaxHeight 768, u32MinHeight 8
GraDev[HD].PicWidth 1024, GraDev[HD].PicHeight 768
ProcShowPicOnGLayer Task PID 1068
CapCMDProcess Task PID 1069
GetVencStreamProc Task PID 1070
Capture_TimeOSDUpdateProc  PID 1071
MdDataThread Task PID 1072
----------------------------------------------------------------
|MultiMedia Modules 1.0.0.3 Compile at Apr 13 2012 10:08:48
----------------------------------------------------------------
--------iVideoFormat = 0----------
CTimerManager::CTimerManager()>>>>>>>>>
CDeviceManager::CDeviceManager()>>>>>>>>>
CDeviceManager::Start()>>>>>>>>>
LIBDVR : Flash sector size : 0x20000
envoffset = 80000
envoffset = 80000
CPacketManager::CPacketManager()>>>>>>>>>
Packet usage : 0K / 16384K, 0%

----------------------[06-20 15:15:32]
==>CPacketManager: allocate buffer:0x00BA0FE4 size:167936
uart creat     *****************
Index= 1, Uart_Device_reverse = 2
>>>>m_Semaphore.Pend!!
================================================================
libdec module version Ver: V2.00.0 Compile at Mar 22 2012 14:07:42
================================================================
DecTask Create :TaskPID 1079
AVSPrase Task Create:TaskPID 1080
CGeneral::CGeneral()>>>>>>>>>
CGeneral::Start()>>>>>>>>>
==========================
mem = 0x40114000 0x40614000 0x00000000
pitch = 2048
width = 1024
height = 768
foramt = 0
==========================
CDevGraphics::SetResolution;--------size.w=1024,size.h=768
CGUI::Start()>>>>>>>>>
CGUI::Start()>>>>>>>>>End!!!
CLog::CLog()>>>>>>>>>
tracepoint: ../../System/Log.cpp,519
CPlay::Start()>>>>>>>>>
CDisplay::CDisplay()>>>>>>>>>
CDisplay::Start()>>>>>>>>>
CDisplay::Start()>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>End!!!!!
[Func]:HI_MPI_VI_SetChnMinorAttr [Line]:385 [Info]:ViDevId(-1) is invalid
set vi(-1,2) attr fail,a0108001
CDisplay::Start()>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>End!!!!!
>>>>CAudioManager Start!!
AudioSwitch: dwType 0, dwChannel -1


CPtz::CPtz()>>>>>>>>>
CPtz::Init()>>>>>>>>>
The following PTZ protocols have been loaded:
        AD1641M,ADMATRIX,BANKNOTE,DH-CC440,DH-MATRIX,DH-SD1,DH-SD2,EPTZ,HAIYU,HAOFAR,HY,LILIN,PANASONIC,PE5051K,PELCO-9750,PELCOASCII,PELCOD,PELCOD-S,PELCOD-S1,PELCOD1,PELCOP,PELCOP-HK,PELCOP1,PHILIPS,PIH-717,RM110A,SAE,SAMSUNG,SANLI,SANTACHI,SHARP,SONY,WV-CS850I,WV-CS850II,WV-CS950,YAAN
CAlarm::CAlarm()>>>>>>>>>
function: CDevVideo::SetControl() only supported IPC, now
CVersion::CVersion()>>>>>>>>>
envoffset = 80000
CDriverManager::CDriverManager()>>>>>>>>>
CDriverManager::Start()>>>>>>>>>
LIBDVR : >>>>>>>ide_init:
major minor  #blocks  name



  31     0        640 mtdblock0

  31     1       3584 mtdblock1

  31     2       3328 mtdblock2

  31     3       5632 mtdblock3

  31     4       2048 mtdblock4

  31     5        128 mtdblock5

  31     6        256 mtdblock6

  31     7        128 mtdblock7

  31     8        640 mtdblock8

LIBDVR : Harddisk init failed
LIBDVR : Find disk number : 0
LIBDVR : >>>>>>>ide_getinfo64:
LIBDVR : >>>>>>>ide_getinfo64:
ZLFS: dh_file_sys_init() libDHFS.a $Rev: 6463 $, Build in:Aug 19 2011 15:10:42
ZLFS: disk_num = 0
ZLFS: none type 0 driver!
ZLFS: none type 1 driver!
ZLFS: none type 2 driver!
ZLFS: none type 3 driver!
ZLFS: none type 4 driver!
ZLFS: dh_file_sys_init() end============================

driver basic parameter:
 ----------------------------------------------------------------------------------------------------
| dev.part |type|total_clus | temp_off | index_off | dir_off | data_off | rev_clus | sec/clus |status|
|----------|----|-----------|----------|-----------|---------|----------|----------|----------|------|
 ------------------------------------------------------------------------------------------------
driver operation parameter:
 -------------------------------------------------------------------------------------------------------------------------
| dev.part | F| S|  curr  |        start1         |         end1          |        start2         |        end2           |
|          |  |  |        |MM-DD HH:MM:SS|  clus  |MM-DD HH:MM:SS|  clus  |MM-DD HH:MM:SS|  clus  |MM-DD HH:MM:SS|  clus  |
|----------|--|--|--------|--------------|--------|--------------|--------|--------------|--------|--------------|--------|
 --------------------------------------------------------------------------------------------------------------------------
driver time chart:
 --------------------------------------------------------------------------
|dev.part | period of time                                                 |
|---------|----------------------------------------------------------------|
 ------------------------------------------------------------------------
driver time sections:
 ------------------------------------------------------------------------
|dev part |start_clus| end_clus |    start_time     |   end_time        |
 ------------------------------------------------------------------------

CDaylight::Start()>>>>>>>>>>>>>>>>>>>>
CRecordManager::Start()>>>>>>>>>
>>>>Enter CPageDesktop::CPageDesktop...
Load string '--' failed!!!
Floating point exception
/ $

Re: Восстановление прошивки Spymax RA-0616 LC

Добавлено: 20 июн 2016, 18:24
iTuneDVR
droommer писал(а):Команда dvrhelper /var/Kylin

Это одна цельная команда с параметром. Ну и так пока сойдет.

droommer писал(а):[/code]
...
>>>>Enter CPageDesktop::CPageDesktop...
Load string '--' failed!!!
Floating point exception
/ $[/code]

Возможно что побит какой-то ресурс и дальше для программы это внештат и аварийный выход.
Попытки восстановить по частям были в u-boot?

Пока регистратор не перезагрузился можно дать команды

и внимательно посмотреть к каким точкам примонтированы блоки mtdblock? и что там такое.
Но, я думаю восстановление частями должно просто закрыть вопрос!