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

boards: silabs: add default uart-pipe options #81702

Merged

Conversation

kedMertens
Copy link
Contributor

@kedMertens kedMertens commented Nov 21, 2024

Adds overlay and config files to tester app for xg24_rb4187c silabs board. Overlay enables uart for BTP communication and config file enables RTT logging.

Reworked the PR to enable for all silabs boards a default option for uart-pipe driver.
Added a Kconfig for tinycrypt ecc to be able to use SM features with xg24_rb4187c. There is an ongoing work that will provide a proper way to enable it for all boards #81776

@zephyrbot zephyrbot added area: Bluetooth area: Bluetooth Qualification Bluetooth Qualification -related issues and pull requests labels Nov 21, 2024
Copy link

Hello @kedMertens, and thank you very much for your first pull request to the Zephyr project!
Our Continuous Integration pipeline will execute a series of checks on your Pull Request commit messages and code, and you are expected to address any failures by updating the PR. Please take a look at our commit message guidelines to find out how to format your commit messages, and at our contribution workflow to understand how to update your Pull Request. If you haven't already, please make sure to review the project's Contributor Expectations and update (by amending and force-pushing the commits) your pull request if necessary.
If you are stuck or need help please join us on Discord and ask your question there. Additionally, you can escalate the review when applicable. 😊

@jhedberg
Copy link
Member

@kedMertens thanks! There seems to be a bunch of Compliance check failures - please fix those.

@kedMertens
Copy link
Contributor Author

@kedMertens thanks! There seems to be a bunch of Compliance check failures - please fix those.

Sorry about that, didn't setup pre hooks to check locally, I'm on it.

Copy link
Contributor

@jerome-pouiller jerome-pouiller left a comment

Choose a reason for hiding this comment

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

I am not a specialist of the Zephyr test system, but this PR looks good.

@jerome-pouiller
Copy link
Contributor

I believe this change is not sufficient to have xg24_rb4187c included in the CI. Am I right? Is it expected? Do we need to list xg24_rb4187c in testcase.yaml?

@kedMertens
Copy link
Contributor Author

I believe this change is not sufficient to have xg24_rb4187c included in the CI. Am I right? Is it expected? Do we need to list xg24_rb4187c in testcase.yaml?

Not sure, the tester app is meant to be used for running qualification tests with auto-pts framework. Do you mean that there is a CI job to build the app?

@Thalley
Copy link
Collaborator

Thalley commented Nov 21, 2024

I believe this change is not sufficient to have xg24_rb4187c included in the CI. Am I right? Is it expected? Do we need to list xg24_rb4187c in testcase.yaml?

Not sure, the tester app is meant to be used for running qualification tests with auto-pts framework. Do you mean that there is a CI job to build the app?

Indeed.

You need to add the platform to https://github.com/zephyrproject-rtos/zephyr/blob/main/tests/bluetooth/tester/testcase.yaml if you want CI to build it

@jhedberg
Copy link
Member

You need to add the platform to https://github.com/zephyrproject-rtos/zephyr/blob/main/tests/bluetooth/tester/testcase.yaml if you want CI to build it

The upstream CI policy is to never build any configuration that depends on binary blobs, and this board is such a configuration (the Silabs Bluetooth Link Layer is binary-only in a Zephyr context). Is there a risk that upstream CI might try to build this configuration if it's added? If yes, then it shouldn't be added there, rather there should just be a forced explicit platform selection in downstream CI.

@zephyrbot zephyrbot added platform: Silabs SiM3U Silicon Labs SiM3U platform: Silabs Silicon Labs labels Nov 25, 2024
@kedMertens kedMertens changed the title tests: Bluetooth: tester: add xg24_rb4187c board boards: silabs: add default uart-pipe options Nov 25, 2024
@jhedberg jhedberg assigned jhedberg and unassigned sjanc Nov 25, 2024
@Thalley Thalley removed their request for review November 25, 2024 14:14
@jhedberg
Copy link
Member

@kedMertens #79931 was merged, so you need to update all BT_TINYCRYPT_ECC references to BT_SEND_ECC_EMULATION

Add uart-pipe driver default option in device trees for silabs boards.
It enables vcom for the boards, handy to have for sample application, for
example tester app.

Signed-off-by: Evgenii Kosenko <[email protected]>
@kedMertens
Copy link
Contributor Author

kedMertens commented Nov 28, 2024

@kedMertens #79931 was merged, so you need to update all BT_TINYCRYPT_ECC references to BT_SEND_ECC_EMULATION

Simple renaming is not enough. Tried against a known passing pts test and get:

00> [00:00:00.000,152] <dbg> bttester: tester_init: Initializing tester
00> [00:00:00.081,542] <dbg> bttester: cmd_handler: cmd service 0x00 opcode 0x03 index 0xff
00> [00:00:00.085,784] <wrn> bt_hci_core: Controller to host flow control not supported
00> [00:00:00.087,585] <dbg> bt_smp: bt_smp_init: LE SC enabled
00> [00:00:00.087,646] <wrn> net_buf: Timeout discarded. No blocking in syswq
00> [00:00:00.087,799] <inf> bt_hci_core: Identity: 84:FD:27:64:AB:4A (public)
00> [00:00:00.087,829] <inf> bt_hci_core: HCI: version 5.4 (0x0d) revision 0x0000, manufacturer 0x02ff
00> [00:00:00.087,860] <inf> bt_hci_core: LMP: version 5.4 (0x0d) subver 0x0000
00> [00:00:00.087,860] <dbg> bttester: tester_rsp_with_index: service 0x00 opcode 0x03 index 0xff status 0x00
00> [00:00:00.131,896] <dbg> bttester: cmd_handler: cmd service 0x01 opcode 0x03 index 0x00
00> [00:00:00.132,171] <err> bt_host_crypto: AES encryption failed
00> [00:00:00.132,202] <err> bt_host_crypto: status -141
00> [00:00:00.132,232] <wrn> bt_id: Failed to update RPA address (-5)

Error -141 is mbedtls PSA_ERROR_INSUFFICIENT_MEMORY, most likely related to #82217
Will try to rebase locally on top of it and test.

UPD:
Confirmed #82217 fixes insufficient_memory

Adds CONFIG_BT_SEND_ECC_EMULATION on silabs bluetooth boards.

Signed-off-by: Evgenii Kosenko <[email protected]>
@kartben kartben merged commit 38e799f into zephyrproject-rtos:main Nov 29, 2024
37 checks passed
Copy link

Hi @kedMertens!
Congratulations on getting your very first Zephyr pull request merged 🎉🥳. This is a fantastic achievement, and we're thrilled to have you as part of our community!

To celebrate this milestone and showcase your contribution, we'd love to award you the Zephyr Technical Contributor badge. If you're interested, please claim your badge by filling out this form: Claim Your Zephyr Badge.

Thank you for your valuable input, and we look forward to seeing more of your contributions in the future! 🪁

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: Bluetooth Qualification Bluetooth Qualification -related issues and pull requests area: Bluetooth platform: Silabs SiM3U Silicon Labs SiM3U platform: Silabs Silicon Labs
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants