AnsweredAssumed Answered

STM32F42x ROM DFU Descriptor

Question asked by taelman.johannes on Mar 30, 2015
It appears that DFU in the STM32F42x ROM Bootloader has an issue:
The device returns a descriptor response string as a malformed packet (according to wireshark) for the @Internal Flash interface. The bLength field indicates a length of 166 bytes, the actual string is only 112 bytes.
This results in a error return code from libusb (libusb_get_string_descriptor_ascii), and causes dfu-util to fail.

Modifying libusb/descriptor.c
function libusb_get_string_descriptor_ascii
from
    if (tbuf[0] > r)
         return LIBUSB_ERROR_IO;
into
    if (tbuf[0] > r)
            tbuf[0] = r;

succeeds as a workaround.

STM32F40x is not affected, probably only STM32F42x and STM32F43x.

Could anyone confirm this issue?

Thanks!

Outcomes