Commit graph

22,555 commits

Author SHA1 Message Date
Fin Maaß
6c1e447fbe task_wdt: reformat Kconfig
reformat Kconfig for task_wdt

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2024-03-22 10:24:55 +01:00
Fin Maaß
b61d6ce46e mgmt: hawkbit: check http status code in response
check http status code in response

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2024-03-22 09:24:45 +00:00
Robert Lubos
323f1f81b9 net: dhcpv4_server: Add option to NAK Request from unrecognized client
Zephyr's DHCPv4 server does not implement persistent storage of address
leases. In result, all leases are lost on reboot, which can cause
delays with clients starting in INIT-REBOOT state and thus sending
(potentially several) Requests before attempting full Discover-Request
procedure.
Add option to override RFC defined behavior, which states that if we
don't recognize the client sending the Request, the server shall remain
silent. Enabling that option allows the server to send NAK reply in case
client is not recognized, informing the client it should proceed with
full procedure.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-03-22 10:24:15 +01:00
Robert Lubos
fd113b7102 net: dhcpv4_server: Include client ID in server responses
RFC6842 updated RFC2131 in terms of including client ID option in
responses sent from the server. According to that RFC, the server MUST
include the client ID option in Offer/Ack/Nak replies, if it was
provided by the client.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-03-22 10:24:15 +01:00
Robert Lubos
41ffc5fabb net: dhcpv4_server: Improve DHCP Request retransmission handling
In case ACK from the server was lost, we'd not reply Request
retransmissions, as the lease state is already in allocated state on the
server side. Therefore we also need to allow to reply with ACK in such
case.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-03-22 10:24:15 +01:00
Robert Lubos
50e0807c0a net: dhcpv4_server: Increase reserved address timeout
5 seconds turned out to be too short timeout in case retransmissions
kicked in at DHCP level, hence increase the timeout.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-03-22 10:24:15 +01:00
Johann Fischer
567827add8 usb: device_next: use USB notification in CDC ACM implementation
Add message types for line coding and contol line state updates.
Add a publish message function that takes a pointer to a device
structure as payload, and use USB notification in the CDC ACM
implementation.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2024-03-22 10:10:42 +01:00
Johann Fischer
3aef852fc0 usb: device_next: implementation of USB device support notification
The implementation uses the system workqueue and a callback provided
and registered by the application. The application callback is called in
the context of the workqueue. Notification messages are stored in a
queue and delivered to the callback in sequence.

We cannot call application callback directly from the USB device stack
thread because the behavior of arbitrary code provided by the
application is unpredictable, and we do not want it to be executed in
the same context where all events from the device controller are
handled.

Nor can we use the ZBUS subsystem directly. ZBUS offloads responsibility
for defined behavior to the observers and application, and does not
provide any way for the publisher to enforce defined behavior and
execution context.
ZBUS listener would be called from the USB thread context and is not
acceptable. ZBUS subscriber does not provide delivery guarantee and
cached message can be overwritten. ZBUS message subscriber has
cumbersome global configuration and buffers that are too complicated to
handle from USB configuration, and even if we would use it, defined
behavior is not possible because of how listener and subscriber are
handled.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2024-03-22 10:10:42 +01:00
Dominik Ermel
26bf1e34b6 subsys/storage/flash_map: Inline flash_area_layout
Inlined into flash_area_get_sectors and removed.

Fixes #19880

Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
2024-03-22 08:58:48 +01:00
Robert Lubos
239d718bc7 net: ipv6: Introduce separate logger module for IPv6 ND
Debugging IPv6 Neighbor Discovery issues requires to enable full IPv6
logs, which can get bloated given it provides logs for every single
packet. We should be able to focus on IPv6 ND logs only, hence introduce
a separate log module for IPv6 ND.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-03-21 18:00:50 +01:00
Aleksander Wasaznik
0d44528862 Bluetooth: Add wrn on BT_HCI_ERR_CONN_FAIL_TO_ESTAB
Recently (during Bluetooth UPF), a lot of developers experience
confusion due to weird errors in SMP, etc, which are actually irrelevant
and caused by the connection never having existed.

As a stop-gap measure, until upper layers properly report lower layer
failures, add a warning in the logs to stop wasting developer time.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2024-03-21 16:26:35 +01:00
Emil Gydesen
d286870b74 Bluetooth: CAP: cap_common.c should only be included with ACL
Since the cap_common.c rely on CONFIG_BT_MAX_CONN, and is
only used for connected procedures, it should be guarded
by CONFIG_BT_CAP_INITIATOR_UNICAST instead of
CONFIG_BT_CAP_INITIATOR

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-03-21 15:24:26 +01:00
Emil Gydesen
0dcf3c197e Bluetooth: Audio: Increase PA sync timeouts
Increase the timeouts to be 60 instead of 6.
The reason for this is that some controllers (like the Zephyr
controller) will reserve some of these to ensure stability,
and in fact with skip = 5 and retry = 6, it would still
send the PA reports at every interval.

