# This file allows user to override the factory

# defaults for the WLAN Driver


# Enable IMPS or not
gEnableImps=1

# Enable/Disable Idle Scan

gEnableIdleScan=0


# Increase sleep duration (seconds) during IMPS
# 0 implies no periodic wake up from IMPS. Periodic wakeup is 
# unnecessary if Idle Scan is disabled.
gImpsModSleepTime=0


# Enable BMPS or not
gEnableBmps=1

# Enable suspend or not

# 1: Enable standby, 2: Enable Deep sleep, 3: Enable Mcast/Bcast Filter

gEnableSuspend=3


# Phy Mode (auto, b, g, n, etc)
# Valid values are 0-9, with 0 = Auto, 4 = 11n, 9 = 11ac
gDot11Mode=0


# CSR Roaming Enable(1) Disable(0)

gRoamingTime=0


# Assigned MAC Addresses - This will be used until NV items are in place

# Each byte of MAC address is represented in Hex format as XX

Intf0MacAddress=000AF58989FF
Intf1MacAddress=000AF58989FE
Intf2MacAddress=000AF58989FD

Intf3MacAddress=000AF58989FC


# UAPSD service interval for VO,VI, BE, BK traffic

InfraUapsdVoSrvIntv=0

InfraUapsdViSrvIntv=0

InfraUapsdBeSrvIntv=0

InfraUapsdBkSrvIntv=0

# Flag to allow STA send AddTspec even when ACM is Off
gAddTSWhenACMIsOff=1

# Make 1x1 the default antenna configuration

gNumRxAnt=1


# Beacon filtering frequency (unit in beacon intervals)

gNthBeaconFilter=50


# Enable WAPI or not

# WAPIIsEnabled=0


# Flags to filter Mcast abd Bcast RX packets.

# Value 0: No filtering, 1: Filter all Multicast.

# 2: Filter all Broadcast. 3: Filter all Mcast abd Bcast

McastBcastFilter=3


#Flag to enable HostARPOffload feature or not

hostArpOffload=1


#Flag to enable HostNSOffload feature or not

hostNSOffload=0

#SoftAP Related Parameters

# AP MAc addr

gAPMacAddr=000AF589dcab


# 802.11n Protection flag

gEnableApProt=1


#Enable OBSS protection

gEnableApOBSSProt=1


#Enable/Disable UAPSD for SoftAP

gEnableApUapsd=0


# Fixed Rate

gFixedRate=0


# Maximum Tx power

# gTxPowerCap=30


# Fragmentation Threshold

# gFragmentationThreshold=2346


# RTS threshold

RTSThreshold=2347


# Intra-BSS forward

gDisableIntraBssFwd=0


# WMM Enable/Disable

WmmIsEnabled=0


# 802.11d support

g11dSupportEnabled=1

# 802.11h support

g11hSupportEnabled=1

# CCX Support and fast transition
CcxEnabled=0
FastTransitionEnabled=1
ImplicitQosIsEnabled=0
gNeighborScanTimerPeriod=200

gNeighborLookupThreshold=76
gNeighborReassocThreshold=81

gNeighborScanChannelMinTime=20
gNeighborScanChannelMaxTime=30
gMaxNeighborReqTries=3

# Legacy (non-CCX, non-802.11r) Fast Roaming Support
# To enable, set FastRoamEnabled=1
# To disable, set FastRoamEnabled=0
FastRoamEnabled=1

#Check if the AP to which we are roaming is better than current AP in terms of RSSI.
#Checking is disabled if set to Zero.Otherwise it will use this value as to how better 
#the RSSI of the new/roamable AP should be for roaming
RoamRssiDiff=3

# If the RSSI of any available candidate is better than currently associated
# AP by at least gImmediateRoamRssiDiff, then being to roam immediately (without
# registering for reassoc threshold).
# NOTE: Value of 0 means that we would register for reassoc threshold.
gImmediateRoamRssiDiff=10

# To enable, set gRoamIntraBand=1 (Roaming within band)
# To disable, set gRoamIntraBand=0 (Roaming across band)
gRoamIntraBand=0

# SAP Country code

# Default Country Code is 2 bytes, 3rd byte is optional indoor or out door.

# Example

#   US Indoor, USI

#   Korea Outdoor, KRO

#   Japan without optional byte, JP

#   France without optional byte, FR

#gAPCntryCode=USI


#Short Guard Interval Enable/disable

gShortGI20Mhz=1

gShortGI40Mhz=1


#Auto Shutdown  Value in seconds. A value of 0 means Auto shutoff is disabled

gAPAutoShutOff=0


# SAP auto channel selection configuration

# 0 = disable auto channel selection

# 1 = enable auto channel selection, channel provided by supplicant will be ignored

gApAutoChannelSelection=0


# Listen Energy Detect Mode Configuration

# Valid values 0-128

# 128 means disable Energy Detect feature

# 0-9 are threshold code and 7 is recommended value from system if feature is to be enabled.

# 10-128 are reserved.

# The EDET threshold mapping is as follows in 3dB step:

# 0 = -60 dBm

# 1 = -63 dBm

# 2 = -66 dBm

# ...

# 7 = -81 dBm

# 8 = -84 dBm

# 9 = -87 dBm

