2021-09-08 03:53 AM
I am trying to follow this video: because i think i bricked my coprocessor (m0+ ), same thing happens in two different boards.✌�?
STM32WB Getting Started Series: Part 9, Stack Loading
https://www.youtube.com/watch?v=wheGvdXsi4o
When i click firmware upgrade
\STM32Cube\Repository\STM32Cube_FW_WB_V1.12.1\Projects\STM32WB_Copro_Wireless_Binaries\STM32WB5x\stm32wb5x_BLE_Stack_full_fw.bin
i get this Error: Firmware not authentic!the firmware start addr in the video is outdated, with fw v1.12.1 the correct addr is 0x080CA000 but still same result:
logs:
13:06:53 : FUS state is FUS_IDLE
13:06:53 : FUS status is FUS_NO_ERROR
13:06:53 : Read FUS state command execution finished
13:06:53 : UPLOADING ...
13:06:53 : Size : 4 Bytes
13:06:53 : Address : 0x20030030
13:06:53 : Read progress:
13:06:53 : Data read successfully
13:06:53 : Time elapsed during the read operation is: 00:00:00.004
13:06:58 : FUS state is FUS_IDLE
13:06:58 : FUS status is FUS_NO_ERROR
13:07:00 : Old Firmware delete ...
13:07:00 : Deleting firmware ...
13:07:01 : Firmware delete finished
13:07:01 : FUS state is FUS_SERVICE_ONGOING
13:07:01 : FUS status is FUS_IMAGE_NOT_FOUND
13:07:03 : FUS state is FUS_IDLE
13:07:03 : FUS status is FUS_NO_ERROR
13:07:06 : Download Stack/FUS image at address 0x80ca000 ...
13:07:06 : Memory Programming ...
13:07:06 : Opening and parsing file: stm32wb5x_BLE_Stack_full_fw.bin
13:07:06 : File : stm32wb5x_BLE_Stack_full_fw.bin
13:07:06 : Size : 170804 Bytes
13:07:06 : Address : 0x080CA000
13:07:06 : Erasing memory corresponding to segment 0:
13:07:06 : Erasing internal memory sectors [202 243]
13:07:06 : erasing sector 0202 @: 0x080ca000 done
13:07:06 : erasing sector 0203 @: 0x080cb000 done
13:07:06 : erasing sector 0204 @: 0x080cc000 done
13:07:06 : erasing sector 0205 @: 0x080cd000 done
13:07:06 : erasing sector 0206 @: 0x080ce000 done
13:07:06 : erasing sector 0207 @: 0x080cf000 done
13:07:06 : erasing sector 0208 @: 0x080d0000 done
13:07:06 : erasing sector 0209 @: 0x080d1000 done
13:07:06 : erasing sector 0210 @: 0x080d2000 done
13:07:06 : erasing sector 0211 @: 0x080d3000 done
13:07:06 : erasing sector 0212 @: 0x080d4000 done
13:07:06 : erasing sector 0213 @: 0x080d5000 done
13:07:06 : erasing sector 0214 @: 0x080d6000 done
13:07:06 : erasing sector 0215 @: 0x080d7000 done
13:07:06 : erasing sector 0216 @: 0x080d8000 done
13:07:06 : erasing sector 0217 @: 0x080d9000 done
13:07:06 : erasing sector 0218 @: 0x080da000 done
13:07:06 : erasing sector 0219 @: 0x080db000 done
13:07:06 : erasing sector 0220 @: 0x080dc000 done
13:07:06 : erasing sector 0221 @: 0x080dd000 done
13:07:06 : erasing sector 0222 @: 0x080de000 done
13:07:06 : erasing sector 0223 @: 0x080df000 done
13:07:06 : erasing sector 0224 @: 0x080e0000 done
13:07:06 : erasing sector 0225 @: 0x080e1000 done
13:07:06 : erasing sector 0226 @: 0x080e2000 done
13:07:07 : erasing sector 0227 @: 0x080e3000 done
13:07:07 : erasing sector 0228 @: 0x080e4000 done
13:07:07 : erasing sector 0229 @: 0x080e5000 done
13:07:07 : erasing sector 0230 @: 0x080e6000 done
13:07:07 : erasing sector 0231 @: 0x080e7000 done
13:07:07 : erasing sector 0232 @: 0x080e8000 done
13:07:07 : erasing sector 0233 @: 0x080e9000 done
13:07:07 : erasing sector 0234 @: 0x080ea000 done
13:07:07 : erasing sector 0235 @: 0x080eb000 done
13:07:07 : erasing sector 0236 @: 0x080ec000 done
13:07:07 : erasing sector 0237 @: 0x080ed000 done
13:07:07 : erasing sector 0238 @: 0x080ee000 done
13:07:07 : erasing sector 0239 @: 0x080ef000 done
13:07:07 : erasing sector 0240 @: 0x080f0000 done
13:07:07 : erasing sector 0241 @: 0x080f1000 done
13:07:07 : erasing sector 0242 @: 0x080f2000 done
13:07:07 : erasing sector 0243 @: 0x080f3000 done
13:07:07 : Download in Progress:
13:07:10 : File download complete
13:07:10 : Time elapsed during download operation: 00:00:03.843
13:07:10 : FUS state is FUS_IDLE
13:07:10 : FUS status is FUS_NO_ERROR
13:07:12 : Firmware Upgrade process started ...
13:07:12 : Updating firmware ...
13:07:12 : Waiting for firmware upgrade end
13:07:12 : FUS state is WIRELESS_STACK_UPGRADE_ONGOING
13:07:12 : FUS status is FUS_NO_ERROR
13:07:15 : FUS state is WIRELESS_STACK_UPGRADE_ONGOING
13:07:15 : FUS status is FUS_IMAGE_NOT_AUTHENTIC
13:07:15 : Error: Firmware not authentic!
Solved! Go to Solution.
2021-09-09 12:37 AM
The main issue was, i was using cubeProgrammer v2.6 instead of v2.8, all the documentation made no sense to me because of that.
But i managed to do it with v2.6 :
AFTER TWO DAYS I found the correct rain-dance
first i needed to download a previous FW package flash the Fus firmware 1.0.2
C:\Users\joseg\STM32Cube\Repository\STM32Cube_FW_WB_V1.10.1\Projects\STM32WB_Copro_Wireless_Binaries\STM32WB5x\stm32wb5x_FUS_fw_1_0_2.bin
After that i was able to flash stm32wb5x_FUS.bin in 0x080EC000
\STM32Cube\Repository\STM32Cube_FW_WB_V1.12.1\Projects\STM32WB_Copro_Wireless_Binaries\STM32WB5x\stm32wb5x_FUS_fw.bin
.......
09:45:45 : File download complete
09:45:45 : Time elapsed during download operation: 00:00:00.675
09:45:45 : Firmware Upgrade process started ...
09:45:46 : Application is running
09:45:56 : Reconnecting...
09:45:56 : Reconnected !
09:45:56 : Firmware Upgrade Success
After the correct FUS was in place now i could load
STM32Cube\Repository\STM32Cube_FW_WB_V1.12.1\Projects\STM32WB_Copro_Wireless_Binaries\STM32WB5x\stm32wb5x_BLE_Stack_full_fw.bin
09:50:18 : File download complete
09:50:18 : Time elapsed during download operation: 00:00:03.774
09:50:18 : Firmware Upgrade process started ...
09:50:18 : Application is running
09:50:29 : Reconnecting...
09:50:29 : Reconnected !
09:50:29 : Firmware Upgrade Success
2021-09-08 04:07 AM
Fus update returns same error
2021-09-08 04:12 AM
When trying to flash fus binary the same thing happens: Error: Firmware not authentic!
logs:
13:09:26 : USB speed : Full Speed (12MBit/s)
13:09:26 : Manuf. ID : STMicroelectronics
13:09:26 : Product ID : DFU in FS Mode
13:09:26 : SN : 2055327B544E
13:09:26 : FW version : 0x011a
13:09:26 : Device ID : 0x0495
13:09:27 : UPLOADING OPTION BYTES DATA ...
13:09:27 : Bank : 0x00
13:09:27 : Address : 0x1fff8000
13:09:27 : Size : 128 Bytes
13:09:27 : UPLOADING ...
13:09:27 : Size : 1024 Bytes
13:09:27 : Address : 0x8000000
13:09:27 : Read progress:
13:09:27 : Data read successfully
13:09:27 : Time elapsed during the read operation is: 00:00:00.006
13:09:30 : FUS state is FUS_IDLE
13:09:30 : FUS status is FUS_NO_ERROR
13:09:30 : Read FUS state command execution finished
13:09:30 : UPLOADING ...
13:09:30 : Size : 4 Bytes
13:09:30 : Address : 0x20030030
13:09:30 : Read progress:
13:09:30 : Data read successfully
13:09:30 : Time elapsed during the read operation is: 00:00:00.005
13:10:43 : FUS state is FUS_IDLE
13:10:43 : FUS status is FUS_NO_ERROR
13:10:45 : Old Firmware delete ...
13:10:45 : Deleting firmware ...
13:10:46 : Firmware delete finished
13:10:46 : FUS state is FUS_SERVICE_ONGOING
13:10:46 : FUS status is FUS_IMAGE_NOT_FOUND
13:10:49 : FUS state is FUS_IDLE
13:10:49 : FUS status is FUS_NO_ERROR
13:10:51 : Download Stack/FUS image at address 0x80ec000 ...
13:10:51 : Memory Programming ...
13:10:51 : Opening and parsing file: stm32wb5x_FUS_fw_for_fus_0_5_3.bin
13:10:51 : File : stm32wb5x_FUS_fw_for_fus_0_5_3.bin
13:10:51 : Size : 24492 Bytes
13:10:51 : Address : 0x080EC000
13:10:51 : Erasing memory corresponding to segment 0:
13:10:51 : Erasing internal memory sectors [236 241]
13:10:51 : erasing sector 0236 @: 0x080ec000 done
13:10:51 : erasing sector 0237 @: 0x080ed000 done
13:10:51 : erasing sector 0238 @: 0x080ee000 done
13:10:51 : erasing sector 0239 @: 0x080ef000 done
13:10:51 : erasing sector 0240 @: 0x080f0000 done
13:10:51 : erasing sector 0241 @: 0x080f1000 done
13:10:51 : Download in Progress:
13:10:52 : File download complete
13:10:52 : Time elapsed during download operation: 00:00:00.534
13:10:52 : FUS state is FUS_IDLE
13:10:52 : FUS status is FUS_NO_ERROR
13:10:54 : Firmware Upgrade process started ...
13:10:54 : Updating firmware ...
13:10:54 : Waiting for firmware upgrade end
13:10:54 : FUS state is WIRELESS_STACK_UPGRADE_ONGOING
13:10:54 : FUS status is FUS_NO_ERROR
13:10:57 : FUS state is WIRELESS_STACK_UPGRADE_ONGOING
13:10:57 : FUS status is FUS_IMAGE_NOT_AUTHENTIC
13:10:57 : Error: Firmware not authentic!
2021-09-08 04:17 AM
if i use stlink interface i get Error: FUS_STATE_IMG_NOT_AUTHENTIC
13:16:19 : ST-LINK SN : 0669FF303430484257144011
13:16:19 : ST-LINK FW : V2J38M27
13:16:19 : Board : P-NUCLEO-WB55
13:16:19 : Voltage : 3.27V
13:16:19 : SWD freq : 4000 KHz
13:16:19 : Connect mode: Under Reset
13:16:19 : Reset mode : Hardware reset
13:16:19 : Device ID : 0x495
13:16:19 : Revision ID : Rev Y
13:16:19 : UPLOADING OPTION BYTES DATA ...
13:16:19 : Bank : 0x00
13:16:19 : Address : 0x58004020
13:16:19 : Size : 96 Bytes
13:16:19 : Bank : 0x01
13:16:19 : Address : 0x58004080
13:16:19 : Size : 8 Bytes
13:16:19 : UPLOADING ...
13:16:19 : Size : 1024 Bytes
13:16:19 : Address : 0x8000000
13:16:19 : Read progress:
13:16:19 : Data read successfully
13:16:19 : Time elapsed during the read operation is: 00:00:00.007
13:16:36 : Download Stack/FUS image at address 0x80ec000 ...
13:16:36 : Memory Programming ...
13:16:36 : Opening and parsing file: stm32wb5x_FUS_fw_for_fus_0_5_3.bin
13:16:36 : File : stm32wb5x_FUS_fw_for_fus_0_5_3.bin
13:16:36 : Size : 24492 Bytes
13:16:36 : Address : 0x080EC000
13:16:36 : Erasing memory corresponding to segment 0:
13:16:36 : Erasing internal memory sectors [236 241]
13:16:36 : Download in Progress:
13:16:36 : File download complete
13:16:36 : Time elapsed during download operation: 00:00:00.651
13:16:36 : Verifying ...
13:16:36 : Read progress:
13:16:36 : Download verified successfully
13:16:36 : Firmware Upgrade process started ...
13:16:36 : Warning: Option Byte: nSWboot0, value: 0x0, was not modified.
13:16:36 : Warning: Option Byte: nboot0, value: 0x1, was not modified.
13:16:36 : Warning: Option Byte: nboot1, value: 0x1, was not modified.
13:16:36 : Warning: Option Bytes are unchanged, Data won't be downloaded
13:16:36 : Succeed to set nSWboot0=0 nboot1=1 nboot0=1
13:16:36 : Memory Programming ...
13:16:36 : Opening and parsing file: 0x495_FUS_Operator.bin
13:16:36 : File : 0x495_FUS_Operator.bin
13:16:36 : Size : 11584 Bytes
13:16:36 : Address : 0x08000000
13:16:36 : Erasing memory corresponding to segment 0:
13:16:36 : Erasing internal memory sectors [0 2]
13:16:36 : Download in Progress:
13:16:37 : File download complete
13:16:37 : Time elapsed during download operation: 00:00:00.375
13:16:37 : Application is running
13:16:47 : Reconnecting...
13:16:47 : Reconnected !
13:16:47 : Error: FUS_STATE_IMG_NOT_AUTHENTIC
2021-09-09 12:01 AM
Same error when trying v1.10.1 in addr 0x080CB000
\STM32Cube\Repository\STM32Cube_FW_WB_V1.10.1\Projects\STM32WB_Copro_Wireless_Binaries\STM32WB5x\stm32wb5x_BLE_Stack_full_fw.bin
2021-09-09 12:20 AM
they had a similar problem 2 years ago https://community.st.com/s/question/0D50X0000Ay9bkdSQA/stm32wb-fus-update-fail-from-101-to-102
2021-09-09 12:37 AM
The main issue was, i was using cubeProgrammer v2.6 instead of v2.8, all the documentation made no sense to me because of that.
But i managed to do it with v2.6 :
AFTER TWO DAYS I found the correct rain-dance
first i needed to download a previous FW package flash the Fus firmware 1.0.2
C:\Users\joseg\STM32Cube\Repository\STM32Cube_FW_WB_V1.10.1\Projects\STM32WB_Copro_Wireless_Binaries\STM32WB5x\stm32wb5x_FUS_fw_1_0_2.bin
After that i was able to flash stm32wb5x_FUS.bin in 0x080EC000
\STM32Cube\Repository\STM32Cube_FW_WB_V1.12.1\Projects\STM32WB_Copro_Wireless_Binaries\STM32WB5x\stm32wb5x_FUS_fw.bin
.......
09:45:45 : File download complete
09:45:45 : Time elapsed during download operation: 00:00:00.675
09:45:45 : Firmware Upgrade process started ...
09:45:46 : Application is running
09:45:56 : Reconnecting...
09:45:56 : Reconnected !
09:45:56 : Firmware Upgrade Success
After the correct FUS was in place now i could load
STM32Cube\Repository\STM32Cube_FW_WB_V1.12.1\Projects\STM32WB_Copro_Wireless_Binaries\STM32WB5x\stm32wb5x_BLE_Stack_full_fw.bin
09:50:18 : File download complete
09:50:18 : Time elapsed during download operation: 00:00:03.774
09:50:18 : Firmware Upgrade process started ...
09:50:18 : Application is running
09:50:29 : Reconnecting...
09:50:29 : Reconnected !
09:50:29 : Firmware Upgrade Success
2021-09-09 06:15 AM
The mandatory steps to properly upgrade the FUS (and the the FW stack) is described in the releases notes of the wireless stacks under the \Projects\STM32WB_Copro_Wireless_Binaries\STM32WB5x directory.
2021-09-09 06:45 AM
The Mandatory steps didnt helped me at all and this is why:
What i think happened here is there is a hash identifying Fw versions, at some point of ST development that hash was changed, and now i need to flash an old FUS firmware -> to flash the new FUs firmware -> to flash the BLE stack firmware.
2021-09-09 07:01 AM
Please use the CubeProgrammer V2.8 version which ahs the "Start FUS" button and is able to read the FUS state even via the SWD port. This was not the case with version 2.6 or earlier.
Now the binary file to use depends on the GFUS version currently available on your board.
For this, you need to read the FUS version either via the User USB port in DFU mode or via the STLINK USB connector (=SWD port) but only with CubeProgrammer v.8.
One hint you can use is to read the SFSA option byte: If it is 0xF6, then it is v0.5.3. If it is 0xF4 then it is a more recent version.
If it is v0.5.3 then use the FUS_fw_for_fus_0_5_3.bin file. If not use the other one.
“Firmware not authentic�? error message can absolutely result from the fact that an old version of FUS is installed on your board with an old decryption key that does not match a new one used to encrypt the new FW stack .