Commit graph

24,075 commits

Author SHA1 Message Date
Daniel Schultz
2c767cbfc0 net: lib: zperf: Fix 'kbps' in output
zperf should only return 'Kbps'. There are still two left-overs
from converting shell prints to 'Kbps'.

Align all prints to make it easier for scripting and parsing
content from console output.

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
2025-06-30 15:19:39 -05:00
Juha Ylinen
ed79675199 net: http_client: Fix handling of POLLHUP
POLLHUP event may be returned even if there is still data to read
and POLLIN is set. To ensure all data is consumed, check for
POLLHUP after handling POLLIN.

https://man7.org/linux/man-pages/man2/poll.2.html

Signed-off-by: Juha Ylinen <juha.ylinen@nordicsemi.no>
2025-06-30 15:17:11 -05:00
Hui Bai
12babf9e39 net: l2: wifi: Fix roaming fail issue
The NET_EVENT_WIFI_SIGNAL_CHANGE was not added to net mgmt event queue
so that no scan was triggered, which caused roaming fail. The event
NET_EVENT_WIFI_SIGNAL_CHANGE was dropped because it was not enabled in
WIFI_SHELL_MGMT_EVENTS. After adding NET_EVENT_WIFI_SIGNAL_CHANGE, the
roaming works as expected.
Same issue found on event NET_EVENT_WIFI_NEIGHBOR_REP_COMP for 11k
roaming. Add this event to WIFI_SHELL_MGMT_EVENTS, too.

Signed-off-by: Hui Bai <hui.bai@nxp.com>
2025-06-27 18:27:45 -05:00
Doug Young
39cb574438 Bluetooth: host: adv: update log levels in bt_le_adv_resume()
Changed logs in adv.c that would result in advertising from resuming
to err logs to aid in debugging.

Signed-off-by: Doug Young <dougyoung@meta.com>
2025-06-27 18:19:54 -05:00
Benjamin Cabé
222a601b21 net: lib: ptp: fix memory slab alignment issues
Commit 3c47f91be4 introduced alignment
validation in K_MEM_SLAB_DEFINE macros.
A couple PTP message slabs wer using alignment 8, while the size of
the elements wasn't a multiple of 8, causing a static assertion
failure.

Fix by changing the alignment from 8 to 4 bytes.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-06-27 17:00:37 -05:00
Vinayak Kariappa Chettimada
6e8f081385 Bluetooth: Controller: Fix peripheral assert under single timer use
Fix peripheral EVENT_OVERHEAD_START_US assertion due to
missing packet timer timestamp accumulation under single
timer use in nRF54Lx SoCs.