To accomodate a higher timeout value, the functions used to
convert PA intervals to PA timeouts have been updated.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-03-21 15:24:14 +01:00
Mateusz Kapala
9e0d7f0264 mgmt: mcumgr: Add Kconfig option to manage SMP service registration
Added the CONFIG_MCUMGR_TRANSPORT_BT_DYNAMIC_SVC_REGISTRATION Kconfig
option to manage how the SMP service should be registered.
By default the SMP service must be registered at runtime.
If this Kconfig option is disabled, the SMP service is statically
defined and registered.

This change allows to opt out of using the CONFIG_BT_GATT_DYNAMIC_DB
Kconfig option and as a result, lower the memory usage.

Signed-off-by: Mateusz Kapala <mateusz.kapala@nordicsemi.no>
2024-03-20 16:27:23 +00:00
Ederson de Souza
67bb6db3f8 syscall: Export all emitted syscalls, enabling them for extensions
Linkable loadable extensions can only use syscalls if they are exported
via EXPORT_SYSCALL (or EXPORT_SYMBOL). Instead of enabling used syscalls
one by one, this patch exports all of them automatically via
`gen_syscalls.py`. If CONFIG_LLEXT=n, the section where the exported
symbols live is discarded, so it should be a non-op when llext is not
enabled.

This patch also removes the now redundant EXPORT_SYSCALL macro. Note
that EXPORT_SYMBOL is still useful on different situations (and is
indeed used by the code generated by `gen_syscalls.py`).

Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
2024-03-20 16:26:54 +00:00
Jakob Genßler
3d1a4039ea sd: sdmmc: fix formatting
Formats according to latest .clang-format rules.

Signed-off-by: Jakob Genßler <jakob.genssler@gin.de>
2024-03-20 10:27:02 -05:00
Jakob Genßler
64fd289b2f sd: sdmmc: initialize cmd retries
Sets the retries in cmd struct to their Kconfig value. This fixes
an issue in imx_usdhc.c where retries would be used uninitialized. That
leads to a loop not being entered and subsequently no data being read
from the controller.
Tested on mimxrt1170_evk.

Signed-off-by: Jakob Genßler <jakob.genssler@gin.de>
2024-03-20 10:27:02 -05:00
Alberto Escolar Piedras
50542682df subsys/testsuite/ztest: Replace native_posix in one comment
As we are replacing native_posix with native_sim, let's
refer to native_sim instead of native_posix in the comments.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-03-20 15:43:05 +01:00
Magdalena Kasenberg
dba205a2ce bluetooth: audio: broadcast source: Add missing check condition
There is no need to validate stream_param->data if it is NULL.
Fixes failing PTS BAP/BSRC test cases.

Signed-off-by: Magdalena Kasenberg <magdalena.kasenberg@codecoup.pl>
2024-03-20 08:20:09 -05:00
Pieter De Gendt
e99b5228a1 drivers: ethernet: Introduce ETH_DRIVER_RAW_MODE option
Add a Kconfig symbol to allow building ethernet device driver without
an L2 layer.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-03-20 08:05:55 -05:00
Flavio Ceolin
e2058a9537 pm: Fix a corner case when policy returns NULL
When the policy returns NULL pm_system_suspend was assuming that
the current state in z_cpus_pm_state was ACTIVE, since that is the
state set after the core wakes and return to this function. The
problem is that in cases where the cpu does not preserve the context,
and returns to this function, z_cpus_pm_state has the value of the
last state used and the cpu use it again.

Fix it setting z_cpus_pm_state to ACTIVE every time the policy returns
NULL.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2024-03-20 07:38:56 -05:00
Jukka Rissanen
8f4ac0d4ab net: trickle: Rename interval function
The function inteval_timeout() was missing "r", the function
should be called interval_timeout()

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2024-03-19 15:20:14 -05:00
Daniel Leung
58ef5fb78e tracing: segger-sysview: add missing thread abort enter/exit
Tracing with sysview is missing both
sys_port_trace_k_thread_abort_enter()/_exit() which exist on
other tracing backends. So add them.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2024-03-19 13:37:41 -05:00
Reto Schneider
c45026fc08 testsuite: ztest: Fix argument name
As per current definition of the Z_TEST macro, defined in
include/zephyr/ztest_test_new.h, the passed parameter is named
'fixture', not 'this'.

