Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bluetooth: controller: Fix unexpected low TX power with FEM connected #10143

Merged
merged 2 commits into from
Feb 7, 2023

Conversation

rugeGerritsen
Copy link
Contributor

Solved by setting the default radio output power when enabling Bluetooth. That is, after the FEM is initialized.

Previously the initial default radio output power would be selected as if there was no FEM connected. For example 6 dBm.
Then, when packets are to be transmitted, we would recalculate how much power we would need on the outputting device. That is, 6 dBm minus the FEM gain.

Signed-off-by: Rubin Gerritsen rubin.gerritsen@nordicsemi.no

@github-actions github-actions bot added the changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added. label Feb 2, 2023
@NordicBuilder
Copy link
Contributor

NordicBuilder commented Feb 2, 2023

Test specification

CI/Jenkins/NRF

  • Integration Platforms

CI/Jenkins/integration

Test Module File based changes Manually selected West overwrite
test-fw-nrfconnect-ble X
test-fw-nrfconnect-ble_samples X
test-fw-nrfconnect-chip X
test-fw-nrfconnect-zigbee X
test-sdk-find-my X
test-sdk-homekit X

Detailed information of selected test modules

Note: This message is automatically posted and updated by the CI

@jciupis
Copy link

jciupis commented Feb 3, 2023

I'd suggest to rephrase the commit message to better reflect the issue being fixed.

Previously the initial default output power would be selected as if there was no FEM connected.
For example, suppose that the application requested 20dBm power at the antenna. Even though
such power could be achievable using the configured front-end module, that power would first
be converted to the maximum output power supported by the SoC, which usually is much lower.
Then, when the device transmitted frames, this decreased power would be treated as the requested
power and divided between the radio and the external PA.

This commit fixes that by setting the default radio output power when enabling Bluetooth,
when the FEM driver is already initialized. This way the controller takes FEM into account in its
initial output power calculation.

Copy link

@jciupis jciupis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We probably need to mention the issue in known issues and the fix in release notes changelog.

@github-actions github-actions bot added the doc-required PR must not be merged without tech writer approval. label Feb 3, 2023
@NordicBuilder
Copy link
Contributor

You can find the documentation preview for this PR at this link. It will be updated about 10 minutes after the documentation build succeeds.

Note: This comment is automatically posted by the Documentation Publishing GitHub Action.

@@ -2212,6 +2212,11 @@ SoftDevice Controller

In addition to the known issues listed here, see also :ref:`softdevice_controller_limitations` for permanent limitations.

.. rst-class:: v2-2-0 v2-1-3 v2-1-2 v2-1-1 v2-1-0

DRGN-18568: Lower radio output power when :kconfig:option:`BT_CTLR_TX_PWR_ANTENNA` and :kconfig:option:`MPSL_FEM` is used.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This also applies to CONFIG_BT_CTLR_TX_PWR so maybe this statement should be generalized a bit. Something like "when setting a default TX power and :kconfig:option:MPSL_FEM is used.". Or both kconfigs could be mentioned.

@rugeGerritsen rugeGerritsen added this to the 2.3.0 milestone Feb 4, 2023
@rugeGerritsen rugeGerritsen force-pushed the fix_sdc_default_power branch 2 times, most recently from b943db9 to 000efd2 Compare February 6, 2023 11:20
Previously the initial default output power would be selected as if
there was no FEM connected. For example, suppose that the application
requested 20dBm power at the antenna. Even though such power could be
achievable using the configured front-end module, that power would first
be converted to the maximum output power supported by the SoC,
which usually is much lower. Then, when the device transmitted frames,
this decreased power would be treated as the requested
power and divided between the radio and the external PA.

This commit fixes that by setting the default radio output power when
enabling Bluetooth, when the FEM driver is already initialized.
This way the controller takes FEM into account in its initial output
power calculation.

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
doc/nrf/known_issues.rst Outdated Show resolved Hide resolved
doc/nrf/known_issues.rst Outdated Show resolved Hide resolved
DRGN-18568 causes the wrong output power to be selected.

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
@nordicjm nordicjm merged commit 6c06a2e into nrfconnect:main Feb 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added. doc-required PR must not be merged without tech writer approval.
Projects
None yet
7 participants