aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraudahadi <wan.audahadi@gmail.com>2016-10-09 16:27:04 +0800
committeraudahadi <wan.audahadi@gmail.com>2016-10-10 15:17:58 +0800
commite90887d7c2f28c02e6a4b88882befd66192ddbf0 (patch)
tree65a03db49c07c1f97dbb43a94386f32d7df60b64
parent7f739770e1e6164c3429cde476997aaed0d9795a (diff)
update wifi (looking for a fix)
-rw-r--r--Android.mk9
-rw-r--r--BoardConfig.mk12
-rw-r--r--device.mk12
-rw-r--r--wifi/Android.mk54
-rw-r--r--wifi/WCNSS_qcom_wlan_nv.binbin29816 -> 29816 bytes
-rw-r--r--wifi/WCNSS_qcom_wlan_nv_zc550kl.binbin0 -> 29816 bytes
-rw-r--r--wifi/WCNSS_wlan_dictionary.dat390
-rw-r--r--wifi/hostapd_default.conf1043
-rw-r--r--wifi/p2p_supplicant_overlay.conf1
-rw-r--r--wifi/wpa_supplicant_overlay.conf2
10 files changed, 1512 insertions, 11 deletions
diff --git a/Android.mk b/Android.mk
index f2d5eda..db0d7c8 100644
--- a/Android.mk
+++ b/Android.mk
@@ -24,13 +24,4 @@ LOCAL_PATH := $(call my-dir)
ifeq ($(TARGET_DEVICE),Z010D)
include $(call all-makefiles-under,$(LOCAL_PATH))
-WCNSS_CONFIG_SYMLINK := $(TARGET_OUT_ETC)/firmware/wlan/prima/WCNSS_qcom_cfg.ini
-$(WCNSS_CONFIG_SYMLINK): $(LOCAL_INSTALLED_MODULE)
- @echo "WCNSS config link: $@"
- @mkdir -p $(dir $@)
- @rm -rf $@
- $(hide) ln -sf /data/misc/wifi/$(notdir $@) $@
-
-MSM8916_SYMLINKS += $(WCNSS_CONFIG_SYMLINK)
-
endif
diff --git a/BoardConfig.mk b/BoardConfig.mk
index faf6be8..04c1dde 100644
--- a/BoardConfig.mk
+++ b/BoardConfig.mk
@@ -34,5 +34,17 @@ TARGET_SYSTEM_PROP += $(DEVICE_PATH)/system.prop
TARGET_INIT_VENDOR_LIB := libinit_z010d
TARGET_RECOVERY_DEVICE_MODULES := libinit_z010d
+# Wifi
+BOARD_HAS_QCOM_WLAN := true
+BOARD_WLAN_DEVICE := qcwcn
+BOARD_HOSTAPD_DRIVER := NL80211
+BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_qcwcn
+BOARD_WPA_SUPPLICANT_DRIVER := NL80211
+BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_qcwcn
+WIFI_DRIVER_FW_PATH_AP := "ap"
+WIFI_DRIVER_FW_PATH_STA := "sta"
+WPA_SUPPLICANT_VERSION := VER_0_8_X
+#TARGET_USES_QCOM_WCNSS_QMI := true
+
# inherit from the proprietary version
-include vendor/asus/Z010D/BoardConfigVendor.mk
diff --git a/device.mk b/device.mk
index 31758a5..81f14a4 100644
--- a/device.mk
+++ b/device.mk
@@ -34,7 +34,7 @@ TARGET_SCREEN_WIDTH := 720
$(call inherit-product, device/asus/msm8916-common/msm8916.mk)
PRODUCT_PACKAGES += \
- init.qcom.rc
+ init.target.rc
PRODUCT_COPY_FILES += \
device/asus/Z010D/sensor/sensor_init.sh:system/etc/sensor_init.sh
@@ -52,10 +52,18 @@ PRODUCT_COPY_FILES += \
device/asus/Z010D/audio/acdbdata/QRD/QRD_Headset_cal.acdb:system/etc/acdbdata/QRD/QRD_Headset_cal.acdb \
device/asus/Z010D/audio/acdbdata/QRD/QRD_Speaker_cal.acdb:system/etc/acdbdata/QRD/QRD_Speaker_cal.acdbc
+# wifi
+PRODUCT_PACKAGES += \
+ hostapd_default.conf \
+ p2p_supplicant_overlay.conf \
+ wpa_supplicant_overlay.conf \
+ WCNSS_qcom_wlan_nv.bin \
+ WCNSS_qcom_wlan_nv_zc550kl.bin
+
PRODUCT_COPY_FILES += \
device/asus/Z010D/wifi/WCNSS_cfg.dat:system/etc/firmware/wlan/prima/WCNSS_cfg.dat \
device/asus/Z010D/wifi/WCNSS_qcom_cfg.ini:system/etc/firmware/wlan/prima/WCNSS_qcom_cfg.ini \
- device/asus/Z010D/wifi/WCNSS_qcom_wlan_nv.bin:system/etc/firmware/wlan/prima/WCNSS_qcom_wlan_nv.bin
+ device/asus/Z010D/wifi/WCNSS_wlan_dictionary.dat:system/etc/firmware/wlan/prima/WCNSS_wlan_dictionary.dat
# Keylayout
PRODUCT_COPY_FILES += \
diff --git a/wifi/Android.mk b/wifi/Android.mk
new file mode 100644
index 0000000..4665576
--- /dev/null
+++ b/wifi/Android.mk
@@ -0,0 +1,54 @@
+LOCAL_PATH:= $(call my-dir)
+
+ifeq ($(strip $(BOARD_HAS_QCOM_WLAN)),true)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := hostapd_default.conf
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := ETC
+LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/hostapd
+LOCAL_SRC_FILES := hostapd_default.conf
+include $(BUILD_PREBUILT)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := p2p_supplicant_overlay.conf
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := ETC
+LOCAL_SRC_FILES := $(LOCAL_MODULE)
+LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/wifi
+include $(BUILD_PREBUILT)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := wpa_supplicant_overlay.conf
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := ETC
+LOCAL_SRC_FILES := $(LOCAL_MODULE)
+LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/wifi
+include $(BUILD_PREBUILT)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := WCNSS_qcom_wlan_nv.bin
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := ETC
+LOCAL_SRC_FILES := $(LOCAL_MODULE)
+LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/firmware/wlan/prima
+include $(BUILD_PREBUILT)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := WCNSS_qcom_wlan_nv_zc550kl.bin
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := ETC
+LOCAL_SRC_FILES := $(LOCAL_MODULE)
+LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/firmware/wlan/prima
+include $(BUILD_PREBUILT)
+
+# Make a symlink for WiFi firmware
+SYMLINKS := $(TARGET_OUT_ETC)/firmware/wlan/prima/WCNSS_qcom_wlan_nv.bin
+$(SYMLINKS): WIFI_FW := WCNSS_qcom_wlan_nv_zc550kl.bin
+$(SYMLINKS): $(LOCAL_INSTALLED_MODULE) $(LOCAL_PATH)/Android.mk
+ @echo "Symlink: $@ -> $(WIFI_FW)"
+ $(hide) ln -sf $(WIFI_FW) $@
+
+ALL_DEFAULT_INSTALLED_MODULES += $(SYMLINKS)
+
+endif
diff --git a/wifi/WCNSS_qcom_wlan_nv.bin b/wifi/WCNSS_qcom_wlan_nv.bin
index 67528a7..14ce361 100644
--- a/wifi/WCNSS_qcom_wlan_nv.bin
+++ b/wifi/WCNSS_qcom_wlan_nv.bin
Binary files differ
diff --git a/wifi/WCNSS_qcom_wlan_nv_zc550kl.bin b/wifi/WCNSS_qcom_wlan_nv_zc550kl.bin
new file mode 100644
index 0000000..67528a7
--- /dev/null
+++ b/wifi/WCNSS_qcom_wlan_nv_zc550kl.bin
Binary files differ
diff --git a/wifi/WCNSS_wlan_dictionary.dat b/wifi/WCNSS_wlan_dictionary.dat
new file mode 100644
index 0000000..328f0c7
--- /dev/null
+++ b/wifi/WCNSS_wlan_dictionary.dat
@@ -0,0 +1,390 @@
+
+/*------------------------------------------------------------------------------
+//DO NOT EDIT
+BEGIN
+HAL_PHY_RATE_11AC_DUP_12_MBPS gl
+HAL_PHY_RATE_11AC_DUP_18_MBPS gm
+HAL_PHY_RATE_11AC_DUP_24_MBPS gn
+HAL_PHY_RATE_11AC_DUP_36_MBPS go
+HAL_PHY_RATE_11AC_DUP_48_MBPS gp
+HAL_PHY_RATE_11AC_DUP_54_MBPS gq
+HAL_PHY_RATE_11AC_DUP_6_MBPS gj
+HAL_PHY_RATE_11AC_DUP_9_MBPS gk
+HAL_PHY_RATE_11A_12_MBPS e8
+HAL_PHY_RATE_11A_18_MBPS e9
+HAL_PHY_RATE_11A_24_MBPS fa
+HAL_PHY_RATE_11A_36_MBPS fb
+HAL_PHY_RATE_11A_48_MBPS fc
+HAL_PHY_RATE_11A_54_MBPS fd
+HAL_PHY_RATE_11A_6_MBPS e6
+HAL_PHY_RATE_11A_9_MBPS e7
+HAL_PHY_RATE_11A_DUP_12_MBPS fg
+HAL_PHY_RATE_11A_DUP_18_MBPS fh
+HAL_PHY_RATE_11A_DUP_24_MBPS fi
+HAL_PHY_RATE_11A_DUP_36_MBPS fj
+HAL_PHY_RATE_11A_DUP_48_MBPS fk
+HAL_PHY_RATE_11A_DUP_54_MBPS fl
+HAL_PHY_RATE_11A_DUP_6_MBPS fe
+HAL_PHY_RATE_11A_DUP_9_MBPS ff
+HAL_PHY_RATE_11B_LONG_11_MBPS e2
+HAL_PHY_RATE_11B_LONG_1_MBPS ez
+HAL_PHY_RATE_11B_LONG_2_MBPS e0
+HAL_PHY_RATE_11B_LONG_5_5_MBPS e1
+HAL_PHY_RATE_11B_SHORT_11_MBPS e5
+HAL_PHY_RATE_11B_SHORT_2_MBPS e3
+HAL_PHY_RATE_11B_SHORT_5_5_MBPS e4
+HAL_PHY_RATE_MCS_1NSS_13_MBPS fn
+HAL_PHY_RATE_MCS_1NSS_19_5_MBPS fo
+HAL_PHY_RATE_MCS_1NSS_26_MBPS fp
+HAL_PHY_RATE_MCS_1NSS_39_MBPS fq
+HAL_PHY_RATE_MCS_1NSS_52_MBPS fr
+HAL_PHY_RATE_MCS_1NSS_58_5_MBPS fs
+HAL_PHY_RATE_MCS_1NSS_65_MBPS ft
+HAL_PHY_RATE_MCS_1NSS_6_5_MBPS fm
+HAL_PHY_RATE_MCS_1NSS_CB_108_MBPS f7
+HAL_PHY_RATE_MCS_1NSS_CB_121_5_MBPS f8
+HAL_PHY_RATE_MCS_1NSS_CB_135_MBPS f9
+HAL_PHY_RATE_MCS_1NSS_CB_13_5_MBPS f2
+HAL_PHY_RATE_MCS_1NSS_CB_27_MBPS f3
+HAL_PHY_RATE_MCS_1NSS_CB_40_5_MBPS f4
+HAL_PHY_RATE_MCS_1NSS_CB_54_MBPS f5
+HAL_PHY_RATE_MCS_1NSS_CB_81_MBPS f6
+HAL_PHY_RATE_MCS_1NSS_MM_SG_14_4_MBPS fv
+HAL_PHY_RATE_MCS_1NSS_MM_SG_21_7_MBPS fw
+HAL_PHY_RATE_MCS_1NSS_MM_SG_28_9_MBPS fx
+HAL_PHY_RATE_MCS_1NSS_MM_SG_43_3_MBPS fy
+HAL_PHY_RATE_MCS_1NSS_MM_SG_57_8_MBPS fz
+HAL_PHY_RATE_MCS_1NSS_MM_SG_65_MBPS f0
+HAL_PHY_RATE_MCS_1NSS_MM_SG_72_2_MBPS f1
+HAL_PHY_RATE_MCS_1NSS_MM_SG_7_2_MBPS fu
+HAL_PHY_RATE_MCS_1NSS_MM_SG_CB_120_MBPS gf
+HAL_PHY_RATE_MCS_1NSS_MM_SG_CB_135_MBPS gg
+HAL_PHY_RATE_MCS_1NSS_MM_SG_CB_150_MBPS gh
+HAL_PHY_RATE_MCS_1NSS_MM_SG_CB_15_MBPS ga
+HAL_PHY_RATE_MCS_1NSS_MM_SG_CB_30_MBPS gb
+HAL_PHY_RATE_MCS_1NSS_MM_SG_CB_45_MBPS gc
+HAL_PHY_RATE_MCS_1NSS_MM_SG_CB_60_MBPS gd
+HAL_PHY_RATE_MCS_1NSS_MM_SG_CB_90_MBPS ge
+HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_13_MBPS gs
+HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_19_5_MBPS gt
+HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_26_MBPS gu
+HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_39_MBPS gv
+HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_52_MBPS gw
+HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_58_5_MBPS gx
+HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_65_MBPS gy
+HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_6_5_MBPS gr
+HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_78_MBPS gz
+HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_86_5_MBPS j8
+HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_14_4_MBPS g1
+HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_21_6_MBPS g2
+HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_28_8_MBPS g3
+HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_43_3_MBPS g4
+HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_57_7_MBPS g5
+HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_65_MBPS g6
+HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_72_2_MBPS g7
+HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_7_2_MBPS g0
+HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_86_6_MBPS g8
+HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_96_1_MBPS j9
+HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_108_MBPS he
+HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_121_5_MBPS hf
+HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_135_MBPS hg
+HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_13_5_MBPS g9
+HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_162_MBPS hh
+HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_180_MBPS hi
+HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_27_MBPS ha
+HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_40_5_MBPS hb
+HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_54_MBPS hc
+HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_81_MBPS hd
+HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_120_MBPS ho
+HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_135_MBPS hp
+HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_150_MBPS hq
+HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_15_MBPS hj
+HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_180_MBPS hr
+HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_200_MBPS hs
+HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_30_MBPS hk
+HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_45_MBPS hl
+HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_60_MBPS hm
+HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_90_MBPS hn
+HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_117_MBPS hw
+HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_175_5_MBPS hx
+HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_234_MBPS hy
+HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_263_3_MBPS hz
+HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_292_5_MBPS h0
+HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_29_3_MBPS ht
+HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_351_MBPS h1
+HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_390_MBPS h2
+HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_58_5_MBPS hu
+HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_87_8_MBPS hv
+HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_130_MBPS h6
+HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_195_MBPS h7
+HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_260_MBPS h8
+HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_292_5_MBPS h9
+HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_325_MBPS ia
+HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_32_5_MBPS h3
+HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_390_MBPS ib
+HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_433_3_MBPS ic
+HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_65_MBPS h4
+HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_97_5_MBPS h5
+MAX_2_4GHZ_CHANNEL dt
+MIN_2_4GHZ_CHANNEL ds
+MODE_802_11AG d7
+MODE_802_11B d6
+MODE_802_11N d8
+NUM_2_4GHZ_CHANNELS du
+NUM_802_11_MODES d9
+NUM_HAL_PHY_RATES ie
+NUM_NV_FIELDS ak
+NUM_NV_TABLE_IDS jl
+NUM_PHY_MAX_TX_CHAINS a2
+NUM_PRODUCT_BANDS ao
+NUM_REG_DOMAINS bc
+NUM_RF_CHANNELS dr
+NUM_RF_SUBBANDS bi
+NV_COMMON_COUPLER_TYPE ah
+NV_COMMON_MAC_ADDR ae
+NV_COMMON_MFG_SERIAL_NUMBER af
+NV_COMMON_NUM_OF_RX_CHAINS ad
+NV_COMMON_NUM_OF_TX_CHAINS ac
+NV_COMMON_NV_VERSION ai
+NV_COMMON_PRODUCT_BANDS ab
+NV_COMMON_PRODUCT_ID aa
+NV_COMMON_RESERVED aj
+NV_COMMON_WLAN_NV_REV_ID ag
+NV_FIELDS_IMAGE i6
+NV_TABLE_ANTENNA_PATH_LOSS jg
+NV_TABLE_CAL_MEMORY je
+NV_TABLE_DEFAULT_COUNTRY i9
+NV_TABLE_FW_CONFIG jf
+NV_TABLE_HW_CAL_VALUES jc
+NV_TABLE_OFDM_CMD_PWR_OFFSET ji
+NV_TABLE_PACKET_TYPE_POWER_LIMITS jh
+NV_TABLE_RATE_POWER_SETTINGS i7
+NV_TABLE_REGULATORY_DOMAINS i8
+NV_TABLE_RSSI_CHANNEL_OFFSETS jd
+NV_TABLE_TPC_PDADC_OFFSETS jb
+NV_TABLE_TPC_POWER_TABLE ja
+NV_TABLE_TX_BB_FILTER_MODE jj
+NV_TABLE_VIRTUAL_RATE jk
+PHY_TX_CHAIN_0 a1
+PRODUCT_BAND_11_A an
+PRODUCT_BAND_11_A_B_G am
+PRODUCT_BAND_11_B_G al
+REG_DOMAIN_APAC a8
+REG_DOMAIN_ETSI a4
+REG_DOMAIN_FCC a3
+REG_DOMAIN_HI_5GHZ ba
+REG_DOMAIN_JAPAN a5
+REG_DOMAIN_KOREA a9
+REG_DOMAIN_NO_5GHZ bb
+REG_DOMAIN_N_AMER_EXC_FCC a7
+REG_DOMAIN_WORLD a6
+RF_CHAN_1 bj
+RF_CHAN_10 bs
+RF_CHAN_100 cc
+RF_CHAN_104 cd
+RF_CHAN_108 ce
+RF_CHAN_10_1 kn
+RF_CHAN_11 bt
+RF_CHAN_112 cf
+RF_CHAN_116 cg
+RF_CHAN_11_1 ko
+RF_CHAN_12 bu
+RF_CHAN_120 ch
+RF_CHAN_124 ci
+RF_CHAN_128 cj
+RF_CHAN_12_1 kp
+RF_CHAN_13 bv
+RF_CHAN_132 ck
+RF_CHAN_136 cl
+RF_CHAN_13_1 kq
+RF_CHAN_14 bw
+RF_CHAN_140 cm
+RF_CHAN_144 kt
+RF_CHAN_149 cn
+RF_CHAN_14_1 kr
+RF_CHAN_153 co
+RF_CHAN_157 cp
+RF_CHAN_161 cq
+RF_CHAN_165 cr
+RF_CHAN_1_1 ke
+RF_CHAN_2 bk
+RF_CHAN_208 b1
+RF_CHAN_212 b2
+RF_CHAN_216 b3
+RF_CHAN_240 bx
+RF_CHAN_244 by
+RF_CHAN_248 bz
+RF_CHAN_252 b0
+RF_CHAN_2_1 kf
+RF_CHAN_3 bl
+RF_CHAN_36 b4
+RF_CHAN_3_1 kg
+RF_CHAN_4 bm
+RF_CHAN_40 b5
+RF_CHAN_44 b6
+RF_CHAN_48 b7
+RF_CHAN_4_1 kh
+RF_CHAN_5 bn
+RF_CHAN_52 b8
+RF_CHAN_56 b9
+RF_CHAN_5_1 ki
+RF_CHAN_6 bo
+RF_CHAN_60 ca
+RF_CHAN_64 cb
+RF_CHAN_6_1 kj
+RF_CHAN_7 bp
+RF_CHAN_7_1 kk
+RF_CHAN_8 bq
+RF_CHAN_8_1 kl
+RF_CHAN_9 br
+RF_CHAN_9_1 km
+RF_CHAN_BOND_10 cz
+RF_CHAN_BOND_102 dd
+RF_CHAN_BOND_106 de
+RF_CHAN_BOND_11 c0
+RF_CHAN_BOND_110 df
+RF_CHAN_BOND_114 dg
+RF_CHAN_BOND_118 dh
+RF_CHAN_BOND_122 di
+RF_CHAN_BOND_126 dj
+RF_CHAN_BOND_130 dk
+RF_CHAN_BOND_134 dl
+RF_CHAN_BOND_138 dm
+RF_CHAN_BOND_142 ku
+RF_CHAN_BOND_151 dn
+RF_CHAN_BOND_155 do
+RF_CHAN_BOND_159 dp
+RF_CHAN_BOND_163 dq
+RF_CHAN_BOND_210 c4
+RF_CHAN_BOND_214 c5
+RF_CHAN_BOND_242 c1
+RF_CHAN_BOND_246 c2
+RF_CHAN_BOND_250 c3
+RF_CHAN_BOND_3 cs
+RF_CHAN_BOND_38 c6
+RF_CHAN_BOND_4 ct
+RF_CHAN_BOND_42 c7
+RF_CHAN_BOND_46 c8
+RF_CHAN_BOND_5 cu
+RF_CHAN_BOND_50 c9
+RF_CHAN_BOND_54 da
+RF_CHAN_BOND_58 db
+RF_CHAN_BOND_6 cv
+RF_CHAN_BOND_62 dc
+RF_CHAN_BOND_7 cw
+RF_CHAN_BOND_8 cx
+RF_CHAN_BOND_9 cy
+RF_SUBBAND_2_4_GHZ bd
+RF_SUBBAND_4_9_GHZ bh
+RF_SUBBAND_5_HIGH_GHZ bg
+RF_SUBBAND_5_LOW_GHZ be
+RF_SUBBAND_5_MID_GHZ bf
+adjustedPwrDet ew
+antennaGain dy
+antennaPathLoss jv
+bRatePowerOffset dz
+bRssiOffset d1
+band d5
+calData er
+chanId i4
+channelNum d4
+channels dx
+configItem1 ik
+configItem2 i1
+configItem3 i2
+configItem4 i3
+countryCode ig
+couplerType az
+custom_tcxo_reg8 ef
+custom_tcxo_reg9 eg
+defaultCountryTable jo
+e80211Modes j6
+eHalPhyRates j7
+ePhyTxChains j1
+eRegDomainId j2
+eRfChannels j4
+eRfChannels_2_4GHz j5
+eRfSubBand j3
+else kv
+empirical ex
+enableDPD2G iv
+enableDPD5G iw
+enabled dv
+endif id
+extPaCtrl0Polarity in
+extPaCtrl1Polarity io
+fields jz
+fwConfig js
+gnRatePowerOffset d0
+gnRssiOffset d2
+hwCalValues ju
+hwParam10 eo
+hwParam11 ep
+hwParam2 ee
+hwParam3 eh
+hwParam4 ei
+hwParam5 ej
+hwParam6 ek
+hwParam7 el
+hwParam8 em
+hwParam9 en
+ifdef gi
+latest kw
+macAddr au
+macAddr1 ks
+macAddr2 av
+macAddr3 aw
+macAddr4 ax
+mfgSN ay
+numOfRxChains at
+numOfTxChains as
+nvVersion a0
+nv_TxBBFSel9MHz ed
+ofdmCmdPwrOffset jx
+ofdmPwrOffset et
+pdadcSelect2G ix
+pdadcSelect5GHigh i0
+pdadcSelect5GLow iy
+pdadcSelect5GMid iz
+pktTypePwrLimits jw
+plutCharacterized jp
+plutPdadcOffset jq
+productBands aq
+productId ap
+psSlpTimeOvrHd2G ea
+psSlpTimeOvrHd5G eb
+psSlpTimeOvrHdxLNA5G ec
+pwr i5
+pwrDetAdc ev
+pwrLimit dw
+pwrOptimum jm
+pwrOptimum_virtualRate jr
+pwrSampled ey
+regDomain if
+regDomains jn
+rssiChanOffsets jt
+rsvd eu
+skuID ih
+tRateGroupPwr kb
+tRateGroupPwrVR kd
+tTpcCaldPowerTable ka
+tTpcPowerTable kc
+tables j0
+targetFreq d3
+tpcMode2G ii
+tpcMode5G ij
+txFirFilterMode es
+txbbFilterMode jy
+validBmap eq
+wlanNvRevId ar
+xCoupler2G ir
+xCoupler5G is
+xLNA2G ip
+xLNA5G iq
+xPA2G il
+xPA5G im
+xPdet2G it
+xPdet5G iu
+
+END
+------------------------------------------------------------------------------*/
diff --git a/wifi/hostapd_default.conf b/wifi/hostapd_default.conf
new file mode 100644
index 0000000..3d2255a
--- /dev/null
+++ b/wifi/hostapd_default.conf
@@ -0,0 +1,1043 @@
+##### hostapd configuration file ##############################################
+# Empty lines and lines starting with # are ignored
+
+# AP netdevice name (without 'ap' postfix, i.e., wlan0 uses wlan0ap for
+# management frames); ath0 for madwifi
+interface=wlan0
+
+# In case of madwifi and nl80211 driver interfaces, an additional configuration
+# parameter, bridge, must be used to notify hostapd if the interface is
+# included in a bridge. This parameter is not used with Host AP driver.
+#bridge=br0
+
+# Driver interface type (hostap/wired/madwifi/prism54/test/none/nl80211/bsd);
+# default: hostap). nl80211 is used with all Linux mac80211 drivers.
+# Use driver=none if building hostapd as a standalone RADIUS server that does
+# not control any wireless/wired driver.
+driver=nl80211
+
+# hostapd event logger configuration
+#
+# Two output method: syslog and stdout (only usable if not forking to
+# background).
+#
+# Module bitfield (ORed bitfield of modules that will be logged; -1 = all
+# modules):
+# bit 0 (1) = IEEE 802.11
+# bit 1 (2) = IEEE 802.1X
+# bit 2 (4) = RADIUS
+# bit 3 (8) = WPA
+# bit 4 (16) = driver interface
+# bit 5 (32) = IAPP
+# bit 6 (64) = MLME
+#
+# Levels (minimum value for logged events):
+# 0 = verbose debugging
+# 1 = debugging
+# 2 = informational messages
+# 3 = notification
+# 4 = warning
+#
+logger_syslog=-1
+logger_syslog_level=2
+logger_stdout=-1
+logger_stdout_level=2
+
+# Dump file for state information (on SIGUSR1)
+dump_file=/tmp/hostapd.dump
+
+# Interface for separate control program. If this is specified, hostapd
+# will create this directory and a UNIX domain socket for listening to requests
+# from external programs (CLI/GUI, etc.) for status information and
+# configuration. The socket file will be named based on the interface name, so
+# multiple hostapd processes/interfaces can be run at the same time if more
+# than one interface is used.
+# /var/run/hostapd is the recommended directory for sockets and by default,
+# hostapd_cli will use it when trying to connect with hostapd.
+ctrl_interface=/data/misc/wifi/hostapd
+
+
+# Access control for the control interface can be configured by setting the
+# directory to allow only members of a group to use sockets. This way, it is
+# possible to run hostapd as root (since it needs to change network
+# configuration and open raw sockets) and still allow GUI/CLI components to be
+# run as non-root users. However, since the control interface can be used to
+# change the network configuration, this access needs to be protected in many
+# cases. By default, hostapd is configured to use gid 0 (root). If you
+# want to allow non-root users to use the contron interface, add a new group
+# and change this value to match with that group. Add users that should have
+# control interface access to this group.
+#
+# This variable can be a group name or gid.
+#ctrl_interface_group=wheel
+#ctrl_interface_group=0
+
+
+##### IEEE 802.11 related configuration #######################################
+
+# SSID to be used in IEEE 802.11 management frames
+ssid=QualcommSoftAP
+
+# Country code (ISO/IEC 3166-1). Used to set regulatory domain.
+# Set as needed to indicate country in which device is operating.
+# This can limit available channels and transmit power.
+#country_code=US
+
+# Enable IEEE 802.11d. This advertises the country_code and the set of allowed
+# channels and transmit power levels based on the regulatory limits. The
+# country_code setting must be configured with the correct country for
+# IEEE 802.11d functions.
+# (default: 0 = disabled)
+#ieee80211d=1
+
+# Operation mode (a = IEEE 802.11a, b = IEEE 802.11b, g = IEEE 802.11g,
+# n = IEEE 802.11n, g_only = IEEE 802.11g_only, n_only = IEEE 802.11n_only,
+# Default: IEEE 802.11n
+hw_mode=g
+
+# Channel number (IEEE 802.11)
+# (default: 0, i.e., not set)
+# Please note that some drivers (e.g., madwifi) do not use this value from
+# hostapd and the channel will need to be configuration separately with
+# iwconfig.
+channel=6
+
+# Beacon interval in kus (1.024 ms) (default: 100; range 15..65535)
+beacon_int=100
+
+# DTIM (delivery trafic information message) period (range 1..255):
+# number of beacons between DTIMs (1 = every beacon includes DTIM element)
+# (default: 2)
+dtim_period=2
+
+# Maximum number of stations allowed in station table. New stations will be
+# rejected after the station table is full. IEEE 802.11 has a limit of 2007
+# different association IDs, so this number should not be larger than that.
+# (default: 2007)
+max_num_sta=5
+
+# RTS/CTS threshold; 2347 = disabled (default); range 0..2347
+# If this field is not included in hostapd.conf, hostapd will not control
+# RTS threshold and 'iwconfig wlan# rts <val>' can be used to set it.
+#rts_threshold=2347
+
+# Fragmentation threshold; 2346 = disabled (default); range 256..2346
+# If this field is not included in hostapd.conf, hostapd will not control
+# fragmentation threshold and 'iwconfig wlan# frag <val>' can be used to set
+# it.
+#fragm_threshold=2346
+
+# Rate configuration
+# Default is to enable all rates supported by the hardware. This configuration
+# item allows this list be filtered so that only the listed rates will be left
+# in the list. If the list is empty, all rates are used. This list can have
+# entries that are not in the list of rates the hardware supports (such entries
+# are ignored). The entries in this list are in 100 kbps, i.e., 11 Mbps = 110.
+# If this item is present, at least one rate have to be matching with the rates
+# hardware supports.
+# default: use the most common supported rate setting for the selected
+# hw_mode (i.e., this line can be removed from configuration file in most
+# cases)
+#supported_rates=10 20 55 110 60 90 120 180 240 360 480 540
+
+# Basic rate set configuration
+# List of rates (in 100 kbps) that are included in the basic rate set.
+# If this item is not included, usually reasonable default set is used.
+# This basic rates set is currently used for g-only profile
+#basic_rates=60
+
+# Short Preamble
+# This parameter can be used to enable optional use of short preamble for
+# frames sent at 2 Mbps, 5.5 Mbps, and 11 Mbps to improve network performance.
+# This applies only to IEEE 802.11b-compatible networks and this should only be
+# enabled if the local hardware supports use of short preamble. If any of the
+# associated STAs do not support short preamble, use of short preamble will be
+# disabled (and enabled when such STAs disassociate) dynamically.
+# 0 = do not allow use of short preamble (default)
+# 1 = allow use of short preamble
+#preamble=1
+
+# Station MAC address -based authentication
+# Please note that this kind of access control requires a driver that uses
+# hostapd to take care of management frame processing and as such, this can be
+# used with driver=hostap or driver=nl80211, but not with driver=madwifi.
+# 0 = accept unless in deny list
+# 1 = deny unless in accept list
+# 2 = use external RADIUS server (accept/deny lists are searched first)
+macaddr_acl=0
+
+# Accept/deny lists are read from separate files (containing list of
+# MAC addresses, one per line). Use absolute path name to make sure that the
+# files can be read on SIGHUP configuration reloads.
+accept_mac_file=/data/misc/wifi/hostapd.accept
+deny_mac_file=/data/misc/wifi/hostapd.deny
+
+# IEEE 802.11 specifies two authentication algorithms. hostapd can be
+# configured to allow both of these or only one. Open system authentication
+# should be used with IEEE 802.1X.
+# Bit fields of allowed authentication algorithms:
+# bit 0 = Open System Authentication
+# bit 1 = Shared Key Authentication (requires WEP)
+auth_algs=3
+
+# Send empty SSID in beacons and ignore probe request frames that do not
+# specify full SSID, i.e., require stations to know SSID.
+# default: disabled (0)
+# 1 = send empty (length=0) SSID in beacon and ignore probe request for
+# broadcast SSID
+# 2 = clear SSID (ASCII 0), but keep the original length (this may be required
+# with some clients that do not support empty SSID) and ignore probe
+# requests for broadcast SSID
+ignore_broadcast_ssid=0
+
+# TX queue parameters (EDCF / bursting)
+# default for all these fields: not set, use hardware defaults
+# tx_queue_<queue name>_<param>
+# queues: data0, data1, data2, data3, after_beacon, beacon
+# (data0 is the highest priority queue)
+# parameters:
+# aifs: AIFS (default 2)
+# cwmin: cwMin (1, 3, 7, 15, 31, 63, 127, 255, 511, 1023)
+# cwmax: cwMax (1, 3, 7, 15, 31, 63, 127, 255, 511, 1023); cwMax >= cwMin
+# burst: maximum length (in milliseconds with precision of up to 0.1 ms) for
+# bursting
+#
+# Default WMM parameters (IEEE 802.11 draft; 11-03-0504-03-000e):
+# These parameters are used by the access point when transmitting frames
+# to the clients.
+#
+# Low priority / AC_BK = background
+#tx_queue_data3_aifs=7
+#tx_queue_data3_cwmin=15
+#tx_queue_data3_cwmax=1023
+#tx_queue_data3_burst=0
+# Note: for IEEE 802.11b mode: cWmin=31 cWmax=1023 burst=0
+#
+# Normal priority / AC_BE = best effort
+#tx_queue_data2_aifs=3
+#tx_queue_data2_cwmin=15
+#tx_queue_data2_cwmax=63
+#tx_queue_data2_burst=0
+# Note: for IEEE 802.11b mode: cWmin=31 cWmax=127 burst=0
+#
+# High priority / AC_VI = video
+#tx_queue_data1_aifs=1
+#tx_queue_data1_cwmin=7
+#tx_queue_data1_cwmax=15
+#tx_queue_data1_burst=3.0
+# Note: for IEEE 802.11b mode: cWmin=15 cWmax=31 burst=6.0
+#
+# Highest priority / AC_VO = voice
+#tx_queue_data0_aifs=1
+#tx_queue_data0_cwmin=3
+#tx_queue_data0_cwmax=7
+#tx_queue_data0_burst=1.5
+# Note: for IEEE 802.11b mode: cWmin=7 cWmax=15 burst=3.3
+#
+# Special queues; normally not user configurable
+#
+#tx_queue_after_beacon_aifs=2
+#tx_queue_after_beacon_cwmin=15
+#tx_queue_after_beacon_cwmax=1023
+#tx_queue_after_beacon_burst=0
+#
+#tx_queue_beacon_aifs=2
+#tx_queue_beacon_cwmin=3
+#tx_queue_beacon_cwmax=7
+#tx_queue_beacon_burst=1.5
+
+# 802.1D Tag (= UP) to AC mappings
+# WMM specifies following mapping of data frames to different ACs. This mapping
+# can be configured using Linux QoS/tc and sch_pktpri.o module.
+# 802.1D Tag 802.1D Designation Access Category WMM Designation
+# 1 BK AC_BK Background
+# 2 - AC_BK Background
+# 0 BE AC_BE Best Effort
+# 3 EE AC_BE Best Effort
+# 4 CL AC_VI Video
+# 5 VI AC_VI Video
+# 6 VO AC_VO Voice
+# 7 NC AC_VO Voice
+# Data frames with no priority information: AC_BE
+# Management frames: AC_VO
+# PS-Poll frames: AC_BE
+
+# Default WMM parameters (IEEE 802.11 draft; 11-03-0504-03-000e):
+# for 802.11a or 802.11g networks
+# These parameters are sent to WMM clients when they associate.
+# The parameters will be used by WMM clients for frames transmitted to the
+# access point.
+#
+# note - txop_limit is in units of 32microseconds
+# note - acm is admission control mandatory flag. 0 = admission control not
+# required, 1 = mandatory
+# note - here cwMin and cmMax are in exponent form. the actual cw value used
+# will be (2^n)-1 where n is the value given here
+#
+wmm_enabled=1
+#
+# Low priority / AC_BK = background
+wmm_ac_bk_cwmin=4
+wmm_ac_bk_cwmax=10
+wmm_ac_bk_aifs=7
+wmm_ac_bk_txop_limit=0
+wmm_ac_bk_acm=0
+# Note: for IEEE 802.11b mode: cWmin=5 cWmax=10
+#
+# Normal priority / AC_BE = best effort
+wmm_ac_be_aifs=3
+wmm_ac_be_cwmin=4
+wmm_ac_be_cwmax=10
+wmm_ac_be_txop_limit=0
+wmm_ac_be_acm=0
+# Note: for IEEE 802.11b mode: cWmin=5 cWmax=7
+#
+# High priority / AC_VI = video
+wmm_ac_vi_aifs=2
+wmm_ac_vi_cwmin=3
+wmm_ac_vi_cwmax=4
+wmm_ac_vi_txop_limit=94
+wmm_ac_vi_acm=0
+# Note: for IEEE 802.11b mode: cWmin=4 cWmax=5 txop_limit=188
+#
+# Highest priority / AC_VO = voice
+wmm_ac_vo_aifs=2
+wmm_ac_vo_cwmin=2
+wmm_ac_vo_cwmax=3
+wmm_ac_vo_txop_limit=47
+wmm_ac_vo_acm=0
+# Note: for IEEE 802.11b mode: cWmin=3 cWmax=4 burst=102
+
+# Static WEP key configuration
+#
+# The key number to use when transmitting.
+# It must be between 0 and 3, and the corresponding key must be set.
+# default: not set
+#wep_default_key=0
+# The WEP keys to use.
+# A key may be a quoted string or unquoted hexadecimal digits.
+# The key length should be 5, 13, or 16 characters, or 10, 26, or 32
+# digits, depending on whether 40-bit (64-bit), 104-bit (128-bit), or
+# 128-bit (152-bit) WEP is used.
+# Only the default key must be supplied; the others are optional.
+# default: not set
+#wep_key0=1234567890
+#wep_key1=1234567890
+#wep_key2=1234567890
+#wep_key3=1234567890
+
+# Station inactivity limit
+#
+# If a station does not send anything in ap_max_inactivity seconds, an
+# empty data frame is sent to it in order to verify whether it is
+# still in range. If this frame is not ACKed, the station will be
+# disassociated and then deauthenticated. This feature is used to
+# clear station table of old entries when the STAs move out of the
+# range.
+#
+# The station can associate again with the AP if it is still in range;
+# this inactivity poll is just used as a nicer way of verifying
+# inactivity; i.e., client will not report broken connection because
+# disassociation frame is not sent immediately without first polling
+# the STA with a data frame.
+# default: 300 (i.e., 5 minutes)
+#ap_max_inactivity=300
+
+# Enable/disable internal bridge for packets between associated stations.
+#
+# When IEEE 802.11 is used in managed mode, packets are usually send through
+# the AP even if they are from a wireless station to another wireless station.
+# This functionality requires that the AP has a bridge functionality that sends
+# frames back to the same interface if their destination is another associated
+# station. In addition, broadcast/multicast frames from wireless stations will
+# be sent both to the host system net stack (e.g., to eventually wired network)
+# and back to the wireless interface.
+#
+# The internal bridge is implemented within the wireless kernel module and it
+# bypasses kernel filtering (netfilter/iptables/ebtables). If direct
+# communication between the stations needs to be prevented, the internal
+# bridge can be disabled by setting bridge_packets=0.
+#
+# Note: If this variable is not included in hostapd.conf, hostapd does not
+# change the configuration and iwpriv can be used to set the value with
+# 'iwpriv wlan# param 10 0' command. If the variable is in hostapd.conf,
+# hostapd will override possible iwpriv configuration whenever configuration
+# file is reloaded.
+#
+# default: do not control from hostapd (80211.o defaults to 1=enabled)
+#bridge_packets=1
+
+# Maximum allowed Listen Interval (how many Beacon periods STAs are allowed to
+# remain asleep). Default: 65535 (no limit apart from field size)
+#max_listen_interval=100
+
+# Client isolation can be used to prevent low-level bridging of frames between
+# associated stations in the BSS. By default, this bridging is allowed.
+#ap_isolate=1
+
+##### IEEE 802.11n related configuration ######################################
+
+# ieee80211n: Whether IEEE 802.11n (HT) is enabled
+# 0 = disabled (default)
+# 1 = enabled
+# Note: You will also need to enable WMM for full HT functionality.
+ieee80211n=1
+
+#require_ht=1
+
+# ht_capab: HT capabilities (list of flags)
+# LDPC coding capability: [LDPC] = supported
+# Supported channel width set: [HT40-] = both 20 MHz and 40 MHz with secondary
+# channel below the primary channel; [HT40+] = both 20 MHz and 40 MHz
+# with secondary channel below the primary channel
+# (20 MHz only if neither is set)
+# Note: There are limits on which channels can be used with HT40- and
+# HT40+. Following table shows the channels that may be available for
+# HT40- and HT40+ use per IEEE 802.11n Annex J:
+# freq HT40- HT40+
+# 2.4 GHz 5-13 1-7 (1-9 in Europe/Japan)
+# 5 GHz 40,48,56,64 36,44,52,60
+# (depending on the location, not all of these channels may be available
+# for use)
+# Spatial Multiplexing (SM) Power Save: [SMPS-STATIC] or [SMPS-DYNAMIC]
+# (SMPS disabled if neither is set)
+# HT-greenfield: [GF] (disabled if not set)
+# Short GI for 20 MHz: [SHORT-GI-20] (disabled if not set)
+# Short GI for 40 MHz: [SHORT-GI-40] (disabled if not set)
+# Tx STBC: [TX-STBC] (disabled if not set)
+# Rx STBC: [RX-STBC1] (one spatial stream), [RX-STBC12] (one or two spatial
+# streams), or [RX-STBC123] (one, two, or three spatial streams); Rx STBC
+# disabled if none of these set
+# HT-delayed Block Ack: [DELAYED-BA] (disabled if not set)
+# Maximum A-MSDU length: [MAX-AMSDU-7935] for 7935 octets (3839 octets if not
+# set)
+# DSSS/CCK Mode in 40 MHz: [DSSS_CCK-40] = allowed (not allowed if not set)
+# PSMP support: [PSMP] (disabled if not set)
+# L-SIG TXOP protection support: [LSIG-TXOP-PROT] (disabled if not set)
+# QcHostapd:
+# LOWER byte for associated stations
+# UPPER byte for overlapping stations
+# each byte will have the following info
+# bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8
+# OBSS RIFS LSIG_TXOP NON_GF HT20 FROM_11G FROM_11B FROM_11A
+# bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
+# OBSS RIFS LSIG_TXOP NON_GF HT_20 FROM_11G FROM_11B FROM_11A
+#ht_capab=[HT40-] [SHORT-GI-20] [SHORT-GI-40]
+ht_capab=[SHORT-GI-20] [GF] [DSSS_CCK-40] [LSIG-TXOP-PROT]
+#ht_capab=[LDPC] [HT40-] [HT40+] [SMPS-STATIC] [SMPS-DYNAMIC] [GF] [SHORT-GI-20] [SHORT-GI-40] [TX-STBC] [RX-STBC1] [RX-STBC12] [RX-STBC123] [DELAYED-BA] [MAX-AMSDU-7935] [DSSS_CCK-40] [PSMP] [LSIG-TXOP-PROT]
+
+##### IEEE 802.1X-2004 related configuration ##################################
+
+# Require IEEE 802.1X authorization
+#ieee8021x=1
+
+# IEEE 802.1X/EAPOL version
+# hostapd is implemented based on IEEE Std 802.1X-2004 which defines EAPOL
+# version 2. However, there are many client implementations that do not handle
+# the new version number correctly (they seem to drop the frames completely).
+# In order to make hostapd interoperate with these clients, the version number
+# can be set to the older version (1) with this configuration value.
+#eapol_version=2
+
+# Optional displayable message sent with EAP Request-Identity. The first \0
+# in this string will be converted to ASCII-0 (nul). This can be used to
+# separate network info (comma separated list of attribute=value pairs); see,
+# e.g., RFC 4284.
+#eap_message=hello
+#eap_message=hello\0networkid=netw,nasid=foo,portid=0,NAIRealms=example.com
+
+# WEP rekeying (disabled if key lengths are not set or are set to 0)
+# Key lengths for default/broadcast and individual/unicast keys:
+# 5 = 40-bit WEP (also known as 64-bit WEP with 40 secret bits)
+# 13 = 104-bit WEP (also known as 128-bit WEP with 104 secret bits)
+#wep_key_len_broadcast=5
+#wep_key_len_unicast=5
+# Rekeying period in seconds. 0 = do not rekey (i.e., set keys only once)
+#wep_rekey_period=300
+
+# EAPOL-Key index workaround (set bit7) for WinXP Supplicant (needed only if
+# only broadcast keys are used)
+eapol_key_index_workaround=0
+
+# EAP reauthentication period in seconds (default: 3600 seconds; 0 = disable
+# reauthentication).
+#eap_reauth_period=3600
+
+# Use PAE group address (01:80:c2:00:00:03) instead of individual target
+# address when sending EAPOL frames with driver=wired. This is the most common
+# mechanism used in wired authentication, but it also requires that the port
+# is only used by one station.
+#use_pae_group_addr=1
+
+##### Integrated EAP server ###################################################
+
+# Optionally, hostapd can be configured to use an integrated EAP server
+# to process EAP authentication locally without need for an external RADIUS
+# server. This functionality can be used both as a local authentication server
+# for IEEE 802.1X/EAPOL and as a RADIUS server for other devices.
+
+# Use integrated EAP server instead of external RADIUS authentication
+# server. This is also needed if hostapd is configured to act as a RADIUS
+# authentication server.
+eap_server=1
+
+# Path for EAP server user database
+#eap_user_file=/etc/hostapd.eap_user
+
+# CA certificate (PEM or DER file) for EAP-TLS/PEAP/TTLS
+#ca_cert=/etc/hostapd.ca.pem
+
+# Server certificate (PEM or DER file) for EAP-TLS/PEAP/TTLS
+#server_cert=/etc/hostapd.server.pem
+
+# Private key matching with the server certificate for EAP-TLS/PEAP/TTLS
+# This may point to the same file as server_cert if both certificate and key
+# are included in a single file. PKCS#12 (PFX) file (.p12/.pfx) can also be
+# used by commenting out server_cert and specifying the PFX file as the
+# private_key.
+#private_key=/etc/hostapd.server.prv
+
+# Passphrase for private key
+#private_key_passwd=secret passphrase
+
+# Enable CRL verification.
+# Note: hostapd does not yet support CRL downloading based on CDP. Thus, a
+# valid CRL signed by the CA is required to be included in the ca_cert file.
+# This can be done by using PEM format for CA certificate and CRL and
+# concatenating these into one file. Whenever CRL changes, hostapd needs to be
+# restarted to take the new CRL into use.
+# 0 = do not verify CRLs (default)
+# 1 = check the CRL of the user certificate
+# 2 = check all CRLs in the certificate path
+#check_crl=1
+
+# dh_file: File path to DH/DSA parameters file (in PEM format)
+# This is an optional configuration file for setting parameters for an
+# ephemeral DH key exchange. In most cases, the default RSA authentication does
+# not use this configuration. However, it is possible setup RSA to use
+# ephemeral DH key exchange. In addition, ciphers with DSA keys always use
+# ephemeral DH keys. This can be used to achieve forward secrecy. If the file
+# is in DSA parameters format, it will be automatically converted into DH
+# params. This parameter is required if anonymous EAP-FAST is used.
+# You can generate DH parameters file with OpenSSL, e.g.,
+# "openssl dhparam -out /etc/hostapd.dh.pem 1024"
+#dh_file=/etc/hostapd.dh.pem
+
+# Configuration data for EAP-SIM database/authentication gateway interface.
+# This is a text string in implementation specific format. The example
+# implementation in eap_sim_db.c uses this as the UNIX domain socket name for
+# the HLR/AuC gateway (e.g., hlr_auc_gw). In this case, the path uses "unix:"
+# prefix.
+#eap_sim_db=unix:/tmp/hlr_auc_gw.sock
+
+# Encryption key for EAP-FAST PAC-Opaque values. This key must be a secret,
+# random value. It is configured as a 16-octet value in hex format. It can be
+# generated, e.g., with the following command:
+# od -tx1 -v -N16 /dev/random | colrm 1 8 | tr -d ' '
+#pac_opaque_encr_key=000102030405060708090a0b0c0d0e0f
+
+# EAP-FAST authority identity (A-ID)
+# A-ID indicates the identity of the authority that issues PACs. The A-ID
+# should be unique across all issuing servers. In theory, this is a variable
+# length field, but due to some existing implementations required A-ID to be
+# 16 octets in length, it is strongly recommended to use that length for the
+# field to provided interoperability with deployed peer implementation. This
+# field is configured in hex format.
+#eap_fast_a_id=101112131415161718191a1b1c1d1e1f
+
+# EAP-FAST authority identifier information (A-ID-Info)
+# This is a user-friendly name for the A-ID. For example, the enterprise name
+# and server name in a human-readable format. This field is encoded as UTF-8.
+#eap_fast_a_id_info=test server
+
+# Enable/disable different EAP-FAST provisioning modes:
+#0 = provisioning disabled
+#1 = only anonymous provisioning allowed
+#2 = only authenticated provisioning allowed
+#3 = both provisioning modes allowed (default)
+#eap_fast_prov=3
+
+# EAP-FAST PAC-Key lifetime in seconds (hard limit)
+#pac_key_lifetime=604800
+
+# EAP-FAST PAC-Key refresh time in seconds (soft limit on remaining hard
+# limit). The server will generate a new PAC-Key when this number of seconds
+# (or fewer) of the lifetime remains.
+#pac_key_refresh_time=86400
+
+# EAP-SIM and EAP-AKA protected success/failure indication using AT_RESULT_IND
+# (default: 0 = disabled).
+#eap_sim_aka_result_ind=1
+
+# Trusted Network Connect (TNC)
+# If enabled, TNC validation will be required before the peer is allowed to
+# connect. Note: This is only used with EAP-TTLS and EAP-FAST. If any other
+# EAP method is enabled, the peer will be allowed to connect without TNC.
+#tnc=1
+
+
+##### IEEE 802.11f - Inter-Access Point Protocol (IAPP) #######################
+
+# Interface to be used for IAPP broadcast packets
+#iapp_interface=eth0
+
+
+##### RADIUS client configuration #############################################
+# for IEEE 802.1X with external Authentication Server, IEEE 802.11
+# authentication with external ACL for MAC addresses, and accounting
+
+# The own IP address of the access point (used as NAS-IP-Address)
+own_ip_addr=127.0.0.1
+
+# Optional NAS-Identifier string for RADIUS messages. When used, this should be
+# a unique to the NAS within the scope of the RADIUS server. For example, a
+# fully qualified domain name can be used here.
+# When using IEEE 802.11r, nas_identifier must be set and must be between 1 and
+# 48 octets long.
+#nas_identifier=ap.example.com
+
+# RADIUS authentication server
+#auth_server_addr=127.0.0.1
+#auth_server_port=1812
+#auth_server_shared_secret=secret
+
+# RADIUS accounting server
+#acct_server_addr=127.0.0.1
+#acct_server_port=1813
+#acct_server_shared_secret=secret
+
+# Secondary RADIUS servers; to be used if primary one does not reply to
+# RADIUS packets. These are optional and there can be more than one secondary
+# server listed.
+#auth_server_addr=127.0.0.2
+#auth_server_port=1812
+#auth_server_shared_secret=secret2
+#
+#acct_server_addr=127.0.0.2
+#acct_server_port=1813
+#acct_server_shared_secret=secret2
+
+# Retry interval for trying to return to the primary RADIUS server (in
+# seconds). RADIUS client code will automatically try to use the next server
+# when the current server is not replying to requests. If this interval is set,
+# primary server will be retried after configured amount of time even if the
+# currently used secondary server is still working.
+#radius_retry_primary_interval=600
+
+
+# Interim accounting update interval
+# If this is set (larger than 0) and acct_server is configured, hostapd will
+# send interim accounting updates every N seconds. Note: if set, this overrides
+# possible Acct-Interim-Interval attribute in Access-Accept message. Thus, this
+# value should not be configured in hostapd.conf, if RADIUS server is used to
+# control the interim interval.
+# This value should not be less 600 (10 minutes) and must not be less than
+# 60 (1 minute).
+#radius_acct_interim_interval=600
+
+# Dynamic VLAN mode; allow RADIUS authentication server to decide which VLAN
+# is used for the stations. This information is parsed from following RADIUS
+# attributes based on RFC 3580 and RFC 2868: Tunnel-Type (value 13 = VLAN),
+# Tunnel-Medium-Type (value 6 = IEEE 802), Tunnel-Private-Group-ID (value
+# VLANID as a string). vlan_file option below must be configured if dynamic
+# VLANs are used. Optionally, the local MAC ACL list (accept_mac_file) can be
+# used to set static client MAC address to VLAN ID mapping.
+# 0 = disabled (default)
+# 1 = option; use default interface if RADIUS server does not include VLAN ID
+# 2 = required; reject authentication if RADIUS server does not include VLAN ID
+#dynamic_vlan=0
+
+# VLAN interface list for dynamic VLAN mode is read from a separate text file.
+# This list is used to map VLAN ID from the RADIUS server to a network
+# interface. Each station is bound to one interface in the same way as with
+# multiple BSSIDs or SSIDs. Each line in this text file is defining a new
+# interface and the line must include VLAN ID and interface name separated by
+# white space (space or tab).
+#vlan_file=/etc/hostapd.vlan
+
+# Interface where 802.1q tagged packets should appear when a RADIUS server is
+# used to determine which VLAN a station is on. hostapd creates a bridge for
+# each VLAN. Then hostapd adds a VLAN interface (associated with the interface
+# indicated by 'vlan_tagged_interface') and the appropriate wireless interface
+# to the bridge.
+#vlan_tagged_interface=eth0
+
+
+##### RADIUS authentication server configuration ##############################
+
+# hostapd can be used as a RADIUS authentication server for other hosts. This
+# requires that the integrated EAP server is also enabled and both
+# authentication services are sharing the same configuration.
+
+# File name of the RADIUS clients configuration for the RADIUS server. If this
+# commented out, RADIUS server is disabled.
+#radius_server_clients=/etc/hostapd.radius_clients
+
+# The UDP port number for the RADIUS authentication server
+#radius_server_auth_port=1812
+
+# Use IPv6 with RADIUS server (IPv4 will also be supported using IPv6 API)
+#radius_server_ipv6=1
+
+
+##### WPA/IEEE 802.11i configuration ##########################################
+
+# Enable WPA. Setting this variable configures the AP to require WPA (either
+# WPA-PSK or WPA-RADIUS/EAP based on other configuration). For WPA-PSK, either
+# wpa_psk or wpa_passphrase must be set and wpa_key_mgmt must include WPA-PSK.
+# For WPA-RADIUS/EAP, ieee8021x must be set (but without dynamic WEP keys),
+# RADIUS authentication server must be configured, and WPA-EAP must be included
+# in wpa_key_mgmt.
+# This field is a bit field that can be used to enable WPA (IEEE 802.11i/D3.0)
+# and/or WPA2 (full IEEE 802.11i/RSN):
+# bit0 = WPA
+# bit1 = IEEE 802.11i/RSN (WPA2) (dot11RSNAEnabled)
+#wpa=1
+
+# WPA pre-shared keys for WPA-PSK. This can be either entered as a 256-bit
+# secret in hex format (64 hex digits), wpa_psk, or as an ASCII passphrase
+# (8..63 characters) that will be converted to PSK. This conversion uses SSID
+# so the PSK changes when ASCII passphrase is used and the SSID is changed.
+# wpa_psk (dot11RSNAConfigPSKValue)
+# wpa_passphrase (dot11RSNAConfigPSKPassPhrase)
+#wpa_psk=0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
+#wpa_passphrase=qualcomm
+
+# Optionally, WPA PSKs can be read from a separate text file (containing list
+# of (PSK,MAC address) pairs. This allows more than one PSK to be configured.
+# Use absolute path name to make sure that the files can be read on SIGHUP
+# configuration reloads.
+#wpa_psk_file=/etc/hostapd.wpa_psk
+
+# Set of accepted key management algorithms (WPA-PSK, WPA-EAP, or both). The
+# entries are separated with a space. WPA-PSK-SHA256 and WPA-EAP-SHA256 can be
+# added to enable SHA256-based stronger algorithms.
+# (dot11RSNAConfigAuthenticationSuitesTable)
+#wpa_key_mgmt=WPA-PSK
+#wpa_key_mgmt=WPA-EAP
+
+# Set of accepted cipher suites (encryption algorithms) for pairwise keys
+# (unicast packets). This is a space separated list of algorithms:
+# CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0]
+# TKIP = Temporal Key Integrity Protocol [IEEE 802.11i/D7.0]
+# Group cipher suite (encryption algorithm for broadcast and multicast frames)
+# is automatically selected based on this configuration. If only CCMP is
+# allowed as the pairwise cipher, group cipher will also be CCMP. Otherwise,
+# TKIP will be used as the group cipher.
+# (dot11RSNAConfigPairwiseCiphersTable)
+# Pairwise cipher for WPA (v1) (default: TKIP)
+#wpa_pairwise=TKIP CCMP
+# Pairwise cipher for RSN/WPA2 (default: use wpa_pairwise value)
+#rsn_pairwise=CCMP
+
+# Time interval for rekeying GTK (broadcast/multicast encryption keys) in
+# seconds. (dot11RSNAConfigGroupRekeyTime)
+wpa_group_rekey=86400
+
+# Rekey GTK when any STA that possesses the current GTK is leaving the BSS.
+# (dot11RSNAConfigGroupRekeyStrict)
+#wpa_strict_rekey=1
+
+# Time interval for rekeying GMK (master key used internally to generate GTKs
+# (in seconds).
+#wpa_gmk_rekey=86400
+
+# Maximum lifetime for PTK in seconds. This can be used to enforce rekeying of
+# PTK to mitigate some attacks against TKIP deficiencies.
+#wpa_ptk_rekey=600
+
+# Enable IEEE 802.11i/RSN/WPA2 pre-authentication. This is used to speed up
+# roaming be pre-authenticating IEEE 802.1X/EAP part of the full RSN
+# authentication and key handshake before actually associating with a new AP.
+# (dot11RSNAPreauthenticationEnabled)
+#rsn_preauth=1
+#
+# Space separated list of interfaces from which pre-authentication frames are
+# accepted (e.g., 'eth0' or 'eth0 wlan0wds0'. This list should include all
+# interface that are used for connections to other APs. This could include
+# wired interfaces and WDS links. The normal wireless data interface towards
+# associated stations (e.g., wlan0) should not be added, since
+# pre-authentication is only used with APs other than the currently associated
+# one.
+#rsn_preauth_interfaces=eth0
+
+# peerkey: Whether PeerKey negotiation for direct links (IEEE 802.11e) is
+# allowed. This is only used with RSN/WPA2.
+# 0 = disabled (default)
+# 1 = enabled
+#peerkey=1
+
+# ieee80211w: Whether management frame protection (MFP) is enabled
+# 0 = disabled (default)
+# 1 = optional
+# 2 = required
+#ieee80211w=0
+
+# Association SA Query maximum timeout (in TU = 1.024 ms; for MFP)
+# (maximum time to wait for a SA Query response)
+# dot11AssociationSAQueryMaximumTimeout, 1...4294967295
+#assoc_sa_query_max_timeout=1000
+
+# Association SA Query retry timeout (in TU = 1.024 ms; for MFP)
+# (time between two subsequent SA Query requests)
+# dot11AssociationSAQueryRetryTimeout, 1...4294967295
+#assoc_sa_query_retry_timeout=201
+
+
+# okc: Opportunistic Key Caching (aka Proactive Key Caching)
+# Allow PMK cache to be shared opportunistically among configured interfaces
+# and BSSes (i.e., all configurations within a single hostapd process).
+# 0 = disabled (default)
+# 1 = enabled
+#okc=1
+
+
+##### IEEE 802.11r configuration ##############################################
+
+# Mobility Domain identifier (dot11FTMobilityDomainID, MDID)
+# MDID is used to indicate a group of APs (within an ESS, i.e., sharing the
+# same SSID) between which a STA can use Fast BSS Transition.
+# 2-octet identifier as a hex string.
+#mobility_domain=a1b2
+
+# PMK-R0 Key Holder identifier (dot11FTR0KeyHolderID)
+# 1 to 48 octet identifier.
+# This is configured with nas_identifier (see RADIUS client section above).
+
+# Default lifetime of the PMK-RO in minutes; range 1..65535
+# (dot11FTR0KeyLifetime)
+#r0_key_lifetime=10000
+
+# PMK-R1 Key Holder identifier (dot11FTR1KeyHolderID)
+# 6-octet identifier as a hex string.
+#r1_key_holder=000102030405
+
+# Reassociation deadline in time units (TUs / 1.024 ms; range 1000..65535)
+# (dot11FTReassociationDeadline)
+#reassociation_deadline=1000
+
+# List of R0KHs in the same Mobility Domain
+# format: <MAC address> <NAS Identifier> <128-bit key as hex string>
+# This list is used to map R0KH-ID (NAS Identifier) to a destination MAC
+# address when requesting PMK-R1 key from the R0KH that the STA used during the
+# Initial Mobility Domain Association.
+#r0kh=02:01:02:03:04:05 r0kh-1.example.com 000102030405060708090a0b0c0d0e0f
+#r0kh=02:01:02:03:04:06 r0kh-2.example.com 00112233445566778899aabbccddeeff
+# And so on.. One line per R0KH.
+
+# List of R1KHs in the same Mobility Domain
+# format: <MAC address> <R0KH-ID> <128-bit key as hex string>
+# This list is used to map R1KH-ID to a destination MAC address when sending
+# PMK-R1 key from the R0KH. This is also the list of authorized R1KHs in the MD
+# that can request PMK-R1 keys.
+#r1kh=02:01:02:03:04:05 02:11:22:33:44:55 000102030405060708090a0b0c0d0e0f
+#r1kh=02:01:02:03:04:06 02:11:22:33:44:66 00112233445566778899aabbccddeeff
+# And so on.. One line per R1KH.
+
+# Whether PMK-R1 push is enabled at R0KH
+# 0 = do not push PMK-R1 to all configured R1KHs (default)
+# 1 = push PMK-R1 to all configured R1KHs whenever a new PMK-R0 is derived
+#pmk_r1_push=1
+
+##### Passive scanning ########################################################
+# Scan different channels every N seconds. 0 = disable passive scanning.
+#passive_scan_interval=60
+
+# Listen N usecs on each channel when doing passive scanning.
+# This value plus the time needed for changing channels should be less than
+# 32 milliseconds (i.e. 32000 usec) to avoid interruptions to normal
+# operations. Time needed for channel changing varies based on the used wlan
+# hardware.
+# default: disabled (0)
+#passive_scan_listen=10000
+
+# Passive scanning mode:
+# 0 = scan all supported modes (802.11a/b/g/Turbo) (default)
+# 1 = scan only the mode that is currently used for normal operations
+#passive_scan_mode=1
+
+# Maximum number of entries kept in AP table (either for passive scanning or
+# for detecting Overlapping Legacy BSS Condition). The oldest entry will be
+# removed when adding a new entry that would make the list grow over this
+# limit. Note! Wi-Fi certification for IEEE 802.11g requires that OLBC is
+# enabled, so this field should not be set to 0 when using IEEE 802.11g.
+# default: 255
+#ap_table_max_size=255
+
+# Number of seconds of no frames received after which entries may be deleted
+# from the AP table. Since passive scanning is not usually performed frequently
+# this should not be set to very small value. In addition, there is no
+# guarantee that every scan cycle will receive beacon frames from the
+# neighboring APs.
+# default: 60
+#ap_table_expiration_time=3600
+
+
+##### Wi-Fi Protected Setup (WPS) #############################################
+
+# WPS state
+# 0 = WPS disabled (default)
+# 1 = WPS enabled, not configured
+# 2 = WPS enabled, configured
+#wps_state=2
+
+# AP can be configured into a locked state where new WPS Registrar are not
+# accepted, but previously authorized Registrars (including the internal one)
+# can continue to add new Enrollees.
+ap_setup_locked=1
+
+# Universally Unique IDentifier (UUID; see RFC 4122) of the device
+# This value is used as the UUID for the internal WPS Registrar. If the AP
+# is also using UPnP, this value should be set to the device's UPnP UUID.
+# If not configured, UUID will be generated based on the local MAC address.
+#uuid=12345678-9abc-def0-1234-56789abcdef0
+
+# Note: If wpa_psk_file is set, WPS is used to generate random, per-device PSKs
+# that will be appended to the wpa_psk_file. If wpa_psk_file is not set, the
+# default PSK (wpa_psk/wpa_passphrase) will be delivered to Enrollees. Use of
+# per-device PSKs is recommended as the more secure option (i.e., make sure to
+# set wpa_psk_file when using WPS with WPA-PSK).
+
+# When an Enrollee requests access to the network with PIN method, the Enrollee
+# PIN will need to be entered for the Registrar. PIN request notifications are
+# sent to hostapd ctrl_iface monitor. In addition, they can be written to a
+# text file that could be used, e.g., to populate the AP administration UI with
+# pending PIN requests. If the following variable is set, the PIN requests will
+# be written to the configured file.
+#wps_pin_requests=/var/run/hostapd_wps_pin_requests
+
+# Device Name
+# User-friendly description of device; up to 32 octets encoded in UTF-8
+#device_name=Wireless AP
+
+# Manufacturer
+# The manufacturer of the device (up to 64 ASCII characters)
+#manufacturer=Qualcomm
+
+# Model Name
+# Model of the device (up to 32 ASCII characters)
+#model_name=QualcommSoftAP
+
+# Model Number
+# Additional device description (up to 32 ASCII characters)
+#model_number=123
+
+# Serial Number
+# Serial number of the device (up to 32 characters)
+#serial_number=12345
+
+# Primary Device Type
+# Used format: <categ>-<OUI>-<subcateg>
+# categ = Category as an integer value
+# OUI = OUI and type octet as a 4-octet hex-encoded value; 0050F204 for
+# default WPS OUI
+# subcateg = OUI-specific Sub Category as an integer value
+# Examples:
+# 1-0050F204-1 (Computer / PC)
+# 1-0050F204-2 (Computer / Server)
+# 5-0050F204-1 (Storage / NAS)
+# 6-0050F204-1 (Network Infrastructure / AP)
+#device_type=6-0050F204-1
+
+# OS Version
+# 4-octet operating system version number (hex string)
+#os_version=01020300
+
+# Config Methods
+# List of the supported configuration methods
+config_methods=label display push_button keypad
+
+# Access point PIN for initial configuration and adding Registrars
+# If not set, hostapd will not allow external WPS Registrars to control the
+# access point.
+#ap_pin=12345670
+
+# Skip building of automatic WPS credential
+# This can be used to allow the automatically generated Credential attribute to
+# be replaced with pre-configured Credential(s).
+#skip_cred_build=1
+
+# Additional Credential attribute(s)
+# This option can be used to add pre-configured Credential attributes into M8
+# message when acting as a Registrar. If skip_cred_build=1, this data will also
+# be able to override the Credential attribute that would have otherwise been
+# automatically generated based on network configuration. This configuration
+# option points to an external file that much contain the WPS Credential
+# attribute(s) as binary data.
+#extra_cred=hostapd.cred
+
+# Credential processing
+# 0 = process received credentials internally (default)
+# 1 = do not process received credentials; just pass them over ctrl_iface to
+# external program(s)
+# 2 = process received credentials internally and pass them over ctrl_iface
+# to external program(s)
+# Note: With wps_cred_processing=1, skip_cred_build should be set to 1 and
+# extra_cred be used to provide the Credential data for Enrollees.
+#
+# wps_cred_processing=1 will disabled automatic updates of hostapd.conf file
+# both for Credential processing and for marking AP Setup Locked based on
+# validation failures of AP PIN. An external program is responsible on updating
+# the configuration appropriately in this case.
+#wps_cred_processing=0
+
+# AP Settings Attributes for M7
+# By default, hostapd generates the AP Settings Attributes for M7 based on the
+# current configuration. It is possible to override this by providing a file
+# with pre-configured attributes. This is similar to extra_cred file format,
+# but the AP Settings attributes are not encapsulated in a Credential
+# attribute.
+#ap_settings=hostapd.ap_settings
+
+# WPS UPnP interface
+# If set, support for external Registrars is enabled.
+#upnp_iface=br0
+
+# Friendly Name (required for UPnP)
+# Short description for end use. Should be less than 64 characters.
+#friendly_name=Qualcomm Access Point
+
+# Manufacturer URL (optional for UPnP)
+#manufacturer_url=http://www.qualcomm.com/
+
+# Model Description (recommended for UPnP)
+# Long description for end user. Should be less than 128 characters.
+#model_description=Wireless Access Point
+
+# Model URL (optional for UPnP)
+#model_url=http://www.qualcomm.com/
+
+# Universal Product Code (optional for UPnP)
+# 12-digit, all-numeric code that identifies the consumer package.
+#upc=123456789012
+
+##### Multiple BSSID support ##################################################
+#
+# Above configuration is using the default interface (wlan#, or multi-SSID VLAN
+# interfaces). Other BSSIDs can be added by using separator 'bss' with
+# default interface name to be allocated for the data packets of the new BSS.
+#
+# hostapd will generate BSSID mask based on the BSSIDs that are
+# configured. hostapd will verify that dev_addr & MASK == dev_addr. If this is
+# not the case, the MAC address of the radio must be changed before starting
+# hostapd (ifconfig wlan0 hw ether <MAC addr>).
+#
+# BSSIDs are assigned in order to each BSS, unless an explicit BSSID is
+# specified using the 'bssid' parameter.
+# If an explicit BSSID is specified, it must be chosen such that it:
+# - results in a valid MASK that covers it and the dev_addr
+# - is not the same as the MAC address of the radio
+# - is not the same as any other explicitly specified BSSID
+#
+# Please note that hostapd uses some of the values configured for the first BSS
+# as the defaults for the following BSSes. However, it is recommended that all
+# BSSes include explicit configuration of all relevant configuration items.
+#
+#bss=wlan0_0
+#ssid=test2
+# most of the above items can be used here (apart from radio interface specific
+# items, like channel)
+
+#bss=wlan0_1
+#bssid=00:13:10:95:fe:0b
+# ...
diff --git a/wifi/p2p_supplicant_overlay.conf b/wifi/p2p_supplicant_overlay.conf
new file mode 100644
index 0000000..acbace2
--- /dev/null
+++ b/wifi/p2p_supplicant_overlay.conf
@@ -0,0 +1 @@
+disable_scan_offload=1
diff --git a/wifi/wpa_supplicant_overlay.conf b/wifi/wpa_supplicant_overlay.conf
new file mode 100644
index 0000000..58c2639
--- /dev/null
+++ b/wifi/wpa_supplicant_overlay.conf
@@ -0,0 +1,2 @@
+disable_scan_offload=1
+p2p_disabled=1