diff --git a/lq-wave-300_5_x/files/lib/wifi/intel.sh b/lq-wave-300_5_x/files/lib/wifi/intel.sh
new file mode 100644
index 0000000000000000000000000000000000000000..2b87c3371d4be2b7c9a5fcb968b68dc15d9581d7
--- /dev/null
+++ b/lq-wave-300_5_x/files/lib/wifi/intel.sh
@@ -0,0 +1,167 @@
+#!/bin/sh
+
+append DRIVERS "intel"
+
+HARDWARE=$(db -q get hw.board.hardware)
+BASEMAC=$(db -q get hw.board.BaseMacAddr)
+
+BASEMAC=${BASEMAC//:/}
+ssid="$HARDWARE-$BASEMAC"
+key="1234567890"
+encryption="psk2"
+
+wifi_interface_is_ap() {
+	iw dev ${1} info | grep -q 'type AP'
+}
+
+wifi_device_get_macaddress() {
+	local phydev=$1
+	local netdev=$2
+
+	echo $(cat /sys/class/ieee80211/$phydev/device/net/$netdev/address)
+}
+
+wifi_device_get_intparam() {
+	local phydev=$1
+	local netdev=$2
+	local param=$3
+
+	out=$(iw dev $netdev iwlwav $param)
+	[ "$?" == "0" ] && {
+		echo $out | tr -d 'A-Za-z:'
+	}
+}
+
+wifi_get_radio_netdev() {
+        local phy=$1
+
+        for _netdev in /sys/class/ieee80211/${phy}/device/net/*; do
+                [ -e "$_netdev" ] || continue
+
+                netdev="${_netdev##*/}"
+                echo "$netdev" && return
+        done
+}
+
+check_phypath() {
+	local path
+
+	config_get path $1 path
+	[ -n "$path" ] && [ "$path" == "$2" ] && {
+		found_phypath=1
+	}
+	return 0
+}
+
+detect_intel_interfaces() {
+	local phyname=$1
+	local radio=$2
+
+	for _vif in /sys/class/ieee80211/${1}/device/net/*; do
+		[ -e "$_vif" ] || {
+			continue
+		}
+
+		vif="${_vif##*/}"
+		wifi_interface_is_ap $vif
+		[ "$?" == "0" ] || {
+			continue
+		}
+
+		hidden=$(wifi_device_get_intparam $phyname $vif gHiddenSSID)
+		apfwd=$(wifi_device_get_intparam $phyname $vif gAPforwarding)
+		[ "$apfwd" == "0" ] && isolate=1 || isolate=0
+
+		uci -q add wireless wifi-iface
+		uci -q set wireless.@wifi-iface[${ifidx}].device=${radio}
+		uci -q set wireless.@wifi-iface[${ifidx}].ifname=${vif}
+		uci -q set wireless.@wifi-iface[${ifidx}].mode=ap
+		uci -q set wireless.@wifi-iface[${ifidx}].network=lan
+		uci -q set wireless.@wifi-iface[${ifidx}].ssid=${ssid}
+		uci -q set wireless.@wifi-iface[${ifidx}].hidden=${hidden}
+		uci -q set wireless.@wifi-iface[${ifidx}].isolate=${isolate}
+		uci -q set wireless.@wifi-iface[${ifidx}].encryption=${encryption}
+		uci -q set wireless.@wifi-iface[${ifidx}].key=${key}
+		uci -q commit wireless
+		ifidx=$(($ifidx + 1))
+	done
+}
+
+detect_intel() {
+	devidx=0
+	ifidx=0
+	config_load wireless
+
+	for _dev in /sys/class/ieee80211/*; do
+		[ -e "$_dev" ] || continue
+
+		dev="${_dev##*/}"
+		radioname=$(wifi_get_radio_netdev ${dev})
+
+		mode_band="g"
+		channel="11"
+		htmode=""
+		ht_capab=""
+
+		iw phy "$dev" info | grep -q 'Capabilities:' && htmode=HT20
+		iw phy "$dev" info | grep -q '2412 MHz' || { mode_band="a"; channel="36"; }
+
+		vht_cap=$(iw phy "$dev" info | grep -c 'VHT Capabilities')
+		cap_5ghz=$(iw phy "$dev" info | grep -c "Band 2")
+		[ "$vht_cap" -gt 0 -a "$cap_5ghz" -gt 0 ] && {
+			mode_band="a";
+			channel="36"
+			htmode="VHT80"
+		}
+
+		[ -n "$htmode" ] && ht_capab="set wireless.${radioname}.htmode=$htmode"
+
+		if [ -x /usr/bin/readlink -a -h /sys/class/ieee80211/${dev} ]; 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.${radioname}.path='$path'"
+		else
+			dev_id="set wireless.${radioname}.macaddr=$(cat /sys/class/ieee80211/${dev}/macaddress)"
+		fi
+
+		found_phypath=0
+		config_foreach check_phypath wifi-device $path
+		[ $found_phypath -gt 0 ] && {
+			devidx=$(($devidx + 1))
+			continue
+		}
+
+		macaddr=$(wifi_device_get_macaddress $dev $radioname)
+		beacon_int=$(wifi_device_get_intparam $dev $radioname gBeaconPeriod)
+		country_ie=$(wifi_device_get_intparam $dev $radioname g11dActive)
+		[ "$country_ie" == "1" ] && {
+			country="EU"	## FIXME
+		}
+
+		uci -q batch <<-EOF
+			set wireless.${radioname}=wifi-device
+			set wireless.${radioname}.type=intel
+			set wireless.${radioname}.channel=${channel}
+			set wireless.${radioname}.hwmode=11${mode_band}
+			set wireless.${radioname}.macaddr=${macaddr}
+			set wireless.${radioname}.beacon_int=${beacon_int}
+			set wireless.${radioname}.country=${country}
+			set wireless.${radioname}.country_ie=${country_ie}
+			${dev_id}
+			${ht_capab}
+			set wireless.${radioname}.disabled=1
+EOF
+		uci -q commit wireless
+		config_load wireless
+
+		detect_intel_interfaces $dev $radioname $ifidx
+		devidx=$(($devidx + 1))
+	done
+}