238 Commits

Author SHA1 Message Date
Tianling Shen
fab49a1289
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-07-12 11:33:56 +08:00
Paweł Owoc
e82759fd67 mac80211: add missing config for third 160MHz width for 5GHz radio
Without this configuration it is not possible to run the radio using HE160 on channels 149-177.

Fixes: #14906
Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
(cherry picked from commit a91b79fd04d58e711273d08e0b1246942b2eec98)
Link: https://github.com/openwrt/openwrt/pull/15898
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-07-08 21:13:24 +02:00
Tianling Shen
c9365b3c27
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-02-27 18:48:09 +08:00
Hauke Mehrtens
48c81b80b2 wifi-scripts: Support HE Iftypes with multiple entries
With mac80211_hwsim I have seen such entries in OpenWrt 22.03:
    HE Iftypes: managed, AP
The mac80211.sh script did not detect the entry and failed. Allow
arbitrary other entries before to fix this problem.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 5df7a78e821cbdcc3beb80150798712a4c00b00e)
2024-02-22 22:18:42 +01:00
Tianling Shen
4245e51c04
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-01-13 20:51:50 +08:00
Felix Fietkau
2fe497c4a5 mac80211: do not emit VHT160 capabilities if channel width is less than 160 MHz
Fixes compatibility issues with VHT160 capable clients

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 80e4e2285fdf4a7b19c84532deafe2d1e690ed30)
2024-01-09 14:39:22 +01:00
Tianling Shen
d28b3f653e
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-01-09 20:24:33 +08:00
Rany Hany
3aec71a176
mac80211: add missing newline for "min_tx_power"
This prevents min_tx_power from functioning properly in some circumstances.
Add the missing newline.

Signed-off-by: Rany Hany <rany_hany@riseup.net>
(cherry picked from commit 6ca8752a9cadac810f8541ec1be67d02265175aa)
2024-01-05 16:34:17 +01:00
Tianling Shen
32885f26cf
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-11-10 13:04:12 +08:00
Christian Marangi
2ef625e769
mac80211: fix not set noscan option for wpa_supplicant
noscan option was changed to hostapd_noscan but the entry in
wpa_supplicant was never updated resulting in the noscan option actually
never set.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 1070fbce6e496da2dacf17c6e842a4369c4be71b)
2023-11-09 16:10:25 +01:00
Tianling Shen
0d63af7827
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-09-19 10:07:18 +08:00
Felix Fietkau
9720b094ae hostapd: backport from master, including ucode based reload support
This significantly improves config reload behavior and also fixes some
corner cases related to running AP + mesh interfaces at the same time.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-09-18 16:52:25 +02:00
Tianling Shen
36ae0eed74
mac80211: set default country to CN
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit a290a61f6d6240e0826b4a4c88d1e77cedbe3965)
2023-07-08 03:30:14 +08:00
Tianling Shen
550f02e79b
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-01-28 22:36:07 +08:00
David Bauer
a63430eac3 mac80211: use 802.11ax iw modes
This adds missing HE modes to mac80211_prepare_ht_modes.

Previously mesh without wpa_supplicant would be initialized with 802.11g
/NO-HT only, as this method did not parse channel bandwidth for HE
operation.

Signed-off-by: David Bauer <mail@david-bauer.net>
2023-01-28 13:53:39 +01:00
ZiMing Mo
50e384747c
Merge Official Source 2022-12-18 15:13:07 +08:00
Felix Fietkau
133a1e2f37 mac80211: work around a race condition on detecting a phy while bringing it up
When reloading modules and running wifi, a phy can sometimes be renamed
while in the middle of a hotplug call that tries to detect new phys
This can lead to bogus wifi-device sections being created

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2022-12-16 14:32:47 +01:00
Tianling Shen
b13f1bf5a1
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2022-12-11 09:22:01 +08:00
Felix Fietkau
a797f0e82a hostapd: use wpa_supplicant for unencrypted mesh connections
It's more reliable than using iw

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2022-12-10 12:38:46 +01:00
zxlhhyccc
996ef9f206
mac80211: remove set wireless.default_${name}.iw_qos_map_set=none
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2022-10-22 15:45:24 +08:00
Tianling Shen
377f0191d0
mac80211: rename default SSID to ImmortalWrt
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2022-10-15 00:42:59 +08:00
Tianling Shen
41b14cb7e0
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2022-10-15 00:42:26 +08:00
Felix Fietkau
a7ca1b2314 mac80211: use board.json provided phy names in generated default config
The phy will be automatically renamed on setup

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2022-10-14 13:13:11 +02:00
Felix Fietkau
50a03decdf mac80211: change the default config for a renamed wiphy
use option phy to reference the device instead of path/macaddr

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2022-10-14 13:13:01 +02:00
Felix Fietkau
db9c4a066a mac80211: fix detecting highest radio* config section index
Deal with gaps by iterating over existing sections instead of counting

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2022-10-14 13:12:49 +02:00
Felix Fietkau
4d323303e7 mac80211: rename phy according to board.json entries on bringup
This allows phy names specified in board.json to be used directly instead of
the path option

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2022-10-14 13:12:42 +02:00
Felix Fietkau
6603748e0c mac80211: change default ifname to <phy>-<type><index>
This makes it clear, which phy a wlan device belongs to and also helps with
telling them apart by including the mode in the ifname.
Preparation for automatically renaming PHYs

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2022-10-14 13:12:36 +02:00
Felix Fietkau
da6b77215b mac80211: fix typo in netifd script
Reported-by: Chad Monroe <chad.monroe@smartrg.com>
Fixes: 590eaaeed59a ("mac80211: fix issues in HE capabilities")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2022-10-13 21:50:34 +02:00
Felix Fietkau
590eaaeed5 mac80211: fix issues in HE capabilities
Enable HE SU beamformee by default
Fix spatial reuse configuration:
- he_spr_sr_control is not a bool for enabling, it contains multiple bits
  which disable features that should be disabled by default
