Подскажите как правильно работает команда TFTP

Вопросы по восстановлению, настройке, апгрейду, прошивкам и т.п.
Minich13
Новичок
Сообщения: 41
Зарегистрирован: 15 ноя 2017, 15:14

Подскажите как правильно работает команда TFTP

Сообщение Minich13 » 10 фев 2018, 13:28

Как правильно слить и записать обратно дамп командой TFTP ?
слить - tftp адрес 1 dump.bin адрес 2
что такое адрес 1 и адрес 2 , какие они в моем случае

U-Boot 2010.06 (Jun 13 2017 - 13:14:55)

Check Flash Memory Controller v100 ... Found
SPI Nor(cs 0) ID: 0xc8 0x40 0x17
Block:64KB Chip:8MB Name:"GD25Q64"
SPI Nor total size: 8MB
In: serial
Out: serial
Err: serial
Press Ctrl+C to stop autoboot
xmtech # print env
## Error: "env" not defined
xmtech # printenv
bootargs=mem=${osmem} console=ttyAMA0,115200 root=/dev/mtdblock1 rootfstype=cramfs mtdparts=hi_sfc:320K(boot),3520K(romfs),2560K(user),1152K(web),320K(custom),320K(mtd)
bootcmd=setenv setargs setenv bootargs ${bootargs};run setargs;fload;bootm 0x82000000
bootdelay=1
baudrate=115200
ethaddr=00:00:23:34:45:66
ipaddr=192.168.1.10
serverip=192.168.1.107
netmask=255.255.255.0
bootfile="uImage"
da=tftp 0x82000000 u-boot.bin.img;sf probe 0;flwrite
du=tftp 0x82000000 user-x.cramfs.img;sf probe 0;flwrite
dr=tftp 0x82000000 romfs-x.cramfs.img;sf probe 0;flwrite
dw=tftp 0x82000000 web-x.cramfs.img;sf probe 0;flwrite
dl=tftp 0x82000000 logo-x.cramfs.img;sf probe 0;flwrite
dc=tftp 0x82000000 custom-x.cramfs.img;sf probe 0;flwrite
up=tftp 0x82000000 update.img;sf probe 0;flwrite
ua=mw.b 0x82000000 ff 1000000;tftp 0x82000000 upall_verify.img;sf probe 0;flwrite
tk=setenv setargs setenv bootargs ${bootargs};run setargs;tftp 0x82000000 uImage; bootm 0x82000000
dd=mw.b 0x82000000 ff 1000000;tftp 0x82000000 mtd-x.jffs2.img;sf probe 0;flwrite
osmem=39M
stdin=serial
stdout=serial
stderr=serial
verify=n
ver=U-Boot 2010.06 (Jun 13 2017 - 13:14:55)


И как выглядит команда TFTP что бы записать дамп обратно ?
Заранее спасибо.

Аватара пользователя
VirtualLink
Специалист
Сообщения: 1846
Зарегистрирован: 09 апр 2016, 12:38

Re: Подскажите как правильно работает команда TFTP

Сообщение VirtualLink » 10 фев 2018, 13:53

Minich13 писал(а):Как правильно слить и записать обратно дамп командой TFTP ?
слить - tftp адрес 1 dump.bin адрес 2
что такое адрес 1 и адрес 2 , какие они в моем случае
В данном написании
tftp адрес1 dump.bin адрес2
адрес1 - адрес в памяти откуда
адрес2 - размер

Но не всегда во всех реализациях такой набор аргументов поддерживается и бывает, что команда обрезана и работает только на вход.
Minich13 писал(а): И как выглядит команда TFTP что бы записать дамп обратно ?
Заранее спасибо.
tftp адрес1 dump.bin
адрес1 - адрес в памяти откуда

При эом надо совершить еще одну манипуляцию: записать её во флешь.
Если это spi как в данном случае то

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

sf probe 0
sf write адрес1 размер
Но, есть и особенности, которые говорят о том, что запись ведется постранично и предварительно область в памяти, которая задействуется для загрузки подготавливается!

Корректно будет так

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

mw.b 0x82000000 ff 1000000
tftp 0x82000000 dump1.bin
sf probe 0
sf write адрес1 размер

Minich13
Новичок
Сообщения: 41
Зарегистрирован: 15 ноя 2017, 15:14

Re: Подскажите как правильно работает команда TFTP

Сообщение Minich13 » 10 фев 2018, 14:09

То есть в моем конкретном случае делаю сначала : tftp 0x82000000 dump.bin 0x800000 что бы слить.
А потом :
mw.b 0x82000000 ff 1000000
tftp 0x82000000 dump1.bin
sf probe 0
sf write 0x82000000 0x800000

Правильно ?

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

Re: Подскажите как правильно работает команда TFTP

Сообщение sergvl » 10 фев 2018, 16:47

Minich13 писал(а):То есть в моем конкретном случае делаю сначала : tftp 0x82000000 dump.bin 0x800000 что бы слить.
А потом :
mw.b 0x82000000 ff 1000000
tftp 0x82000000 dump1.bin
sf probe 0
sf write 0x82000000 0x800000

Правильно ?
Неправильно.
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

Аватара пользователя
VirtualLink
Специалист
Сообщения: 1846
Зарегистрирован: 09 апр 2016, 12:38

Re: Подскажите как правильно работает команда TFTP

Сообщение VirtualLink » 10 фев 2018, 17:07

Нет!
Вот так записывают данные их памяти ОЗУ 0x82000000 во флеш 0x0 размером 0x800000
sf write 0x82000000 0x0 0x800000

Minich13
Новичок
Сообщения: 41
Зарегистрирован: 15 ноя 2017, 15:14

Re: Подскажите как правильно работает команда TFTP

Сообщение Minich13 » 11 фев 2018, 10:54

Что то не получается даже дамп слить вот с этого :
Check Flash Memory Controller v100 ... Found
SPI Nor(cs 0) ID: 0xc2 0x20 0x17
Block:64KB Chip:8MB Name:"MX25L6406E"
SPI Nor total size: 8MB
In: serial
Out: serial
Err: serial

xmtech # printenv
bootcmd=setenv setargs setenv bootargs ${bootargs};run setargs;fload;bootm 0x82000000
bootdelay=1
baudrate=115200
bootfile="uImage"
da=mw.b 0x82000000 ff 1000000;tftp 0x82000000 u-boot.bin.img;sf probe 0;flwrite
du=mw.b 0x82000000 ff 1000000;tftp 0x82000000 user-x.cramfs.img;sf probe 0;flwrite
dr=mw.b 0x82000000 ff 1000000;tftp 0x82000000 romfs-x.cramfs.img;sf probe 0;flwrite
dw=mw.b 0x82000000 ff 1000000;tftp 0x82000000 web-x.cramfs.img;sf probe 0;flwrite
dl=mw.b 0x82000000 ff 1000000;tftp 0x82000000 logo-x.cramfs.img;sf probe 0;flwrite
dc=mw.b 0x82000000 ff 1000000;tftp 0x82000000 custom-x.cramfs.img;sf probe 0;flwrite
up=mw.b 0x82000000 ff 1000000;tftp 0x82000000 update.img;sf probe 0;flwrite
ua=mw.b 0x82000000 ff 1000000;tftp 0x82000000 upall_verify.img;sf probe 0;flwrite
tk=mw.b 0x82000000 ff 1000000;tftp 0x82000000 uImage; bootm 0x82000000
dd=mw.b 0x82000000 ff 1000000;tftp 0x82000000 mtd-x.jffs2.img;sf probe 0;flwrite
ipaddr=192.168.1.10
serverip=192.168.1.1
netmask=255.255.255.0
gatewayip=192.168.0.1
bootargs=mem=${osmem} console=ttyAMA0,115200 root=/dev/mtdblock1 rootfstype=cramfs mtdparts=hi_sfc:320K(boot),3520K(romfs),2560K(user),1152K(web),320K(custom),320K(mtd)
ethaddr=00:12:17:19:2d:ca
NID=0x0003
muxctl0=0x200f006c
muxval0=0
gpio0=0x46
gpioval0=0x0
osmem=37M
sensortype=0x001f
appSystemLanguage=Russian
appVideoStandard=PAL
stdin=serial
stdout=serial
stderr=serial
verify=n
ver=U-Boot 2010.06-svn (Apr 24 2017 - 13:49:20)

Environment size: 1456/65532 bytes


Висит без движения вот это :
xmtech # tftp 0x82000000 dump.bin 0x800000
Hisilicon ETH net controler
MAC: 00-12-17-19-2D-CA
eth0 : phy status change : LINK=UP : DUPLEX=FULL : SPEED=100M
TFTP to server 192.168.1.1; our IP address is 192.168.1.10
Upload Filename 'dump.bin'.
Upload from address: 0x82000000, 8.000 MB to be send ...
Uploading: *

tftp запущен

Minich13
Новичок
Сообщения: 41
Зарегистрирован: 15 ноя 2017, 15:14

Re: Подскажите как правильно работает команда TFTP

Сообщение Minich13 » 11 фев 2018, 11:24

От сюда все работает :
Check Flash Memory Controller v100 ... Found
SPI Nor(cs 0) ID: 0xc8 0x40 0x17
Block:64KB Chip:8MB Name:"GD25Q64"
SPI Nor total size: 8MB
In: serial
Out: serial
Err: serial

xmtech # tftp 0x82000000 dump.bin 0x800000
Hisilicon ETH net controler
MAC: 00-00-23-34-45-66
eth0 : phy status change : LINK=UP : DUPLEX=FULL : SPEED=100M
TFTP to server 192.168.1.107; our IP address is 192.168.1.10
Upload Filename 'dump.bin'.
Upload from address: 0x82000000, 8.000 MB to be send ...
Uploading: # [ Connected ]
################################ [ 2.888 MB]
################################ [ 5.752 MB]
#########################
8.000 MB upload ok.
xmtech # printenv
bootargs=mem=${osmem} console=ttyAMA0,115200 root=/dev/mtdblock1 rootfstype=cramfs mtdparts=hi_sfc:320K(boot),3520K(romfs),2560K(user),1152K(web),320K(custom),320K(mtd)
bootcmd=setenv setargs setenv bootargs ${bootargs};run setargs;fload;bootm 0x82000000
bootdelay=1
baudrate=115200
ethaddr=00:00:23:34:45:66
bootfile="uImage"
da=tftp 0x82000000 u-boot.bin.img;sf probe 0;flwrite
du=tftp 0x82000000 user-x.cramfs.img;sf probe 0;flwrite
dr=tftp 0x82000000 romfs-x.cramfs.img;sf probe 0;flwrite
dw=tftp 0x82000000 web-x.cramfs.img;sf probe 0;flwrite
dl=tftp 0x82000000 logo-x.cramfs.img;sf probe 0;flwrite
dc=tftp 0x82000000 custom-x.cramfs.img;sf probe 0;flwrite
up=tftp 0x82000000 update.img;sf probe 0;flwrite
ua=mw.b 0x82000000 ff 1000000;tftp 0x82000000 upall_verify.img;sf probe 0;flwrite
tk=setenv setargs setenv bootargs ${bootargs};run setargs;tftp 0x82000000 uImage; bootm 0x82000000
dd=mw.b 0x82000000 ff 1000000;tftp 0x82000000 mtd-x.jffs2.img;sf probe 0;flwrite
osmem=39M
stdin=serial
stdout=serial
stderr=serial
verify=n
ver=U-Boot 2010.06 (Jun 13 2017 - 13:14:55)
netmask=255.255.255.0
ipaddr=192.168.1.10
serverip=192.168.1.107

Environment size: 1142/65532 bytes

В чем разница ?

Аватара пользователя
NeiroN
Специалист
Сообщения: 475
Зарегистрирован: 15 фев 2017, 21:59
Контактная информация:

Re: Подскажите как правильно работает команда TFTP

Сообщение NeiroN » 11 фев 2018, 12:01

да скорее всего tftp просто не разрешает загрузку файлов - слил у себя без проблем фулл дамп:

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

hisilicon # sip 192.168.10.201;lip 192.168.10.202;sf probe 0;sf read 0x82000000 0x0 0x1000000;tftp 0x82000000 dump.bin 0x1000000;
Set server ip address success!
Now server ip addr: 192.168.10.201
Set local address success!
Now local ip addr: 192.168.10.202
16384 KiB hi_sfc at 0:0 is now current device

Hisilicon ETH net controler
MAC:   00-12-16-D4-29-E9
UP_PORT : phy status change : LINK=UP : DUPLEX=FULL : SPEED=100M
TFTP to server 192.168.10.201; our IP address is 192.168.10.202
Upload Filename 'dump.bin'.
Upload from address: 0x82000000, 16.000 MB to be send ...
Uploading: #    [ Connected ]
################################        [ 2.888 MB]
################################        [ 5.752 MB]
################################        [ 8.616 MB]
################################        [11.480 MB]
################################        [14.344 MB]
##################
         16.000 MB upload ok.
hisilicon #
А обратно залить такой командой:

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

sip 192.168.10.201;lip 192.168.10.202;sf probe 0;mw.b 0x82000000 0xFF 0x1000000;tftp 0x82000000 dump.bin;sf write 0x82000000 0x0 0x1000000;
Звездочка значит что с вашим tftpd - что-то не так, если есть логи надо смотреть их.

Аватара пользователя
VirtualLink
Специалист
Сообщения: 1846
Зарегистрирован: 09 апр 2016, 12:38

Re: Подскажите как правильно работает команда TFTP

Сообщение VirtualLink » 11 фев 2018, 14:27

Прервать команду и повторить, такое бывает иногда!

Аватара пользователя
fobos
Специалист
Сообщения: 1116
Зарегистрирован: 21 июн 2014, 18:15

Re: Подскажите как правильно работает команда TFTP

Сообщение fobos » 11 фев 2018, 15:01

Minich13 писал(а):Что то не получается даже дамп слить вот с этого :
Check Flash Memory Controller v100 ... Found
SPI Nor(cs 0) ID: 0xc2 0x20 0x17
Block:64KB Chip:8MB Name:"MX25L6406E"
SPI Nor total size: 8MB
In: serial
Out: serial
Err: serial

xmtech # printenv
bootcmd=setenv setargs setenv bootargs ${bootargs};run setargs;fload;bootm 0x82000000
bootdelay=1
baudrate=115200
bootfile="uImage"
da=mw.b 0x82000000 ff 1000000;tftp 0x82000000 u-boot.bin.img;sf probe 0;flwrite
du=mw.b 0x82000000 ff 1000000;tftp 0x82000000 user-x.cramfs.img;sf probe 0;flwrite
dr=mw.b 0x82000000 ff 1000000;tftp 0x82000000 romfs-x.cramfs.img;sf probe 0;flwrite
dw=mw.b 0x82000000 ff 1000000;tftp 0x82000000 web-x.cramfs.img;sf probe 0;flwrite
dl=mw.b 0x82000000 ff 1000000;tftp 0x82000000 logo-x.cramfs.img;sf probe 0;flwrite
dc=mw.b 0x82000000 ff 1000000;tftp 0x82000000 custom-x.cramfs.img;sf probe 0;flwrite
up=mw.b 0x82000000 ff 1000000;tftp 0x82000000 update.img;sf probe 0;flwrite
ua=mw.b 0x82000000 ff 1000000;tftp 0x82000000 upall_verify.img;sf probe 0;flwrite
tk=mw.b 0x82000000 ff 1000000;tftp 0x82000000 uImage; bootm 0x82000000
dd=mw.b 0x82000000 ff 1000000;tftp 0x82000000 mtd-x.jffs2.img;sf probe 0;flwrite
ipaddr=192.168.1.10
serverip=192.168.1.1
netmask=255.255.255.0
gatewayip=192.168.0.1
bootargs=mem=${osmem} console=ttyAMA0,115200 root=/dev/mtdblock1 rootfstype=cramfs mtdparts=hi_sfc:320K(boot),3520K(romfs),2560K(user),1152K(web),320K(custom),320K(mtd)
ethaddr=00:12:17:19:2d:ca
NID=0x0003
muxctl0=0x200f006c
muxval0=0
gpio0=0x46
gpioval0=0x0
osmem=37M
sensortype=0x001f
appSystemLanguage=Russian
appVideoStandard=PAL
stdin=serial
stdout=serial
stderr=serial
verify=n
ver=U-Boot 2010.06-svn (Apr 24 2017 - 13:49:20)

Environment size: 1456/65532 bytes


Висит без движения вот это :
xmtech # tftp 0x82000000 dump.bin 0x800000
Hisilicon ETH net controler
MAC: 00-12-17-19-2D-CA
eth0 : phy status change : LINK=UP : DUPLEX=FULL : SPEED=100M
TFTP to server 192.168.1.1; our IP address is 192.168.1.10
Upload Filename 'dump.bin'.
Upload from address: 0x82000000, 8.000 MB to be send ...
Uploading: *

tftp запущен
укажите правильный serverip и пойдет выгрузка/загрузка

Аватара пользователя
VirtualLink
Специалист
Сообщения: 1846
Зарегистрирован: 09 апр 2016, 12:38

Re: Подскажите как правильно работает команда TFTP

Сообщение VirtualLink » 11 фев 2018, 16:01

Да fobos прав, но это начала!
TFTP to server192.168.1.107 ; our IP address is 192.168.1.10
Upload Filename 'dump.bin'.
Upload from address: 0x82000000, 8.000 MB to be send ...
Uploading: # [ Connected ]
################################ [ 2.888 MB]
################################ [ 5.752 MB]
#########################
8.000 MB upload ok.
TFTP to server 192.168.1.1; our IP address is 192.168.1.10
Upload Filename 'dump.bin'.
Upload from address: 0x82000000, 8.000 MB to be send ...
Uploading: *

Minich13
Новичок
Сообщения: 41
Зарегистрирован: 15 ноя 2017, 15:14

Re: Подскажите как правильно работает команда TFTP

Сообщение Minich13 » 13 фев 2018, 17:34

Опять вопрос?
Дамп сделанный командой - tftp 0x82000000 dump.bin 0x800000 оличается от дампа сделанного через - sip 192.168.1.107;lip 192.168.1.10;sf probe 0;sf read 0x82000000 0x0 0x800000;tftp 0x82000000 dump.bin 0x800000 . Так как правильно ?
Вложения
dump1.jpg
dump2.jpg

Ответить

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