Hi
below commit breaks wifi reconf feature and to be honest it looks like the wrong fix to me.
        John


dangole pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/23a885bf89a204f91e4f17ed96f1a9fc7f50ea34

commit 23a885bf89a204f91e4f17ed96f1a9fc7f50ea34
Author: Oldřich Jedlička <oldium....@gmail.com>
AuthorDate: Mon Mar 16 21:00:51 2020 +0100

     mac80211: do not try to setup hostapd-managed interfaces.
For virtual access points (when multiple SSIDs are used for one
     physical AP), there exist one physical network interface and
     multiple virtual interfaces, which are fully under control of
     hostapd. When networking is setup, the script
     `/lib/netifd/wireless/mac80211.sh` is called, which tries to bring
     the interface up by a call to `ip link set dev <iface> up`. This
     call might fail for virtual APs, because the virtual interface
     might not have been created by hostapd yet. There are some artifical
     delays in the script most probably to handle this, but when DFS
     channel availability check on 5GHz band is issued, hostapd can
     delay creating virtual interfaces by a minute.
In order to fix this (or work around it), do not try to bring the
     interface up (this is responsibility of hostapd anyway) and
     do not try to set txpower on the virtual interface.
Fixes FS#2698. Signed-off-by: Oldřich Jedlička <oldium....@gmail.com>
---
  .../mac80211/files/lib/netifd/wireless/mac80211.sh     | 18 +++++++++++-------
  1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh 
b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
index f22730c9fc..f59c498215 100644
--- a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
+++ b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
@@ -533,6 +533,7 @@ mac80211_prepare_vif() {
NEWAPLIST="${NEWAPLIST}$ifname "
                        [ -n "$hostapd_ctrl" ] || {
+                               ap_ifname="${ifname}"
                                
hostapd_ctrl="${hostapd_ctrl:-/var/run/hostapd/$ifname}"
                        }
                ;;
@@ -753,13 +754,15 @@ mac80211_setup_vif() {
        json_get_var vif_enable enable 1
[ "$vif_enable" = 1 ] || action=down
-       logger ip link set dev "$ifname" $action
-       ip link set dev "$ifname" "$action" || {
-               wireless_setup_vif_failed IFUP_ERROR
-               json_select ..
-               return
-       }
-       [ -z "$vif_txpower" ] || iw dev "$ifname" set txpower fixed 
"${vif_txpower%%.*}00"
+       if [ "$mode" != "ap" ] || [ "$ifname" = "$ap_ifname" ]; then
+               logger ip link set dev "$ifname" $action
+               ip link set dev "$ifname" "$action" || {
+                       wireless_setup_vif_failed IFUP_ERROR
+                       json_select ..
+                       return
+               }
+               [ -z "$vif_txpower" ] || iw dev "$ifname" set txpower fixed 
"${vif_txpower%%.*}00"
+       fi
case "$mode" in
                mesh)
@@ -924,6 +927,7 @@ drv_mac80211_setup() {
has_ap=
        hostapd_ctrl=
+       ap_ifname=
        hostapd_noscan=
        for_each_interface "ap" mac80211_check_ap
_______________________________________________
lede-commits mailing list
lede-comm...@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-commits



_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to