Use DIV_ROUND_UP to ensure listen_interval is rounded up instead of
being truncated during division by the beacon interval.
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
In the Japan regulatory domain, channel 14 is restricted to
802.11b/g operation and does not support HT (802.11n) capabilities.
Disable HT capabilities when operating on channel 14 in AP mode.
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Disable VHT (Wi-Fi 5) capabilities when building with softAP support
to ensure consistent Wi-Fi 4 only behavior across all channels and
frequency bands.
Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
Connection manager doesn't depends on ESP32 Wi-FI AP+STA mode.
This modification fix integration of connection manager binding
in the Wi-Fi ESP32 driver.
Signed-off-by: Joel Guittet <joelguittet@gmail.com>
Implemented siwx91x_set_rts_threshold and siwx91x_get_rts_threshold
Signed-off-by: Muzaffar Ahmed <muzaffar.ahmed@silabs.com>
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Build time configuration option to set TWT setup duration.
If AP does not respond to TWT setup request for this period,
STA will timeout and report setup failure.
Signed-off-by: Ajay Parida <ajay.parida@nordicsemi.no>
Added support for retrieving the regulatory domain information from
the siwx91x driver. Since the SDK does not provide a GET API for
region details, the driver now stores the country code and reuse
the configuration `sli_si91x_set_region_ap_request_t` to get the
channel information. This stored data is returned when a GET
operation is requested.
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Moved the `siwx91x_map_country_code_to_region()` function
from the Wi-Fi driver source file to nwp.c.
This change prepares the codebase for upcoming enhancements
related to the regulatory domain GET operation.
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Add support for configuring the regulatory domain (region code) to
ensure the device operates in compliance with local RF regulations.
The region must be set before the Wi-Fi interface becomes active
i.e., before scan or connection in STA mode, or before starting in
AP mode.
Since the SDK does not support setting the country code directly,
the driver maps country codes to region codes
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Add check for the RX data buffer size. It should be atleast 400 bytes,
anthing less than that scan fails.
Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
Add support for configuring the maximum TX power for STA and AP modes using
a Device Tree property (`max-tx-power`). If unspecified, the default value
is set to 31 dBm.
Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
Ensure event is not NULL before accessing its members in
nrf_wifi_parse_sband().
This adds a defensive check to avoid potential null dereference and ensures
the function returns early when event data is invalid (i.e., zero channels
or bitrates).
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
With few APs we have seen unexplained disconnections and sending
keepalive often solves the problem, so, to fix interoperability reduce
the keepalive period to 30s.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Update the TX data API to support distinguishing if this packet is from
net stack or from internal packet forwarding case.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
This option allows board configurations to specify how to set the SDIO
pull ups when the SPI bus goes to sleep, using the Infineon WHD.
This is a board specific value.
Signed-off-by: Magpie Embedded <magpieembedded@gmail.com>
For TCP socket, this fixes AT+CIPSEND command with too short timeout.
ESP modem replies SEND OK/SEND FAIL dependent on network traffic
condition, so this timeout config changes as Kconfig option for being
configurable by user.
Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
Supplicant sends keepalive on timer expiry but due to driver + nRF70
delays it is delayed to the AP, meanwhile some APs disconnect due to
lack of keepalive.
Set the processing delay to 700ms (based on tests) to fix.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Keep IW610 kconfig same as RW612, as it has similar Wi-Fi FW.
Remove NXP_WIFI_CAU_TEMPERATURE as it's not used.
NXP_WIFI_MEM_ACCESS, NXP_WIFI_REG_ACCESS and NXP_WIFI_OWE should not be
enabled by default.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
Added the below config to overide default calibration data and
select 2Ant Isolation.
NXP_OVERRIDE_CALIBRATION_DATA
WLAN_CALDATA_2ANT_HI_ISO
WLAN_CALDATA_2ANT_LO_ISO
Signed-off-by: Kavita Sharma <kavita.sharma_1@nxp.com>
In case of a busy environment and if STA is far, then we see many
retries for the frames that cause the RPU to be awake though host has
de-asserted wakeup_now signal, this leads to WDT interrupt and host
thinks that it has given sleep opportunity to RPU and initiates a
recovery.
To handle this, increase the sleep opportunity window to 5s to cover all
the retries, this solves the false recovery problem. While at it, also
increase the range, no reason to limit to lower window. And update the
help text with the warning about power consumption.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Firmware needs to know the connection type to be established.
use the wpa_proto field to derive the connection type.
Signed-off-by: Ajay Parida <ajay.parida@nordicsemi.no>
When running Zperf traffic + scan in the background eventual we hit a
deadlock:
* sysworkq: recovery->stop_zep->vif_lock->hal_disable->wait lock_rx
* nrf70_bh_wq: event_tasklet->lock_rx->disp_scan_done->
disp_scan_res_get_zep-> waiting on vif_lock
The traffic triggers recovery (another bug) and conflicts with display
scan.
Fix by moving scan results processing to system workqueue instead of
doing it in the FMAC event callback context, this is how supplicant scan
also works.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Monitor mode doesn't require station mode. Disabling station mode
require necessary changes to work monitor mode.
Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
Automatically hide the nRF7x interface from the connection manager if
the TX path is disabled (scan only mode). This prevents function calls
like `conn_mgr_all_if_up(true)` from bringing up the interface which
can never result in a connection.
Signed-off-by: Jordan Yates <jordan@embeint.com>
Rpu recovey debug stats are stored in hal_dev_ctx which is not
persistent in case of interface is brought down/up. Need to add
in nrf_wifi_ctx_zep and update before interface goes down.
Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
Deleted a redundant check for 'rpu_ctx_zep' pointer after it was already
dereferenced.
Clarifies code logic in nrf_wifi_get_power_save_config function.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
s/net_if_get_by_ifindex/net_if_get_by_iface/
Fixes: 0e57844b2d ("drivers: wifi: esp_at: Bind DNS to device net
interface")
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
Defaults cannot be overidden (even with configdefault extension), they
only work if the original symbol is defined after the override e.g.,
"drivers and then subsys/net" but for kernel symbols,the default value
overrides don't work due "kernel and drivers" order, the kernel defines
the original symbol with the default and then it cannot be overridden.
Move the kernel symbol override to the original definition to make it
affect. Else any sample that uses nRF70 but doesn't enable WPA
supplicant ends up with 1024 and crashes.
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
When external station connects to soft ap,
fill ap_sta_info.twt_capable with external
station HE capability.
Signed-off-by: Qiankun Li <qiankun.li@nxp.com>
1. When external stations connect to soft ap,
Wi-Fi driver will send UAP_CLIENT_ASSOC event with data.
nxp_wifi_wlan_event_callback will be called to process this event.
2. The data should include some basic station information
but not only mac address of station.
3. Fill ap_sta_info with information of
connected station but not soft ap self.
4. Fix: Wi-Fi driver send UAP_CLIENT_ASSOC event
with basic station information.
5. Fix: ap_sta_info with information of connected station.
Signed-off-by: Qiankun Li <qiankun.li@nxp.com>
The preferred way to reference the size of the MAC address is
WIFI_MAC_ADDR_LEN.
For consistency, replace ARRAY_SIZE(mac.octet) with WIFI_MAC_ADDR_LEN.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
We avoid to assign unused values during declaration. Hence, the reader
knows that every value assigned are meaningful. It also allow compile to
raise true warning if a value is used uninitialized.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Usually, the exception are treated in a condition before the nominal
case:
ret = f();
if (ret) {
return -EXXX;
}
... nominal case ...
siwx91x_on_join_ipv4() and siwx91x_on_join_ipv6() didn't follow this
pattern.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
sl_wifi_interface_t interface is always initialized with
sl_wifi_get_default_interface().
Let's assign the value during the declaration everywhere.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Unify the way the error code are tested:
- sl_status_t is an alias to an int. The compiler won't complain if an
int is assigned or compared to a sl_status_t. In the other hand,
"int" is well known to manage error code. So, just use "int"
everywhere.
- Always name the return code "ret"
- Unless it is meaningful, test the value of ret against 0
(SL_STATUS_OK is just a convoluted way to say 0).
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
siwx91x_wifi.c starts to contains to much code. Let' simplify it by
grouping all the station related functions in a separated file.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
siwx91x_wifi.c starts to contains to much code. Let's simplify it by
grouping all the power-save related functions in a separated file.
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>