cancel
Showing results for 
Search instead for 
Did you mean: 

Error: fwdelete Operation Failure! Please, try again

Ra.1
Associate II

Hello I am using stm32wb55 nucleo i am tring to delete the firmware but it shows error

C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin>STM32_Programmer_CLI.exe -c port=SWD -fwdelete

   -------------------------------------------------------------------

            STM32CubeProgrammer v2.6.0

   -------------------------------------------------------------------

ST-LINK SN : 066CFF303430484257141344

ST-LINK FW : V2J37M26

Board    : P-NUCLEO-WB55

Voltage   : 3.25V

SWD freq  : 4000 KHz

Connect mode: Normal

Reset mode : Software reset

Device ID  : 0x495

Revision ID : Rev Y

Device name : STM32WBxx

Flash size : 1 MBytes

Device type : MCU

Device CPU : Cortex-M4

Warning: Option Byte: nSWboot0, value: 0x0, was not modified.

Warning: Option Byte: nboot0, value: 0x1, was not modified.

Warning: Option Byte: nboot1, value: 0x1, was not modified.

Warning: Option Bytes are unchanged, Data won't be downloaded

Succeeded to set nSWboot0=0 nboot1=1 nboot0=1

Memory Programming ...

Opening and parsing file: 0x495_FUS_Operator.bin

 File     : 0x495_FUS_Operator.bin

 Size     : 11584 Bytes

 Address    : 0x08000000

Erasing memory corresponding to segment 0:

Erasing internal memory sectors [0 2]

Download in Progress:

██████████████████████████████████████████████████ 100%

File download complete

Time elapsed during download operation: 00:00:00.401

Application is running

Reconnecting...

Reconnected !

Error: FUS_STATE_ERR_UNKNOWN

Firmware delete n░1 failed after retrying!

Warning: Option Byte: nSWboot0, value: 0x0, was not modified.

Warning: Option Byte: nboot0, value: 0x1, was not modified.

Warning: Option Byte: nboot1, value: 0x1, was not modified.

Warning: Option Bytes are unchanged, Data won't be downloaded

Succeeded to set nSWboot0=0 nboot1=1 nboot0=1

Memory Programming ...

Opening and parsing file: 0x495_FUS_Operator.bin

 File     : 0x495_FUS_Operator.bin

 Size     : 11584 Bytes

 Address    : 0x08000000

Erasing memory corresponding to segment 0:

Erasing internal memory sectors [0 2]

Download in Progress:

██████████████████████████████████████████████████ 100%

File download complete

Time elapsed during download operation: 00:00:00.406

Application is running

Reconnecting...

Reconnected !

Error: FUS_STATE_ERR_UNKNOWN

Firmware delete n░1 failed after retrying!

Warning: Option Byte: nSWboot0, value: 0x0, was not modified.

Warning: Option Byte: nboot0, value: 0x1, was not modified.

Warning: Option Byte: nboot1, value: 0x1, was not modified.

Warning: Option Bytes are unchanged, Data won't be downloaded

Succeeded to set nSWboot0=0 nboot1=1 nboot0=1

Memory Programming ...

Opening and parsing file: 0x495_FUS_Operator.bin

 File     : 0x495_FUS_Operator.bin

 Size     : 11584 Bytes

 Address    : 0x08000000

Erasing memory corresponding to segment 0:

Erasing internal memory sectors [0 2]

Download in Progress:

██████████████████████████████████████████████████ 100%

File download complete

Time elapsed during download operation: 00:00:00.343

Application is running

Reconnecting...

Reconnected !

Error: FUS_STATE_ERR_UNKNOWN

Firmware delete n░1 failed after retrying!

Error: fwdelete Operation Failure! Please, try again

plz give me the solution

36 REPLIES 36

Hello

Q: you should uncheck the "Start stack after upgrade" button

A: Start stack after upgrade button is not changeable (not able to click/uncheck)

i tried with cmd prompt

here is my command and its log

note: firstinstall i tried with both 0 and 1

C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin>STM32_Programmer_CLI.exe -c port=swd mode=UR -fwupgrade stm32wb5x_FUS_fw_for_fus_0_5_3.bin 0x080EC000 firstinstall=1

   -------------------------------------------------------------------

            STM32CubeProgrammer v2.8.0

   -------------------------------------------------------------------

ST-LINK SN : 066CFF303430484257141344

ST-LINK FW : V2J38M27

Board    : P-NUCLEO-WB55

Voltage   : 3.25V

SWD freq  : 4000 KHz

Connect mode: Under Reset

Reset mode : Hardware reset

Device ID  : 0x495

Revision ID : Rev Y

Device name : STM32WB5x

Flash size : 1 MBytes

Device type : MCU

Device CPU : Cortex-M4

BL Version : 0xd5

Debug in Low Power mode enabled

Download firmware image at address 0x80ec000 ...

Memory Programming ...

Opening and parsing file: stm32wb5x_FUS_fw_for_fus_0_5_3.bin

 File     : stm32wb5x_FUS_fw_for_fus_0_5_3.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.750

Firmware Upgrade process started ...

Warning: Option Byte: nboot1, value: 0x1, was not modified.

Reconnecting...

Reconnected !

██████████████████████████████████████████████████Application is running, Please Hold on...

Reconnecting...

Reconnected !

Error: FUS_STATE_ERR_UNKNOWN

Error: fwupgrade Command Failure!

Firwmware upgrade failed! Deleting firmware and exiting...

Warning: Option Byte: nSWboot0, value: 0x0, was not modified.

Warning: Option Byte: nboot0, value: 0x1, was not modified.

Warning: Option Byte: nboot1, value: 0x1, was not modified.

Warning: Option Bytes are unchanged, Data won't be downloaded

Succeeded to set nSWboot0=0 nboot1=1 nboot0=1

Memory Programming ...

Opening and parsing file: 0x495_FUS_Operator.bin

 File     : 0x495_FUS_Operator.bin

 Size     : 8 KBytes

 Address    : 0x08000000

Erasing memory corresponding to segment 0:

Erasing internal memory sectors [0 1]

Download in Progress:

██████████████████████████████████████████████████ 100%

File download complete

Time elapsed during download operation: 00:00:00.300

Application is running, Please Hold on...

Reconnecting...

Reconnected !

Error: FUS_STATE_ERR_UNKNOWN

Error: Could not start firmware upgrade service, old firmware delete failed

Ra.1
Associate II

Hello All,

:raised_hand:

It would be very help full if anybody gave proper solution..

Ra.1
Associate II

HOYE...!! UPDATE ANYTHING..

IF U WANT ANY INPUTS LET ME KNOW..

Ra.1
Associate II

Hello,

can i expect the solution from U people..??

Plz need full support for this..,

should take it as challenge...no use by doing discontinue with one stuff..

i can move with other MCU that is secondary..,, but completion of task at any critical stage that is important...!!

=)=)=)

Remi QUINTIN
ST Employee

After review by the security team, the problem might be in the FUS_Operator, so, first test should be checking FUS_GET_STATE using USB interface. (set boot to Bootloader and connect USB cable and check power jumper)

  1. If FUS responds correctly through USB interface then try to upgrade FUS using USB in DFU mode.
  2. If FUS doesn’t respond to USB interface and SBRV=0x3D800 and SFSA=0xF6 and @0x0000004=0x1FFxxxxxx, then we can conclude that FUS has been corrupted.

If 2, we have no solution to solve this issue as the FUS might have been corrupted in that case.

Ra.1
Associate II

Hello,

In my case usb not detecting only STlink detecting...

So, as per your solution if FUS get corrupted whole HARDWARE DK we need to throw to dustbin am i right..??

It too bad (1) there should be a solution

(2) we have no solution to solve this issue as the FUS might have been corrupted in that case.

here i can say that even you are also not sure that whether FUS is corrupted or not in my case...

so final solution is if we faced this issue we need to throw the DK

Another thing i would like to say that you (STM community) people should improve the technical knowledge/ support...and should assign to some experts...

support should be like TI/ Nordic -Devzone

Take it as positive FB

Thank you

Remi QUINTIN
ST Employee

The option bytes of the user configuration are correct for a connection via the SWD port but to use the USB_USER port, the nSWBOOT0 option byte must be set to 1. You can do that while using the SWD port and revert to the USB port.

The IPCCDBA value is an offset pointing to an information table located in SRAM and used to exchange information in between the 2 cores. It is also used to read the FUS version at the proper address. There is maybe an issue on that side . Could you provide the value of the IPCCDBA option byte which is the last one of the user configuration?

Revisiting the complete thread, your board looked like having an old version of FUS v0.5.3 which is usually located at 0x080F6000 (Hence SFSA = 0xF6) .

Still missing the SBRV value (a consistent SBRV value = 0x3D80). The SBRV option byte is the last one of the security configuration.

No FW is installed on your board. So, no FWDELETE command would lead to any change on your board.

Upgrading the FUS to the most recent version using the stm32wb5x_FUS_fw_for_fus_0_5_3.bin file is the first thing to do.

You should use the command STM32_Programmer_CLI.exe -c port=swd mode=UR -fwupgrade stm32wb5x_FUS_fw_for_fus_0_5_3.bin 0x080EC000. Do not care about firstinstall value. I see that you tried this but without success, which is quite puzzling.

> you are also not sure that whether FUS is corrupted or not in my case...

Indeed, it is hard to be 100% sure from your description. The best way to confirm the FUS is still correctly working is to load an application like the BLE_RfWithFlash_reference.hex file under the STM32Cube_FW_WB_V1.12.0\Projects\P-NUCLEO-WB55.Nucleo\Applications\BLE\BLE_RfWithFlash\Binary

directory.

If the FUS is correctly working, the application on M4 core should receive an VS_HCI_C2_Ready event from the M0+ core. As there is no FW, only the FUS would have generated this event, hence showing it is alive. Not that this application is also display the FUS version on a terminal.

You have to set a breakpoint on case SHCI_SUB_EVT_CODE_READY in the APPE_SysUserEvtRx() function in the app_entry.c file.

Stepping through those lines, you will see the FUS version.

If you don’t catch it, this means the FUS is not properly working. In that case your board is unusable.

Let me know.