This commit adds a cellular modem overlay to the zperf sample, enabling
the use of zperf with a cellular modem.
Signed-off-by: Vytautas Virvičius <vytautas@virvicius.dev>
Since the netstats handler calls on functions which reach deep into the
networking stack, there is a lot of points actually at which it can be
blocked, even forever. So having this handler on the system workqueue is
not a good idea and can even cause a deadlock in some cases if it's
blocked waiting on a synchronization primitive that would be given by a
work item scheduled later in the queue. Therefore, make a workqueue
specifically for this http server socket instead of using the system
one.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
The Zperf sample application was chosen to demonstrate basic network
functionality and high-performance use cases. This application serves
as a reference for users who wish to enable other network sample
applications.
In addition to the essential configurations for the Intel i226 Ethernet
controller, stack-specific configurations were added to ensure stability
under heavy network loads. These configurations include adjustments to
buffer sizes, interrupt handling, and DMA descriptor management.
Signed-off-by: Vijayakannan Ayyathurai <vijayakannan.ayyathurai@intel.com>
Apparently the simple python HTTPS server the sample is interfacing,
cannot handle parallel TLS sessions (just one at a time), hence
establishing both IPv4/6 connections before sending request doesn't work
well, half of the requests are dropped. Therefore, modify the sample a
little to run only one TLS (or TCP if no TLS is used) connection at a
time.
Additionally, add a log in case HTTP client request fails, as it could
easily be overlooked if something went wrong.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Python HTTPS server counterpart for the sample now seems to enforce
ECDHE key exchange, so enable it in the sample.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Supports the EVL/Xenomai4 benchmarking tool as described in the
documentation. The benchmarking tool is accessed via the latmon service.
This code uses the J2 socket on FRDMk64-F:
PIN_20: tx pulse to SUT
PIN_18: rx ack from SUT
The client code running on the SUT shall monitor the falling edge of
PIN_20.
Example usage from the latmus client running Xenomai4:
$ latmus -I gpiochip2,23,falling-edge \
-O gpiochip2,21 -g"histogram" \
-z broadcast
Signed-off-by: Jorge Ramirez-Ortiz <jorge.ramirez@oss.qualcomm.com>
Avoids shadowing the outer 'err' variable by reusing it instead of
redeclaring it inside a conditional block.
This improves code readability.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
The #91219 miss some entries when doing the clean-up. This removes
some of remaining SUBALIGN entries in the iterable sections. It do
not consider SECTION_PROLOGUE and zephyr_linker_section entries.
Fixes#92349
Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
Update the trigger_events function signature to match the expected
k_thread_entry_t type:
typedef void (*k_thread_entry_t)(void *p1, void *p2, void *p3);
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
Utilize a code spell-checking tool to scan for and correct spelling errors
in `Kconfig` files within the `arch`, `boards`, `kernel`, `modules`,
`samples`, and `share` directory.
Additionally, incorporates a fix recommended by the reviewer.
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
The Adafruit Feather ESP32S3 TFT Reverse is a development board in the
Feather standard layout, sharing peripheral placement with other devices
labeled as Feathers or FeatherWings. The board is equipped with an
ESP32-S3 mini module, a fuel gauge, a USB-C and Qwiic/STEMMA-QT connector.
This variant additionally comes with a 240x135 pixel IPS TFT color display
on the backside of the boards and with 3 buttons.
Signed-off-by: Philipp Steiner <philipp.steiner1987@gmail.com>
Previously, mac->addr[2] was skipped and mac->addr[3] was duplicated.
This change ensures all six MAC address bytes are logged in the
correct order.
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Remove POSIX_TIMERS and XSI_SINGLE_PROCESS dependencies from the aws
cloud sample and the lwm2m client sample, as they are no longer
required.
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Enable NXP_WIFI_TX_RX_ZERO_COPY for IW610, which will reduce extra memcpy
between net stack and driver in TX data path and avoid the allocation of
RXPD and mlan_buffer in RX data path, to improve the throughput
performance.
Increase CONFIG_NET_BUF_DATA_SIZE to hold one packet in one buffer.
NXP_WIFI_TX_RX_ZERO_COPY can be enabled not only for NXP_RW610 case.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
Instead of using 32 bit enum values for event numbers, convert
the code to use 64 bit long bit fields. This means that the
user API is changed to use 64 bit event values instead of 32
bit event values.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
SUBALIGN forces alignment to the specified value, even if the object
requires stricter alignment. This causes mis-aligned access when accessing
the resulting value.
Signed-off-by: Keith Packard <keithp@keithp.com>
Add one config file for IW610 chip, as it has different net related
settings and thread priority settings from other hosted MCU, due to
Wi-Fi chip capability difference.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
Ensure that qemu_x86 (the integration platform) is on the allow list
for `sample.net.sockets.socketpair.s32k148_evb`.
```
INFO: Error found: sample.net.sockets.socketpair.s32k148_evb on
qemu_x86/atom (Not in testsuite platform allow list but is one of the
integration platforms)
```
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
In high throughput tests it's fairly easy to overflow the current 32-bit
byte counters in net statistics (it's just over 4 GB of data).
Therefore, make the byte counters 64-bit to prevent overflows.
Rearrange some fields to avoid padding.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
net_stats_t type is an unsigned type, therefore %u should be used
instead of %d when printing values of this type, otherwise negative
values will be printer if INT32_MAX is exceeded.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Fix the zperf TCP RX accept error when start both UDP and TCP zperf
server, as the fdtable size is not enough and reserve fd table failed.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
Added host AP support for IW416 and IW612 socs.
Adding conf files which can be used along with shield for compilation to
test HostAP and WPA supplicant.
Signed-off-by: Abhinav Kulkarni <abhinav.kulkarni@nxp.com>
OpenThread stack prints just too much data at the info log level,
completely obfuscating the output of the sample, which prints a lot on
its own. Therefore, lower the log level for OT logs.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Add support for the simcom a76xx modem which is similar to the simcom 7080
but has a few key differences. Tested with a simcom A7672SA module but as
there is a single simcom A76XX AT commands manual, the driver should work
with other modems of the series.
Signed-off-by: Olivier Lalonde <o@syskall.com>
The original filtering condition was only whether ambient-temp0
device existed or not. However, registering ambient temp0 does
not mean that NET-related devices have been enabled.
Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
Update the response callback function signature to allow the callback to
return an error code, which in turn will cause the HTTP client to abort
the download.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
https://github.com/zephyrproject-rtos/zephyr/actions/runs/\
15014534061/job/42189411225
We were seeing a linker error of the form
```
picolibc/x86_64-zephyr-elf/lib/32/libc.a(libc_time_time.c.o): \
in function `time':
time.c:(.text.time+0x11): undefined reference to `gettimeofday'
```
Update the dependency from CONFIG_POSIX_TIMERS to
CONFIG_XSI_SINGLE_PROCESS for gettimeofday().
Note: this is really only a workaround. The proper solution would
be to have libc functions not depend on POSIX functions.
Specifically, here
https://github.com/zephyrproject-rtos/picolibc/blob/\
51a8b32857e75345c37652a80b5cda98b28d69e5/newlib/libc/time/\
time.c#L54
and here
https://github.com/zephyrproject-rtos/zephyr/blob/\
3a4e12899c2ae5962a64055f4739f774fb7262e5/lib/libc/common/\
source/time/time.c#L17
Also mentioned in #89068
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Turn the MBEDTLS_RSA_FULL selects into depends on.
This is how the other MBEDTLS_KEY_EXCHANGE_* Kconfig options are defined.
This is done to avoid circular dependencies.
At the same time update uses of the affected MBEDTLS_KEY_EXCHANGE_*
Kconfig options to enable/disable the dependencies which used to be
automatically handled.
Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no>
The original Wi-Fi certificates are from WFA. Now replace them with
certificates that generated by myself. These certificates use
sha384WithRSAEncryption signature algorithm, and use 3072 bit RSA
public-key.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
Some OpenThread logs were moved from L2 to the OpenThread module,
so enable logging from there to keep previous logging visibility.
Signed-off-by: Arkadiusz Balys <arkadiusz.balys@nordicsemi.no>
Enable MQTT 5.0 support in the mqtt_publisher sample and make use
of the topic aliasing feature.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
The error code `0x80` is replaced with its
corresponding `mqtt_suback_return_code` enum
value. This will make the code more readable, as
users of this example do not have to look up, what
`0x80` encodes.
Signed-off-by: Pályi Lőrinc <palyilorinc33@gmail.com>