Commit graph

19212 commits

Author SHA1 Message Date
Jamie McCrae
031f9f2943 mgmt: mcumgr: grp: img_mgmt: Add optional image slot state callback
Adds an optional callback which can be used to append custom
fields to the image slot state command response

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2024-08-22 14:22:49 -04:00
Jonathan Rico
4bdca17e21 Bluetooth: OTS: Use proper kconfig log option
`OTS_CLIENT=y` and `OTS=n` is a valid config.

Since the logs weren't conditionally included, this flew under the radar
for a while.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-08-21 16:44:44 -04:00
Jonathan Rico
3324eecbae Bluetooth: Re-organize logging Kconfig options
- got rid of "Others" menu
- JK I made a new one: "Common"
- moved all host-related opts to "Host" instead of "Others"
- moved all audio-related opts behind `if BT_AUDIO`
- moved only controller kconfig to controller/Kconfig.ll_sw_split
  - it had a dependency there already

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-08-21 16:44:44 -04:00
Jonathan Rico
f7631d4b4a Bluetooth: Conditionally include logging Kconfigs
Having all the configs be visible by default clutters the menuconfig
view. Make them visible only when the corresponding subsys or module is
enabled.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-08-21 16:44:44 -04:00
Fin Maaß
807a726a7f net: config: add missing include
this adds a missing include of zephyr/net/net_if.h

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2024-08-21 16:44:06 -04:00
Jukka Rissanen
8284ea7b11 net: shell: Move bridge shell under net shell
All the network related shell activities should be under
network shell so moving it to "net bridge ..." command.
Add this information to migration guide.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-08-21 18:27:14 +01:00
Tomasz Moń
b7664f27c8 usb: device_next: Make stack High-Bandwidth aware
Add macros for converting between Max Packet Size and total payload
length. Allow drivers specify whether endpoint supports high-bandwidth
interrupt and high-bandwidth isochronous transfers.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2024-08-21 18:25:30 +01:00
Tomasz Moń
e333739f3a usb: device_next: hid: Simplify MPS less than 65 detection
Use COND_CODE_1() instead of UTIL_AND() to make it possible to only
define the HID_MPS_LESS_65_ macros up to value 64.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2024-08-21 18:25:30 +01:00
Tomasz Moń
60835aa393 usb: Add missing wMaxPacketSize endian conversions
wMaxPacketSize in endpoint descriptor is stored in little-endian order,
but the mps parameter passed to functions is in host order.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2024-08-21 18:25:30 +01:00
Fin Maaß
b7ab025bfd shell: backends: uart: add option to force tx blocking
This adds a kconfig option to force
tx blocking on serial. This way only rx
will use the interrupt.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2024-08-21 18:25:14 +01:00
Joel Guittet
4c16ec1fba net: websocket: fix undefined reference
Fix undefined reference to MSG_DONTWAIT while building websocket client.

Signed-off-by: Joel Guittet <joelguittet@gmail.com>
2024-08-21 08:58:57 +02:00
Jonathan Rico
6b6c4333b7 Bluetooth: doc: update kconfig docstring
CONFIG_BT_CONN_TX_USER_DATA_SIZE is now used for callbacks in the host.
We don't want to limit ourselves to that, so change the wording to be
more generic.
In the future, the plan is to not use user_data at all, removing the
need for the kconfig altogether.

Also rename the structure that was referenced in the docstring.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-08-20 19:58:39 -04:00
Jordan Yates
2c52f9ee6e disk: sdmmc: power off card in DISK_IOCTL_CTRL_DEINIT
Power off the SD card in `DISK_IOCTL_CTRL_DEINIT`, instead of only
waiting for the card to be idle then doing nothing. This is a safer
state for `DISK_IOCTL_CTRL_DEINIT`, which is documented as preparing the
disk to be removed from the system. It also has the advantage of
lowering power consumption while de-initialized.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2024-08-20 19:42:37 -04:00
Łukasz Duda
6eb1e652de net: openthread: Fix the handling of address state changes
This commit ensures that the state of the address can be changed from
the Deprecated state to the Preferred state.

Additionally, an issue with improper memory comparison size for the mesh
local prefix has been fixed.

Signed-off-by: Łukasz Duda <lukasz.duda@nordicsemi.no>
2024-08-20 19:42:13 -04:00
Nithin Ramesh Myliattil
baa5683e59 bluetooth: BAS: add battery level status char to bas service
Added the battery level status char to bas service
as per bas_1.1 spec. Added BSIM test for BAS service
to test the NTF/INDs of BAS characteristics.

Signed-off-by: Nithin Ramesh Myliattil <niym@demant.com>
2024-08-20 18:59:14 -04:00
Muhammad Haziq
5ef05081af net: dhcpv4_server: dns server option
dhcv4 server was not providing the dns server details to the
client because dns option was handled. Added the dns server
option to be send to the client as response form dhcpv4 server

