Commit graph

83 commits

Author SHA1 Message Date
Leon M. Busch-George
66e5e9671f wifi-scripts: ucode: fix check for empty crypto object while scanning
Some checks failed
Build all core packages / Build all core packages for selected target (push) Has been cancelled
it can be empty

Signed-off-by: Leon M. Busch-George <leon@georgemail.eu>
Link: https://github.com/openwrt/openwrt/pull/20526
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-10-27 14:22:58 +01:00
Felix Fietkau
a1f42ab3c7 wifi-scripts: ucode: add missing bssid for adhoc interfaces
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Build all core packages / Build all core packages for selected target (push) Waiting to run
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-10-20 10:50:01 +02:00
Felix Fietkau
6797cabb79 wifi-scripts: ucode: prefer basic rates from iface over device
Sync with the behavior from the legacy scripts

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-10-20 10:50:01 +02:00
Felix Fietkau
94fb40941b wifi-scripts: ucode: fix issues in mesh setup without supplicant
- Add missing frequency
- Call the correct function for htmode

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-10-20 10:50:01 +02:00
Aleksander Jan Bajkowski
1035615731 wifi-scripts: ucode: export HE and EHT operation in scan results
Export WiFi 6E (HE) and WiFi 7 (EHT) operation data in scan results.
These additional data can be useful to check wifi channel utilization
by nearby stations.

Example:
Cell 32 - Address: xx:xx:xx:xx:xx:xx
          Mode: Master  Frequency: 6.115 GHz  Band: 6 GHz  Channel: 33
          Signal: -14 dBm  Quality: 70/70
          Encryption: SAE (CCMP)
          HE Operation:
                Center Frequency 1: 39
                Center Frequency 2: 47
                Channel Width: 160 MHz
          EHT Operation:
                Center Frequency 1: 47
                Center Frequency 2: 63
                Channel Width: 320 MHz

Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
Link: https://github.com/openwrt/openwrt/pull/19208
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-10-20 00:38:50 +02:00
Felix Fietkau
0fe9484fed wifi-scripts: ucode: add support for WPS client
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
Fixes unwanted fallback to unencrypted network.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-10-15 09:56:33 +02:00
Zhi-Jun You
6a68c2fef0 wifi-scripts: ucode: fix airtime_mode with hostapd-mini
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
Currently wifi-scripts ucode appends airtime_mode to hostapd config file
unconditionally.
However this breaks bringing up interface with hostapd-mini
because the mini variant doesn't support airtime policy.

Fix this by changing the script to append airtime_mode only when
airtime_mode is set to greater than zero value in /etc/config/wireless.

Fixes: #20136
Fixes: #20314

Signed-off-by: Zhi-Jun You <hujy652@protonmail.com>
2025-10-13 10:56:39 +02:00
Felix Fietkau
8c399b4905 wifi-scripts: ucode: only set a hostapd config if it has interfaces
Do not pass invalid configs to hostapd.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-10-02 10:47:34 +02:00
Felix Fietkau
3d8d525b21 wifi-scripts: ucode: add support for setting Multi-AP profile/vlanid
Required for Profile-2 support.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-10-01 10:08:54 +02:00
Felix Fietkau
d761f6a5a5 wifi-scripts: ucode: add start_disabled for AP mode
Enable it, whenever the AP needs to wait for a supplicant instance.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-09-29 12:37:02 +02:00
Felix Fietkau
37770c503b wifi-scripts: force wmm_enabled to 1 in AP mode, remove option
There are no supported drivers where it even makes sense to disable WMM
anymore, since so much depends on it.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-09-28 18:17:35 +02:00
Felix Fietkau
0da0a6c449 wifi-scripts: ucode: fix r0kh/r1kh parsing
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
The option is an array, and for each entry there should be one generated
line in hostapd.conf. Commas also need to be replaced with whitespace

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-09-25 13:03:41 +02:00
Felix Fietkau
ce3ab2646b wifi-scripts: ucode: add support for the legacy hwmode option
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
Some configs that are many years old still have it set instead of band

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-09-25 09:41:25 +02:00
Felix Fietkau
9aca8a97d7 wpa_supplicant: add MLO client support
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Build all core packages / Build all core packages for selected target (push) Waiting to run
Can also be used for a client mode interface that is able to connect on
multiple bands individually, while handling hostapd state for the correct
band.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-09-24 13:45:59 +02:00
Felix Fietkau
b11a6a1c5a wifi-scripts: ucode: fix client mode scan list support
- fix the variable name in the configuration file
- provide a default scan list in case the user did not configure it (MLO preparation)

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-09-24 13:45:40 +02:00
Felix Fietkau
009a9e0478 wifi-scripts: simplify MLO handling
Move mlo specific hostapd ubus call from wireless handler to netifd core
ucode script. This avoids unnecessary queueing and the fake MLO wireless
device.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-09-24 13:45:40 +02:00
Oldřich Jedlička
41aceb2de8 wifi-scripts: ucode: print unknown ssid as unknown
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
Currently it is printed as "null" (including quotes). Display it the same
as old iwinfo as unknown (no quotes).

