'netifd' treats all devices with a "." in their name as vlan devices. Modify the name of virtual/WDS interfaces created by broadcom-wl to use an "_" instead of a ".", so they will be treated as simple devices by 'netifd'.
Signed-off-by: Nathan Hintz <[email protected]> --- .../broadcom-wl/files/etc/hotplug.d/net/20-broadcom_wds | 2 +- package/kernel/broadcom-wl/files/lib/wifi/broadcom.sh | 4 ++-- package/kernel/broadcom-wl/patches/013-interface-name.patch | 11 +++++++++++ 3 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 package/kernel/broadcom-wl/patches/013-interface-name.patch diff --git a/package/kernel/broadcom-wl/files/etc/hotplug.d/net/20-broadcom_wds b/package/kernel/broadcom-wl/files/etc/hotplug.d/net/20-broadcom_wds index 0a563c2..24853f3 100644 --- a/package/kernel/broadcom-wl/files/etc/hotplug.d/net/20-broadcom_wds +++ b/package/kernel/broadcom-wl/files/etc/hotplug.d/net/20-broadcom_wds @@ -56,6 +56,6 @@ setup_broadcom_wds() { case "$ACTION" in add|register) - [ "${INTERFACE%%0.*}" = wds ] && setup_broadcom_wds "$INTERFACE" + [ "${INTERFACE%%0_*}" = wds ] && setup_broadcom_wds "$INTERFACE" ;; esac diff --git a/package/kernel/broadcom-wl/files/lib/wifi/broadcom.sh b/package/kernel/broadcom-wl/files/lib/wifi/broadcom.sh index 4d81bcb..26ebea5 100644 --- a/package/kernel/broadcom-wl/files/lib/wifi/broadcom.sh +++ b/package/kernel/broadcom-wl/files/lib/wifi/broadcom.sh @@ -45,7 +45,7 @@ scan_broadcom() { local _c= for vif in ${adhoc_if:-$sta_if $ap_if $mon_if}; do - config_set "$vif" ifname "${device}${_c:+.$_c}" + config_set "$vif" ifname "${device}${_c:+_$_c}" _c=$((${_c:-0} + 1)) done config_set "$device" vifs "${adhoc_if:-$sta_if $ap_if $mon_if}" @@ -102,7 +102,7 @@ disable_broadcom() { include /lib/network # make sure the interfaces are down and removed from all bridges - for dev in $device ${device}.1 ${device}.2 ${device}.3; do + for dev in $device ${device}_1 ${device}_2 ${device}_3; do ifconfig "$dev" down 2>/dev/null >/dev/null && { unbridge "$dev" } diff --git a/package/kernel/broadcom-wl/patches/013-interface-name.patch b/package/kernel/broadcom-wl/patches/013-interface-name.patch new file mode 100644 index 0000000..8aa0ca2 --- /dev/null +++ b/package/kernel/broadcom-wl/patches/013-interface-name.patch @@ -0,0 +1,11 @@ +--- a/driver/wl_linux.c ++++ b/driver/wl_linux.c +@@ -1556,7 +1556,7 @@ wl_add_if(wl_info_t *wl, struct wlc_if* + + wl_if_setup(wlif->dev); + +- sprintf(wlif->dev->name, "%s%d.%d", devname, wl->pub->unit, wlif->subunit); ++ sprintf(wlif->dev->name, "%s%d_%d", devname, wl->pub->unit, wlif->subunit); + if (remote) + bcopy(remote, &wlif->remote, ETHER_ADDR_LEN); + -- 1.8.3.1 _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