Signed-off-by: Muhammad Haziq <muhammad.haziq@zintechnologies.com>
2024-08-20 18:58:40 -04:00
Jan Müller
c910520f4d Bluetooth: Host: Rework enabling of scanner
To make the scanner module more understandable and more streamlined, I
reworked the update mechanism of the scanner. The scanner tracks now the
parameters that were used to enable it and the reason why it is running.
This facilitates state logic and allows other modules to "start the
scanner", altough it is already running.
This is mostly a refactoring and not a functional change.

Added a test to verify the behavior.

Signed-off-by: Jan Müller <jan.mueller@nordicsemi.no>

add to task
2024-08-20 14:54:25 -04:00
Kyra Lengfeld
0a7908588c Bluetooth: Mesh: add Kconfig options for BLOB chunk size
The MBT server, as the MBT client currently sets the maximum chunk size
according to maximum supported segments in the accesss layer. This might
be suboptimal for some use cases.
The added Kconfig options give customers the option to fine tune it
themselves.

Future work will include addition of an API for the customer to modify
it also during runtime.

Signed-off-by: Kyra Lengfeld <kyra.lengfeld@nordicsemi.no>
2024-08-20 14:45:57 +02:00
Chang An
e8db417a00 LE Audio: add conn parameter for bt_vcp_vol_rend_cb
Add conn parameter to status/flags callbacks of bt_vcp_vol_rend_cb
to differentiate between remote and local changes.

Signed-off-by: Chang An <chang.an_1@nxp.com>
2024-08-20 14:45:35 +02:00
Yong Cong Sin
44c070fdcd subsys/profiling: fix extra frame in the traces
Check if the frame is within the text address before saving
into the buffer, this eliminates the extra, uninitialized frame
at the end of the unwind.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
2024-08-20 14:45:23 +02:00
Yong Cong Sin
42362c6fcc subsys/profiling: relocate stack unwind backends
Relocate stack unwind backends from `arch/` to perf's
`backends/` folder, just like logging/shell/..

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
2024-08-20 14:45:23 +02:00
Yong Cong Sin
74537fc87a subsys/profiling: SYS_INIT not required
The timer & dwork can be statically initialized,
SYS_INIT is not strictly required.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
2024-08-20 14:45:23 +02:00
Yong Cong Sin
af7eb76ba4 subsys/profiling: shell cmd function should be static
These shell cmd function should be static.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
2024-08-20 14:45:23 +02:00
Yong Cong Sin
e330971ec5 subsys/profiling: kill timer in a single place
Currently, the timer is stopped:
- in the timer handler, when the buffer is full, or
- in work handler, when time's up

In any cases, the work handler is bounded to run to print
the message, so we can kill the timer there instead.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
2024-08-20 14:45:23 +02:00
Yong Cong Sin
d68642c732 subsys/profiling: add some util cmds
Added:
- `clear` to discard the buffer without printing
- `info` to print info about the buffer and if the
  profiler is running

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
2024-08-20 14:45:23 +02:00
Yong Cong Sin
8fc6d8adf2 subsys/profiling: use a more universal message when perf is running
"Perf is already running" works for `record` but is a little
strange when doing `printbuf`, so remove the "already" to
make it more universal.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
2024-08-20 14:45:23 +02:00
Yong Cong Sin
d4cd1be390 subsys/profiling: reset buf_full flag when we empty the buf
The `buf_full` flag is set when it is full, but dumping the
buf currently only resets the `idx`, this means that the perf
command only works when the buffer hasn't been full before.

Reset the flag when we clear the buffer.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
2024-08-20 14:45:23 +02:00
Yong Cong Sin
f213b5b95f subsys/profiling: remove unused declaration
`PERF_EVENT_TRACING_BUF_OVERFLOW` isn't used, remove it.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
2024-08-20 14:45:23 +02:00
Yong Cong Sin
0065a81a38 subsys/profiling: remove cmd_perf as it is not doing anything
`cmd_perf` isn't doing anything meaningful, remove it so that
the help message will be printed when invoked. Updated
the help message of the main command.

```
uart:~$ perf
perf - Lightweight profiler
Subcommands:
  record    : Start recording for <duration> ms on <frequency> Hz
             Usage: record <duration> <frequency>

  printbuf  : Print the perf buffer
```

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
2024-08-20 14:45:23 +02:00
Yong Cong Sin
cd3b8dd938 subsys/profiling: no need to explicitly set idx to 0
static perf_data is zero-initialized by default, there's no
need to explicitly set `idx` to `0`.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
2024-08-20 14:45:23 +02:00
Pisit Sawangvonganan
8f197c955d style: subsys: comply with MISRA C:2012 Rule 15.6
Add missing braces to comply with MISRA C:2012 Rule 15.6 and
also following Zephyr's style guideline.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2024-08-20 10:33:51 +02:00
Jonathan Rico
cbb62333aa Bluetooth: L2CAP: remove commented-out assert
This assert cannot be turned on, as `pdu` will be NULL sometimes. This
is okay, it just means that the current channel doesn't have anything to
send and that we should probably try another one.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-08-20 10:33:31 +02:00
Jonathan Rico
c98bc820a3 Bluetooth: Host: remove outdated comment
This comment refers to an old piece of code that never got in main.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-08-20 10:33:31 +02:00
Georges Oates_Larsen
ebc7a4a2c8 net: shell: add conn_mgr shell commands
Adds commands for triggering conn_mgr functions and
tweaking conn_mgr connectivity flags.

