Problems with enumerating DFU/Serial on Windows 10/11

Post here all questions related to LibMaple core if you can't find a relevant section!
Post Reply
profdc9
Posts: 5
Joined: Sun Mar 08, 2020 11:21 pm

Problems with enumerating DFU/Serial on Windows 10/11

Post by profdc9 »

I am using Roger's (libmaple) DFU bootloader and the libmaple CDC serial USB drivers on a Bluepill board. I am both using a commercially purchased Bluepill and one I designed and built myself so I know that I know it contains a real STM32F103CBT6:

https://github.com/profdc9/STM32alt

So I can get the devices to be recognized on one particular Lenovo laptop most of the time. For example, if I flash the DFU bootloader using a ST-Link on a new Bluepill board, it will be recognized as Maple DFU as shown in the device manager. The other board I built myself also enumerates ok.

On another Lenovo laptop and a Lenovo tablet, it says for both "The last USB you connected to this computer malfunctioned, and Windows does not recognize it." These show up in the device manager without any VID/PID. I have tried two different USB cables. I have verified that both boards have a 1.5k resistor to +3.3V of the USB+ line. I have tried it plugged into the computer itself, into a USB 3 hub, and into a USB 2 hub. I have tried it with the USB port providing power to the Bluepill and with an external 5V supply providing power to the Bluepill. I can otherwise use the Bluepill ok by programming it over ST-LINK and seeing the output (for example of a Blink sketch) over the serial port using a USB serial dongle.

It does not enumerate if I use the DFU bootloader, or if I directly write a sketch to the Bluepill that implements USB CDC serial so it should enumerate immediately as a USB CDC serial device, so I don't think it could be a problem with just the bootloader implementation.

Is there some issue with some USB chipsets and/or USB XHCI drivers under windows that make them unable to recognize the libmaple or STM32F1? My laptop has an NVIDIA USB chipset, and my tablet as an Intel USB chipset.

I apologize for the long message but I spent many hours trying to get this to work, since I have used libmaple for years without problems.

Thanks for any help!
Jikinspickins
Posts: 1
Joined: Wed Aug 16, 2023 3:06 pm

Re: Problems with enumerating DFU/Serial on Windows 10/11

Post by Jikinspickins »

It's awesome that the boards work on one Lenovo laptop but not on the others – that's a bit puzzling. It's possible that certain USB chipsets or drivers might be acting finicky. I've heard anecdotes about similar issues. Have you tried updating USB drivers or checking for any Windows updates like cheap windows 10 key? I've also seen people suggest that using different USB ports (2.0 vs. 3.0) can sometimes make a difference. And you've done your homework with the different hubs and power sources! Also, regarding the error message, Windows can sometimes be a bit dramatic – the "malfunctioned USB" message might not always be the root cause.
Post Reply

Return to “General discussion”