- one of the features (PSR) can be enabled through he_spr_psr_enabled
- add option to disable bss color / spatial reuse

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2022-10-13 13:45:42 +02:00
Tianling Shen
81f9f50fa4
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2022-09-27 17:06:04 +08:00
Alberto Martinez-Alvarez
b02b95d1b0 mac80211: fix parameter reading for AC_BE tx bursting
The "tx_burst" option which should control the value was
expecting more of a list and hence tx_queue_data2_burst
value wasn't updated.

Yes, it would make sense to have a list for this, the
existing  code only updates tx_queue_data2_burst and
not the other tx_queue_data[0134]_burst values.

Signed-off-by: Alberto Martinez-Alvarez <amteza@gmail.com>
(formatted commit message, wrote extra information into commit,
moved tx_burst to existing json_get_vars)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2022-09-24 17:41:38 +02:00
ZiMing Mo
53bb8156ea
Merge Mainline
Signed-off-by: ZiMing Mo <msylgj@immortalwrt.org>
2022-08-22 16:24:07 +08:00
Sultan Alsawaf
f338f76a66 mac80211: parse the correct set of HE capabilities for AP mode
It is common for 802.11ax NICs to support more than just AP mode, which
results in there being a distinct set of HE capabilities for each mode. As
(bad) luck would have it, iw prints out info for each HE mode in sequential
order according to `enum nl80211_iftype`, and AP mode isn't always first.

As a result, the wrong set of HE capabilities can be parsed if an AP NIC
supports station (managed) mode or any other mode preceding AP mode, since
only the first set of HE capabilities printed by iw is parsed from awk's
output.

This has a noticeable impact on beamforming for example, since managed mode
usually doesn't have beamformer capabilities enabled, while AP mode does.
Hostapd won't be set up with the configs to enable beamformer capabilities
in this scenario, causing hostapd to disable beamforming to HE stations
even when it's supported by the AP.

Always parse the correct set of HE capabilities for AP mode to fix this.
This is achieved by trimming all of iw's output prior to the AP mode
capabilities, which ensures that the first set of HE capabilities are
always for AP mode.

Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com>
2022-08-20 12:33:50 +02:00
ZiMing Mo
7e87cf2080
Merge Mainline
Signed-off-by: ZiMing Mo <msylgj@immortalwrt.org>
2022-08-17 13:32:28 +08:00
Manas Sambhus
1ea563ae13 base-files: wifi: add random MAC support for wifi-iface
Add support for randomly generating a MAC address for a wifi-iface
instance by setting `macaddr` to `random`
When set to `random`, a new locally administered unicast MAC address
is generated and assigned to the iface everytime it is (re-)configured

Signed-off-by: Manas Sambhus <manas.sambhus+github@gmail.com>
2022-08-11 12:56:15 +02:00
Tianling Shen
35bf918edf
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2022-06-29 19:27:48 +08:00
Stijn Tintel
d2d5aabdbb hostapd: introduce min_tx_power option
Introduce a new option min_tx_power to configure the minimum permitted
max TX power (in dBm) for ACS and DFS channel selection.

