2015-03-30 02:32 AM
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. Modifyinglibusb/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! #dfu