Просмотр исходного кода

wifi-scripts: fix wdev fallback for mesh interfaces

The previous wdev.uc invocation failed for mesh interfaces.
Rewrite it as a loop so the mesh interface is created correctly
when no wpa_supplicant mesh support is installed.

Link: https://github.com/openwrt/openwrt/pull/21291
(cherry picked from commit a18ef412ae73b605a99c319e02bcff9a63b3bfa8)
Link: https://github.com/openwrt/openwrt/pull/21301
Signed-off-by: Nick Hainke <[email protected]>
Nick Hainke 1 месяц назад
Родитель
Сommit
a32c5c69dc

+ 9 - 1
package/network/config/wifi-scripts/files-ucode/lib/netifd/wireless/mac80211.sh

@@ -294,7 +294,15 @@ function setup() {
 	if (fs.access('/usr/sbin/hostapd', 'x'))
 		hostapd.setup(data);
 
-	system(`ucode /usr/share/hostap/wdev.uc ${data.phy}${data.phy_suffix} set_config '${printf("%J", wdev_data)}' ${join(' ', active_ifnames)}`);
+	for (let ifname in active_ifnames) {
+		if (!wdev_data[ifname])
+			continue;
+
+		let if_config = {
+			[ifname]: wdev_data[ifname]
+		};
+		system(`ucode /usr/share/hostap/wdev.uc ${data.phy}${data.phy_suffix} set_config '${if_config}'`);
+	}
 
 	if (length(supplicant_data) > 0)
 		supplicant.start(data);