Imagine the following regulatory rules:
  * 5180 MHz [36] (21.0 dBm)
  * 5200 MHz [40] (21.0 dBm)
  * 5220 MHz [44] (21.0 dBm)
  * 5240 MHz [48] (21.0 dBm)
  * 5260 MHz [52] (20.0 dBm) (radar detection)
  * 5280 MHz [56] (20.0 dBm) (radar detection)
  * 5300 MHz [60] (20.0 dBm) (radar detection)
  * 5320 MHz [64] (20.0 dBm) (radar detection)
  * 5500 MHz [100] (21.0 dBm) (radar detection)
  * 5520 MHz [104] (21.0 dBm) (radar detection)
  * 5540 MHz [108] (21.0 dBm) (radar detection)
  * 5560 MHz [112] (21.0 dBm) (radar detection)
  * 5580 MHz [116] (21.0 dBm) (radar detection)
  * 5600 MHz [120] (21.0 dBm) (radar detection)
  * 5620 MHz [124] (21.0 dBm) (radar detection)
  * 5640 MHz [128] (21.0 dBm) (radar detection)
  * 5660 MHz [132] (21.0 dBm) (radar detection)
  * 5680 MHz [136] (21.0 dBm) (radar detection)
  * 5700 MHz [140] (21.0 dBm) (radar detection)
  * 5720 MHz [144] (13.0 dBm) (radar detection)
  * 5745 MHz [149] (13.0 dBm)
  * 5765 MHz [153] (13.0 dBm)
  * 5785 MHz [157] (13.0 dBm)
  * 5805 MHz [161] (13.0 dBm)
  * 5825 MHz [165] (13.0 dBm)
  * 5845 MHz [169] (13.0 dBm)
  * 5865 MHz [173] (13.0 dBm)

When ACS or DFS end up selecting channel 144 or higher, some clients
might no longer be able to communicate with the AP due to the TX power
being limited to 13 dBm. Setting min_tx_power to 20 will result in
hostapd not considering these channels during ACS or after a DFS event.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Acked-by: David Bauer <mail@david-bauer.net>
2022-06-28 03:23:51 +03:00
Stijn Tintel
f2982bcc89 hostapd: introduce background_radar option
Introduce a new option background_radar to toggle hostapd's background
radar feature. Enabling this allows DFS CAC to run on dedicated radio RF
chains while the radio(s) are otherwise running normal AP activities on
other channels.

As OpenWrt configures hostapd to use a channel list even when a single
channel is configured, using this feature requires a list of channels in
/etc/config/wireless. Alternatively, channel can be set to auto.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Acked-by: David Bauer <mail@david-bauer.net>
2022-06-28 03:23:51 +03:00
Tianling Shen
2a53b8d948
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2022-06-11 02:03:29 +08:00
David Bauer
6c152ce5b0 hostapd: randomize default BSS color
In case no specific BSS color is configured, set it to a random value.

Signed-off-by: David Bauer <mail@david-bauer.net>
Tested-by: Stijn Tintel <stijn@linux-ipv6.be>
2022-06-08 23:16:12 +02:00
Tianling Shen
7ee31b8e6b
Revert "mac80211: enable iw_qos_map_set by default"
This reverts commit 3a343f4e78a99fac57c671e83ebc463a9bc11982.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2022-02-13 01:13:54 +08:00
zxlhhyccc
3a343f4e78
mac80211: enable iw_qos_map_set by default 2022-01-11 00:02:35 +08:00
Tianling Shen
9afafb2357
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2021-11-23 18:11:24 +08:00
Felix Fietkau
e2c4998f6d mac80211: set beamformer/beamformee number of antennas in VHT caps
Without this, beamforming is probably not working

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-11-22 13:04:34 +01:00
Bastian Bittorf
ea5fce3f46 mac80211: fix IBSS/adhoc mode for brcmfmac
On systems using brmcfmac (e.g. Raspberry Pi Zero W) without this fix,
the final setup-call:
iw dev wlan0 ibss join ...

fails with returncode 161 and message:
"command failed: Not supported (-95)"

So this patch calls an explicit:
iw dev wlan0 set type ibss
just prior to the 'ibss join' command.

I have tested several ath9k and mt76xx devices
with different revisions: this patch does not harm.

please also apply to stable branch.

Signed-off-by: Bastian Bittorf <bb@npl.de>
2021-11-19 18:27:47 +00:00
zxlhhyccc
fa0024a616 mac80211: disable iw_qos_map_set by default
This option may cause the wireless to fail to start,
let's disable it first.
2021-11-12 17:25:50 +08:00
Tianling Shen
a2ae4f5b39
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2021-10-01 10:18:25 +08:00
Felix Fietkau
42dda0ed3e mac80211: allow retry of wifi setup if an iw interface add command fails
In some cases, spurious failures might be cleared by teardown and retry

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-09-30 11:33:37 +02:00
AmadeusGhost
84180ebbeb Merge official source 2021-08-27 18:50:32 +08:00
Felix Fietkau
a0d81ba0d5 mac80211: fix HT40 mode for 6G band
The channel offset used for VHT segment calculation was missing for HT

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-08-24 17:35:45 +02:00