Signed-off-by: Reto Schneider <reto.schneider@husqvarnagroup.com>
2024-03-19 17:53:30 +01:00
Joakim Andersson
8858a024c0 ipc: Add thread name to mbox work queues
Add thread name to mbox work queues when thread names are enabled.

Signed-off-by: Joakim Andersson <joakim.andersson@heimdallpower.com>
2024-03-19 15:01:16 +01:00
Fabio Baltieri
d952d6a364 input: rename the internal callback struct to input_callback
Rename the internal input callback structure to input_callback. This is
for coherency with "INPUT_CALLBACK_DEFINE" and other similar code paths
in Zephyr, and also to avoid confusion with terminology.

This is an internal structure, applications should not have any
references to it so there should be no need for any release note
entries.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-03-19 14:30:39 +01:00
Lyle Zhu
39162fd71a Bluetooth: Host: Remove SCO security check
Remove SCO security management code block.
Currently, security related checks are not
necessary. It can be added if needed.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2024-03-19 10:08:27 +01:00
Lyle Zhu
faeb9bf681 Bluetooth: Host: Add SCO Connect notify for HFP
Call bt_sco_server_register to register SCO
server. Manage the SCO connection request.
Get SCO connect/disconnect status via SCO
channel ops.

Notify the uppper layer of the SCO connection
status changes through bt_hfp_hf_cb::
sco_connected and bt_hfp_hf_cb::
sco_disconnected.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2024-03-19 10:08:27 +01:00
Lyle Zhu
ce154b94d0 Bluetooth: Host: Add SCO connection management
Currently, SCO connections and disconnections
are agnostic to upper-layer.

Add two functions, bt_sco_connected and
bt_sco_disconnected, to notify the SCO
connect changes.

For Central side, pass "struct bt_sco_chan"
object when calling bt_conn_create_sco. it
uses to manage the SCO channel for upper-
layer.

For Peripheral side, two functions
bt_sco_server_register and
bt_sco_server_unregister are added to monitor
SCO connection request for upper-layer. The
upper-layer could accept or reject SCO connect
When the connection request received. If the
connect is accepted, the "struct bt_sco_chan"
object could be passed by "sco_server->accept".

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2024-03-19 10:08:27 +01:00
Emil Gydesen
62ac753a61 Bluetooth: CAP: Fix issue with codec_cfg in CAP uni start
The codecs used for the bap bt_bap_stream_config was only
valid for the lifetime of the procedure, which meant
that by the end of the procedure the stream->codec_cfg
became invalid.

This is fixed by using the pointer provided to the
CAP API, and documentating the lifetime of the codec_cfg.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-03-19 09:47:13 +01:00
Savin Weeraratne
816a1381fa net: ipv4: Allow IGMP packets with zero src address
IGMP queries sent out by a proxy querier can have
a source IP address 0.0.0.0
Allow these incoming packets.

Fixes #69917

Signed-off-by: Savin Weeraratne <savin.weeraratne@audinate.com>
2024-03-19 09:47:00 +01:00
Fengming Ye
6a0c38680f net: ipv6: fix link local ping fail with default router
When we receive Router Advertisement with life time,
we will add this as default router, like typing command "net iface"
and has show below
IPv6 default router :
fe80:xxxx::xxxx

When this default router is backend A and
we ping backend B with link local address,
we will use default router A and send echo request
to backend A instead of B, which will receive Redirect and no reply.

Fix it by link local address does not check route.

Signed-off-by: Fengming Ye <frank.ye@nxp.com>
2024-03-19 09:46:49 +01:00
Fin Maaß
3fd545b05b mgmt: hawkbit: Fix condition in hawkbit_probe
Fix send_request condition in hawkbit_probe function

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2024-03-18 22:12:31 +01:00
Pavel Vasilyev
1861583ce2 Bluetooth: Mesh: Warn if can't listen to unprov beacons until proved
When calling `mesh prov beacon-listen on` shell command before
provisioning the local device, the stack won't report unprovisioned
beacons. This is because the scanner has not been started yet. This
behavior confuses users. Print a warning that the device needs to be
provisioned first before it can listen to unprovisioned beacons.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2024-03-18 14:50:54 +01:00
Alberto Escolar Piedras
6622f0b3aa Bluetooth: Controller: Correct PPI->Timer start delay for simulation
In the simulated bsim boards there is no jittery delay
from a (D)PPI event until a TIMER starts.
The timer starts instantaneously so we do not need to
compensate for it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-03-18 14:50:22 +01:00
Lyle Zhu
8ec839f76c Bluetooth: Host: Change __line__ to __LINE__
The building error is reported in Ubuntu if
CONFIG_NET_BUF_LOG is true.