Signed-off-by: Georges Oates_Larsen <georges.larsen@nordicsemi.no>
2024-08-20 10:31:55 +02:00
Maochen Wang
1db73c3d4f wifi: Add WPA2 EAP-TLS support
Add basic WPA2 EAP-TLS support.
Also, add test infrasturcture esp. the certification handling,
non-certificate credentials are take as runtime input and certificated
are build time input for testing.

A real application can set certificates at runtime too.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2024-08-20 10:30:55 +02:00
Maochen Wang
0a951e2174 hostap: Support flushing PMKSA cache entries
Support flushing PMKSA cache entries in the reconnection
failed case of WPA3 SAE.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2024-08-20 10:30:55 +02:00
Maochen Wang
1a547dd40e hostap: Support getting Wi-Fi connection parameters recently used
Support saving and getting Wi-Fi connection parameters recently used.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2024-08-20 10:30:55 +02:00
Jukka Rissanen
0b985acbd7 net: tracing: Add TX time tracing
TX time tracing tells how long it took from network packet
creation to when the stack got rid of it.
So the network stack allocates net packet, this is the
start time. The end time is when the packet is fully processed (sent)
by the network device driver.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-08-19 21:50:21 -04:00
Jukka Rissanen
a679dd9578 net: tracing: Add RX time tracing
RX time tracing tells how long it took from network packet
creation to when the stack got rid of it.
So the network device driver allocates net packet, this is the
start time. The end time is when the packet is fully processed.
Currently the limitation is that the RX time duration is used
for network packets that are tied to an open socket.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-08-19 21:50:21 -04:00
Jukka Rissanen
4911a4f8de net: tracing: Add net_send_data function tracing
Trace when a network packet is sent.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-08-19 21:50:21 -04:00
Jukka Rissanen
ea2ff40558 net: tracing: Add net_recv_data function tracing
Trace when a network packet has been received.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-08-19 21:50:21 -04:00
Jukka Rissanen
491e12be2b net: tracing: Have a separate Kconfig option for socket API tracing
This is done for preparation to adding more network code tracing
to the system.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-08-19 21:50:21 -04:00
Rex Chen
1b8fa46ac1 hostap: add 11v BTM query support
Add 11v BTM query L2 layer cmd support.

Signed-off-by: Rex Chen <rex.chen_1@nxp.com>
2024-08-19 09:58:40 -04:00
Rex Chen
ff7bb3e85c hostap: add pwe config for station
Add pwe config for station connect cmd.

Signed-off-by: Rex Chen <rex.chen_1@nxp.com>
2024-08-19 09:58:01 -04:00
Helmut Lord
15c4df0aaa input: double tap
Added input double tap psuedo device

Signed-off-by: Helmut Lord <kellyhlord@gmail.com>
2024-08-19 09:56:26 -04:00
Jonathan Rico
6fa6c4c256 Bluetooth: L2CAP: Downgrade user_data API error to a warning
When user_data is not zeroed-out, the API returns an error. Downgrade
the API error to a warning log instead.

Introducing this check (#76489) broke a few PTS tests, as user_data is
not initialized by `net_buf_alloc()`. Doing so is in discussion:

https://github.com/zephyrproject-rtos/zephyr/issues/77088

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-08-19 09:55:49 -04:00
Jonathan Rico
6a3602a306 net: buf: Clear user_data on allocation
For two reasons:
- prevent exposing the previous user's info to the new user
- make NULL checks on user_data work

Since we don't really have a field that specifies what part of the
user_data array is valid, we have to rely on other checks.

Such a check, if user_data contains a callback, is comparing against
NULL before calling said callback.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2024-08-19 09:55:24 -04:00
Sean Madigan
2a46edeaed bluetooth: controller: kconfig: select power control for plm
Path loss monitoring does not work without LE Power Control
also enabled in the controller, so update the dependencies
in the kconfigs so path loss monitoring selects power
control.

Signed-off-by: Sean Madigan <sean.madigan@nordicsemi.no>
2024-08-17 08:55:13 -04:00
Sean Madigan
2e7c488484 bluetooth: host: conn: Fix renamed callback_list
callback_list was renamed to conn_cbs in commit 3eb975d.

However plm callback was missed due to it not being built
anywhere.

Signed-off-by: Sean Madigan <sean.madigan@nordicsemi.no>
2024-08-17 08:55:13 -04:00
Tom Burdick
caa0c0a467 rtio: Split the rx and tx buffer unions
Transmit/write buffers are expected to be constant values given to the
operation to transmit but not mutate. Seperate the OP_TX and OP_RX
operation description unions.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2024-08-17 08:55:01 -04:00