cancel
Showing results for 
Search instead for 
Did you mean: 

P-NUCLEO-WB55 does not working on DFU mode

WWU.807
Associate II

Hi, All,

I want to use CubeMon-RF to monitor the USB dongle of the P-NUCLEO-WB55.

According to the Manual : STM32CubeMonitor-RF software tool for wireless performance measurements,

The USB dongle must be monitored using the VCP DEVICE link, and it need to update Firmware to use the example : ble_transparent_mode_vcp.

To update the USB dongle's firmware, I must use STM32CubeProg tool.

According to the manual : STM32CubeProgrammer software description,

USB dongle must use DFU mode for Firmware update, and I install DFU driver follow the Chapter 1.2.4.

And set the DFU mode according to this web page https://visualgdb.com/tools/STM32WBUpdater/connecting/.

However, when the device is plugged into the PC, the Window Device Manager does not detect any device, and the USB dongle is the same as STM32WB Nucleo.

And Win7 is the same as Win10.

May I ask how to solve this?

Thanks. ​

47 REPLIES 47

Dear Remi,

I tried to set DFU mode again on Nucleo Board and USB dongle , it still nothing to detected on  CubeProgrammer tool or Windows Device Manager.

WWU.807
Associate II

if the DFU Mode problem can't solved, May I use on board st-link of NUcleo board to update  Nucleo Board & USB Dongle both firmware? Have any document to descrip it?

Thanks a lot.

Dear Remi,

I set DFU Mode and tried to plugged in Linux platform(Raspberry Pi). it still not detected by "lsusb" command.

Is possible Hardware issue on P-NUCLEO-WB55 ?

Remi QUINTIN
ST Employee

​It would be strange you get the same issue on both the nucloeo board and the dongle!!!

I dont know what to propose except using the JTAG/SWD port for the Nucleo board but this is of no use for the dongle.

WWU.807
Associate II

Dear Remi,

I connect JP5 DEBUG pins of Nucleo Board to CN1 DEBUG pins of USB Dongle, then use STM32cubePorg tools to Update Firmware.

When I use the example firmware: ble_transparent_mode_vcp, and connect USB Dongle on STM32CubeMoniter-RF.

It show a waring message : "Device Under the test no responing COM port closed"

0690X00000Arg3mQAB.png

When I update back to demo example: BLE_p2pClient.

Then STM32cubePorg show a error message :"NO STM32 target found"

0690X00000Arg5EQAR.png

May I ask how to fix those problem?

Thanks.

I've met this problem yesterday. For me the reason was the nSWBOOT0 option byte set to 0, so the hardware BOOT0 switch does no change. The only way to fix this is to use SWD to program nSWBOOT0 to 1

Remi QUINTIN
ST Employee

​Indeed but when the USB DFU mode is used this nSWboot option byte is set to 1 with the command. Moreover the start of the issue was the USB device not detected.

Anyow it is worth the trial.

If you are able to connect with the JTAG/SWD port then you can either set nSWBOOT0 to 1 as the switch setting the PH3/BOOT0 pin is properly positionned.

launching the command STM32_Programmer_CLI.exe -c port=swd mode=UR -ob nSWboot0=1

or you can launch the command  STM32_Programmer_CLI.exe -c port=swd mode=UR -ob nSWboot0=0 nboot1=1 nboot0=1 regardless of  the PH3 BOOT0 pin.

or directly launch the complete command

STM32_Programmer_CLI.exe -c port=swd mode=UR -ob nSWboot0=0 nboot1=1 nboot0=1 -fwupgrade %FW% %ADDRESS%

Stecklo
Senior

@Remi QUINTIN​, I've connected dongle via SWD and fixed nSWBOOT, so now the dongle is able to connect via USB, but Windows can't recognise it properly (it says device descriptor request failed) while I'm able to connect NUCLEO-WB55 board both via STLINK and DFU

Stecklo
Senior

Some good/bad news. I've managed to make Windows recognize dongle as DFU by programming RDP=0xbb. Resetting it to 0xAA makes it unrecognizable again.

OK, now I'm able to connect directly via USB. But Programmer warns that "Device is under read out protection" and suggests to use -rdu, though it doesn't work.

-fwdelete works neither (Error: Could not start service since FUS is not in IDLE state)

So I'm trying to make

-fwupgrade stm32wb5x_FUS_fw.bin 0x080EC000 firstinstall=0 (the address is from Copro Wireless Binaries Release Notes)

and get Error: Could not execute fwupgrade command, Wrong address

I've tried

0x080FA000 (as suggested in oway1's comment, value is corrected to meet the 1Mb flash size), it doesn't work

Stecklo
Senior

I've made this

-ob pcrop_rdp=1

-ob rdp=0xbb

-ob rdp=0xaa

And now I'm not able to read or write flash

I'm a bit worried it's because of SFSA is now pointing zero

   Read Out Protection:
 
     RDP          : 0xAA (Level 0, no protection)
 
   BOR Level:
 
     BOR_LEV      : 0x0 (BOR Level 0 reset level threshold is around 1.7 V)
 
   User Configuration:
 
     nBOOT0       : 0x1 (nBOOT0=1)
     nBOOT1       : 0x1 (Boot from code area if BOOT0=0 otherwise system Flash)
     nSWBOOT0     : 0x1 (BOOT0 taken from PH3/BOOT0 pin)
     SRAM2RST     : 0x1 (SRAM2 is not erased when a system reset occurs)
     SRAM2PE      : 0x1 (SRAM2 parity check disable)
     nRST_STOP    : 0x1 (No reset generated when entering the Stop mode)
     nRST_STDBY   : 0x1 (No reset generated when entering the Standby mode)
     nRSTSHDW     : 0x1 (No reset generated when entering the Shutdown mode)
     WWDGSW       : 0x1 (Software window watchdog)
     IWGDSTDBY    : 0x1 (Independent watchdog counter running in Standby mode)
     IWDGSTOP     : 0x1 (Independent watchdog counter running in Stop mode)
     IWDGSW       : 0x1 (Software independent watchdog)
     IPCCDBA      : 0x3FFF  (0x3FFF)
 
   Security Configuration Option bytes:
 
     ESE          : 0x1 (Security enabled)
     SFSA         : 0x0  (0x0)
     FSD          : 0x0 (System and Flash secure)
     DDS          : 0x1 (CPU2 debug access disabled)
     C2OPT        : 0x1 (SBRV will address Flash)
     NBRSD        : 0x0 (SRAM2b is secure)
     SNBRSA       : 0x0  (0x0)
     BRSD         : 0x0 (SRAM2a is secure)
     SBRSA        : 0x0  (0x0)
     SBRV         : 0x3FC00  (0x3FC00)
 
   PCROP Protection:
 
     PCROP1A_STRT : 0x1FF  (0x8000FF8)
     PCROP1A_END  : 0x0  (0x8000008)
     PCROP_RDP    : 0x0 (PCROP zone is kept when RDP is decreased)
     PCROP1B_STRT : 0x1FF  (0x8000FF8)
     PCROP1B_END  : 0x0  (0x8000008)
 
   Write Protection:
 
     WRP1A_STRT   : 0xFF  (0x807F800)
     WRP1A_END    : 0x0  (0x8000000)
     WRP1B_STRT   : 0xFF  (0x807F800)
     WRP1B_END    : 0x0  (0x8000000)

Is thete any way to fix it?