Никак не могу сохранить настройки по tftp

Вопросы по восстановлению, настройке, апгрейду, прошивкам и т.п.
vikarz
Новичок
Сообщения: 13
Зарегистрирован: 10 окт 2014, 17:36

Никак не могу сохранить настройки по tftp

Сообщение vikarz » 07 янв 2017, 14:54

Уважаемые коллеги и друзья, помогите оживить камерку на чипсете Hi3518E. Имеется камера-донор, пытаюсь по tftp слить рабочую прошивку и залить в нерабочую.
На нерабочей подключился по UART, вот логи UBoot:

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

U-Boot 2010.06 (Mar 18 2014 - 03:42:32)

Check spi flash controller v350... Found
Spi(cs1) ID: 0xC8 0x40 0x18 0xC8 0x40 0x18
Spi(cs1): Block:64KB Chip:16MB Name:"GD25Q128"
In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
16384 KiB hi_sfc at 0:0 is now current device

## Booting kernel from Legacy Image at 82000000 ...
   Image Name:   Linux-3.0.8
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2598364 Bytes = 2.5 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
Linux version 3.0.8 (root@localhost.localdomain) (gcc version 4.4.1 (Hisilicon_v100(gcc4.4-290+uclibc_0.9.32.1+eabi+linuxpthread)) ) #1 Tue Mar 18 03:54:42 HKT 2014
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: hi3518
Memory policy: ECC disabled, Data cache writeback
AXI bus clock 200000000.
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 10922
Kernel command line: mem=43M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:512K(boot),2560K(kernel),13M(rootfs)
PID hash table entries: 256 (order: -2, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 43MB = 43MB total
Memory: 38708k/38708k available, 5324k reserved, 0K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    DMA     : 0xffc00000 - 0xffe00000   (   2 MB)
    vmalloc : 0xc3000000 - 0xfe000000   ( 944 MB)
    lowmem  : 0xc0000000 - 0xc2b00000   (  43 MB)
    modules : 0xbf000000 - 0xc0000000   (  16 MB)
      .init : 0xc0008000 - 0xc0022000   ( 104 kB)
      .text : 0xc0022000 - 0xc0491000   (4540 kB)
      .data : 0xc0492000 - 0xc04b0e00   ( 124 kB)
       .bss : 0xc04b0e24 - 0xc04c4170   (  77 kB)
SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
NR_IRQS:32 nr_irqs:32 32
sched_clock: 32 bits at 100MHz, resolution 10ns, wraps every 42949ms
Console: colour dummy device 80x30
Calibrating delay loop... 218.72 BogoMIPS (lpj=1093632)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
Serial: AMBA PL011 UART driver
uart:0: ttyAMA0 at MMIO 0x20080000 (irq = 5) is a PL011 rev2
console [ttyAMA0] enabled
uart:1: ttyAMA1 at MMIO 0x20090000 (irq = 5) is a PL011 rev2
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
cfg80211: Calling CRDA to update world regulatory domain
Switching to clocksource timer1
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
fuse init (API version 7.16)
msgmni has been set to 75
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
io scheduler noop registered
io scheduler deadline registered (default)
io scheduler cfq registered
Spi id table Version 1.22
Spi(cs1) ID: 0xC8 0x40 0x18 0xC8 0x40 0x18
SPI FLASH start_up_mode is 3 Bytes
Spi(cs1):
Block:64KB
Chip:16MB
Name:"GD25Q128"
spi size: 16MB
chip num: 1
3 cmdlinepart partitions found on MTD device hi_sfc
Creating 3 MTD partitions on "hi_sfc":
0x000000000000-0x000000080000 : "boot"
0x000000080000-0x000000300000 : "kernel"
0x000000300000-0x000001000000 : "rootfs"
Fixed MDIO Bus: probed
himii: probed
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
hiusb-ehci hiusb-ehci.0: HIUSB EHCI
hiusb-ehci hiusb-ehci.0: new USB bus registered, assigned bus number 1
hiusb-ehci hiusb-ehci.0: irq 15, io mem 0x100b0000
hiusb-ehci hiusb-ehci.0: USB 0.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
hiusb-ohci hiusb-ohci.0: HIUSB OHCI
hiusb-ohci hiusb-ohci.0: new USB bus registered, assigned bus number 2
hiusb-ohci hiusb-ohci.0: irq 16, io mem 0x100a0000
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
TCP cubic registered
Initializing XFRM netlink socket
NET: Registered protocol family 10
NET: Registered protocol family 17
NET: Registered protocol family 15
lib80211: common routines for IEEE802.11 drivers
Registering the dns_resolver key type
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
▒VFS: Mounted root (jffs2 filesystem) on device 31:2.
Freeing init memory: 104K

            _ _ _ _ _ _ _ _ _ _ _ _
            \  _  _   _  _ _ ___
            / /__/ \ |_/
           / __   /  -  _ ___
          / /  / /  / /
  _ _ _ _/ /  /  \_/  \_ ______
___________\___\__________________

[RCS]: /etc/init.d/S00devs
[RCS]: /etc/init.d/S01udev
udevd (408): /proc/408/oom_adj is deprecated, please use /proc/408/oom_score_adj instead.
[RCS]: /etc/init.d/S80network
ADDRCONF(NETDEV_UP): eth0: link is not ready
Archive:  /mnt/mtd/ipc/ipc_server
  inflating: ipc_server
PHY: himii:00 - Link is Up - 100/Full
ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
eth0: IPv6 duplicate address fe80::200:23ff:fe34:4566 detected!
sinit driver init successful!
extalarm driver init successful  !
Hisilicon Watchdog Timer: 0.01 initialized. default_margin=60 sec (nowayout= 0, nodeamon= 0)
encript driver init successful!
relay driver init successful!
reset driver init successful!
rled driver init successful!
ircut driver init successful!
saradc driver init successful!
rs485 driver init successful!
audioin driver init successful!

(none) login: light driver init successful  !
ifconfig: SIOCGIFFLAGS: No such device
ADDRCONF(NETDEV_UP): eth0: link is not ready
PHY: himii:00 - Link is Up - 100/Full
ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
ipc_server   netflag.dat  sd           wifi.mac     wifi.type
ipc_server   netflag.dat  sd           wifi.mac     wifi.type
1
2

 RTC time 1970-01-01 00:00:00
Set system time as date -s 1970.01.01-00:00:00
date: can't set date: Invalid argument
Thu Jan  1 00:00:00 STD 1970
killall: arping: no process killed
Hisilicon Media Memory Zone Manager
hi3518_base: module license 'Proprietary' taints kernel.
Disabling lock debugging due to kernel taint
Hisilicon UMAP device driver interface: v3.00
pa:82b00000, va:c3200000
load sys.ko for Hi3518...OK!
load viu.ko for Hi3518...OK!
ISP Mod init!
load vpss.ko ....OK!
load venc.ko for Hi3518...OK!
load group.ko for Hi3518...OK!
load chnl.ko for Hi3518...OK!
load h264e.ko for Hi3518...OK!
load jpege.ko for Hi3518...OK!
load rc.ko for Hi3518...OK!
load region.ko ....OK!
load vda.ko ....OK!
hi_i2c init is ok!
Kernel: ssp initial ok!
acodec inited!
insert audio
==== Your input Sensor type is ov9712 ====
killall: gerddns: no process killed
killall: upnp_map: no process killed
killall: upnp_map: no process killed
killall: ddns_update: no process killed
workthread: log init succeed.
libs_initnettype(Lan): succeed.
danaDog: start: 1970-01-01 03:00:21
ID:FI668I95AJ48FS3U56
Error at write log file
onvif: TZ: STD-3:0:0

onvif: TZInterval: 10800
dana: start: 1970-01-01 03:00:22
dana: TZ: STD-3:0:0

dana: TZInterval: 10800
onvif: login dev failed! handle=0
dana: SN=FI668I95AJ48FS3U56, svraddr=svrshp.thingsnic.com usr=admin pwd=admin storage user=0 pwd=0
 dana: login dev failed! handle[0]=0
onvif: login dev failed! handle=0
dana: login dev failed! handle[0]=0
onvif: login dev failed! handle=0
dana: login dev failed! handle[0]=0
onvif: login dev failed! handle=0
dana: login dev failed! handle[0]=0
onvif: login dev failed! handle=0
dana: login dev failed! handle[0]=0
onvif: login dev failed! handle=0
dana: login dev failed! handle[0]=0
onvif: login dev failed! handle=0
dana: login dev failed! handle[0]=0
onvif: login dev failed! handle=0
dana: login dev failed! handle[0]=0
onvif: login dev failed! handle=0
dana: login dev failed! handle[0]=0
onvif: login dev failed! handle=0
dana: login dev failed! handle[0]=0
onvif: login dev failed! handle=0
dana: login dev failed! handle[0]=0
onvif: login dev failed! handle=0
dana: login dev failed! handle[0]=0
onvif: login dev failed! handle=0
dana: login dev failed! handle[0]=0
onvif: login dev failed! handle=0
dana: login dev failed! handle[0]=0
onvif: login dev failed! handle=0
dana: login dev failed! handle[0]=0
onvif: login dev failed! handle=0
dana: login dev failed! handle[0]=0
onvif: login dev failed! handle=0
dana: login dev failed! handle[0]=0
onvif: login dev failed! handle=0
dana: login dev failed! handle[0]=0
onvif: login dev failed! handle=0
dana: login dev failed! handle[0]=0
dana: login dev failed! handle[0]=0
onvif: login dev failed! handle=0
dana: login dev failed! handle[0]=0
onvif: login dev failed! handle=0
dana: login dev failed! handle[0]=0
onvif: login dev failed! handle=0
dana: login dev failed! handle[0]=0
onvif: login dev failed! handle=0
dana: login dev failed! handle[0]=0
onvif: login dev failed! handle=0
dana: login dev failed! handle[0]=0
onvif: login dev failed! handle=0
dana: login dev failed! handle[0]=0
onvif: login dev failed! handle=0
dana: login dev failed! handle[0]=0
onvif: login dev failed! handle=0
Ехо команды help:

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

U-Boot 2010.06 (Mar 18 2014 - 03:42:32)

Check spi flash controller v350... Found
Spi(cs1) ID: 0xC8 0x40 0x18 0xC8 0x40 0x18
Spi(cs1): Block:64KB Chip:16MB Name:"GD25Q128"
In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
hisilicon # help
Unknown command 'руhelp' - try 'help'
hisilicon # ?
?       - alias for 'help'
base    - print or set address offset
bootm   - boot application image from memory
bootp   - boot image via network using BOOTP/TFTP protocol
cmp     - memory compare
cp      - memory copy
crc32   - checksum calculation
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
md      - memory display
mii     - MII utility commands
mm      - memory modify (auto-incrementing address)
mtest   - simple RAM read/write test
mw      - memory write (fill)
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
usb     - USB sub-system
usbboot - boot from USB device
version - print monitor version
Эхо команды printenv:

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

hisilicon # printenv
bootdelay=1
baudrate=115200
ethaddr=00:00:23:34:45:66
netmask=255.255.255.0
bootfile="uImage"
phyaddru=0
phyaddrd=1
mdio_intf=rmii
ipaddr=192.168.8.88
serverip=192.168.8.8
gatewayip=192.168.8.1
bootcmd=sf probe 0;sf read 0x82000000 0x80000 0x280000;bootm 0x82000000
bootargs=mem=43M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:512K(boot),2560K(kernel),13M(rootfs)
stdin=serial
stdout=serial
stderr=serial
verify=n
ver=U-Boot 2010.06 (Mar 18 2014 - 03:42:32)

Environment size: 490/262140 bytes
hisilicon #
Пытаюсь выгрузить на поднятый tftp сервер как с рабочей, так и не рабочей

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

sf probe 0
sf read 0x82000000 0x000000080000 0xf80000
tftp 0x82000000 fw.img 0xf80000
Вроде соединение есть, но попытка записи всегда неудачна.

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

Connection received from 192.168.8.88 on port 2180 [07/01 14:53:06.632]
Write request for file <fw.img>. Mode octet [07/01 14:53:06.633]
OACK: <timeout=1,> [07/01 14:53:06.636]
Using local port 63300 [07/01 14:53:06.636]
<fw.img>: rcvd 0 blk, 0 bytes in 1 s. 0 blk resent [07/01 14:53:07.637]
Подскажите, куда копать?

sergvl
Специалист
Сообщения: 1383
Зарегистрирован: 18 янв 2016, 14:09
Откуда: 符拉迪沃斯托克
Контактная информация:

Re: Никак не могу сохранить настройки по tftp

Сообщение sergvl » 07 янв 2017, 17:17

У тебя чип 16МВ то есть блок длинной 0хffffff а у тебя 0хf80000 (DEC 16 252 928)
Команда sf read (куда считывать) (смещение) (длинна) т. е в твоём случае
sf read 0x82000000 0x0 0xffffff
команда sf
sf probe [[bus:]cs] [hz] [mode] - init flash device on given SPI bus and chip select
sf read addr offset len - read 'len' bytes starting at 'offset' to memory at 'addr'
sf write addr offset len - write 'len' bytes from memory at 'addr' to flash at 'offset'
sf erase offset [+]len - erase 'len' bytes from 'offset'; '+len' round up 'len' to block size
sf update addr offset len - erase and write 'len'bytes from memory at 'addr' to flash at 'offset

sergvl
Специалист
Сообщения: 1383
Зарегистрирован: 18 янв 2016, 14:09
Откуда: 符拉迪沃斯托克
Контактная информация:

Re: Никак не могу сохранить настройки по tftp

Сообщение sergvl » 07 янв 2017, 17:29

Сервером хорошо работает программа tftpd32 но если стоит антивирус то отключи фаервол а на компьютере установи адрес 192.168.8.8.

vikarz
Новичок
Сообщения: 13
Зарегистрирован: 10 окт 2014, 17:36

Re: Никак не могу сохранить настройки по tftp

Сообщение vikarz » 07 янв 2017, 18:06

отключил файрволл, все равно, соединение устанавливается, но прерывается - лог tftpd64

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

Connection received from 192.168.8.88 on port 3938 [07/01 18:01:49.981]
Write request for file <fw.img>. Mode octet [07/01 18:01:49.982]
OACK: <timeout=1,> [07/01 18:01:49.983]
Using local port 57699 [07/01 18:01:49.983]
TIMEOUT while waiting for Data block 20, file <fw.img> [07/01 18:01:56.038]
Connection received from 192.168.8.88 on port 2727 [07/01 18:02:30.394]
Write request for file <fw.img>. Mode octet [07/01 18:02:30.394]
OACK: <timeout=1,> [07/01 18:02:30.395]
Using local port 57700 [07/01 18:02:30.396]
TIMEOUT while waiting for Data block 19, file <fw.img> [07/01 18:02:36.448]

vikarz
Новичок
Сообщения: 13
Зарегистрирован: 10 окт 2014, 17:36

Re: Никак не могу сохранить настройки по tftp

Сообщение vikarz » 07 янв 2017, 18:17

sergvl писал(а):У тебя чип 16МВ то есть блок длинной 0хffffff а у тебя 0хf80000 (DEC 16 252 928)
Команда sf read (куда считывать) (смещение) (длинна) т. е в твоём случае
sf read 0x82000000 0x0 0xffffff
команда sf
sf probe [[bus:]cs] [hz] [mode] - init flash device on given SPI bus and chip select
sf read addr offset len - read 'len' bytes starting at 'offset' to memory at 'addr'
sf write addr offset len - write 'len' bytes from memory at 'addr' to flash at 'offset'
sf erase offset [+]len - erase 'len' bytes from 'offset'; '+len' round up 'len' to block size
sf update addr offset len - erase and write 'len'bytes from memory at 'addr' to flash at 'offset
без загрузчика 512 кб блок 16252928 - ‭F80000‬
sf read 0x82000000 0x000000080000 0xf80000
или не так? первый раз сталкиваюсь, прошу поправить, ежели не прав.

vikarz
Новичок
Сообщения: 13
Зарегистрирован: 10 окт 2014, 17:36

Re: Никак не могу сохранить настройки по tftp

Сообщение vikarz » 10 янв 2017, 10:35

В общем, никак по tftp не получается. Файл с другого компа заливается свободно, т.е. сервер рабочий, айпи прописаны. Думаю, камеры не дают сохранить настройки. Загрузка начинается, судя по логу, но скорость падает и завершается с ошибкой.

sergvl
Специалист
Сообщения: 1383
Зарегистрирован: 18 янв 2016, 14:09
Откуда: 符拉迪沃斯托克
Контактная информация:

Re: Никак не могу сохранить настройки по tftp

Сообщение sergvl » 10 янв 2017, 12:33

А у тебя стоит FTP или TFTP? У меня не получалось работать с Cisco TFTP Server а с tftpd32 всё работает.

vikarz
Новичок
Сообщения: 13
Зарегистрирован: 10 окт 2014, 17:36

Re: Никак не могу сохранить настройки по tftp

Сообщение vikarz » 10 янв 2017, 13:23

sergvl писал(а):А у тебя стоит FTP или TFTP? У меня не получалось работать с Cisco TFTP Server а с tftpd32 всё работает.
Ставил Tftpd32 и 64 на вин 10, на виртуальную машину 7-32, на комп в сети с ХР, соединял как через роутер, так и напрямую патчкордом. В варианте с роутером закачка стартовала, но неизменно завершалась с ошибкой. В варианте с патчкордом соединения не было, возможно нужен обратный обжим патчкорда. Попробую ка я обжать обратный... или может другую прогу tftp сервера попробовать?

sergvl
Специалист
Сообщения: 1383
Зарегистрирован: 18 янв 2016, 14:09
Откуда: 符拉迪沃斯托克
Контактная информация:

Re: Никак не могу сохранить настройки по tftp

Сообщение sergvl » 10 янв 2017, 14:28

На 10 я не пробовал, у меня для такого дела комп с ХР, прямым патчкордом сетевая карта регистратора (камеры) включается только после команды tftp, там обычно чип стоит с автоопределением. Такая беда у меня была с регистраторами с меню под win8, там 20% сливалось а потом затык. Решил проблему снятием дампа кусками (boot, kernel, config) kernel пришлось разбивать на 3 части.
Тем более у тебя есть разбивка по адресам
Creating 3 MTD partitions on "hi_sfc":
0x000000000000-0x000000080000 : "boot"
0x000000080000-0x000000300000 : "kernel"
0x000000300000-0x000001000000 : "rootfs"

vikarz
Новичок
Сообщения: 13
Зарегистрирован: 10 окт 2014, 17:36

Re: Никак не могу сохранить настройки по tftp

Сообщение vikarz » 11 янв 2017, 10:50

Огромное спасибо, получилось слить дамп даже и на вин10. Вся фишка в том, что надо коннектор патч корда включать после подачи команды tftp, причем в определенный промежуток времени. Дамп слит с рабочей и залит в нерабочую, камера ожила, но в полный рост встала дальнейшая проблема - камеры стали клонами по mac-адресам, что делает невозможным их применение в одной сети. Надо как-то их подружить, или мас-адрес изменить или что-то еще. Буду благодарен если что-либо посоветуете.

sergvl
Специалист
Сообщения: 1383
Зарегистрирован: 18 янв 2016, 14:09
Откуда: 符拉迪沃斯托克
Контактная информация:

Re: Никак не могу сохранить настройки по tftp

Сообщение sergvl » 11 янв 2017, 13:45

Нужно выло boot не трогать, заменить только rootfs.

vikarz
Новичок
Сообщения: 13
Зарегистрирован: 10 окт 2014, 17:36

Re: Никак не могу сохранить настройки по tftp

Сообщение vikarz » 11 янв 2017, 14:38

boot не трогал, переписал с 0х80000

Ответить

Вернуться в «Восстановление и настройка»