From cac4ccca2f064a29c640db2eba90b7f8de271a41 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Mon, 11 Nov 2013 21:57:26 +0000 Subject: [PATCH] broadcom-wl: change interface names '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 a "-" instead of a ".", so they will be treated as simple devices by 'netifd'. Signed-off-by: Nathan Hintz SVN-Revision: 38748 --- .../files/etc/hotplug.d/net/20-broadcom_wds | 2 +- package/kernel/broadcom-wl/files/lib/wifi/broadcom.sh | 4 ++-- .../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 0a563c2dbd3..4e56d21acfa 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 4d81bcb1b4e..506b077ef2b 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 00000000000..3a136de037b --- /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); +