I'm trying to use USB DFU with our custom boards, one based on STM32L432KC and another on STM32L433CC, and I am having a problem using two DFU programs on Linux: dfu-util and dfuse-tool (a Python program). Both of these tools fail to program these MCUs. I should note that I have a very similar board using an STM32L476 part which does not exhibit this problem. Also, the USB DFU bootloader on the 432KC Nucleo-32 board exhibits the same behavior, but USB electrical path on the breadboard I rigged up for testing is a little more suspect in that case.
dfuse-tool fails with: usb.core.USBError: [Errno 32] Pipe error
dfu-util fails with: Error during download get_status
I can make dfu-util work by passing in "-t 1024" (or lower) to reduce the transfer size. During this time I get a number of "Poll timeout 21 ms" warnings, but it completes successfully.
I do not believe that there is an issue with the MCU or with the USB signal path because the firmware implements a CDC interface and that appears to be working with no issues.
I have read AN2606 and noted the issue with the original bootloader on the STM32L43x parts. All of the MCUs I have used report bootloader version 0xFF. Is this a manifestation of that problem?
Are parts with the fixed bootloader (0x10) available from any distributors currently? The ones I am using in my prototypes were purchased fairly recently in the US from a major distributor.