Signed-off-by: Oldřich Jedlička <oldium.pro@gmail.com>
2025-09-02 09:48:35 +02:00
Oldřich Jedlička
1756dddb9f wifi-scripts: ucode: fix dynamic_vlan value handling
The dynamic_vlan has values 0 (disabled), 1 (optional) and 2 (required).

Signed-off-by: Oldřich Jedlička <oldium.pro@gmail.com>
2025-09-02 09:33:19 +02:00
Oldřich Jedlička
2146f5c31f wifi-scripts: ucode: set default wildcard mac for wifi-station
When creating the PSK file, the old script sets `mac` to
`00:00:00:00:00:00` when `mac` is not specified (see [here][1]),
creating hostapd configuration lines like:

  vlanid=10 00:00:00:00:00:00 MyStrongPassword

That matches any MAC address (a wildcard). The `ucode` script alternative
misses the default, so set it.

[1]: 9c26d14489/package/network/config/wifi-scripts/files/lib/netifd/hostapd.sh (L428)

Signed-off-by: Oldřich Jedlička <oldium.pro@gmail.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-09-02 09:31:56 +02:00
Felix Fietkau
16ba3fc379 wifi-scripts: ucode: fix starting without wpa_supplicant or hostapd
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
Fixes: 79f8a83eb9 ("wifi-scripts: ucode: unconditionally call hostapd/supplicant setup")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-08-30 18:45:01 +02:00
Felix Fietkau
dcf6e9b0ed wifi-scripts: ucode: add missing fields to spec
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
Silence warnings

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-08-29 19:26:19 +02:00
Felix Fietkau
79f8a83eb9 wifi-scripts: ucode: unconditionally call hostapd/supplicant setup
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
Ensure that interfaces can be deleted properly

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-08-29 16:54:37 +02:00
Felix Fietkau
e116b423b8 wifi-scripts: default to sae_pwe=2 in client mode
Improves compatibility

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-08-29 15:10:37 +02:00
Felix Fietkau
5bdb7a5990 wifi-scripts: fix reload handling with random macaddr
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
Allow initially generated MAC address to be preserved across reload

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-08-26 11:53:50 +02:00
Felix Fietkau
5781922f33 wifi-scripts: ucode: fix random mac address
Fix exception by using fs.open instead of open

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-08-26 11:53:50 +02:00
Felix Fietkau
9736d42141 wifi-scripts: ucode: add support for scan_list
Some checks failed
Build all core packages / Build all core packages for selected target (push) Has been cancelled
Speed up connecting in client mode by allowing to limit the channels that
need to be scanned.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-08-15 19:41:48 +02:00
Felix Fietkau
4b6d81d7c1 wifi-scripts: ucode: remove reference to legacy drivers
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-08-15 19:31:28 +02:00
Felix Fietkau
45360a5aea wifi-scripts: ucode: add extra RSN override for MLO
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
Use SAE-EXT-KEY instead of SAE for MLO clients

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-08-15 11:12:38 +02:00
Felix Fietkau
6ae4115746 wifi-scripts: ucode: fix setting supported/basic rates in config
Only set the default based on cell density, do not override.

Fixes: https://github.com/openwrt/openwrt/issues/19673
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-08-14 18:24:32 +02:00
Felix Fietkau
d223d29feb wifi-scripts: ucode: get the phy capabilities for the correct band
On multi-band phys, capabilities can differ between bands.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-08-13 10:54:32 +02:00
Felix Fietkau
aa0b5eb429 wifi-scripts: ucode: fix unencrypted sta connection
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
add missing key_mgmt option