# Note: Any of these settings are valid. Setting 0 would yield the highest power saving (in a noisy environment) at the cost of more range. The range impact is approximately #calculated as:

#

#  Range Loss  (dB)  =  EDET threshold level (dBm) + 97 dBm.

#

gEnablePhyAgcListenMode=128


#Preferred channel to start BT AMP AP mode (0 means, any channel)

BtAmpPreferredChannel=0


#Preferred band (both or 2.4 only or 5 only)

BandCapability=0


#Beacon Early Termination (1 = enable the BET feature, 0 = disable)

enableBeaconEarlyTermination=0

beaconEarlyTerminationWakeInterval=3


#Bluetooth Alternate Mac Phy (1 = enable the BT AMP feature, 0 = disable)

gEnableBtAmp=0


#SOFTAP Channel Range selection 

gAPChannelSelectStartChannel=1

gAPChannelSelectEndChannel=11


#SOFTAP Channel Range selection Operating band

# 0:2.4GHZ 1: LOW-5GHZ 2:MID-5GHZ 3:HIGH-5GHZ 4: 4.9HZ BAND

gAPChannelSelectOperatingBand=0


#Channel Bonding
gChannelBondingMode5GHz=1


#Enable Keep alive with non-zero period value

#gStaKeepAlivePeriod = 30

#Say gGoKeepAlivePeriod(5 seconds) and gGoLinkMonitorPeriod(10 seconds).
#For every 10 seconds DUT send Qos Null frame(i.e., Keep Alive frame if link is idle for last 10 seconds.)
#For both active and power save clients.

#Power save clients: DUT set TIM bit from 10th second onwards and till client honors TIM bit.
#If doesn't honor for 5 seconds then DUT remove client.

#Active clients: DUT send Qos Null frame for 10th seconds onwards if it is not success still we try on
#11th second if not tries on 12th and so on till 15th second. Hence before disconnection DUT will send 5 NULL frames.
#Hence in any case DUT will detect client got removed in (10+5) seconds. i.e., (gGoKeepAlivePeriod + gGoLinkMonitorPeriod)..

#gGoLinkMonitorPeriod/ gApLinkMonitorPeriod is period where link is idle and it is period
#where we send NULL frame.

#gApLinkMonitorPeriod = 10

#gGoLinkMonitorPeriod = 10

#gGoKeepAlivePeriod/gApKeepAlivePeriod is time to spend to check whether frame are succeed to send or not.
#Hence total effective detection time is gGoLinkMonitorPeriod+ gGoKeepAlivePeriod/gApLinkMonitorPeriod+ gApKeepAlivePeriod.


#gGoKeepAlivePeriod = 5

#gApKeepAlivePeriod = 5


#If set will start with active scan after driver load, otherwise will start with

#passive scan to find out the domain

gEnableBypass11d=1


#If set to 0, will not scan DFS channels

gEnableDFSChnlScan=1


gVhtChannelWidth=2
gEnableLogp=1


# Enable Automatic Tx Power control

gEnableAutomaticTxPowerControl=1

# 0 for OLPC 1 for CLPC and SCPC
gEnableCloseLoop=1

#Data Inactivity Timeout when in powersave (in ms)
gDataInactivityTimeout=200

# VHT Tx/Rx MCS values
# Valid values are 0,1,2. If commented out, the default value is 0.
# 0=MCS0-7, 1=MCS0-8, 2=MCS0-9
gVhtRxMCS=2
gVhtTxMCS=2

# Enable CRDA regulatory support by settings default country code
#gCrdaDefaultCountryCode=TW

# Scan Timing Parameters
# gPassiveMaxChannelTime=110
# gPassiveMinChannelTime=60
# gActiveMaxChannelTime=40
# gActiveMinChannelTime=20

#If set to 0, MCC is not allowed.
gEnableMCCMode=1

# 1=enable STBC; 0=disable STBC 
gEnableRXSTBC=1

# Enable Active mode offload
gEnableActiveModeOffload=1

#Enable Scan Results Aging based on timer 
#Timer value is in seconds
#If Set to 0 it will not enable the feature
gScanAgingTime=0

#Enable Power saving mechanism Based on Android Framework
#If set to 0 Driver internally control the Power saving mechanism
#If set to 1 Android Framwrok control the Power saving mechanism
isAndroidPsEn=0

#disable LDPC in STA mode if the AP is TXBF capable
gDisableLDPCWithTxbfAP=1

#Enable thermal mitigation
gThermalMitigationEnable=1

gEnableFastRoamInConcurrency=1

#List of Country codes for which 11ac needs to be disabled
#Each country code must be delimited by comma(,)
gListOfNon11acCountryCode=RU,UA,ZA

#Maxium Channel time in msec
gMaxMediumTime = 6000

# 802.11K support
gRrmEnable=1
gRrmOperChanMax=8
gRrmNonOperChanMax=8
gRrmRandIntvl=100

#Scan offload
gEnableDirectedScanOffload=0

#FlexConnect Power Factor
#Default is set to 0 (disable)
gFlexConnectPowerFactor=0

#SAP/P2P-GO mode traffic monitor
gEnableTrafficMonitor=1
gTrafficIdleTimeout=3000

END

# Note: Configuration parser would not read anything past the END marker

