Replies: 6 comments
-
@piotrParf In order to ease support, can you provide the changes you've made to |
Beta Was this translation helpful? Give feedback.
-
Hi @erwango,
and for ipm
|
Beta Was this translation helpful? Give feedback.
-
@piotrParf I'm converting this point to a discussion as the feature isn't available in upstream, so that isn't actually bug but we'll try to follow up on support |
Beta Was this translation helpful? Give feedback.
-
Hello @piotrParf :) ! |
Beta Was this translation helpful? Give feedback.
-
We are using our specific code. I will check if i can easily reproduce this issue in Multiple Broadcaster.
And the usecase is something like this(we are using userspace syscalls etc. - so I present simplified code):
|
Beta Was this translation helpful? Give feedback.
-
I got a response from ST engineers that the BT_HCI_LE_ADV_TX_POWER_NO_PREF parameter set in the extended advertising setup will handle the default tx power value set by ACI_HAL_SET_TX_POWER_LEVEL in the upcoming release of radio firmware for STM32WB55 |
Beta Was this translation helpful? Give feedback.
-
Describe the bug
We are using the STM32WB55 platform and extended advertising API for starting legacy advertising. We are using Zephyr 3.4.0.
Before starting any advertising we issue the ST-specific ACI command (application note AN5270 - ACI_HAL_SET_TX_POWER_LEVEL) to set TX power and we are setting it to a low value for example -20dbm(value 0x01 in mentioned command description).
When starting advertising using extended advertising API we observe that there is no difference of observed RSSI at sniffer if the power is set to 0dbm or -20dbm.
What was observed is that STM32WB55 is reacting wrong in le_ext_adv_param_set(file: zephyr/subsys/bluetooth/host/adv.c ) function to:
The BLE controller should take preference from "global" power but it returns in this part of the code:
value of rp->tx_power=0x06.
When we manually changed the value like below:
the returned power is 0xeb = -21. So it is close to the demanded value. And the observed RSSI changes accordingly.
The first problem is that there are no means to change the cp->tx_power by API while it should be possible as in structure "struct bt_le_ext_adv" there is field tx_power and it seems unused at this moment. At this moment this value is hardcoded to BT_HCI_LE_ADV_TX_POWER_NO_PREF;
The second problem is that the ST BLE controller is reacting wrong to the BT_HCI_LE_ADV_TX_POWER_NO_PREF value while according to BLE standard it should not care for this value and use the "global" setting
Expected behavior
Advertising should start with globally set TX power.
Impact
It is impossible to change TX power using extended advertising API with STM32WB55. Higher power usage during advertising. Issues on algorithms relying on RSSI.
Environment (please complete the following information):
Additional context
We have changed /modules/hal/stm32/lib/stm32wb/hci/app_conf.h and zephyr/drivers/bluetooth/hci/ipm_stm32wb.c files to turn on the Extended Advertising in Zephyr 3.4.0
Beta Was this translation helpful? Give feedback.
All reactions