After flashing firmware to STM32WB5MMG, commands return error codes regardless of which firmware type is flashed:
With HCI Layer firmware (stm32wb5x_BLE_HCILayer_fw.bin):
HCI commands return 0x01 (Unknown HCI Command)
With Full BLE Stack Extended firmware (stm32wb5x_BLE_Stack_full_extended_fw.bin):
aci_gap_set_non_discoverable(); // Returns 0x0C (Command Disallowed)
aci_gap_ext_start_scan(...); // Returns 0x01 (Unknown HCI Command)
aci_gap_start_observation_proc(...); // Returns 0x01 (Unknown HCI Command)
Configuration
- Device: STM32WB5MMG
- FUS: 1.2.0
- Both firmware files flashed to 0x080CA000 and verified
- App Config: Adjusted appropriately for each firmware type
- Result: Both report "Wireless Firmware version 1.20.0 build 2"
What Works
- Non-connectable advertising (ADV_NONCONN_IND) works fine with both firmware types
- Basic BLE stack initialization succeeds
- Why do both firmware types fail to activate despite successful flashing?
- Is FUS 1.2.0 incompatible with both modern firmware types?
- What could prevent firmware activation after successful flash verification?
- Why does advertising work but scanning/HCI commands don't?
The fact that non-connectable advertising works suggests basic BLE functionality exists, but neither HCI commands nor GAP scanning commands are recognized.