diff --git a/iopsys-brcm63xx-arm/base-files/lib/wifi/brcm_mac80211.sh b/iopsys-brcm63xx-arm/base-files/lib/wifi/brcm_mac80211.sh
deleted file mode 100644
index b31cb6ef4f448a3e38bfb369ffc80c55a16f5ca1..0000000000000000000000000000000000000000
--- a/iopsys-brcm63xx-arm/base-files/lib/wifi/brcm_mac80211.sh
+++ /dev/null
@@ -1,130 +0,0 @@
-#!/bin/sh
-append DRIVERS "brcm_mac80211"
-
-detect_brcm_mac80211() {
-	local default_ch_pref="11 36 100"
-	local default_band_pref="2 5"
-	local default_bw_pref="20"
-	local apsta="0"
-
-	devidx=0
-	config_load wireless
-
-	[ -s "/etc/device_info" ] || return 0
-	source "/etc/device_info"	
-
-	while :; do
-		config_get type "radio$devidx" type
-		[ -n "$type" ] || break
-		devidx=$(($devidx + 1))
-	done
-
-	# Get factory WPA key.
-	local WPAKEY=$(db -q get hw.board.wpa_key)
-	WPAKEY=${WPAKEY:-1234567890}
-	[ "$WPAKEY" == "00000000" ] && WPAKEY="1234567890"
-
-	for _dev in /sys/class/ieee80211/*; do
-		[ -e "$_dev" ] || continue
-
-		dev="${_dev##*/}"
-
-		found=0
-		config_foreach check_mac80211_device wifi-device
-		[ "$found" -gt 0 ] && continue
-
-		mode_band=""
-		channel=""
-		radioidx=""
-		htmode="HT20"
-
-		for _netdev in /sys/class/net/*; do
-			if [ -h ${_netdev}/phy80211 ] && [ "$(cat ${_netdev}/phy80211/name)" == "${dev}" ]; then
-				radioidx="${_netdev##*/}"
-				break
-			fi
-		done
-
-		# check what channels the phy actually supports
-		for bw in ${default_bw_pref}; do
-			for band in ${default_band_pref}; do
-				for ch in ${default_ch_pref}; do
-					wl -i ${radioidx} chanspecs -b ${band} -w ${bw} | grep -q "^${ch}[^0-9]" && {
-						[ "${band}" == "2" ] && mode_band="g" || mode_band="a"
-						channel="${ch}"
-						break 3   # 3 nested levels
-					};
-				done;
-			done;
-		done;
-
-		res=$(wl -i ${radioidx} he 2>&1 > /dev/null)
-		rc=$?
-		if [ $rc -eq 0 ]
-		then
-			[ "${mode_band}" = "a" ] && htmode="HE80" || htmode="HE20"
-		else
-			[ "${mode_band}" = "a" ] && htmode="VHT80" || htmode="HT20"
-		fi
-
-		# This is all fine and dandy but totally unnecessary since we already have the phy
-
-#		if [ -x /usr/bin/readlink -a -h /sys/class/ieee80211/${dev}/device ]; then
-#			path="$(readlink -f /sys/class/ieee80211/${dev}/device)"
-#		else
-#			path=""
-#		fi
-#		if [ -n "$path" ]; then
-#			path="${path##/sys/devices/}"
-#			case "$path" in
-#				platform*/pci*) path="${path##platform/}";;
-#			esac
-#			dev_id="set wireless.${radioidx}.path='$path'"
-#		else
-#			dev_id="set wireless.${radioidx}.macaddr=$(cat ${_netdev}/address)"
-#		fi
-
-		dev_id="set wireless.${radioidx}.phy=${dev}"
-		rmac=$(iw dev ${radioidx} info | grep addr | cut -d ' ' -f 2)
-
-		BMAC=$(db -q get hw.board.basemac)
-		BMAC=${BMAC//:/}
-		BMAC=${BMAC// /}
-
-		BSSID=$(printf "%12.12X" $((0x$BMAC)))
-		UUID=$(uuidgen -s -r | cut -c 1-24)
-		UUID=$UUID$BMAC
-
-		uci -q batch <<-EOF
-			set wireless.${radioidx}=wifi-device
-			set wireless.${radioidx}.type=mac80211
-			set wireless.${radioidx}.channel=${channel}
-			set wireless.${radioidx}.hwmode=11${mode_band}
-			set wireless.${radioidx}.country=DE
-			set wireless.${radioidx}.htmode=${htmode}
-			set wireless.${radioidx}.apsta=${apsta}
-			${dev_id}
-			${aps_sta}
-
-			set wireless.default_${radioidx}=wifi-iface
-			set wireless.default_${radioidx}.device=${radioidx}
-			set wireless.default_${radioidx}.network=lan
-			${aps_ap}
-			set wireless.default_${radioidx}.mode=ap
-			set wireless.default_${radioidx}.ifname='${radioidx}'
-			set wireless.default_${radioidx}.ssid="${DEVICE_MANUFACTURER}-${BSSID}"
-			set wireless.default_${radioidx}.uuid="${UUID}"
-			set wireless.default_${radioidx}.encryption=psk2
-			set wireless.default_${radioidx}.key=${WPAKEY}
-			set wireless.default_${radioidx}.wps=1
-			set wireless.default_${radioidx}.wps_pushbutton=1
-			set wireless.default_${radioidx}.ieee80211k=1
-			set wireless.default_${radioidx}.ieee80211v=1
-			set wireless.default_${radioidx}.bss_transition=1
-			set wireless.default_${radioidx}.multi_ap=3
-EOF
-		uci -q commit wireless
-
-		devidx=$(($devidx + 1))
-	done
-}
diff --git a/iopsys-brcm63xx-arm/base-files/lib/wifi/mac80211.sh b/iopsys-brcm63xx-arm/base-files/lib/wifi/mac80211.sh
index 511a9188db218fbd0c595f53508b68b15ce30337..60a0b48981d77da4c927f1ae3f57fe433a829eda 100644
--- a/iopsys-brcm63xx-arm/base-files/lib/wifi/mac80211.sh
+++ b/iopsys-brcm63xx-arm/base-files/lib/wifi/mac80211.sh
@@ -1,72 +1,29 @@
 #!/bin/sh
 append DRIVERS "mac80211"
 
-lookup_phy() {
-	[ -n "$phy" ] && {
-		[ -d /sys/class/ieee80211/$phy ] && return
-	}
-
-	local devpath
-	config_get devpath "$device" path
-	[ -n "$devpath" ] && {
-		for phy in $(ls /sys/class/ieee80211 2>/dev/null); do
-			case "$(readlink -f /sys/class/ieee80211/$phy/device)" in
-				*$devpath) return;;
-			esac
-		done
-	}
-
-	local macaddr="$(config_get "$device" macaddr | tr 'A-Z' 'a-z')"
-	[ -n "$macaddr" ] && {
-		for _phy in /sys/class/ieee80211/*; do
-			[ -e "$_phy" ] || continue
-
-			[ "$macaddr" = "$(cat ${_phy}/macaddress)" ] || continue
-			phy="${_phy##*/}"
-			return
-		done
-	}
-	phy=
-	return
-}
-
-find_mac80211_phy() {
-	local device="$1"
-
-	config_get phy "$device" phy
-	lookup_phy
-	[ -n "$phy" -a -d "/sys/class/ieee80211/$phy" ] || {
-		echo "PHY for wifi device $1 not found"
-		return 1
-	}
-	config_set "$device" phy "$phy"
-
-	config_get macaddr "$device" macaddr
-	[ -z "$macaddr" ] && {
-		config_set "$device" macaddr "$(cat /sys/class/ieee80211/${phy}/macaddress)"
-	}
-
-	return 0
-}
-
-check_mac80211_device() {
-	config_get phy "$1" phy
-	[ -z "$phy" ] && {
-		find_mac80211_phy "$1" >/dev/null || return 0
-		config_get phy "$1" phy
-	}
-	[ "$phy" = "$dev" ] && found=1
-}
-
 detect_mac80211() {
+	local default_ch_pref="11 36 100"
+	local default_band_pref="2 5"
+	local default_bw_pref="20"
+	local apsta="0"
+
 	devidx=0
 	config_load wireless
+
+	[ -s "/etc/device_info" ] || return 0
+	source "/etc/device_info"	
+
 	while :; do
 		config_get type "radio$devidx" type
 		[ -n "$type" ] || break
 		devidx=$(($devidx + 1))
 	done
 
+	# Get factory WPA key.
+	local WPAKEY=$(db -q get hw.board.wpa_key)
+	WPAKEY=${WPAKEY:-1234567890}
+	[ "$WPAKEY" == "00000000" ] && WPAKEY="1234567890"
+
 	for _dev in /sys/class/ieee80211/*; do
 		[ -e "$_dev" ] || continue
 
@@ -76,51 +33,95 @@ detect_mac80211() {
 		config_foreach check_mac80211_device wifi-device
 		[ "$found" -gt 0 ] && continue
 
-		mode_band="g"
-		channel="11"
-		htmode=""
-		ht_capab=""
-
-		iw phy "$dev" info | grep -q 'Capabilities:' && htmode=HT20
+		mode_band=""
+		channel=""
+		radioidx=""
+		htmode="HT20"
 
-		iw phy "$dev" info | grep -q '5180 MHz' && {
-			mode_band="a"
-			channel="36"
-			iw phy "$dev" info | grep -q 'VHT Capabilities' && htmode="VHT80"
-		}
-
-		[ -n "$htmode" ] && ht_capab="set wireless.radio${devidx}.htmode=$htmode"
+		for _netdev in /sys/class/net/*; do
+			if [ -h ${_netdev}/phy80211 ] && [ "$(cat ${_netdev}/phy80211/name)" == "${dev}" ]; then
+				radioidx="${_netdev##*/}"
+				break
+			fi
+		done
 
-		if [ -x /usr/bin/readlink -a -h /sys/class/ieee80211/${dev} ]; then
-			path="$(readlink -f /sys/class/ieee80211/${dev}/device)"
+		# check what channels the phy actually supports
+		for bw in ${default_bw_pref}; do
+			for band in ${default_band_pref}; do
+				for ch in ${default_ch_pref}; do
+					wl -i ${radioidx} chanspecs -b ${band} -w ${bw} | grep -q "^${ch}[^0-9]" && {
+						[ "${band}" == "2" ] && mode_band="g" || mode_band="a"
+						channel="${ch}"
+						break 3   # 3 nested levels
+					};
+				done;
+			done;
+		done;
+
+		res=$(wl -i ${radioidx} he 2>&1 > /dev/null)
+		rc=$?
+		if [ $rc -eq 0 ]
+		then
+			[ "${mode_band}" = "a" ] && htmode="HE80" || htmode="HE20"
 		else
-			path=""
-		fi
-		if [ -n "$path" ]; then
-			path="${path##/sys/devices/}"
-			case "$path" in
-				platform*/pci*) path="${path##platform/}";;
-			esac
-			dev_id="set wireless.radio${devidx}.path='$path'"
-		else
-			dev_id="set wireless.radio${devidx}.macaddr=$(cat /sys/class/ieee80211/${dev}/macaddress)"
+			[ "${mode_band}" = "a" ] && htmode="VHT80" || htmode="HT20"
 		fi
 
+		# This is all fine and dandy but totally unnecessary since we already have the phy
+
+#		if [ -x /usr/bin/readlink -a -h /sys/class/ieee80211/${dev}/device ]; then
+#			path="$(readlink -f /sys/class/ieee80211/${dev}/device)"
+#		else
+#			path=""
+#		fi
+#		if [ -n "$path" ]; then
+#			path="${path##/sys/devices/}"
+#			case "$path" in
+#				platform*/pci*) path="${path##platform/}";;
+#			esac
+#			dev_id="set wireless.${radioidx}.path='$path'"
+#		else
+#			dev_id="set wireless.${radioidx}.macaddr=$(cat ${_netdev}/address)"
+#		fi
+
+		dev_id="set wireless.${radioidx}.phy=${dev}"
+		rmac=$(iw dev ${radioidx} info | grep addr | cut -d ' ' -f 2)
+
+		BMAC=$(db -q get hw.board.basemac)
+		BMAC=${BMAC//:/}
+		BMAC=${BMAC// /}
+
+		BSSID=$(printf "%12.12X" $((0x$BMAC)))
+		UUID=$(uuidgen -s -r | cut -c 1-24)
+		UUID=$UUID$BMAC
+
 		uci -q batch <<-EOF
-			set wireless.radio${devidx}=wifi-device
-			set wireless.radio${devidx}.type=mac80211
-			set wireless.radio${devidx}.channel=${channel}
-			set wireless.radio${devidx}.hwmode=11${mode_band}
+			set wireless.${radioidx}=wifi-device
+			set wireless.${radioidx}.type=mac80211
+			set wireless.${radioidx}.channel=${channel}
+			set wireless.${radioidx}.hwmode=11${mode_band}
+			set wireless.${radioidx}.country=DE
+			set wireless.${radioidx}.htmode=${htmode}
+			set wireless.${radioidx}.apsta=${apsta}
 			${dev_id}
-			${ht_capab}
-			set wireless.radio${devidx}.disabled=1
-
-			set wireless.default_radio${devidx}=wifi-iface
-			set wireless.default_radio${devidx}.device=radio${devidx}
-			set wireless.default_radio${devidx}.network=lan
-			set wireless.default_radio${devidx}.mode=ap
-			set wireless.default_radio${devidx}.ssid=OpenWrt
-			set wireless.default_radio${devidx}.encryption=none
+			${aps_sta}
+
+			set wireless.default_${radioidx}=wifi-iface
+			set wireless.default_${radioidx}.device=${radioidx}
+			set wireless.default_${radioidx}.network=lan
+			${aps_ap}
+			set wireless.default_${radioidx}.mode=ap
+			set wireless.default_${radioidx}.ifname='${radioidx}'
+			set wireless.default_${radioidx}.ssid="${DEVICE_MANUFACTURER}-${BSSID}"
+			set wireless.default_${radioidx}.uuid="${UUID}"
+			set wireless.default_${radioidx}.encryption=psk2
+			set wireless.default_${radioidx}.key=${WPAKEY}
+			set wireless.default_${radioidx}.wps=1
+			set wireless.default_${radioidx}.wps_pushbutton=1
+			set wireless.default_${radioidx}.ieee80211k=1
+			set wireless.default_${radioidx}.ieee80211v=1
+			set wireless.default_${radioidx}.bss_transition=1
+			set wireless.default_${radioidx}.multi_ap=3
 EOF
 		uci -q commit wireless
 
diff --git a/iopsys-brcm63xx-arm/base-files/sbin/wifi b/iopsys-brcm63xx-arm/base-files/sbin/wifi
deleted file mode 100755
index d70eb06583aae1bf28146c5b0fcc1db0da33c14b..0000000000000000000000000000000000000000
--- a/iopsys-brcm63xx-arm/base-files/sbin/wifi
+++ /dev/null
@@ -1,247 +0,0 @@
-#!/bin/sh
-# Copyright (C) 2006 OpenWrt.org
-
-. /lib/functions.sh
-. /usr/share/libubox/jshn.sh
-
-usage() {
-	cat <<EOF
-Usage: $0 [config|up|down|reload|status]
-enables (default), disables or configures devices not yet configured.
-EOF
-	exit 1
-}
-
-ubus_wifi_cmd() {
-	local cmd="$1"
-	local dev="$2"
-
-	json_init
-	[ -n "$2" ] && json_add_string device "$2"
-	ubus call network.wireless "$1" "$(json_dump)"
-}
-
-find_net_config() {(
-	local vif="$1"
-	local cfg
-	local ifname
-
-	config_get cfg "$vif" network
-
-	[ -z "$cfg" ] && {
-		include /lib/network
-		scan_interfaces
-
-		config_get ifname "$vif" ifname
-
-		cfg="$(find_config "$ifname")"
-	}
-	[ -z "$cfg" ] && return 0
-	echo "$cfg"
-)}
-
-
-bridge_interface() {(
-	local cfg="$1"
-	[ -z "$cfg" ] && return 0
-
-	include /lib/network
-	scan_interfaces
-
-	for cfg in $cfg; do
-		config_get iftype "$cfg" type
-		[ "$iftype" = bridge ] && config_get "$cfg" ifname
-		prepare_interface_bridge "$cfg"
-		return $?
-	done
-)}
-
-prepare_key_wep() {
-	local key="$1"
-	local hex=1
-
-	echo -n "$key" | grep -qE "[^a-fA-F0-9]" && hex=0
-	[ "${#key}" -eq 10 -a $hex -eq 1 ] || \
-	[ "${#key}" -eq 26 -a $hex -eq 1 ] || {
-		[ "${key:0:2}" = "s:" ] && key="${key#s:}"
-		key="$(echo -n "$key" | hexdump -ve '1/1 "%02x" ""')"
-	}
-	echo "$key"
-}
-
-wifi_fixup_hwmode() {
-	local device="$1"
-	local default="$2"
-	local hwmode hwmode_11n
-
-	config_get channel "$device" channel
-	config_get hwmode "$device" hwmode
-	case "$hwmode" in
-		11bg) hwmode=bg;;
-		11a) hwmode=a;;
-		11b) hwmode=b;;
-		11g) hwmode=g;;
-		11n*)
-			hwmode_11n="${hwmode##11n}"
-			case "$hwmode_11n" in
-				a|g) ;;
-				default) hwmode_11n="$default"
-			esac
-			config_set "$device" hwmode_11n "$hwmode_11n"
-		;;
-		*)
-			hwmode=
-			if [ "${channel:-0}" -gt 0 ]; then
-				if [ "${channel:-0}" -gt 14 ]; then
-					hwmode=a
-				else
-					hwmode=g
-				fi
-			else
-				hwmode="$default"
-			fi
-		;;
-	esac
-	config_set "$device" hwmode "$hwmode"
-}
-
-_wifi_updown() {
-	for device in ${2:-$DEVICES}; do (
-		config_get disabled "$device" disabled
-		[ "$disabled" = "1" ] && {
-			echo "'$device' is disabled"
-			set disable
-		}
-		config_get iftype "$device" type
-		if eval "type ${1}_$iftype" 2>/dev/null >/dev/null; then
-			eval "scan_$iftype '$device'"
-			eval "${1}_$iftype '$device'" || echo "$device($iftype): ${1} failed"
-		elif [ ! -f /lib/netifd/wireless/$iftype.sh ]; then
-			echo "$device($iftype): Interface type not supported"
-		fi
-	); done
-}
-
-wifi_updown() {
-	cmd=down
-	[ enable = "$1" ] && {
-		_wifi_updown disable "$2"
-		ubus_wifi_cmd "$cmd" "$2"
-		scan_wifi
-		cmd=up
-	}
-	ubus_wifi_cmd "$cmd" "$2"
-	_wifi_updown "$@"
-}
-
-wifi_reload_legacy() {
-	_wifi_updown "disable" "$1"
-	scan_wifi
-	_wifi_updown "enable" "$1"
-}
-
-wifi_reload() {
-	ubus call network reload
-	wifi_reload_legacy
-}
-
-wifi_detect_notice() {
-	>&2 echo "WARNING: Wifi detect is deprecated. Use wifi config instead"
-	>&2 echo "For more information, see commit 5f8f8a366136a07df661e31decce2458357c167a"
-	exit 1
-}
-
-wifi_config() {
-	[ ! -f /etc/config/wireless ] && touch /etc/config/wireless
-
-	for driver in $DRIVERS; do (
-		if eval "type detect_$driver" 2>/dev/null >/dev/null; then
-			eval "detect_$driver" || echo "$driver: Detect failed" >&2
-		else
-			echo "$driver: Hardware detection not supported" >&2
-		fi
-	); done
-}
-
-start_net() {(
-	local iface="$1"
-	local config="$2"
-	local vifmac="$3"
-
-	[ -f "/var/run/$iface.pid" ] && kill "$(cat /var/run/${iface}.pid)" 2>/dev/null
-	[ -z "$config" ] || {
-		include /lib/network
-		scan_interfaces
-		for config in $config; do
-			setup_interface "$iface" "$config" "" "$vifmac"
-		done
-	}
-)}
-
-set_wifi_up() {
-	local cfg="$1"
-	local ifname="$2"
-	uci_set_state wireless "$cfg" up 1
-	uci_set_state wireless "$cfg" ifname "$ifname"
-}
-
-set_wifi_down() {
-	local cfg="$1"
-	local vifs vif vifstr
-
-	[ -f "/var/run/wifi-${cfg}.pid" ] &&
-		kill "$(cat "/var/run/wifi-${cfg}.pid")" 2>/dev/null
-	uci_revert_state wireless "$cfg"
-	config_get vifs "$cfg" vifs
-	for vif in $vifs; do
-		uci_revert_state wireless "$vif"
-	done
-}
-
-scan_wifi() {
-	local cfgfile="$1"
-	DEVICES=
-	config_cb() {
-		local type="$1"
-		local section="$2"
-
-		# section start
-		case "$type" in
-			wifi-device)
-				append DEVICES "$section"
-				config_set "$section" vifs ""
-				config_set "$section" ht_capab ""
-			;;
-		esac
-
-		# section end
-		config_get TYPE "$CONFIG_SECTION" TYPE
-		case "$TYPE" in
-			wifi-iface)
-				config_get device "$CONFIG_SECTION" device
-				config_get vifs "$device" vifs
-				append vifs "$CONFIG_SECTION"
-				config_set "$device" vifs "$vifs"
-			;;
-		esac
-	}
-	config_load "${cfgfile:-wireless}"
-}
-
-DEVICES=
-DRIVERS=
-include /lib/wifi/
-DRIVERS=brcm_mac80211
-scan_wifi
-
-case "$1" in
-	down) wifi_updown "disable" "$2";;
-	detect) wifi_detect_notice ;;
-	config) wifi_config ;;
-	status) ubus_wifi_cmd "status" "$2";;
-	reload) wifi_reload "$2";;
-	reload_legacy) wifi_reload_legacy "$2";;
-	--help|help) usage;;
-	''|up) ubus call network reload; wifi_updown "enable" "$2";;
-	*) usage; exit 1;;
-esac