Relates to commit 373dc0db71 ("Bluetooth: Controller:
Single timer use Extended Advertising nRF54L support").

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2025-06-27 09:03:05 -10:00
Victor Brzeski
e8638befaf usb: device_next: uac2: support higher bInterval values
This commit adds a device-tree prop for the audio streaming
terminals to specify the bInterval values for the Isochronous
endpoints.

Signed-off-by: Victor Brzeski <vbrzeski@gmail.com>
2025-06-27 09:02:29 -10:00
William Tambe
abeccfec28 xtensa: support for more than 32 interrupts
This change add support for using more than 32 interrupts.

Signed-off-by: William Tambe <williamt@cadence.com>
2025-06-27 08:59:56 -10:00
Krzysztof Sychla
dcdc7d315e tracing: Allow disabling idle traces
This change allows for enabling/disabling the idle traces by setting the
CONFIG_TRACING_IDLE config.

Signed-off-by: Krzysztof Sychla <ksychla@antmicro.com>
2025-06-27 08:59:32 -10:00
Johann Fischer
ebdbfa9541 usb: host: Ignore asserts in control request handling when testing
Ignore assers in the control request handling when Kconfig option ZTEST
is enabled.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2025-06-27 08:52:22 -10:00
Johann Fischer
5ba44ffd3e usb: host: allow status stage to be omitted
For testing purposes, allow the status stage to be omitted.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2025-06-27 08:52:22 -10:00
Benjamin Cabé
1a01318efa net: lib: dns: dns_cache: check arguments in dns_cache_remove
Like other API in DNS cache, `dns_cache_remove` should check arguements
return -EINVAL if any of them is NULL.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-06-27 10:05:40 -05:00
Tomasz Bursztyka
175da6bdb0 init: Make entry init-function less and introduce service objects
Since the addition of deinit operation in device, init and deinit have
been within each device, rendering their init entry's init function
useless.

In order to save ROM space, let's remove the init function from
init entry altogether, and introduce a new object called "service"
which owns an init function to go along with SYS_INIT/SYS_INIT_NAMED.

Signed-off-by: Tomasz Bursztyka <tobu@bang-olufsen.dk>
2025-06-27 14:13:58 +02:00
Josuah Demangeon
7538b7bdf0 usb: device_next: new USB Video Class implementation
Introduce a new USB Video Class (UVC) implementation from scratch.
It exposes a native Zephyr Video driver interface, allowing to call the
video_enqueue()/video_dequeue() interface. It will query the attached
video device to learn about the video capabilities, and use this to
configure the USB descriptors. At runtime, this UVC implementation will
send this device all the control requests, which it will send to the
attached video device. The application can poll the format currently
selected by the host, but will not be alerted when the host configures
a new format, as there is no video.h API for it yet.

Signed-off-by: Josuah Demangeon <me@josuah.net>
2025-06-27 12:25:41 +02:00
Tomasz Moń
b3e80c5faa usb: device_next: uac2: Do not leak double buffered endpoint
UDC drivers use udc_buf_get_all() when dequeueing endpoint. On drivers
that require double buffering for isochronous IN endpoint, the dequeue
on interface disable will result in class request API called on net_buf
with frags set. Call release callback on the buffer pointed in frags
because it was passed in using usbd_uac2_send().

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2025-06-27 10:58:33 +02:00
Jukka Rissanen
96818f45a9 hostap: Replace wifi event mechanism by k_fifo
Earlier we had socketpair to pass wifi event information from
wpa_supplicant side to zephyr adaption layer. This is now replaced
by k_fifo to save some RAM.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-06-27 10:56:49 +02:00
Robert Lubos
3e704256e3 net: ppp: stats: Fix net_mgmt request handler format
This has been missed in net_mgmt rework in commit
5a9a39caf3.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-06-27 09:43:13 +02:00
Yishai Jaffe
077ba1078b cfb: added API for drawing a circle
Added a new CFB API for drawing a circle. Using the Midpoint Circle
Algorithm for optimization.

Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
2025-06-26 22:09:48 -05:00
Adrien Maillard
c37a206673 updatehub: use the new API method in autohandler
Call updatehub_report_error() when detecting an unconfirmed image in
autohandler to ensure the server is notified of the failure before
triggering a rollback.

Signed-off-by: Adrien Maillard <adrien.maillard@edu.hefr.ch>
2025-06-26 22:07:51 -05:00
Adrien Maillard
4d73cd3980 updatehub: report error before rollback on unconfirmed image
Report the error state to the UpdateHub server before triggering a rollback
in autohandler mode. This prevents the server from redeploying the same
(failed) update after rollback, avoiding update loops. Also exposes a new
public syscall: updatehub_report_error(), allowing manual mode users to
report an error explicitly.

Signed-off-by: Adrien Maillard <adrien.maillard@edu.hefr.ch>
2025-06-26 22:07:51 -05:00
Lyle Zhu
0c2c93d57d Bluetooth: Classic: SCO: Modify bt_sco_chan::ops with const
Use `const` to modify the field `ops` of the structure
`struct bt_sco_chan`.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-06-26 22:05:25 -05:00
Lyle Zhu
256e3a1879 Bluetooth: Classic: HFP_AG: Register SCO connect callback
There is an issue that the SCO connect cannot be un-referenced by HFP
AG when the SCO connection is broken if the SCO connect is not created
by HFP AG.

Register SCO connect change callback. And un-reference the SCO connect
in SCO disconnected callback.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-06-26 22:05:25 -05:00
Lyle Zhu
78a22f461a Bluetooth: Classic: SCO: Add SCO conn connected/disconnected cb
Add two functions to register/unregister SCO conn connected/
disconnected callback.

Add macro BT_SCO_CONN_CB_DEFINE to defined static SCO connect callback.
Define section `bt_sco_conn_cb` to ROM.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-06-26 22:05:25 -05:00
Lyle Zhu
0083d8e960 Bluetooth: Classic: HFP_AG: Improve the SCO management
There are two issues found,
Issue 1, if the SCO connection has been established, the SCO connected
event will not be notified. Then the call that waiting for the SCO
connected event will not be updated. And the call will be rejected due
to the timeout.
Issue 2, the SCO con object will be cleared when SLC is disconnecting
and the SCO connection has been established. It causes the SCO connect
object will be `NULL` in the SCO disconnected callback.

Add a new field `sco_conn` to keep the SCO connect object. Manage the
SCO connection via the field `ag->sco_conn`.

When creating the SCO connection, keep the created SCO connect object
to `ag->sco_conn`. And if the `ag->sco_chan.sco` is `NULL`, it means
the SCO connection has been established. Just update the call that
waiting for the SCO connected event directly.
Increase the `ref` of SCO connect object and pass to the field
`ag->sco_conn` if the `ag->sco_conn` is `NULL`.
Decrease the `ref` of SCO connect object if the `ag->sco_conn` is not
`NULL` when disconnect the SCO connection or process SCO disconnected
event.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2025-06-26 22:05:25 -05:00
Robert Lubos
8aa842c2c4 net: lwm2m: Prevent busy looping when active notify is set
In case a new notification is triggered while the previous one is still
active (i.e. not acknowledged), the LwM2M engine will start busy
looping, as the new notification is still valid (and supposed to be sent
after the previous one is done), but it's not sent in the current
iteration. The busy looping might prevent the system from receiving the
acknowledgment for the previous one, resulting in unresponsive system.

Fix this, by delaying the new notification timestamp a bit in such case,
so that the new notification will be scheduled for later instead of
trying to send it again right away.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-06-26 11:00:42 -05:00
Robert Lubos
a9c30d73f8 net: lwm2m: Implement gt/lt/st attributes handling
While it was possible to specify Greater Than / Less Than / Step
observe attributes for a resource, they were not taken into
consideration when evaluating notification criteria. This commit adds
support for checking if the resource value meets the value criteria
specified by gt/lt/st attributes.

Note that gt/lt attributes are thresholds - notification should only
sent if the resource value crosses them.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-06-26 11:00:42 -05:00
Robert Lubos
1bfd2ab4fd net: lwm2m: Update value of resources in notification registry
Update the value stored in the notification registry whenever
notification is sent (for those resources that have gt/lt/st attributes
assigned).

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-06-26 11:00:42 -05:00
Robert Lubos
1ee6943cb5 net: lwm2m: Implement notified value registry for gt/lt/st attributes
Greater than, Less than and Step attributes require to track the last
notified value of a resource/resource instance in order to be able to
apply the specific thershold/step rules that the attributes define.

Therefore, implement a simple registry of the last notified values. When
one of the gt/lt/st attributes is configured on a resource/resource
instance, a registry entry is allocated for respective resource.
Whenever a notification is sent (either as a reply to Observe message,
or proactively) the registry is updated for the notified resources.

The stored resource values have been unified as "double" variables, to
avoid implementation complexity of having to support different
integer/floating point resource types.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-06-26 11:00:42 -05:00
Robert Lubos
46aaf287da net: lwm2m: Do not apply gt/lt/st attributes to incompatible resources
gt/lt/st attributes can only be applied to numerical resources according
to LwM2M specification (and common sense), hence verify that when
attributes are assigned.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2025-06-26 11:00:42 -05:00
Aleksandr Khromykh
b6a0f4e072 bluetooth: mesh: remove unused functionality
Commit removes unused host hci custom functionality
that was moved to mesh by misinterpretation of it.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2025-06-26 14:09:01 +02:00
Fin Maaß
da09ee1200 logging: fix storage size of 'tspec' isn't known
fix storage size of 'tspec' isn't known
struct timespec wasn't defined anymore.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-06-26 14:08:35 +02:00
Jukka Rissanen
f1a9ff97cb net: shell: dns: Print info about DHCP added servers
Print information which DNS servers were added by DHCP when
listing DNS servers in "net dns" command. This helps debugging
DNS server issues.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-06-26 14:08:19 +02:00
Jukka Rissanen
25084203c2 net: dhcp: Remove only added DNS servers when stopping
Make sure that we remove only the added DNS servers when
the DHCP is stopped.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-06-26 14:08:19 +02:00
Jukka Rissanen
cdc6c324d7 net: dns: Save info about source when configuring DNS servers
Remember which DNS server was added by a source like DHCPv4 or v6
message. This will allow system to remove DNS servers that were added by
that source. Then when stopping for example DHCP, we can remove those
specific DNS servers and not leaving DNS servers hanging in the system.

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2025-06-26 14:08:19 +02:00
Krzysztof Chruściński
0b9b6b4b85 debug: cpu_load: Fix overflow when measurement window is long
Use 64 bit values for accumulating idle time and measurement window
as it was possible to get overflow if window was long enough.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-06-26 14:07:12 +02:00
Duy Nguyen
c0926e5670 tests: interrupt_util: Update RX irq trigger method
The QEMU RX doesn't allow to write value to IR flag,
There is also mentioned in RX HWM that the IR should
not be write 1 to. So we change the method to trigger
interrupt here is to call directly to SW irq table

Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
2025-06-26 14:07:03 +02:00
Keith Packard
cecde08586 subsys/mgmt: Declare PROCESSOR_NAME for RX targets
Map the current set of RX CPU variants into descriptive names

Signed-off-by: Keith Packard <keithp@keithp.com>
2025-06-26 14:07:03 +02:00
Keith Packard
4b1c96f377 subsys/debug: Stub out debug thread info for RX arch
This architecture is missing lots of support bits. Stub out this piece so
we can get more things building.

Signed-off-by: Keith Packard <keithp@keithp.com>
2025-06-26 14:07:03 +02:00
Aleksandr Khromykh
b408445b4d bluetooth: mesh: remove tinycrypt support
Tinycrypt support deprecated in Zephyr 4.0 release.
Time to remove it.

Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
2025-06-26 11:13:19 +02:00
sudarsan N
654e690057 settings: zms: fix out-of-bounds null terminator write
Previously, zms_read() could fill the buffer up to sizeof(rdname),
leaving no space for the null terminator, which could cause an
out-of-bounds write.

This change reduces the read size to sizeof(rdname) - 1 and appends
a '\0' manually, ensuring the buffer is always null-terminated safely.

Fixes: CID 516244
Fixes: #90533

Signed-off-by: sudarsan N <sudarsansamy2002@gmail.com>
2025-06-26 11:12:49 +02:00
Nirav Agrawal
5a8189bf2a bluetooth: host: gatt: fix null-ptr access if no include-svc userdata
- Issue: There is a bus-fault while accessing empty userdata structure
  pointer if application does not include any include service
  userdata instance (which consist of UUID list of included service)
  but service array has defined dummy entry for it assumed to be
  overridden by app during initial flow.
- For example, the issue has happened in case of tmap-central sample
 without "CONFIG_BT_OTS" support. there are some MCS attributes
 dependent on OTS service because of that
 "BT_GATT_INCLUDE_SERVICE(NULL)" entry is added as part of service
 definition. The given entry does not have userdata handler defined
 and is expecting to be overriden by the app if it will be included.
 During "bt_mcs_init()" call, "mcs.attrs[i].user_data" is not
 populated with any attr-instance pointer. This makes CPU to access
 null-address during reading local-database include-service attribute
 which was not provided by the app but the include-service entry was
 added to the db.
- Fix: Adding condition to check if user-data has null address, and
 returning back to avoid any hard-faults.

Signed-off-by: Nirav Agrawal <nirav.agrawal@nxp.com>
2025-06-25 15:51:24 -10:00
Ravi Dondaputi
d289bed4af net: lib: wifi_credentials: Add support for Enterprise security
Add support for configuring enterprise mode security.

Signed-off-by: Ravi Dondaputi <ravi.dondaputi@nordicsemi.no>
2025-06-25 15:31:29 -10:00
Kristoffer Rist Skøien
ca2e98c4c9 debug: Added CPU usage callback
- Added a CPU load callback with threshold
- Changed cpu_load to use k_timer instead of k_work

Signed-off-by: Kristoffer Rist Skøien <kristoffer.skoien@nordicsemi.no>
2025-06-25 15:29:06 -10:00
Pieter De Gendt
0b8c00b5dd net: lib: dhcpv4: Support INIT-REBOOT
Add the init-reboot state for DHCPv4 to request an already assigned IP
address.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-06-25 14:09:46 +02:00
Pieter De Gendt
99a2893713 net: lib: dhcpv4: Skip leftover hostname or domain name bytes
When reading and printing hosname or domain name from DHCP options, we need
to skip the leftover bytes that do not fit into the provided buffers.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-06-25 14:09:46 +02:00
Pan Gao
e53ceeb86b net: l2: wifi: fix ap rts_threshold cmd parameter count
fix the number of mandatory arguments for command Wi-Fi ap RTS threshold,
3 to 2.

Signed-off-by: Pan Gao <pan.gao@nxp.com>
2025-06-25 10:53:40 +02:00
Paul He
f7979f6deb mgmt: mcumgr: remove redundant arguments for zephyr_library
No argument is needed for zephyr_library and a directory-inferred name will
be generated by default.

Signed-off-by: Paul He <pawpawhe@gmail.com>
2025-06-24 20:11:27 -10:00
Koen Van Herck
6ccd228d62 subsys/tracing: do not select (RTT_)CONSOLE in SEGGER_SYSTEMVIEW
Tracing using Segger's SystemView works fine without enabling RTT_CONSOLE
(or CONSOLE, in general).
SEGGER_SYSTEMVIEW was automatically selecting RTT_CONSOLE, which prevents
applications from using another console backend (e.g. UART_CONSOLE).

Signed-off-by: Koen Van Herck <koen.v.herck@gmail.com>
2025-06-24 20:04:07 -10:00
Marc Lasch
86dbcd2cf2 net: lwm2m: Make Bootstrap on Registration Failure configurable
The fallback to Bootstrap on a Registration Failure might not be desirable
for some applications. This change makes the default behavior configure
through Kconfig.

An alternative to configure "Bootstrap on Registration Failure" would be to
set the server object resource id 16 at runtime. However, this is tedious
and error-prone, as it will be reset when the server object is deleted and
might have to be set at different locations in the client code.

Signed-off-by: Marc Lasch <marc.lasch@husqvarnagroup.com>
2025-06-24 15:38:27 -05:00
Marc Lasch
4c46b0bc8b net: lwm2m: Fix typo in bootstrap_on_fail
Bootstrap vs. Boostrap.

Signed-off-by: Marc Lasch <marc.lasch@husqvarnagroup.com>
2025-06-24 15:38:27 -05:00