Showing results for 
Search instead for 
Did you mean: 

Fail during download with bootloader in USB DFU mode

Associate II

I have a custom board with a STM32H743ZI 144-pin processor. I can start the bootloader and the device is correctly recognized in the STM32CubeProgrammer as DFU in FS mode. I can read from device memory without issue, however when I try to download a firmware file to the device,it will always fail mid-transfer with the following error:

12:03:30:267 : Download in Progress:
12:03:30:268 : Size : 80352 Bytes
12:03:30:268 : Address : 0x08000000
12:03:30:307 : setting the address pointer to address: 0x08000000
12:03:30:309 : sending packet nbr: 0
12:03:30:309 : downloading data
12:03:30:309 : libusb control transfer error: -9
12:03:30:309 : sending an abort request
12:03:30:309 : downloading data
12:03:30:373 : libusb control transfer error: -9
12:03:30:373 : Error: failed to download Segment[0]
12:03:30:373 : Error: failed to download the File

I repeated the exact same procedure on a NUCLEO-H743ZI2 that has the same processor and the download completes successfully.

My first guess was a hardware issue, so I used an oscilloscope to measure if there's any interference on the D+ and D- lines leading to the MCU pins, but based on my observation the signal looks fine and pretty much the same as on the Nucleo. On my design the D+ and D- are short, run along side each other and have an uninterrupted ground plane beneath them.


I also captured the traffic on the USB line with a USB tool. Here is the part where the transmission fails.


Thank you for any help in advance.

ST Employee

Hi @MLovr.1​ 

Can you please provide your chip revision ID, it can be read using STlinkUtility (top right panel), I will need your board and nucleo board chip revision ID.

This info will help me to reproduce you issue.



Custom board chip revision ID: 0x1003

Nucleo board chip revision ID: 0x2003

ST Employee

Hi @MLovr.1​ 

Can you please confirm that you are using latest STM32CubeProgrammer version (v2.4.0) ?

I will need also to know which OS you are using ? (win10 ? win7 ? Linux ?).



I am using version 2.4.0 on windows 10 (1909)

ST Employee

Hi @MLovr.1​ 

I tested with two chip revision ID 0x1003 (revY) and 0x2001(revX) , for both revisions download is OK with STM32CubeProgrammer v2.4.0.

I made a check with exactly same file size than you.

My conclusion : It is not a STM32CubeProgrammer issue , it seems to be a Hardware issue.