xmos / sln_voice

XCORE-VOICE Solution
Other
10 stars 21 forks source link

Automatically assign WinUSB driver to the DFU interface on Windows #334

Closed shuchitak closed 11 months ago

shuchitak commented 11 months ago

https://xmosjira.atlassian.net/browse/AP-258

I've tested this locally on a Windows machine. The DFU interface automatically enumerates as a WinUSB interface. I've also confirmed that DFU works on the Windows machine and my MacBook Pro for both the FFVA and the ASRC applications.

xluciano commented 11 months ago

Looks okay to me. I would like to have this feature tested under Linux, in addition to the bench tests already performed under Windows and MacOS. If the FFVA example is designed to run under Raspberry Pi OS (I don't know if it is or is not), we should bench test it there as well.

I tested the ASR demo .xe generated by the github action on my Rapsberry Pi and the DFU upgrade was successful:

pi@raspberrypi:~ $ sudo dfu-util -d 20b1:4001 -D upgrade_asrc_demo\ 1.bin -a 1
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 http://sourceforge.net/p/dfu-util/tickets/

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 20b1:4567
Run-time device DFU version 0101
Claiming USB DFU Interface...
Setting Alternate Setting #1 ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 0101
Device returned transfer size 4096
Copying data from PC to DFU device
Download        [=========================] 100%       170496 bytes
Download done.
state(7) = dfuMANIFEST, status(0) = No error condition is present
state(2) = dfuIDLE, status(0) = No error condition is present
Done!
pi@raspberrypi:~ $ 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 http://sourceforge.net/p/dfu-util/tickets/

Found DFU: [20b1:4567] ver=0001, devnum=4, cfg=1, intf=3, path="1-1.1", alt=2, name="DFU DATAPARTITION", serial="123456"
Found DFU: [20b1:4567] ver=0001, devnum=4, cfg=1, intf=3, path="1-1.1", alt=1, name="DFU UPGRADE", serial="123456"
Found DFU: [20b1:4567] ver=0001, devnum=4, cfg=1, intf=3, path="1-1.1", alt=0, name="DFU FACTORY", serial="123456"