cancel
Showing results for 
Search instead for 
Did you mean: 

Error when updating FUS firmware

ANist
Associate III

I am trying to update the FUS firmware to the latest version on a STM32WB55CG, following the guide in the release notes I get Error: Firmware not authentic!. at step 5 (RSS_IMAGE_NOT_AUTHENTIC).

I have the latest CubeProg version and my actual FUS is 0.5.3

Am I doing something wrong?

Thanks!

1 ACCEPTED SOLUTION

Accepted Solutions
ANist
Associate III

@Remi QUINTIN​  SOLVED: as found in another post in this forum https://community.st.com/s/question/0D50X0000Ap44FlSQI/restore-stm32wb55-fus-firmware), I set the read protection byte to 0xBB and then back to 0xAA. After that I was able to upgrade to FUS 1.0.1, you may want to investigate this behavior or wrtite it on some documentation.

Thanks again for your help!

View solution in original post

23 REPLIES 23
Remi QUINTIN
ST Employee

First of all you have to upgrade the Firmware Update Service (FUS) from the pre-installed version 0.5.3 to version 1.0.1

With a 1MB Flash device, you should use the USB port in DFU mode and the CubeProgrammer tool is command line mode (CLI).

Launch the following commands

STM32_Programmer_CLI.exe c port=usb1 -fwdelete

STM32_Programmer_CLI.exe-c port=usb1 -fwupgrade stm32wb5x_FUS_fw.bin 0x080EC000 firstinstall=0 –v

STM32_Programmer_CLI.exe -c port=usb1 -r32 0x20030030 1

If the upgrade is successful, the last command should show you the new version of the FUS : 1.0.1

ANist
Associate III

@Remi QUINTIN​ , I tried that but I have the same identical error. I used the FUS bin inside the 1.1.0 Cube package and the release notes confirm that FUS is 1.0.1

Any suggestion?

This is the detailed output

USB speed  : Full Speed (12MBit/s)
 
Manuf. ID  : STMicroelectronics
Product ID : DFU in FS Mode
SN     : 206E3183414E
FW version : 0x011a
Device ID  : 0x0495
Device name : STM32WBxx
Flash size : 1 MBytes
Device type : MCU
Device CPU : Cortex-M0+/M4
 
 
RSS state is RSS_IDLE
 
RSS status is RSS_NO_ERROR
 
Old Firmware delete ...
 
Deleting firmware ...
 
Firmware delete finished
 
 
RSS state is RSS_SERVICE_ONGOING
 
 
RSS status is RSS_IMAGE_NOT_FOUND
 
 
RSS state is RSS_IDLE
 
 
RSS status is RSS_NO_ERROR
Download firmware image at address 0x80ec000 ...
 
 
Memory Programming ...
 
Opening and parsing file: stm32wb5x_FUS_fw.bin
 
 File     : stm32wb5x_FUS_fw.bin
 Size     : 24492 Bytes
 Address    : 0x080EC000
 
Erasing memory corresponding to segment 0:
 
Erasing internal memory sectors [236 241]
 
Download in Progress:
 
██████████████████████████████████████████████████ 100%
 
 
File download complete
 
Time elapsed during download operation: 00:00:00.569
 
RSS state is RSS_IDLE
 
RSS status is RSS_NO_ERROR
 
Firmware Upgrade process started ...
 
 
Updating firmware ...
 
Waiting for firmware upgrade end
 
RSS state is WIRELESS_STACK_UPGRADE_ONGOING
 
RSS status is RSS_NO_ERROR
 
RSS state is WIRELESS_STACK_UPGRADE_ONGOING
 
RSS status is RSS_IMAGE_NOT_AUTHENTIC
 
Error: Firmware not authentic!

Remi QUINTIN
ST Employee

​Let's try something else.

Please use the stm32wb5x_FUS_fw.bin from the CubeWB FW package V1.2.0.

You can find it on the st.com site.

Inside the FUS version is 1.0.2. It can be uploaded on the WB if and only if the current FUS is V0.5.3.

Remi QUINTIN
ST Employee

​Could you expose the sequence of commands you are using to upgrade the FUS?

ANist
Associate III

Just tried it, unfortunately I have the same behavior.

ANist
Associate III

the sequence is the following:

Enter in DFU mode through usb (this is working well)

STM32_Programmer_CLI.exe -c port=usb1 -r32 0x20030030 1 gets the following result:

USB speed   : Full Speed (12MBit/s)
Manuf. ID   : STMicroelectronics
Product ID  : DFU in FS Mode
SN          : 206E3183414E
FW version  : 0x011a
Device ID   : 0x0495
Device name : STM32WBxx
Flash size  : 1 MBytes
Device type : MCU
Device CPU  : Cortex-M0+/M4
 
0x20030030 : 00050300

Then erase old image:

STM32_Programmer_CLI.exe -c port=usb1 -fwdelete

RSS state is RSS_IDLE
 
RSS status is RSS_NO_ERROR
Deleting firmware ...
Firmware delete finished
fwdelete command execution finished

which, if I put the -v arg it gives additionally:

Error: Wrong verify command use: it must be performed just after write command or write 32-bit command

and finally:

STM32_Programmer_CLI.exe -c port=usb1 -fwupgrade stm32wb5x_FUS_fw.bin 0x080EC000 firstinstall=0

which gives the result explained above

Remi QUINTIN
ST Employee

​I am quite puzzled by your situation as I dont see anything wrong that could lead to this error message.

Last point: could you provide me the values of all the option bytes. Just to check if the BOOT0 is set to 1.

Is it your own board or an ST boar (Nucleo or dongle)?

ANist
Associate III

0690X000009jLXRQA2.pngHey @Remi QUINTIN​ , we are using a custom board.

Option byte boot0 is set from what I see, in the picture the user option bytes that I read from cubeProgrammer in dfu mode.

ANist
Associate III

and here the security configuration OB0690X000009jLcRQAU.png