Dynamic Tx power control issue with FEM-enabled boards

Hi!

I have a custom board with nRF52832 and SKY66114-11 FEM. The project requires dynamic TX power control, so I added the set_tx_power() function from the example LINK.

This works well, but only if I add CONFIG_BT_LL_SW_SPLIT=y in my prj.cfg. In other words, use Zephyr Bluetooth Controller instead of SofDevice.

I can live with that, but then I was faced with scan issues. I assume it is because of Zephyr Bluetooth Controller is not capable of controlling FEM.

I return to SoftDevice, but when I try to set tx power, it returns me only two values +2dBm and -18dbM. If I build the same code for nrf52dk_nrf52832 it works well and sets all possible TX powers correctly.

Then I found this documentation https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.5.0/nrf/device_guides/working_with_fem.html, but when I use CONFIG_MPSL=y and CONFIG_MPSL_FEM_ONLY=y build fails at linker stage with the following error:

e:/code/ncs/toolchains/c57af46cb7/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd.exe: modules/nrf/subsys/bluetooth/controller/lib..__nrf__subsys__bluetooth__controller.a(hci_driver.c.obj): in function `mpsl_work_submit':
E:/code/ncs/v2.5.0/nrf/include/mpsl/mpsl_work.h:49: undefined reference to `mpsl_work_q'

How should I configure the project with SoftDevice Controller, Skyworks FEM and Dynamic TX power control?

Related