Issues with HCI on STM32WB1MMC / STM32WB55RG – Unrecognized Commands
Hi everyone,
I’ve been working with the STM32WB1MMC module and I’m running into several issues related to HCI command support over UART.
1. Using stm32wb1x_BLE_HCILayer_fw.bin
I started by flashing the binary found here:
STM32CubeWB/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB1x
Unfortunately, the module doesn’t respond to any HCI commands over UART.
Is this binary supposed to work standalone, or does it require an application to map the UART interface?
I’ve tried several UART ports but haven’t received any response so far.
2. Testing Transparent Mode
To explore alternatives, I looked into the Transparent Mode example from ST:
STM32CubeWB/Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_TransparentMode
According to the documentation, this application should allow controlling the MCU directly via HCI commands when used with the XX-BLE_Stack_full_fw.bin binary.
Since the project is only available for the Nucleo-WB55RG (not for the WB1MMC module), I ran tests on the WB55RG instead, which I had on hand.
Using CubeMonitorRF over USB, I managed to send and receive some HCI commands like RESET and HCI_READ_LOCAL_VERSION_INFORMATION. However, other basic commands — such as HCI_READ_LOCAL_SUPPORTED_FEATURES — return "unknown command".
3. Zephyr Integration Problem
The HCI_READ_LOCAL_SUPPORTED_FEATURES command is required by Zephyr during Bluetooth stack initialization.
I tested with Zephyr running on a Nucleo-H563ZI (STM32H5) as HCI master, and the WB55RG as the HCI slave via UART. The WB55RG still responded with "unknown command", which causes Zephyr to crash at startup.
I also noticed that several other HCI commands fail in the same way.
4. Trying the Extended BLE Stack
I followed ST’s suggestion to try the BLE_Stack_full_extended_fw.bin binary, which supposedly includes broader HCI support.
However, when I pair it with the Transparent Mode application, I get no response at all over UART.
Here’s the flashing process I followed:
Full flash erase
Flash the BLE stack at the correct address
Start the stack
Flash the Transparent Mode application
Still, no success.
Questions
Is the stm32wbxx_BLE_HCILayer_fw.bin binary usable without a specific application to map UART?
Is the Transparent Mode example expected to support a complete set of HCI commands?
Are there known limitations to the available HCI command set in the BLE full or extended stacks?
What is the recommended combination of stack + application to get a fully functional HCI interface over UART, compatible with Zephyr?
Thanks in advance for your help !
