--- /dev/null
+#
+# Copyright (C) 2007-2008 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+# $Id: Makefile 7440 2007-06-02 02:22:01Z nbd $
+
+include $(TOPDIR)/rules.mk
+include $(INCLUDE_DIR)/kernel.mk
+
+PKG_NAME:=mac80211
+PKG_RELEASE:=2
+
+PKG_VERSION:=2008-08-06
+PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_URL:=http://www.orbit-lab.org/kernel/compat-wireless-2.6/2008/08/
+PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION)
+
+include $(INCLUDE_DIR)/package.mk
+
+define KernelPackage/mac80211
+ SUBMENU:=Wireless Drivers
+ TITLE:=Linux 802.11 Wireless Networking Stack
+ DEPENDS:=@LINUX_2_6 +kmod-crypto-arc4 +kmod-crypto-aes +wireless-tools @!TARGET_avr32
+ FILES:= \
+ $(PKG_BUILD_DIR)/net/mac80211/mac80211.$(LINUX_KMOD_SUFFIX) \
+ $(PKG_BUILD_DIR)/net/wireless/cfg80211.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,20,cfg80211 mac80211)
+endef
+
+define KernelPackage/mac80211/description
+Linux 802.11 Wireless Networking Stack
+endef
+
+# Ralink rt2x00 drivers
+RT61FW:=RT61_Firmware_V1.2.zip
+RT71FW:=RT71W_Firmware_V1.8.zip
+
+define Download/rt61
+ FILE:=$(RT61FW)
+ URL:=http://www.ralinktech.com.tw/data/
+ MD5SUM:=d4c690c93b470bc9a681297c2adc6281
+endef
+$(eval $(call Download,rt61))
+
+define Download/rt71w
+ FILE:=$(RT71FW)
+ URL:=http://www.ralinktech.com.tw/data/
+ MD5SUM:=1e7a5dc574e0268574fcda3fd5cf52f7
+endef
+$(eval $(call Download,rt71w))
+
+define KernelPackage/rt2x00/Default
+ SUBMENU:=Wireless Drivers
+ TITLE:=Ralink Drivers for RT2x00 cards
+endef
+
+define KernelPackage/rt2x00-lib
+$(call KernelPackage/rt2x00/Default)
+ DEPENDS+= @PCI_SUPPORT||USB_SUPPORT +kmod-mac80211 +kmod-crc-itu-t
+ TITLE+= (LIB)
+ FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00lib.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,25,blkcipher ecb arc4 rt2x00lib)
+endef
+
+define KernelPackage/rt2x00-pci
+$(call KernelPackage/rt2x00/Default)
+ DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-lib +kmod-eeprom-93cx6
+ TITLE+= (PCI)
+ FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00pci.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,26,rt2x00pci)
+endef
+
+define KernelPackage/rt2x00-usb
+$(call KernelPackage/rt2x00/Default)
+ DEPENDS+= @USB_SUPPORT +kmod-rt2x00-lib +kmod-usb-core
+ TITLE+= (USB)
+ FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2x00usb.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,26,rt2x00usb)
+endef
+
+define KernelPackage/rt2400-pci
+$(call KernelPackage/rt2x00/Default)
+ DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
+ TITLE+= (RT2400 PCI)
+ FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2400pci.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,27,rt2400pci)
+endef
+
+define KernelPackage/rt2500-pci
+$(call KernelPackage/rt2x00/Default)
+ DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
+ TITLE+= (RT2500 PCI)
+ FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500pci.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,27,rt2500pci)
+endef
+
+define KernelPackage/rt2500-usb
+$(call KernelPackage/rt2x00/Default)
+ DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
+ TITLE+= (RT2500 USB)
+ FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2500usb.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,27,rt2500usb)
+endef
+
+define KernelPackage/rt61-pci
+$(call KernelPackage/rt2x00/Default)
+ DEPENDS+= @PCI_SUPPORT +kmod-rt2x00-pci
+ TITLE+= (RT2x61 PCI)
+ FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt61pci.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,27,rt61pci)
+endef
+
+define KernelPackage/rt73-usb
+ $(call KernelPackage/rt2x00/Default)
+ DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb
+ TITLE+= (RT73 USB)
+ FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt73usb.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,27,rt73usb)
+endef
+
+define KernelPackage/net-zd1211rw
+ SUBMENU:=Wireless Drivers
+ TITLE:=Zydas ZD1211 support
+ DEPENDS:=@LINUX_2_6_24||LINUX_2_6_25 @USB_SUPPORT +kmod-ieee80211-softmac
+ FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/zd1211rw/zd1211rw.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,60,zd1211rw)
+endef
+
+define KernelPackage/ath5k
+ SUBMENU:=Wireless Drivers
+ TITLE:=Atheros 5xxx wireless cards support
+ DEPENDS+= @PCI_SUPPORT +kmod-mac80211
+ FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/ath5k/ath5k.$(LINUX_KMOD_SUFFIX)
+ AUTOLOAD:=$(call AutoLoad,27,ath5k)
+endef
+
+BUILDFLAGS:= \
+ $(foreach opt,$(CONFOPTS),-DCONFIG_$(opt)) \
+ $(if $(CONFIG_LEDS_TRIGGERS), -DCONFIG_MAC80211_LEDS -DCONFIG_LEDS_TRIGGERS) \
+ -D__CONFIG_MAC80211_RC_DEFAULT=pid \
+
+MAKE_OPTS:= \
+ CROSS_COMPILE="$(TARGET_CROSS)" \
+ ARCH="$(LINUX_KARCH)" \
+ EXTRA_CFLAGS="$(BUILDFLAGS)" \
+ $(foreach opt,$(CONFOPTS),CONFIG_$(opt)=m) \
+ CONFIG_NL80211=y \
+ CONFIG_MAC80211_RC_PID=y \
+ CONFIG_MAC80211_LEDS=$(CONFIG_LEDS_TRIGGERS) \
+ LINUXINCLUDE="-I$(PKG_BUILD_DIR)/include -I$(LINUX_DIR)/include -include linux/autoconf.h" \
+ KLIB_BUILD="$(LINUX_DIR)" \
+
+define Build/Prepare
+ rm -rf $(PKG_BUILD_DIR)
+ mkdir -p $(PKG_BUILD_DIR)
+ $(PKG_UNPACK)
+ $(Build/Patch)
+ $(if $(QUILT),touch $(PKG_BUILD_DIR)/.quilt_used)
+ unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT61FW)
+ unzip -jod $(PKG_BUILD_DIR) $(DL_DIR)/$(RT71FW)
+ rm -rf $(PKG_BUILD_DIR)/include/linux/ssb
+endef
+
+ifneq ($(CONFIG_PACKAGE_kmod-mac80211),)
+ define Build/Compile/kmod
+ $(MAKE) -C "$(PKG_BUILD_DIR)" $(MAKE_OPTS) all
+ endef
+endif
+
+define Build/Compile
+ $(call Build/Compile/kmod)
+endef
+
+define Build/InstallDev
+ mkdir -p $(1)/usr/include/mac80211 $(1)/usr/include/net/mac80211
+ $(CP) $(PKG_BUILD_DIR)/net/mac80211/*.h $(PKG_BUILD_DIR)/include/* $(1)/usr/include/mac80211/
+ $(CP) $(PKG_BUILD_DIR)/net/mac80211/rate.h $(1)/usr/include/net/mac80211/
+endef
+
+define KernelPackage/mac80211/install
+ $(INSTALL_DIR) $(1)/lib/wifi
+ $(INSTALL_DATA) ./files/lib/wifi/mac80211.sh $(1)/lib/wifi
+endef
+
+define KernelPackage/rt61-pci/install
+ $(INSTALL_DIR) $(1)/lib/firmware
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt2?61*.bin $(1)/lib/firmware/
+endef
+
+define KernelPackage/rt73-usb/install
+ $(INSTALL_DIR) $(1)/lib/firmware
+ $(INSTALL_DATA) $(PKG_BUILD_DIR)/rt73.bin $(1)/lib/firmware/
+endef
+
+$(eval $(call KernelPackage,ath5k))
+$(eval $(call KernelPackage,net-zd1211rw))
+$(eval $(call KernelPackage,mac80211))
+$(eval $(call KernelPackage,rt2x00-lib))
+$(eval $(call KernelPackage,rt2x00-pci))
+$(eval $(call KernelPackage,rt2x00-usb))
+$(eval $(call KernelPackage,rt2400-pci))
+$(eval $(call KernelPackage,rt2500-pci))
+$(eval $(call KernelPackage,rt2500-usb))
+$(eval $(call KernelPackage,rt61-pci))
+$(eval $(call KernelPackage,rt73-usb))
--- /dev/null
+#!/bin/sh
+append DRIVERS "mac80211"
+
+scan_mac80211() {
+ local device="$1"
+ local adhoc sta ap
+
+ config_get vifs "$device" vifs
+ for vif in $vifs; do
+
+ config_get ifname "$vif" ifname
+ config_set "$vif" ifname "${ifname:-$device}"
+
+ config_get mode "$vif" mode
+ case "$mode" in
+ adhoc|sta|ap|monitor)
+ append $mode "$vif"
+ ;;
+ *) echo "$device($vif): Invalid mode, ignored."; continue;;
+ esac
+ done
+
+ config_set "$device" vifs "${ap:+$ap }${adhoc:+$adhoc }${ahdemo:+$ahdemo }${sta:+$sta }${wds:+$wds }${monitor:+$monitor}"
+}
+
+
+disable_mac80211() (
+ local device="$1"
+
+ set_wifi_down "$device"
+ # kill all running hostapd and wpa_supplicant processes that
+ # are running on atheros/mac80211 vifs
+ for pid in `pidof hostapd wpa_supplicant`; do
+ grep wlan /proc/$pid/cmdline >/dev/null && \
+ kill $pid
+ done
+
+ include /lib/network
+ cd /proc/sys/net
+ for dev in *; do
+ grep "$device" "$dev/%parent" >/dev/null 2>/dev/null && {
+ ifconfig "$dev" down
+ unbridge "$dev"
+ }
+ done
+ return 0
+)
+
+enable_mac80211() {
+ local device="$1"
+ config_get channel "$device" channel
+ config_get vifs "$device" vifs
+ config_get txpower "$device" txpower
+
+ local first=1
+ for vif in $vifs; do
+ ifconfig "$ifname" down 2>/dev/null
+ config_get ifname "$vif" ifname
+ config_get enc "$vif" encryption
+ config_get eap_type "$vif" eap_type
+ config_get mode "$vif" mode
+
+ config_get ifname "$vif" ifname
+ [ $? -ne 0 ] && {
+ echo "enable_mac80211($device): Failed to set up $mode vif $ifname" >&2
+ continue
+ }
+ config_set "$vif" ifname "$ifname"
+
+ [ "$first" = 1 ] && {
+ # only need to change freq band and channel on the first vif
+ iwconfig "$ifname" channel "$channel" >/dev/null 2>/dev/null
+ if [ "$mode" = adhoc ]; then
+ iwlist "$ifname" scan >/dev/null 2>/dev/null
+ sleep 1
+ iwconfig "$ifname" mode ad-hoc >/dev/null 2>/dev/null
+ fi
+ sleep 1
+ iwconfig "$ifname" channel "$channel" >/dev/null 2>/dev/null
+ }
+ if [ "$mode" = sta ]; then
+ iwconfig "$ifname" mode managed >/dev/null 2>/dev/null
+ else
+ iwconfig "$ifname" mode $mode >/dev/null 2>/dev/null
+ fi
+
+ wpa=
+ case "$enc" in
+ WEP|wep)
+ for idx in 1 2 3 4; do
+ config_get key "$vif" "key${idx}"
+ iwconfig "$ifname" enc "[$idx]" "${key:-off}"
+ done
+ config_get key "$vif" key
+ key="${key:-1}"
+ case "$key" in
+ [1234]) iwconfig "$ifname" enc "[$key]";;
+ *) iwconfig "$ifname" enc "$key";;
+ esac
+ ;;
+ PSK|psk|PSK2|psk2)
+ config_get key "$vif" key
+ ;;
+ esac
+
+ case "$mode" in
+ adhoc)
+ config_get addr "$vif" bssid
+ [ -z "$addr" ] || {
+ iwconfig "$ifname" ap "$addr"
+ }
+ ;;
+ esac
+ config_get ssid "$vif" ssid
+
+ config_get vif_txpower "$vif" txpower
+ # use vif_txpower (from wifi-iface) to override txpower (from
+ # wifi-device) if the latter doesn't exist
+ txpower="${txpower:-$vif_txpower}"
+ [ -z "$txpower" ] || iwconfig "$ifname" txpower "${txpower%%.*}"
+
+ config_get frag "$vif" frag
+ if [ -n "$frag" ]; then
+ iwconfig "$ifname" frag "${frag%%.*}"
+ fi
+
+ config_get rts "$vif" rts
+ if [ -n "$rts" ]; then
+ iwconfig "$ifname" rts "${rts%%.*}"
+ fi
+
+ ifconfig "$ifname" up
+ iwconfig "$ifname" channel "$channel" >/dev/null 2>/dev/null
+
+ local net_cfg bridge
+ net_cfg="$(find_net_config "$vif")"
+ [ -z "$net_cfg" ] || {
+ bridge="$(bridge_interface "$net_cfg")"
+ config_set "$vif" bridge "$bridge"
+ start_net "$ifname" "$net_cfg"
+ }
+ iwconfig "$ifname" essid "$ssid"
+ set_wifi_up "$vif" "$ifname"
+ case "$mode" in
+ ap)
+ if eval "type hostapd_setup_vif" 2>/dev/null >/dev/null; then
+ hostapd_setup_vif "$vif" nl80211 || {
+ echo "enable_mac80211($device): Failed to set up wpa for interface $ifname" >&2
+ # make sure this wifi interface won't accidentally stay open without encryption
+ ifconfig "$ifname" down
+ continue
+ }
+ fi
+ ;;
+ sta)
+ if eval "type wpa_supplicant_setup_vif" 2>/dev/null >/dev/null; then
+ wpa_supplicant_setup_vif "$vif" wext || {
+ echo "enable_mac80211($device): Failed to set up wpa_supplicant for interface $ifname" >&2
+ # make sure this wifi interface won't accidentally stay open without encryption
+ ifconfig "$ifname" down
+ continue
+ }
+ fi
+ ;;
+ esac
+ first=0
+ done
+}
+
+
+detect_mac80211() {
+ cd /sys/class/net
+ for dev in $(ls -d wlan* 2>&-); do
+ config_get type "$dev" type
+ [ "$type" = mac80211 ] && return
+ cat <<EOF
+config wifi-device $dev
+ option type mac80211
+ option channel 5
+
+ # REMOVE THIS LINE TO ENABLE WIFI:
+ option disabled 1
+
+config wifi-iface
+ option device $dev
+ option network lan
+ option mode ap
+ option ssid OpenWrt
+ option encryption none
+EOF
+ done
+}
--- /dev/null
+diff -urN compat-wireless-2008-08-06/config.mk compat-wireless-2008-08-06.new/config.mk
+--- compat-wireless-2008-08-06/config.mk 2008-07-18 06:11:03.000000000 +0200
++++ compat-wireless-2008-08-06.new/config.mk 2008-08-20 17:30:13.000000000 +0200
+@@ -72,70 +72,6 @@
+ CONFIG_ATH5K=m
+ CONFIG_ATH5K_DEBUG=n
+
+-# Required for older kernels which still use this flag.
+-CONFIG_IWLWIFI=m
+-
+-CONFIG_IWLCORE=m
+-CONFIG_IWL3945=m
+-CONFIG_IWL4965=m
+-CONFIG_IWL4965_HT=y
+-CONFIG_B43=m
+-# B43 uses PCMCIA only for Compact Flash. The Cardbus cards uses PCI
+-# Example, bcm4318:
+-# http://www.multicap.biz/wireless-lan/indoor-wlan-hardware/sdc-cf10g-80211g-compact-flash-module
+-CONFIG_B43_PCMCIA=y
+-CONFIG_B43_DMA=y
+-CONFIG_B43_PIO=y
+-# B43_PIO selects SSB_BLOCKIO
+-CONFIG_SSB_BLOCKIO=y
+-CONFIG_B43_DMA_AND_PIO_MODE=y
+-CONFIG_B43_PCI_AUTOSELECT=y
+-CONFIG_B43_PCICORE_AUTOSELECT=y
+-#CONFIG_B43_RFKILL=n
+-CONFIG_B43_LEDS=y
+-# CONFIG_B43_DEBUG is not set
+-
+-CONFIG_B43LEGACY=m
+-CONFIG_B43LEGACY_PCI_AUTOSELECT=y
+-CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
+-CONFIG_B43LEGACY_DMA=y
+-CONFIG_B43LEGACY_PIO=y
+-CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
+-
+-# The Intel ipws
+-CONFIG_IPW2100=m
+-CONFIG_IPW2100_MONITOR=y
+-CONFIG_IPW2200=m
+-CONFIG_IPW2200_MONITOR=y
+-CONFIG_IPW2200_RADIOTAP=y
+-CONFIG_IPW2200_PROMISCUOUS=y
+-# The above enables use a second interface prefixed 'rtap'.
+-# Example usage:
+-#
+-# % modprobe ipw2200 rtap_iface=1
+-# % ifconfig rtap0 up
+-# % tethereal -i rtap0
+-#
+-# If you do not specify 'rtap_iface=1' as a module parameter then
+-# the rtap interface will not be created and you will need to turn
+-# it on via sysfs:
+-#
+-# % echo 1 > /sys/bus/pci/drivers/ipw2200/*/rtap_iface
+-CONFIG_IPW2200_QOS=y
+-
+-NEED_IEEE80211=y
+-
+-CONFIG_P54_PCI=m
+-
+-CONFIG_SSB_PCIHOST_POSSIBLE=y
+-CONFIG_SSB_PCIHOST=y
+-CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
+-CONFIG_SSB_DRIVER_PCICORE=y
+-CONFIG_SSB_B43_PCI_BRIDGE=y
+-
+-CONFIG_RTL8180=m
+-CONFIG_ADM8211=m
+-
+ CONFIG_RT2X00_LIB_PCI=m
+ CONFIG_RT2400PCI=m
+ CONFIG_RT2500PCI=m
+@@ -159,32 +95,6 @@
+ ifneq ($(CONFIG_USB),)
+ CONFIG_ZD1211RW=m
+
+-# support for USB Wireless devices using Atmel at76c503,
+-# at76c505 or at76c505a chips.
+-CONFIG_USB_ATMEL=m
+-
+-# Stuff here things which depend on kernel versions for USB
+-ifeq ($(shell test -e $(KLIB_BUILD)/Makefile && echo yes),yes)
+-KERNEL_SUBLEVEL = $(shell $(MAKE) -C $(KLIB_BUILD) kernelversion | sed -n 's/^2\.6\.\([0-9]\+\).*/\1/p')
+-ifeq ($(shell test $(KERNEL_SUBLEVEL) -gt 21 && echo yes),yes)
+-
+-# Sorry, rndis_wlan uses cancel_work_sync which is new and can't be done in compat...
+-
+-# Wireless RNDIS USB support (RTL8185 802.11g) A-Link WL54PC
+-# All of these devices are based on Broadcom 4320 chip which
+-# is only wireless RNDIS chip known to date.
+-# Note: this depends on CONFIG_USB_NET_RNDIS_HOST and CONFIG_USB_NET_CDCETHER
+-# it also requires new RNDIS_HOST and CDC_ETHER modules which we add
+-CONFIG_USB_NET_RNDIS_HOST=m
+-CONFIG_USB_NET_RNDIS_WLAN=m
+-CONFIG_USB_NET_CDCETHER=m
+-
+-endif
+-endif
+-
+-CONFIG_P54_USB=m
+-CONFIG_RTL8187=m
+-
+ # RT2500USB does not require firmware
+ CONFIG_RT2500USB=m
+ CONFIG_RT2X00_LIB_USB=m
+@@ -209,39 +119,6 @@
+ CONFIG_RT2X00_LIB_FIRMWARE=y
+ endif
+
+-# p54
+-CONFIG_P54_COMMON=m
+-
+-# Sonics Silicon Backplane
+-CONFIG_SSB_POSSIBLE=y
+-CONFIG_SSB=m
+-CONFIG_SSB_SPROM=y
+-
+-ifneq ($(CONFIG_PCMCIA),)
+-CONFIG_SSB_PCMCIAHOST=y
+-endif
+-
+-# These two are for mips
+-CONFIG_SSB_DRIVER_MIPS=n
+-CONFIG_SSB_PCICORE_HOSTMODE=n
+-# CONFIG_SSB_DEBUG is not set
+-# CONFIG_SSB_DRIVER_EXTIF=y
+-
+-ifneq ($(CONFIG_USB),)
+-CONFIG_LIBERTAS_USB=m
+-NEED_LIBERTAS=y
+-endif
+-ifneq ($(CONFIG_PCMCIA),)
+-CONFIG_LIBERTAS_CS=m
+-NEED_LIBERTAS=y
+-endif
+-ifeq ($(NEED_LIBERTAS),y)
+-CONFIG_LIBERTAS=m
+-# Libertas uses the old stack but not fully, it will soon
+-# be cleaned.
+-NEED_IEEE80211=y
+-endif
+-
+ ifeq ($(NEED_IEEE80211),y)
+ # Old ieee80211 "stack"
+ # Note: old softmac is scheduled for removal so we
--- /dev/null
+Subject: mac80211: allow AP and VLAN modes
+
+This patch allows switching interfaces into AP/VLAN modes using
+cfg80211 (nl80211). Don't allow doing it with wext because then
+people will just attempt to do it manually (without hostapd) and
+complain that it doesn't work.
+
+Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
+---
+ net/mac80211/cfg.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- everything.orig/net/mac80211/cfg.c 2008-08-06 21:38:13.000000000 +0200
++++ everything/net/mac80211/cfg.c 2008-08-06 21:38:24.000000000 +0200
+@@ -33,6 +33,10 @@ nl80211_type_to_mac80211_type(enum nl802
+ case NL80211_IFTYPE_MESH_POINT:
+ return IEEE80211_IF_TYPE_MESH_POINT;
+ #endif
++ case NL80211_IFTYPE_AP:
++ return IEEE80211_IF_TYPE_AP;
++ case NL80211_IFTYPE_AP_VLAN:
++ return IEEE80211_IF_TYPE_VLAN;
+ case NL80211_IFTYPE_WDS:
+ return IEEE80211_IF_TYPE_WDS;
+ default: