Am working on a custom board - has no removable storage (sd) and only one UART. I need to transfer files on the the QSPI storage using barebox bootloader.
I am trying to use DFU to transfer various files to write to QSPI
Device tree has the follow among other things
&usbotg1 {
dr_mode = "otg";
status = "okay";
};
&usbphy1 {
fsl,tx-d-cal = <106>;
};
On the board, the OTG mode has been set to peripheral and dfu started for accepting file
barebox@Freescale:/ otg.mode=peripheral
barebox@Freescale:/ dfu /tmp/qspi-header(qspi)src
udc0: registering UDC driver [g_dfu]
dfu: register alt0(qspi) with device /tmp/qspi-header
g_dfu usbgadget: g_dfu ready
g_dfu usbgadget: high-speed config #1: USB DFU
On the system the board is getting detected as DFU device
harkirat@harkirat-devsys:~$ sudo dfu-util -l
dfu-util 0.9
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to sourceforge.net/p/dfu-util/…
Found DFU: [1d50:60a2] ver=0316, devnum=13, cfg=1, intf=0, path="1-2", alt=0, name="qspi", serial="UNKNOWN"
So when transferring a file
harkirat@harkirat-devsys:~$ sudo dfu-util -a qspi -D qspi-header
dfu-util 0.9
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
dfu-util: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
Opening DFU capable USB device...
ID 1d50:60a2
Run-time device DFU version 0100
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 0100
Device returned transfer size 4096
Copying data from PC to DFU device
Download [=========================] 100% 512 bytes
Download done.
state(6) = dfuMANIFEST-SYNC, status(0) = No error condition is present
state(7) = dfuMANIFEST, status(0) = No error condition is present
state(6) = dfuMANIFEST-SYNC, status(0) = No error condition is present
state(7) = dfuMANIFEST, status(0) = No error condition is present
state(6) = dfuMANIFEST-SYNC, status(0) = No error condition is present
state(7) = dfuMANIFEST, status(0) = No error condition is present
state(6) = dfuMANIFEST-SYNC, status(0) = No error condition is present
state(7) = dfuMANIFEST, status(0) = No error condition is present
state(6) = dfuMANIFEST-SYNC, status(0) = No error condition is present
The last two lines keep repeating themselves. Eventually at Ctrl-C on both
It does say file Download done. but there is nothing on the receiving end. At the board
…
g_dfu usbgadget: high-speed config #1: USB DFU
g_dfu udc0: unregistering UDC driver [fsl-usb2-udc]
dfu: Interrupted system call
barebox@Freescale:/ ls /tmp/
barebox@Freescale:/
so the question is why????