diff --git a/talos/AndroidBoardWlan.mk b/talos/AndroidBoardWlan.mk index 0d6b23dccb83c3e3a5fac320f702eb6df86315bc..90f0ccaf5023da873e75e165fc1dd182b898dabd 100644 --- a/talos/AndroidBoardWlan.mk +++ b/talos/AndroidBoardWlan.mk @@ -25,6 +25,13 @@ LOCAL_SRC_FILES := hostapd.deny include $(BUILD_PREBUILT) # create symbolic links for INI file -$(shell mkdir -p $(TARGET_OUT_VENDOR)/firmware/wlan/qca_cld; \ -ln -sf /vendor/etc/wifi/WCNSS_qcom_cfg.ini \ -$(TARGET_OUT_VENDOR)/firmware/wlan/qca_cld/WCNSS_qcom_cfg.ini) +$(shell mkdir -p $(TARGET_OUT_VENDOR)/firmware/wlan/qca_cld;) + +ifeq ($(GENERIC_ODM_IMAGE),true) + $(shell mkdir -p $(TARGET_OUT_ODM)/firmware/wlan/qca_cld;\ + ln -sf /odm/etc/wifi/WCNSS_qcom_cfg.ini \ + $(TARGET_OUT_ODM)/firmware/wlan/qca_cld/WCNSS_qcom_cfg.ini) +else + $(shell ln -sf /vendor/etc/wifi/WCNSS_qcom_cfg.ini \ + $(TARGET_OUT_VENDOR)/firmware/wlan/qca_cld/WCNSS_qcom_cfg.ini) +endif diff --git a/talos/WCNSS_qcom_cfg_odm.ini b/talos/WCNSS_qcom_cfg_odm.ini new file mode 100644 index 0000000000000000000000000000000000000000..f9512d7fc82ba88ad816efb6c620ed1a9ddf6168 --- /dev/null +++ b/talos/WCNSS_qcom_cfg_odm.ini @@ -0,0 +1,473 @@ +# This file allows user to override the factory +# defaults for the WLAN Driver + +############################################# +# Power related configurations +############################################# +# Phy Mode (auto, b, g, n, etc) +# Valid values are 0-9, with 0 = Auto, 4 = 11n, 9 = 11ac +# 1 = 11abg, 2 = 11b, 3 = 11g, 5 = 11g only, 6 = 11n only +# 7 = 11b only 8 = 11ac only. +gDot11Mode=0 + +############################################# +# STA related general configurations +############################################# +# 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 + +############################################# +# SAP related configurations +############################################# +#Enable OBSS protection +gEnableApOBSSProt=1 + +# RTS threshold +RTSThreshold=2347 + +# 802.11d support +g11dSupportEnabled=0 + +# DFS Master Capability +gEnableDFSMasterCap=0 + +gNeighborLookupThreshold=76 + +# Legacy (non-ESE, 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 + +#Channel Bonding +gChannelBondingMode5GHz=1 + +# Enable DFS channel roam +# 0: DISABLE, 1: ENABLED_NORMAL, 2: ENABLED_ACTIVE +gAllowDFSChannelRoam=1 + +# chain mask related params +# +# Set txchainmask and rxchainmask +# These parameters are used only if gEnable2x2 is 0 +# Valid values are 1,2 +# Set gSetTxChainmask1x1=1 or gSetRxChainmask1x1=1 to select chain0. +# Set gSetTxChainmask1x1=2 or gSetRxChainmask1x1=2 to select chain1. +gSetTxChainmask1x1=1 +gSetRxChainmask1x1=1 + +# MCC to SCC Switch mode: +# 0-Disable +# 1-Enable +# 2-Force SCC if same band, with SAP restart +# 3-Force SCC if same band, without SAP restart by sending (E)CSA +# 4-Force SCC if same band (or) use SAP mandatory channel for DBS, +# without SAP restart by sending (E)CSA +gWlanMccToSccSwitchMode = 3 + +# 1=enable tx STBC; 0=disable +gEnableTXSTBC=1 + +# 1=enable rx LDPC; 0=disable +gEnableRXLDPC=1 + +#Enable/Disable Tx beamformee in SAP mode +gEnableTxBFeeSAP=1 + +# Enable Tx beamforming in VHT20MHz +# Valid values are 0,1. If commented out, the default value is 0. +# 0=disable, 1=enable +gEnableTxBFin20MHz=1 + +# 802.11K support +gRrmEnable=1 + +#Enable Power Save offload +gEnablePowerSaveOffload=2 + +# Maximum Receive AMPDU size (VHT only. Valid values: +# 0->8k 1->16k 2->32k 3->64k 4->128k) +gVhtAmpduLenExponent=7 + +# Maximum MPDU length (VHT only. Valid values: +# 0->3895 octets, 1->7991 octets, 2->11454 octets) +gVhtMpduLen=2 + +############################################# +# P2P related configurations +############################################# +#Enable or Disable p2p device address administered +isP2pDeviceAddrAdministrated=0 + +#Mac address provisioning +enable_mac_provision=0 + +#Enable VHT on 2.4Ghz +gEnableVhtFor24GHzBand=1 + +############################################# +# Offload related configurations +############################################# + +# controlling the following offload patterns +# through ini parameter. Default value is 1 +# to disable set it to zero. ssdp = 0 +# Setup multicast pattern for mDNS 224.0.0.251, +# SSDP 239.255.255.250 and LLMNR 224.0.0.252 +ssdp=0 + +# Regulatory Setting; 0=STRICT; 1=CUSTOM +gRegulatoryChangeCountry=1 + +# Disable/Enable GreenAP +# 0 to disable, 1 to enable, default: 1 +gEnableGreenAp=0 + +#Enable/Disable LPASS support +# 0 to disable, 1 to enable +gEnableLpassSupport=1 + +# Whether userspace country code setting shld have priority +gCountryCodePriority=1 + +# Enable or Disable Multi-user MIMO +# 1=Enable (default), 0=Disable +gEnableMuBformee=1 + +# Inactivity time (in ms) to end TX Service Period while in IBSS power save mode +gIbssTxSpEndInactivityTime=10 + +############################################# +# TDLS related configurations +############################################# +# Enable support for TDLS +# 0 - disable +# 1 - enable +gEnableTDLSSupport=1 + +# Enable support for Implicit Trigger of TDLS. That is, wlan driver shall +# initiate TDLS Discovery towards a peer whenever setup criteria (throughput +# and RSSI) is met and then will initiate teardown when teardown criteria +# (idle packet count and RSSI) is met. +# 0 - disable +# 1 - enable +gEnableTDLSImplicitTrigger=1 + +# Enable support for TDLS off-channel operation +# 0 - disable +# 1 - enable +# TDLS off-channel operation will be invoked when there is only one +# TDLS connection. +gEnableTDLSOffChannel=1 + +# Tx/Rx Packet threshold for initiating TDLS. +# This ini is used to configure the number of Tx/Rx packets during the period of +# gTDLSTxStatsPeriod when exceeded, a TDLS Discovery request is triggered. +gTDLSTxPacketThreshold=10 + +# Number of idle packet. +# This ini is used to configure the number of Tx/Rx packet, below which +# within last gTDLSTxStatsPeriod period is considered as idle condition. +gTDLSIdlePacketThreshold=1 + +# 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 + +# VHT Tx/Rx MCS values for 2x2 +# Valid values are 0,1,2. If commented out, the default value is 0. +# 0=MCS0-7, 1=MCS0-8, 2=MCS0-9 +gEnable2x2=1 +gVhtRxMCS2x2=2 +gVhtTxMCS2x2=2 + +#IPA config is a bit mask and following are the configurations. +#bit0 IPA Enable +#bit1 IPA PRE Filter enable +#bit2 IPv6 enable +#bit3 IPA Resource Manager (RM) enable +#bit4 IPA Clock scaling enable +#bit5 IPA uC ENABLE +#bit6 IPA uC STA ENABLE +#bit8 IPA Real Time Debugging +gIPAConfig=0x7d + +# Enable Rx handling options +# Rx_thread=1 RPS=2(default for ROME) NAPI=4(default for ihelium) +# Rx_thread + NAPI = 5 +rx_mode=5 + +# Enable(Tx) fastpath for data traffic. +# 1 - enable(default) 0 - disable +gEnableFastPath=1 + +# Enable TCP Segmentation Offload +# 1 - enable 0 - disable +TSOEnable=1 + +# Enable Generic Receive Offload +# LRO and GRO are exclusive to each other +# LRO support is deprecated on latest 4.9(SDM845) kernel +# 1 - enable(default) 0 - disable +GROEnable=1 + +# Enable HT MPDU Density +# 4 for 2 micro sec +ght_mpdu_density=4 + +# Enable flow steering to enable multiple CEs for Rx flows. +# Multiple Rx CEs<==>Multiple Rx IRQs<==>probably different CPUs. +# Parallel Rx paths. +# 1 - enable 0 - disable(default) +gEnableFlowSteering=1 + +# Time in microseconds after which a NAPI poll must yield +ce_service_max_yield_time=500 + +#Maximum number of HTT messages to be processed per NAPI poll +ce_service_max_rx_ind_flush=1 + +# Maximum number of MSDUs the firmware will pack in one HTT_T2H_MSG_TYPE_RX_IN_ORD_PADDR_IND +maxMSDUsPerRxInd=8 +################ Datapath feature set End ################ + +################ NAN feature set start ################### + +# Enable NAN discovery (NAN 1.0) +# 1 - enable 0 - disable(default) +gEnableNanSupport=1 +################ NAN feature set end ##################### + +hostscan_adaptive_dwell_mode=1 + +# Create another interface during driver load +gEnableConcurrentSTA=wlan1 + +#Enable/Disable dual MAC feature +# 0 - enable DBS +# 1 - disable DBS +# 2 - disable DBS for connection but keep DBS for scan +# 3 - disable DBS for connection but keep DBS scan with async +# scan policy disabled +# 4 - enable DBS for connection as well as for scan with async +# scan policy disabled +# 5 - enable DBS for connection but disable dbs for scan. +# 6 - enable DBS for connection but disable simultaneous scan from +# upper layer (DBS scan remains enabled in FW). +gDualMacFeatureDisable=6 + +#Enable/Disable latency mode +# 0 disable +# 1 enable +wlm_latency_enable=1 + +# Enable/Disable NUD Tracking within driver +gEnableNUDTracking=0 + +# Configure hardware filter for DTIM mode +# The hardware filter is only effective in DTIM mode. +# Use this configuration to blanket drop broadcast/multicast packets at the hardware level +# without waking up the firmware +# +# Takes a bitmap of frame types to drop +# +# 0 = disable feature +# 1 = drop all broadcast frames, except ARP (default) +# 2 = drop all multicast frames, except ICMPv6 +# 3 = drop all broadcast and multicast frames, except ARP and ICMPv6 +gHwFilterMode=0 + +# Enables SNR Monitoring +# This ini is used to set default snr monitor +gEnableSNRMonitoring=1 + +# Control to enable TCP limit output byte +# This ini is used to enable dynamic configuration of TCP limit output bytes +# tcp_limit_output_bytes param. +# Enabling this will let driver post message to cnss-daemon, +# accordingly cnss-daemon will modify the tcp_limit_output_bytes. +gTcpLimitOutputEnable=0 + +# Enable Target Wake Time support. +# This ini is used to enable or disable TWT support. +enable_twt=0 + +# For NLO/PNO, enable MAWC based scan +# Enable/Disable the Motion Aided Wireless Connectivity based NLO using this parameter +mawc_nlo_enabled=0 + +# Force 1x1 when connecting to certain peer +# This INI when enabled will force 1x1 connection with certain peer. +gForce1x1Exception=0 + +# Enable/disable oce feature for STA +# This ini is used to enable/disable oce feature for STA +oce_sta_enable=0 + +# Enable/disable oce feature for SAP +# This ini is used to enable/disable oce feature for SAP +oce_sap_enable=0 + +# Set probe request rate +# This ini is used to set probe request rate to 5.5Mbps as per OCE requirement in 2.4G band +oce_enable_probe_req_rate=0 + +# HE caps Weightage to calculate best candidate +# This ini is used to increase/decrease HE caps weightage in best candidate selection. +# If AP supports HE caps, AP will get additional weightage with this param. +# Weightage will be given only if dot11mode is HE capable. +he_caps_weightage=0 + +# PCL Weightage to calculate best candidate +# This ini is used to increase/decrease PCL weightage in best candidate selection. +# If some APs are in PCL list, those AP will get addition weightage. +pcl_weightage=10 + +# Enable/disable esp feature +# This ini is used to enable/disable ESP(Estimated service parameters) IE parsing and decides +# whether firmware will include this in its scoring algo. +enable_esp_for_roam=0 + +# Bitmask to enable 11k offload to FW. +# This ini is used to set which of the 11k features is offloaded to FW +# Currently Neighbor Report Request is supported for offload and is enabled by default. +# B0: Offload 11k neighbor report requests +# B1-B31: Reserved +11k_offload_enable_bitmask=0 + +# Set channel selection logic for different concurrency combinations to DBS or inter band MCC. +# Default is DBS for STA+STA and STA+P2P. +# 0 - inter-band MCC +# 1 - DBS +# +# BIT 0: STA+STA +# BIT 1: STA+P2P +# BIT 2-31: Reserved +channel_select_logic_conc=0 + +# Configure BTM +# Bit 0: Enable/Disable the BTM offload. Set this to 1 will enable and 0 will disable BTM offload. +# BIT 2, 1: Action on non matching candidate with cache. If a BTM request is received from AP +# then the candidate AP's may/may-not be present in the firmware scan cache. +# Based on below config firmware will decide whether to forward BTM frame to host or +# consume with firmware and proceed with Roaming to candidate AP. +# +# 00 scan and consume +# 01 no scan and forward to host +# 10, 11 reserved +# BIT 5, 4, 3: Roaming handoff decisions on multiple candidates match +# 000 match if exact BSSIDs are found +# 001 match if at least one top priority BSSID only +# 010, 011, 100, 101, 110, 111 reserved +# BIT 6: Set this to 1 will send BTM query frame and 0 not sent. +# BIT 7-31: Reserved +btm_offload_config=0 + +# Set external ACS Policy to Mandatory +acs_policy=1 + +# Set Modulated Dtim +gEnableModulatedDTIM=2 + +# Enable NAN datapath +genable_nan_datapath=1 + +# Set MaxLIModulate Dtim +gMaxLIModulatedDTIM=6 + +# Used for ignore peer infrormation +gIgnorePeerErpInfo=1 + +# DBS Scan Selection +gdbs_scan_selection=5,4,1,16,4,1 + +# 0 - Disallow STA+SAP SCC on LTE coex channel +# 1 - Allow STA+SAP SCC on LTE coex channel +g_sta_sap_scc_on_lte_coex_chan=1 + +# Tx Chain Mask for CCK +gCckChainMaskEnable=1 + +# Tx Chain Mask for 1SS +gTxChainMask1ss=0 + +# TPC power +gSelfGenFrmPwr=3 + +# Enable LFR3 subnet detection +gLFRSubnetDetectionEnable=0 + +#Enable APF in Active mode +gActiveUcBpfMode=2 + +# Control MC/BC active APF mode +gActiveMcBcBpfMode=1 + +# Enable or disable Probe Req Information Element whitelist. When enabled, IEs corresponding to bits +# set in bitmaps are allowed in probe request, all others removed while device is unassociated +# with an AP +# 1=Enable, 0=Disable (default) +g_enable_probereq_whitelist_ies=1 + +# ie bitmap examples: <bitmap_name>=<value> [<Allowed Information elements>] +# g_probe_req_ie_bitmap_0=0x80000009 #[0, 3, 31] +# g_probe_req_ie_bitmap_0=0x00000000 #[] (default) +# g_probe_req_ie_bitmap_1=0x80000009 #[32, 35, 63] +g_probe_req_ie_bitmap_0=0x0000000B +g_probe_req_ie_bitmap_1=0x00040000 +# g_probe_req_ie_bitmap_2=0x00000000 +# g_probe_req_ie_bitmap_3=0x00000000 +# g_probe_req_ie_bitmap_4=0x00000000 +# g_probe_req_ie_bitmap_5=0x00000000 +g_probe_req_ie_bitmap_6=0x20000000 +# g_probe_req_ie_bitmap_7=0x00000000 + +# Used to specify vendor specific OUIs +gProbeReqOUIs=0050F208 + +# enable 11d in world mode +enable_11d_in_world_mode=1 + +# WLM flags setting for low level +wlm_latency_flags_low=0xc08 + +#Enable/Disable chain selection optimization for one chain dtim +#Min: 0 +#MAX: 30 +gEnableDTIMSelectionDiversity=3 + +# Enable/Disable rtt sta mac randomization +enable_rtt_mac_randomization=1 + +# Set max time for active 2G channel scan +active_max_channel_time_2g=40 + +# To config roaming scan policy +roaming_scan_policy=1 + +# Config DPTRACE +gDptraceConfig=1,4,2,126 + +#Timer waiting for interface up from the upper layer +gInterfaceChangeWait=5000 + +#To Avoid configured frequencies from acs +sap_avoid_acs_freq_list=2467,2472,2484 + +END + +# Note: Configuration parser would not read anything past the END marker + diff --git a/talos/wlan.mk b/talos/wlan.mk index a9d47c725de2113afac772d5810e24315696a134..e4edfe6f1e3227037323d5d30d21da81397038d6 100644 --- a/talos/wlan.mk +++ b/talos/wlan.mk @@ -11,7 +11,6 @@ PRODUCT_PACKAGES += $(WPA) WIFI_HIDL_FEATURE_AWARE := true PRODUCT_COPY_FILES += \ - device/qcom/wlan/talos/WCNSS_qcom_cfg.ini:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/WCNSS_qcom_cfg.ini \ device/qcom/wlan/talos/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf \ device/qcom/wlan/talos/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf \ device/qcom/wlan/talos/icm.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/icm.conf \ @@ -19,6 +18,14 @@ PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.wifi.rtt.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.rtt.xml \ frameworks/native/data/etc/android.hardware.wifi.passpoint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.passpoint.xml +ifeq ($(GENERIC_ODM_IMAGE),true) + PRODUCT_COPY_FILES += \ + device/qcom/wlan/talos/WCNSS_qcom_cfg_odm.ini:$(TARGET_COPY_OUT_ODM)/etc/wifi/WCNSS_qcom_cfg.ini +else + PRODUCT_COPY_FILES += \ + device/qcom/wlan/talos/WCNSS_qcom_cfg.ini:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/WCNSS_qcom_cfg.ini +endif + # WLAN specific aosp flag TARGET_USES_AOSP_FOR_WLAN := false