USB Error 43 when using the NucleoWB55 Dongle.
i'm trying to use the Nucleo WB55 dongle as a mass storage device.
Using cubeMx i set the USB, and the USB Middleware as MSC, leaving the default settings. Nothing else is running on the dongle, just USB.
When i plug it, it appear as an unknown device. Windows is returning an Error 43 Code [
43 (CM_PROB_FAILED_POST_START)]
Uppon connection, USB events are as follow:
000000: PnP Event: Device Connected (UP), 2019-08-23 11:07:13,0401325 (1. Device: Unknown)
The USB device has just been connected to the system.
000001: PnP Event: Surprise Removal (UP), 2019-08-23 11:07:13,0411870 +0,0010545 (1. Device: Unknown)
The USB device has just been disconnected from the system.
000002: PnP Event: Device Disconnected (UP), 2019-08-23 11:07:13,0413300 +0,0001430 (1. Device: Unknown)
The USB device has just been removed from the system, all drivers unloaded
Using debug, i checked that nothing was skipped, and i also add printf messages through SWO to be sure that all the USB init is done properly. And also to check what happen once the interrupt is enabled in USBD_Start().
The following is the start of the SWO message, showing that all the MX_USB_Device_Init() is done without error, and showing the function call made in HAL_PCD_IRQHandler().
USBD_Init returned USBD_OK @ 1 ms
USBD_RegisterClass returned USBD_OK @ 1 ms
USBD_MSC_RegisterStorage returned USBD_OK @ 2 ms
0 - HAL_PCD_ResetCallback @ 3 ms
1 - HAL_PCD_SetAddress @ 3 ms
USBD_Start returned USBD_OK @ 4 ms
2 - HAL_PCD_SuspendCallback @ 6 ms
3 - HAL_PCD_ResumeCallback @ 104 ms
4 - HAL_PCD_ResetCallback @ 158 ms
5 - HAL_PCD_SetAddress @ 158 ms
6 - HAL_PCD_SOFCallback @ 158 ms
7 - HAL_PCD_SOFCallback @ 159 ms
8 - HAL_PCD_SOFCallback @ 160 ms
9 - HAL_PCD_SOFCallback @ 161 ms
10 - HAL_PCD_SOFCallback @ 162 ms
11 - HAL_PCD_SOFCallback @ 163 ms
12 - HAL_PCD_SOFCallback @ 164 ms
13 - HAL_PCD_SOFCallback @ 165 ms
14 - HAL_PCD_SOFCallback @ 166 ms
15 - HAL_PCD_SOFCallback @ 167 ms
16 - HAL_PCD_SOFCallback @ 168 ms
17 - HAL_PCD_SOFCallback @ 169 ms
18 - HAL_PCD_SOFCallback @ 170 ms
19 - HAL_PCD_SOFCallback @ 171 msthe HAL_PCD_IRQHandler() call several functions (mostly the SOFcallback) for 2150ms.
I tried that on different computer, on W10 & W7.
And the strangest part is: it work on my own computer (W7).
My own computer is the only one where the USB is working fine.
I don't understand why. On every computer i checked the drivers, nothing wrong.
I don't need an external pull up, and the DPPU bit that turn on the pullup is called and work as expected. DP/DM are not swapped (even though it's an STM product i checked to be sure)
Vbus is perfect, and to be safe i also add a small delay before the USB Init.
I created different project, using different settings, but still error 43.
I don't know what could cause that issue and at that point i think i tried everything.
That issue is above my knowledges.
So if you have any idea, feel free to give your opinion.
Romain