Fixes: https://github.com/openwrt/openwrt/issues/17578
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-08-10 10:17:41 +02:00
Felix Fietkau
adb1fce19b wifi-scripts: set rsn_overriding for client mode interfaces
Some checks failed
Build all core packages / Build all core packages for selected target (push) Has been cancelled
Unless HE/EHT is enabled, the client should not process the RSN override IE.
This prevents picking up unsupported ciphers

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-08-04 12:40:08 +02:00
Felix Fietkau
f3dd291b62 wifi-scripts: make wifi/utils.uc available in the legacy scripts variant
It can be used to look up the phy name from uci data in ucode scripts

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-08-04 11:46:42 +02:00
Felix Fietkau
cbc23f1eb0 wifi-scripts: ucode: remove leftover debug comment
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-08-03 21:55:12 +02:00
Felix Fietkau
f26d134436 wifi-scripts: ucode: enforce MFP for SAE connections
Avoids connection failures

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-08-03 21:55:12 +02:00
Felix Fietkau
287f1ea3dd wifi-scripts: ucode: fix ssid handling
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
Build host tools / Build host tools for linux and macos based systems (push) Waiting to run
Add proper escaping for ssid values.
Use it to fix multi-ap backhaul ssid.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-08-02 17:43:28 +02:00
Felix Fietkau
217c315423 wifi-scripts: ucode: add MLO interface support
MLO can be enabled by configuring a wifi-iface section with multiple
radios, like this:

  config wifi-iface
    list radio 'radio0'
    list radio 'radio1'
    option mlo '1'
    option ssid 'OpenWrt'
    option mode 'ap'
    option network 'lan'
    ...

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-08-02 16:46:59 +02:00
Felix Fietkau
119aa00a78 wifi-scripts: ucode: add support for iwinfo nl80211 phyname
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
It is needed for compatibility with scripts that rely on this
existing iwinfo behavior

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-07-18 12:33:14 +02:00
Rosen Penev
7e09959efd mac80211: fix wmac node names
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Build all core packages / Build all core packages for selected target (push) Waiting to run
The upstream submission for this mandates the node to be named wifi
instead of wmac. Change all ath79 entries to match the new names and
remove the compatibility patch.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19328
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-07-07 17:28:14 +02:00
Agustin Lorenzo
9738853b73 hostapd: removed OSU support from configuration files, it was removed in the last hostapd update.
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Build all core packages / Build all core packages for selected target (push) Waiting to run
Ref: https://w1.fi/cgit/hostap/commit/hostapd?id=e835288592fd672469f46dc35a03e64115b996e5
Ref: https://w1.fi/cgit/hostap/commit/hostapd?id=7bb11e35d55e3d50199efc45921e76696bebd8ef

Fixes: https://github.com/openwrt/openwrt/issues/19142
Link: https://github.com/openwrt/openwrt/pull/19273
Signed-off-by: Agustin Lorenzo <agustin.lorenzo@thinco.es>
2025-07-05 14:49:12 +02:00
Felix Fietkau
14b686247a wifi-scripts: ucode: fix iwinfo crash on untracked interfaces
Deal with data.radio being null

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-07-05 14:41:00 +02:00
Felix Fietkau
ba2ae60a00 wifi-scripts: ucode: fix invalid generated MAC address
Some checks failed
Build all core packages / Build all core packages for selected target (push) Has been cancelled
macaddr_base can be NULL, in which case it needs to be passed as an empty string

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-06-27 13:09:17 +02:00
Felix Fietkau
35a4608a30 wifi-scripts: iwinfo(ucode): add missing null checks
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-06-26 19:44:43 +02:00
Felix Fietkau
fdcb0e0b24 wifi-scripts: fix validation of require_mode
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-06-26 19:18:49 +02:00
Felix Fietkau
945d168dbe wifi-scripts: fix missing variables for setting frag/rts
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-06-26 19:16:42 +02:00
Felix Fietkau
126dc7ddb9 wifi-scripts: fix another regression in the ucode auth_type changes
Clear the right variable
Handle psk2 explicitly

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-06-25 13:26:59 +02:00
Felix Fietkau
8ad5416d99 wifi-scripts: fix corner case in RSN override support
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Build all core packages / Build all core packages for selected target (push) Waiting to run
When used, all relevant parameters need to be set

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-06-25 10:49:05 +02:00
Felix Fietkau
b48925fd9c wifi-scripts: add support for RSN overide and use it for improved WPA3 compat
Some checks are pending
Build all core packages / Build all core packages for selected target (push) Waiting to run
Override via RSNE is a relatively new feature, which can be used to enable
WPA3 features in a way that is invisible to older clients.
Use it by default to mask the GCMP-256 cipher from older clients, since
there are compatibility issues with existing devices.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-06-24 15:07:23 +02:00
Felix Fietkau
254dd7d7d9 wifi-scripts: enable GCMP-256 by default on WPA3/OWE configurations with HE or EHT
GCMP-256 support is mandatory with EHT, but HE hardware can already be expected
to support it.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-06-21 20:34:09 +02:00
Felix Fietkau
a17c3be409 wifi-scripts: on psk-sae configurations, disable PSK support on 6 GHz
This allows sharing a wifi-iface section across bands while enforcing the no-PSK
rule for 6 GHz

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2025-06-21 20:34:06 +02:00