Skip to main content
nortowianski
Associate II
September 11, 2025
Solved

hci_reset() fails on 2.0.0 X-CUBE-WB05N version

  • September 11, 2025
  • 1 reply
  • 225 views

I want to upgrade the WB05N chip on my custom board.
I downloaded X-CUBE-WB05N v2.0.0 and programmed the chip with BLE_TransparentMode_SPI_with_Updater.hex (I am using SPI on my board).
I selected the Verify and Run after programming options. The download verified successfully, but when I call hci_reset() I get a timeout.

Additionally, when I compare the BLE_TransparentMode_SPI_with_Updater.hex file with the image read back from the module, there are differences.
With version 1.0.0 everything works fine (image comparison is identical).

Do you have any ideas what might be wrong?

Best answer by nortowianski

Reply from ST solving the problem:

Checking differences around SPI between X-CUBE-WB05N v1 and V2.

I noticed that pull config on SPI clock is different on host side :

V1 :

static void SPI1_MspInit(SPI_HandleTypeDef* spiHandle)
{
[...] 
 
 GPIO_InitStruct.Pin = BUS_SPI1_SCK_GPIO_PIN;
 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
 GPIO_InitStruct.Pull = GPIO_NOPULL; //V1.0 is no pull ... V2.0 is defined with GPIO_PULLUP
 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
 GPIO_InitStruct.Alternate = BUS_SPI1_SCK_GPIO_AF;
 HAL_GPIO_Init(BUS_SPI1_SCK_GPIO_PORT, &GPIO_InitStruct);

Could you please have a new trial by modifying the pull config for the SPI clk config on your host ? A pull-up is required from my checks.

1 reply

nortowianski
nortowianskiAuthorBest answer
Associate II
September 15, 2025

Reply from ST solving the problem:

Checking differences around SPI between X-CUBE-WB05N v1 and V2.

I noticed that pull config on SPI clock is different on host side :

V1 :

static void SPI1_MspInit(SPI_HandleTypeDef* spiHandle)
{
[...] 
 
 GPIO_InitStruct.Pin = BUS_SPI1_SCK_GPIO_PIN;
 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
 GPIO_InitStruct.Pull = GPIO_NOPULL; //V1.0 is no pull ... V2.0 is defined with GPIO_PULLUP
 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
 GPIO_InitStruct.Alternate = BUS_SPI1_SCK_GPIO_AF;
 HAL_GPIO_Init(BUS_SPI1_SCK_GPIO_PORT, &GPIO_InitStruct);

Could you please have a new trial by modifying the pull config for the SPI clk config on your host ? A pull-up is required from my checks.