Change __line__ to __LINE__ to fix building
error.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2024-03-18 13:14:50 +01:00
Pieter De Gendt
af8ba2a361 net: ethernet: Register multicast monitor for MAC filtering
Register a multicast monitor for ethernet if HW MAC filtering is supported

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-03-18 10:14:34 +01:00
Pieter De Gendt
64bc618725 net: ethernet: mgmt: Add HW MAC address filtering
Add an ethernet management API to set or unset HW MAC address filtering.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-03-18 10:14:34 +01:00
Pieter De Gendt
63133be42c net: iface: Allow catch-all multicast monitor
Registering a multicast monitor with a NULL interface will receive all
events.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-03-18 10:14:34 +01:00
Pieter De Gendt
303c56fbb2 net: ip: Add helper NET_NATIVE_IP kconfig symbol
Introduce a NET_NATIVE_IP symbol similar to IPv4/IPv6 variants.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-03-18 10:14:34 +01:00
Alberto Escolar Piedras
4442477d93 Bluetooth: Controller: Add coded phy radio timings for nrf52_bsim
Add Coded Phy radio timings for the nrf52_bsim

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-03-15 13:55:27 -05:00
Alberto Escolar Piedras
b7787792f1 Bluetooth: Controller: Nordic HAL: Use HAL to configure Timer's CC
Use the HAL always when setting the TIMERs CC registers,
(also for coded Phy) to ensure things work properly for simulation.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-03-15 13:55:27 -05:00
Emil Gydesen
5d054a7eb8 Bluetooth: TMAP: Shell: Improve logging of role
The role is a 16-bit value, and is best logged as %04X.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2024-03-15 10:35:26 -05:00
Morten Priess
6f374d850a Bluetooth: controller: Parameter check for ISO sync recv qualification
Add HCI input parameter validation according to spec for passing
qualification tests.

- Conditional compile of LE Set PA Receive Enable feature
- Store BIGinfo encryption state and number of streams
- Do not report BIGinfo if phy is invalid or unsupported
- Return disallowed ll_read_iso_tx_sync uses sync recever handle
- Validate BIS indices in ll_big_sync_create

Signed-off-by: Morten Priess <mtpr@oticon.com>
2024-03-15 10:34:48 -05:00
Morten Priess
feb58c2906 Bluetooth: controller: Add handling of HCI reset for sync_iso
Properly shut down ticker and initialize data at HCI reset.

Signed-off-by: Morten Priess <mtpr@oticon.com>
2024-03-15 10:34:48 -05:00
Robert Lubos
cb0a12311b net: tcp: Remove redundant debug logs
Debug logs in helper functions like tcp_unsent_len() or
tcp_window_full() are not very helpful and generate a heavy, unnecessary
log output. Therefore, tcp_unsent_len() will no longer generate log, and
tcp_window_full() will print out a log only when the window is actually
full, which could be an useful information.

Also, reduce the log load during TX, as currently redundant logs were
printed in tcp_out_ext(), tcp_send_process_no_lock() and finally in
tcp_send().

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2024-03-15 15:30:00 +01:00
Maochen Wang
7b916593ec net: igmp: Fix double unref of igmp packet
If send the igmp packet when lower interface is down, the packet will be
freed twice and show error log. Remove the net_pkt_unref in igmp_send(),
and let the caller free it.

Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
2024-03-15 13:35:16 +01:00
Fengming Ye
10670b7515 net: zperf: multicast support on multi interfaces
Zperf upload multicast always use default interface.
Zperf download multicast cannot receive packets from other than
224.0.0.1 which is default multicast group.

Add zperf upload/download option -I <interface name> for multicast.
So that user can select interface for multicast.
Add join multicast group for zperf download.

Use the "device list" command to get the interface name as
follows:
 "- ua (READY)"  #uAP interface name
 "- ml (READY)"  #STA interface name

Multicast traffic commands:
zperf udp upload -a -I ua 224.0.0.2 5001 10 1470 1M
zperf udp download -I ua 5001 224.0.0.3

Signed-off-by: Fengming Ye <frank.ye@nxp.com>
2024-03-15 13:07:14 +01:00
Krzysztof Chruściński
90be983d4d logging: backends: multidomain: Fix compilation warning
Fix compilation warning due to taking member from a packed structure
and assigning it to a pointer. Compiler warns that it may be
unaligned. However, it is ensured that it will be aligned by
operations preceding this assignment.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-03-15 11:36:08 +00:00
Yong Cong Sin
2a8b298ee8 subsys/mgmt/hawkbit: optimize log message
A lot of the log messages are using highest level, optimize
them to recycle as much messages as possible.

When building the sample with `CONFIG_HAWKBIT_LOG_LEVEL_DBG`
on `frdm_k64f`, the FLASH size is reduced from 150860 B to
150048 B, saving ~800 bytes.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-03-15 11:08:47 +00:00