diff options
author | hauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-11-11 21:57:26 +0000 |
---|---|---|
committer | hauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-11-11 21:57:26 +0000 |
commit | b2d3aebc3bc07da84e97ed22d343fe69d776b48d (patch) | |
tree | af5860eb0a002e32a6c54795928949dd00e48d2f | |
parent | be4eef9fc907857bbed2e94ca08fb8a08129c623 (diff) |
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 <nlhintz@hotmail.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38748 3c298f89-4303-0410-b956-a3cf2f4a3e73
3 files changed, 14 insertions, 3 deletions
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 0a563c2dbd..4e56d21acf 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 4d81bcb1b4..506b077ef2 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 0000000000..3a136de037 --- /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); + |