• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (C) 2019 The Android Open Source Project
3
4     Licensed under the Apache License, Version 2.0 (the "License");
5     you may not use this file except in compliance with the License.
6     You may obtain a copy of the License at
7
8          http://www.apache.org/licenses/LICENSE-2.0
9
10     Unless required by applicable law or agreed to in writing, software
11     distributed under the License is distributed on an "AS IS" BASIS,
12     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13     See the License for the specific language governing permissions and
14     limitations under the License.
15-->
16
17<!-- These resources are around just to allow their values to be customized
18     for different hardware and product builds.  Do not translate.
19
20     NOTE: The naming convention is "config_camelCaseValue". Some legacy
21     entries do not follow the convention, but all new entries should. -->
22
23<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
24    <!-- boolean indicating whether the WiFi chipset has 24GHz band support -->
25    <bool translatable="false" name ="config_wifi24ghzSupport">true</bool>
26
27    <!-- boolean indicating whether the WiFi chipset has 5GHz band support.
28         Note: This config is replacing the config_wifi_dual_band_support
29         since more bands may now be supported (such as 6GHz), the naming dual_band
30         is no longer indicative, and a separate config now exists for each band -->
31    <bool translatable="false" name ="config_wifi5ghzSupport">false</bool>
32
33    <!-- boolean indicating whether the WiFi chipset has 6GHz band support -->
34    <bool translatable="false" name ="config_wifi6ghzSupport">false</bool>
35
36    <!-- Boolean indicating whether the device supports AFC.
37            Note that this flag should remain disabled unless the device is allowed to
38            use AFC by the regulatory rules.
39            Note that enabling AFC will result in the device's location being shared
40            with the AFC server. -->
41    <bool translatable="false" name ="config_wifiAfcSupported">false</bool>
42
43    <!-- boolean indicating whether the WiFi chipset has 60GHz band support -->
44    <bool translatable="false" name ="config_wifi60ghzSupport">false</bool>
45
46    <!-- Indicates that 11ax mode is supported on this device
47           Note that if this flag is set to true, then 11ax is assumed to be supported.
48           However, if it is left to the default value of false, the 11ax support will
49           be checked via NL80211 interface -->
50    <bool translatable="false" name="config_wifi11axSupportOverride">false</bool>
51
52    <!-- Indicates that 11be mode is supported on this device
53           Note that if this flag is set to true, then 11be is assumed to be supported.
54           However, if it is left to the default value of false, the 11be support will
55           be checked via NL80211 interface -->
56    <bool translatable="false" name="config_wifi11beSupportOverride">false</bool>
57
58    <!-- Indicates whether networks using the WEP Wi-Fi security protocol is deprecated -->
59    <bool translatable="false" name="config_wifiWepDeprecated">false</bool>
60
61    <!-- Indicates whether networks using the WPA-Personal Wi-Fi security protocol is deprecated. -->
62    <bool translatable="false" name="config_wifiWpaPersonalDeprecated">false</bool>
63
64    <!-- Indicates whether to enable overriding the max number of spatial stream supported by the device
65         If true, config_wifiFrameworkMaxNumSpatialStreamDeviceOverrideValue
66         will be used to override the max number of spatial stream supported by the device.
67         If false, it will be left to WifiCond to derive the value from NL80211 interface -->
68    <bool translatable="false" name="config_wifiFrameworkMaxNumSpatialStreamDeviceOverrideEnable">true</bool>
69    <integer translatable="false" name="config_wifiFrameworkMaxNumSpatialStreamDeviceOverrideValue">2</integer>
70
71    <!-- Boolean indicating whether 802.11r Fast BSS Transition is enabled on this platform -->
72    <bool translatable="false" name="config_wifi_fast_bss_transition_enabled">false</bool>
73
74    <!-- Device type information conforming to Annex B format in WiFi Direct specification.
75         The default represents a dual-mode smartphone -->
76    <string translatable="false" name="config_wifi_p2p_device_type">10-0050F204-5</string>
77
78    <!-- Boolean indicating whether the wifi chipset supports background scanning mechanism.
79         This mechanism allows the host to remain in suspend state and the dongle to actively
80         scan and wake the host when a configured SSID is detected by the dongle. This chipset
81         capability can provide power savings when wifi needs to be always kept on. -->
82    <bool translatable="false" name="config_wifi_background_scan_support">false</bool>
83
84    <!-- Boolean indicating whether or not to revert to default country code when cellular
85         radio is unable to find any MCC information to infer wifi country code from -->
86    <bool translatable="false" name="config_wifi_revert_country_code_on_cellular_loss">false</bool>
87
88    <!-- Integer size limit, in KB, for a single WifiLogger ringbuffer, in default logging mode -->
89    <integer translatable="false" name="config_wifi_logger_ring_buffer_default_size_limit_kb">32</integer>
90
91    <!-- Integer size limit, in KB, for a single WifiLogger ringbuffer, in verbose logging mode -->
92    <integer translatable="false" name="config_wifi_logger_ring_buffer_verbose_size_limit_kb">1024</integer>
93
94    <!-- Array indicating wifi fatal firmware alert error code list from driver -->
95    <integer-array translatable="false" name="config_wifi_fatal_firmware_alert_error_code_list">
96        <!-- Example:
97        <item>0</item>
98        <item>1</item>
99        <item>2</item>
100        -->
101    </integer-array>
102
103    <!-- Boolean indicating whether or not wifi should turn off when emergency call is made -->
104    <bool translatable="false" name="config_wifi_turn_off_during_emergency_call">false</bool>
105
106    <!-- Parameters for controlling network selection by the framework -->
107
108    <!-- The ratio of the next two parameters is the multiplier that converts the estimated
109         throughput in Mbps to score points, when the throughput is less than 800Mbps. -->
110    <integer translatable="false" name="config_wifiFrameworkThroughputBonusNumerator">120</integer>
111    <integer translatable="false" name="config_wifiFrameworkThroughputBonusDenominator">433</integer>
112
113    <!-- The ratio of the next two parameters is the multiplier that converts the estimated
114         throughput in Mbps to score points for each point of throughput more than 800Mbps.
115         This default ratio is picked to help favor 6G HE160 over 5G HE80 which have throughput
116         difference up to 1200Mbps. 1200Mbps difference leads to 75 points difference, which is
117         roughly equivalent to 18dB RSSI.-->
118    <integer translatable="false" name="config_wifiFrameworkThroughputBonusNumeratorAfter800Mbps">1</integer>
119    <integer translatable="false" name="config_wifiFrameworkThroughputBonusDenominatorAfter800Mbps">16</integer>
120
121    <!-- Boolean indicating whether 6Ghz RSSI boost is given to compensate for power spectrum
122         limitations -->
123    <bool translatable="false" name="config_wifiEnable6GhzBeaconRssiBoost">true</bool>
124
125    <!-- Maximum contribution (in score points) due to the estimated throughput. -->
126    <integer translatable="false" name="config_wifiFrameworkThroughputBonusLimit">320</integer>
127
128    <!-- The default values chosen here establish four non-overlapping categories:
129             saved, unmetered
130             unsaved, unmetered
131             saved, metered
132             unsaved, metered
133         These values can be reduced to allow overlapping between categories. -->
134    <integer translatable="false" name="config_wifiFrameworkSavedNetworkBonus">500</integer>
135    <integer translatable="false" name="config_wifiFrameworkUnmeteredNetworkBonus">1000</integer>
136    <!-- Integer specifying the minimum bonus for current network -->
137    <integer translatable="false" name="config_wifiFrameworkCurrentNetworkBonusMin">16</integer>
138    <!-- Integer specifying the percent bonus for current network. The percent is applied to
139         the sum of rssi base score and throughput score-->
140    <integer translatable="false" name="config_wifiFrameworkCurrentNetworkBonusPercent">20</integer>
141    <integer translatable="false" name="config_wifiFrameworkSecureNetworkBonus">40</integer>
142    <!-- Integer specifying the bonus to give to a 6Ghz candidate during network selection scoring -->
143    <integer translatable="false" name="config_wifiBand6GhzBonus">0</integer>
144    <!-- Integer specifying the expected amount of score to reach the next tier during candidate
145         scoring. This value should be configured according to the value of parameters that
146         determine the scoring buckets such as config_wifiFrameworkSavedNetworkBonus and
147         config_wifiFrameworkUnmeteredNetworkBonus. -->
148    <integer translatable="false" name="config_wifiScoringBucketStepSize">500</integer>
149
150    <!-- The duration in minutes to strongly favor the last-selected non-metered network over other options. -->
151    <integer translatable="false" name="config_wifiFrameworkLastSelectionMinutes">480</integer>
152    <!-- The duration in minutes to strongly favor the last-selected metered network over other options. -->
153    <integer translatable="false" name="config_wifiFrameworkLastMeteredSelectionMinutes">120</integer>
154
155    <!-- Integer specifying the min packet Tx/Rx rates in packets per second to be considered
156         active traffic so that network selection and scan could be skipped-->
157    <integer translatable="false" name="config_wifiFrameworkMinPacketPerSecondActiveTraffic">16</integer>
158    <!-- Integer specifying the min packet Tx/Rx rates in packets per second to be considered
159         high traffic so that the device should stay on WiFi even if RSSI is very low -->
160    <integer translatable="false" name="config_wifiFrameworkMinPacketPerSecondHighTraffic">100</integer>
161    <!-- Integer parameters of the wifi to cellular handover feature
162         wifi should not stick to bad networks -->
163    <!-- Integer threshold for low network score, should be somewhat less than the entry threshhold -->
164    <integer translatable="false" name="config_wifi_framework_wifi_score_bad_rssi_threshold_5GHz">-80</integer>
165    <!-- Integer threshold, do not connect to APs with RSSI lower than the entry threshold -->
166    <integer translatable="false" name="config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz">-77</integer>
167    <integer translatable="false" name="config_wifi_framework_wifi_score_low_rssi_threshold_5GHz">-70</integer>
168    <integer translatable="false" name="config_wifi_framework_wifi_score_good_rssi_threshold_5GHz">-57</integer>
169    <integer translatable="false" name="config_wifi_framework_wifi_score_bad_rssi_threshold_24GHz">-83</integer>
170    <integer translatable="false" name="config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz">-80</integer>
171    <integer translatable="false" name="config_wifi_framework_wifi_score_low_rssi_threshold_24GHz">-73</integer>
172    <integer translatable="false" name="config_wifi_framework_wifi_score_good_rssi_threshold_24GHz">-60</integer>
173    <integer translatable="false" name="config_wifiFrameworkScoreBadRssiThreshold6ghz">-80</integer>
174    <integer translatable="false" name="config_wifiFrameworkScoreEntryRssiThreshold6ghz">-77</integer>
175    <integer translatable="false" name="config_wifiFrameworkScoreLowRssiThreshold6ghz">-70</integer>
176    <integer translatable="false" name="config_wifiFrameworkScoreGoodRssiThreshold6ghz">-57</integer>
177    <!-- boolean indicating whether or not to ask for user approval before switching away from a user-selected network -->
178    <bool translatable="false" name="config_wifiAskUserBeforeSwitchingFromUserSelectedNetwork">false</bool>
179    <!-- boolean indicating whether or not to apply an unbeatable score boost for a recently user-selected network -->
180    <bool translatable="false" name="config_wifiThroughputScorerBoostForRecentlyUserSelectedNetwork">true</bool>
181    <!-- Duration in milliseconds to disable network switch dialogs for the current connection when
182         the network is marked usable by an external scorer. -->
183    <integer translatable="false" name="config_wifiNetworkSwitchDialogDisabledMsWhenMarkedUsable">300000</integer>
184
185    <!-- Integer delay in milliseconds before shutting down soft AP when there
186         are no connected devices. -->
187    <integer translatable="false" name="config_wifiFrameworkSoftApShutDownTimeoutMilliseconds">600000</integer>
188
189    <!-- Integer delay in milliseconds before shutting down idle soft AP instance.
190         This timer is the inactivity timer for transitioning a Dual AP to Single AP mode
191         by shutting down one of the APs that has been inactive/unused.
192         If both APs in Dual AP mode are idle, it shuts down the AP in higher band. -->
193    <integer translatable="false" name="config_wifiFrameworkSoftApShutDownIdleInstanceInBridgedModeTimeoutMillisecond">300000</integer>
194
195    <!-- boolean indicating whether or not to disable shutdown idle instance timer in the bridged mode when connected to a power source -->
196    <bool translatable="false" name ="config_wifiFrameworkSoftApDisableBridgedModeShutdownIdleInstanceWhenCharging">false</bool>
197
198    <!-- Integer indicating maximum hardware supported client number of soft ap -->
199    <integer translatable="false" name="config_wifiHardwareSoftapMaxClientCount">16</integer>
200
201    <!-- boolean indicating whether or not to reset channel configuration during cloud configuration restore -->
202    <bool translatable="false" name ="config_wifiSoftapResetChannelConfig">true</bool>
203
204    <!-- boolean indicating whether or not to reset hiddenSsid configuration during cloud configuration restore -->
205    <bool translatable="false" name ="config_wifiSoftapResetHiddenConfig">true</bool>
206
207    <!-- boolean indicating whether or not to reset user control configuration during cloud configuration restore -->
208    <bool translatable="false" name ="config_wifiSoftapResetUserControlConfig">true</bool>
209
210    <!-- boolean indicating whether or not to reset auto shotdown configuration during cloud configuration restore -->
211    <bool translatable="false" name ="config_wifiSoftapResetAutoShutdownTimerConfig">true</bool>
212
213    <!-- boolean indicating whether or not to reset max client setting configuration during cloud configuration restore -->
214    <bool translatable="false" name ="config_wifiSoftapResetMaxClientSettingConfig">true</bool>
215
216    <!-- boolean indicating whether or not to auto-upgrade band setting configuration to dual bands during cloud configuration restore when device supported -->
217    <bool translatable="false" name ="config_wifiSoftapAutoUpgradeToBridgedConfigWhenSupported">true</bool>
218
219    <!-- boolean indicating whether or not to temporarily auto-upgrade tethering softap to
220         2.4 + 5GHz Bridged if it is currently available and the usable configured bands only
221         contain 2.4 or 5Ghz.-->
222    <bool translatable="false" name ="config_wifiSoftapUpgradeTetheredTo2g5gBridgedIfBandsAreSubset">false</bool>
223
224    <!-- List of allowed channels in 2GHz band for softap. If the device doesn't want to restrict
225         channels this should be empty. Values is a comma separated channel string and/or channel
226         range string like '1-6,11'. -->
227    <string  translatable="false" name="config_wifiSoftap2gChannelList">1-11</string>
228
229    <!-- List of allowed channels in 5GHz band for softap. If the device doesn't want to restrict
230         channels this should be empty. Values is a comma separated channel string and/or channel
231         range string like '36-48,149'. -->
232    <string  translatable="false" name="config_wifiSoftap5gChannelList"></string>
233
234    <!-- List of allowed channels in 6GHz band for softap. If the device doesn't want to restrict
235         channels this should be empty. Values is a comma separated channel string and/or channel
236         range string like '36-48,149'. -->
237    <string  translatable="false" name="config_wifiSoftap6gChannelList"></string>
238
239    <!-- List of allowed channels in 60GHz band for softap. If the device doesn't want to restrict
240         channels this should be empty. Values is a comma separated channel string and/or channel
241         range string like '1-2,4'. -->
242    <string  translatable="false" name="config_wifiSoftap60gChannelList"></string>
243
244    <!-- Integer indicating associated full scan max num active channels -->
245    <integer translatable="false" name="config_wifi_framework_associated_partial_scan_max_num_active_channels">6</integer>
246
247    <!-- Integer delay in milliseconds before set wlan interface up during watchdog recovery -->
248    <integer translatable="false" name="config_wifi_framework_recovery_timeout_delay">2000</integer>
249
250    <!-- Boolean indicating associated network selection is allowed -->
251    <bool translatable="false" name="config_wifi_framework_enable_associated_network_selection">true</bool>
252
253    <!-- Integer duration after connection that a user-selected network is considered sufficient (milliseconds) -->
254    <integer translatable="false" name="config_wifiSufficientDurationAfterUserSelectionMilliseconds">60000</integer>
255
256    <!-- Trigger connectivity scan for MBB when the connected score is below the configured value.
257         This scan is only done when the external scorer is not being used. -->
258    <integer translatable="false" name="config_wifiLowConnectedScoreThresholdToTriggerScanForMbb">55</integer>
259
260    <!-- Defines the minimum period between scans triggered due to low score.
261    This is used together with config_wifiConnectedScoreThresholdToTriggerScanForMbb.-->
262    <integer translatable="false" name="config_wifiLowConnectedScoreScanPeriodSeconds">60</integer>
263
264    <!-- Boolean indicating whether the wifi module should always scan the 6Ghz Preferred Scanning
265         Channels when performing full connectivity scans.
266         If set to true, the wifi module will scan 6Ghz PSC channels in addition to the 2.4Ghz,
267         5Ghz, and 6Ghz channels co-located with 2.4/5Ghz APs when doing full connectivity scans.
268         If set to false, the wifi module will only scan the 2.4Ghz, 5Ghz,
269         and 6Ghz channels co-located with 2.4/5Ghz APs when doing full connectivity scans.-->
270    <bool translatable="false" name="config_wifiEnable6ghzPscScanning">true</bool>
271
272    <!-- Boolean indicating performing a partial initial scan is enabled -->
273    <bool translatable="false" name="config_wifiEnablePartialInitialScan">false</bool>
274
275    <!-- Integer for maximum number of channels to use in initial partial scan. If equals to 0, means add all available channels for networks -->
276    <integer translatable="false" name="config_wifiInitialPartialScanChannelMaxCount">10</integer>
277
278    <!-- Configure the max number of new channels to add into the initial partial scan list per network.
279         If equals to 0, it means there's no limit on the max number of channels to include per network.-->
280    <integer translatable="false" name="config_wifiInitialPartialScanMaxNewChannelsPerNetwork">0</integer>
281
282    <!-- Integer for maximum age for scan results used to identify channels for partial initial
283         scan in minutes -->
284    <integer translatable="false" name="config_wifiInitialPartialScanChannelCacheAgeMins">14400</integer>
285
286    <!-- Boolean indicating whether single radio chain scan results are to be used for network selection -->
287    <bool translatable="false" name="config_wifi_framework_use_single_radio_chain_scan_results_network_selection">true</bool>
288
289    <!-- Boolean indicating that wifi may link networks whose gateways have not yet been determined -->
290    <bool translatable="false" name="config_wifiAllowLinkingUnknownDefaultGatewayConfigurations">true</bool>
291
292    <!-- Boolean indicating that enable roaming between linked networks -->
293    <bool translatable="false" name="config_wifiEnableLinkedNetworkRoaming">false</bool>
294
295    <!-- Boolean indicating that only configurations that have the same pre-shared key will be linked -->
296    <bool translatable="false" name="config_wifi_only_link_same_credential_configurations">true</bool>
297
298    <!-- Boolean indicating whether framework needs to set the tx power limit for meeting SAR requirements -->
299    <bool translatable="false" name="config_wifi_framework_enable_sar_tx_power_limit">false</bool>
300
301    <!-- Boolean indicating whether framework should use detection of softAP mode to set the tx
302         power limit for meeting SAR requirements -->
303    <bool translatable="false" name="config_wifi_framework_enable_soft_ap_sar_tx_power_limit">false</bool>
304
305    <!-- Boolean indicating that softap passphrase need to enable ASCII encodable check -->
306    <bool translatable="false" name="config_wifiSoftapPassphraseAsciiEncodableCheck">true</bool>
307
308    <!-- Wifi Hal supports force client disconnect for softap -->
309    <bool translatable="false" name="config_wifiSofapClientForceDisconnectSupported">true</bool>
310
311    <!-- Wifi driver supports Automatic channel selection (ACS) for softap -->
312    <bool translatable="false" name="config_wifi_softap_acs_supported">false</bool>
313
314    <!-- Wifi driver supports WPA3 Simultaneous Authentication of Equals (WPA3-SAE) for softap -->
315    <bool translatable="false" name="config_wifi_softap_sae_supported">false</bool>
316
317    <!-- Wifi driver supports Mac address customization for softap -->
318    <bool translatable="false" name="config_wifiSoftapMacAddressCustomizationSupported">true</bool>
319
320    <!-- Wifi driver supports IEEE80211AC for softap -->
321    <bool translatable="false" name="config_wifi_softap_ieee80211ac_supported">false</bool>
322
323    <!-- Wifi driver supports IEEE80211AX for softap -->
324    <bool translatable="false" name="config_wifiSoftapIeee80211axSupported">false</bool>
325
326    <!-- Wifi driver supports IEEE80211BE for softap -->
327    <bool translatable="false" name="config_wifiSoftapIeee80211beSupported">false</bool>
328
329    <!-- Wifi driver supports IEEE80211AX single user beamformer for softap -->
330    <bool translatable="false" name="config_wifiSoftapHeSuBeamformerSupported">false</bool>
331
332    <!-- Wifi driver supports IEEE80211AX single user beamformee for softap -->
333    <bool translatable="false" name="config_wifiSoftapHeSuBeamformeeSupported">false</bool>
334
335    <!-- Wifi driver supports IEEE80211AX multiple user beamformer for softap -->
336    <bool translatable="false" name="config_wifiSoftapHeMuBeamformerSupported">false</bool>
337
338    <!-- Wifi driver supports IEEE80211AX TWT (Target Wake Time) for softap -->
339    <bool translatable="false" name="config_wifiSoftapHeTwtSupported">false</bool>
340
341    <!-- Wifi driver supports 2.4GHz band for softap when chip support 24GHz -->
342    <bool translatable="false" name="config_wifiSoftap24ghzSupported">true</bool>
343
344    <!-- Wifi driver supports 5GHz band for softap when chip support 5GHz -->
345    <bool translatable="false" name="config_wifiSoftap5ghzSupported">true</bool>
346
347    <!-- Wifi driver supports 6GHz band for softap when chip support 6GHz -->
348    <bool translatable="false" name="config_wifiSoftap6ghzSupported">false</bool>
349
350    <!-- Wifi driver supports 60GHz band for softap when chip support 60GHz -->
351    <bool translatable="false" name="config_wifiSoftap60ghzSupported">false</bool>
352
353    <!-- Indicates that the framework should auto append lower bands to band configuration for
354         avoiding coexistence handling. For example: 5g only band will change to 2.4g|5g and
355         6g band will change to 2.4|5g|6g band -->
356    <bool translatable="false" name="config_wifiSoftapAutoAppendLowerBandsToBandConfigurationEnabled">true</bool>
357
358    <!-- Indicates that local-only hotspot should be brought up at 6GHz if possible.
359         This option is for automotive builds only (the one that have
360         PackageManager#FEATURE_AUTOMOTIVE) -->
361    <bool translatable="false" name="config_wifiLocalOnlyHotspot6ghz">false</bool>
362
363    <!-- Indicates that local-only hotspot should be brought up at 5GHz if 6GHz is not enabled
364         or feasible.  This option is for automotive builds only (the one that have
365         PackageManager#FEATURE_AUTOMOTIVE) -->
366    <bool translatable="false" name="config_wifi_local_only_hotspot_5ghz">false</bool>
367
368    <!-- Set to "true" to always use the factory MAC saved in WifiConfigStore when available.
369         Set to "false" to get the factory MAC from vendor HAL every time it's needed. -->
370    <bool translatable="false" name="config_wifiSaveFactoryMacToWifiConfigStore">true</bool>
371
372    <!-- Indicates that connected MAC randomization is supported on this device -->
373    <bool translatable="false" name="config_wifi_connected_mac_randomization_supported">false</bool>
374
375    <!-- Indicates that non-persistent MAC randomization is allowed on open networks that do not
376     use captive portals -->
377    <bool translatable="false" name="config_wifiAllowNonPersistentMacRandomizationOnOpenSsids">false</bool>
378
379    <!-- Indicates that p2p MAC randomization is supported on this device -->
380    <bool translatable="false" name="config_wifi_p2p_mac_randomization_supported">false</bool>
381
382    <!-- Indicates that AP mode MAC randomization is supported on this device -->
383    <bool translatable="false" name="config_wifi_ap_mac_randomization_supported">true</bool>
384
385    <!-- Indicates that bridged AP mode is supported on this device provided that
386     the device interface combination allows for it -->
387    <bool translatable="false" name="config_wifiBridgedSoftApSupported">false</bool>
388
389    <!-- Indicates that STA + bridged AP concurrency mode is supported on this device provided
390     that the device interface combination allows for it-->
391    <bool translatable="false" name="config_wifiStaWithBridgedSoftApConcurrencySupported">false</bool>
392
393    <!-- Indicates that dynamic country code update in AP mode is supported on this device -->
394    <bool translatable="false" name="config_wifiSoftApDynamicCountryCodeUpdateSupported">false</bool>
395
396    <!-- Indicates that dynamic country code update in STA mode is supported on this device -->
397    <bool translatable="false" name="config_wifiStaDynamicCountryCodeUpdateSupported">false</bool>
398
399    <!-- list of SSIDs to force disable MAC randomization -->
400    <string-array translatable="false" name="config_wifiForceDisableMacRandomizationSsidList">
401        <!-- SSIDs are expected in quoted format:
402        <item>\"SSID_1\"</item>
403        <item>\"SSID_2\"</item>
404        -->
405    </string-array>
406
407    <!-- list of SSID prefixes. Disable MAC randomization on all SSIDs matching any prefix -->
408    <string-array translatable="false" name="config_wifiForceDisableMacRandomizationSsidPrefixList">
409        <!-- SSID prefixes are expected in quoted format:
410        <item>\"SSID_PREFIX_1\"</item>
411        <item>\"SSID_PREFIX_2\"</item>
412        -->
413    </string-array>
414
415    <!-- list of SSIDs to enable non-persistent MAC randomization on -->
416    <string-array translatable="false" name="config_wifi_non_persistent_randomization_ssid_allowlist">
417        <!-- SSIDs are expected in quoted format:
418        <item>\"SSID_1\"</item>
419        <item>\"SSID_2\"</item>
420        -->
421    </string-array>
422
423    <!-- list of SSIDs to disable non-persistent MAC randomization on. If a SSID is in both the
424    allowlist and blocklist, then non-persistent MAC randomization will still be disabled. -->
425    <string-array translatable="false" name="config_wifi_non_persistent_randomization_ssid_blocklist">
426        <!-- SSIDs are expected in quoted format:
427        <item>\"SSID_1\"</item>
428        <item>\"SSID_2\"</item>
429        -->
430    </string-array>
431
432    <!-- Duration in minutes a recent failure should be displayed in the wifi picker UI. -->
433    <integer translatable="false" name="config_wifiRecentFailureReasonExpirationMinutes">30</integer>
434
435    <!-- The minimum duration in minutes that all non-carrier-merged wifi becomes disabled when
436    WifiManager#startRestrictingAutoJoinToSubscriptionId is called. -->
437    <integer translatable="false"
438             name="config_wifiAllNonCarrierMergedWifiMinDisableDurationMinutes">30</integer>
439
440    <!-- Configures 2 things:
441    1. The maximum duration in minutes that all non-carrier-merged wifi becomes disabled when
442    WifiManager#startRestrictingAutoJoinToSubscriptionId is called.
443    2. The maximum duration in minutes that a network is disabled when the user manually
444    triggers the "disconnect" feature.-->
445    <integer translatable="false"
446             name="config_wifiAllNonCarrierMergedWifiMaxDisableDurationMinutes">480</integer>
447
448    <!-- Indicates that wifi link probing is supported on this device -->
449    <bool translatable="false" name="config_wifi_link_probing_supported">false</bool>
450
451    <!-- Configure wifi tcp buffersizes in the form:
452         rmem_min,rmem_def,rmem_max,wmem_min,wmem_def,wmem_max -->
453    <string name="config_wifi_tcp_buffers" translatable="false">524288,1048576,2097152,262144,524288,1048576</string>
454
455    <!-- Do not translate. Default access point SSID used for tethering -->
456    <string name="wifi_tether_configure_ssid_default" translatable="false">AndroidAP</string>
457    <!-- Do not translate. Default access point SSID used for local only hotspot -->
458    <string name="wifi_localhotspot_configure_ssid_default" translatable="false">AndroidShare</string>
459
460    <!-- Indicates that a full bugreport should be triggered when wifi diagnostics detects an error on non-user (i.e debug) builds -->
461    <bool translatable="false" name="config_wifi_diagnostics_bugreport_enabled">false</bool>
462
463    <!-- Indicates that wifi watchdog is enabled on this device -->
464    <bool translatable="false" name="config_wifi_watchdog_enabled">true</bool>
465
466    <!-- list of package names for which WifiManager.startScan() will not be throttled when the app
467    is in foreground. -->
468    <string-array translatable="false" name="config_wifiForegroundScanThrottleExceptionList">
469        <!-- Below is a sample configuration for this list:
470        <item>com.company1.example.test.name1</item>
471        <item>com.company2.example.test.name2</item>
472        -->
473    </string-array>
474
475    <!-- list of package names for which WifiManager.startScan() will not be throttled when the app
476    is in background. -->
477    <string-array translatable="false" name="config_wifiBackgroundScanThrottleExceptionList">
478        <!-- Below is a sample configuration for this list:
479        <item>com.company1.example.test.name1</item>
480        <item>com.company2.example.test.name2</item>
481        -->
482    </string-array>
483
484    <!--
485    Controls the mapping between RSSI and RSSI levels.
486
487    RSSI                                    RSSI Level
488    (-infinity, thresholds[0])                       0
489    [threshold[0], threshold[1])                     1
490    [threshold[1], threshold[2])                     2
491    ...                                            ...
492    [threshold[len-2], threshold[len-1])         len-1
493    [threshold[len-1], +infinity)                  len
494
495    where:
496        [a, b) is the range of integers `n` such that a <= n < b
497        `threshold[i]` represents the i'th element of the config_wifiRssiLevelThresholds array
498        and `len` is the length of the config_wifiRssiLevelThresholds array.
499    -->
500    <integer-array translatable="false" name="config_wifiRssiLevelThresholds">
501                         <!-- RSSI                RSSI Level -->
502        <item>-88</item> <!-- (-infinity, -88)             0 -->
503        <item>-77</item> <!-- [-88, -77)                   1 -->
504        <item>-66</item> <!-- [-77, -66)                   2 -->
505        <item>-55</item> <!-- [-66, -55)                   3 -->
506                         <!-- [-55, +infinity)             4 -->
507    </integer-array>
508
509    <!-- Array describing scanning schedule in seconds when device is disconnected and screen is on -->
510    <integer-array translatable="false" name="config_wifiDisconnectedScanIntervalScheduleSec">
511        <item>20</item>
512        <item>40</item>
513        <item>80</item>
514        <item>160</item>
515    </integer-array>
516
517    <!-- Array describing scanning schedule in seconds when device is connected and screen is on -->
518    <integer-array translatable="false" name="config_wifiConnectedScanIntervalScheduleSec">
519        <item>20</item>
520        <item>40</item>
521        <item>80</item>
522        <item>160</item>
523    </integer-array>
524
525    <!-- Array describing scanning schedule in seconds when device is connected and screen is on
526     and the connected network is the only saved network.
527     When this array is set to an empty array, the normal connected scan schedule defined
528     in config_wifiConnectedScanIntervalScheduleSec will be used -->
529    <integer-array translatable="false" name="config_wifiSingleSavedNetworkConnectedScanIntervalScheduleSec">
530    </integer-array>
531
532    <!-- This controls the scan type when config_wifiDisconnectedScanIntervalScheduleSec is being
533    used as the scan schedule.
534
535    Valid values: a non-empty list of WifiAnnotations#ScanType of variable length.
536    For example, if this is programmed as
537        <item>2</item>
538        <item>2</item>
539        <item>1</item>
540    then the first 2 periodic scan will be of type WifiScanner.SCAN_TYPE_HIGH_ACCURACY, and from
541    the 3rd scan onward, the scan type will be WifiScanner.SCAN_TYPE_LOW_POWER.
542    -->
543    <integer-array translatable="false" name="config_wifiDisconnectedScanType">
544        <item>2</item>
545    </integer-array>
546
547    <!-- This controls the scan type when config_wifiConnectedScanIntervalScheduleSec is being
548    used as the scan schedule.
549
550    Valid values: a non-empty list of WifiAnnotations#ScanType of variable length.
551    For example, if this is programmed as
552        <item>2</item>
553        <item>2</item>
554        <item>1</item>
555    then the first 2 periodic scan will be of type WifiScanner.SCAN_TYPE_HIGH_ACCURACY, and from
556    the 3rd scan onward, the scan type will be WifiScanner.SCAN_TYPE_LOW_POWER.
557    -->
558    <integer-array translatable="false" name="config_wifiConnectedScanType">
559        <item>2</item>
560    </integer-array>
561
562    <!-- This controls the scan type when config_wifiSingleSavedNetworkConnectedScanIntervalScheduleSec
563    is being used as the scan schedule.
564
565    Valid values: Leave as empty, or a list of WifiAnnotations#ScanType of variable length.
566    For example, if this is programmed as
567        <item>2</item>
568        <item>2</item>
569        <item>1</item>
570    then the first 2 periodic scan will be of type WifiScanner.SCAN_TYPE_HIGH_ACCURACY, and from
571    the 3rd scan onward, the scan type will be WifiScanner.SCAN_TYPE_LOW_POWER.
572
573    When this array is set to an empty array, the normal scan type defined in
574    config_wifiConnectedScanType will be used.
575    -->
576    <integer-array translatable="false" name="config_wifiSingleSavedNetworkConnectedScanType">
577    </integer-array>
578
579    <!-- Integer specifying minimum wait time in seconds for next PNO scan when a network is found
580    by PNO scan but gets rejected by Wifi Network Selector due to its low RSSI value-->
581    <integer translatable="false" name="config_wifiPnoScanLowRssiNetworkRetryStartDelaySec"> 20 </integer>
582
583    <!-- Integer specifying maximum wait time in seconds for next PNO scan when a network is found
584    by PNO scan but gets rejected by Wifi Network Selector due to its low RSSI value-->
585    <integer translatable="false" name="config_wifiPnoScanLowRssiNetworkRetryMaxDelaySec"> 80 </integer>
586
587    <!-- Integer for minimum time between the last network selection and next high RSSI scan
588         in seconds when device is connected and screen is on -->
589    <integer translatable="false" name="config_wifiConnectedHighRssiScanMinimumWindowSizeSec"> 600 </integer>
590
591    <!-- List of constants to indicate how many failures are needed to temporarily disable a network
592    from auto-connect -->
593    <integer translatable="false" name="config_wifiDisableReasonAssociationRejectionThreshold"> 3 </integer>
594    <integer translatable="false" name="config_wifiDisableReasonAuthenticationFailureThreshold"> 3 </integer>
595    <integer translatable="false" name="config_wifiDisableReasonDhcpFailureThreshold"> 2 </integer>
596    <integer translatable="false" name="config_wifiDisableReasonNetworkNotFoundThreshold"> 2 </integer>
597    <integer translatable="false" name="config_wifiDisableReasonNoInternetTemporaryThreshold"> 1 </integer>
598    <integer translatable="false" name="config_wifiDisableReasonAuthenticationNoCredentialsThreshold"> 3 </integer>
599    <integer translatable="false" name="config_wifiDisableReasonNoInternetPermanentThreshold"> 1 </integer>
600    <integer translatable="false" name="config_wifiDisableReasonByWrongPasswordThreshold"> 1 </integer>
601    <integer translatable="false" name="config_wifiDisableReasonAuthenticationNoSubscriptionThreshold"> 1 </integer>
602    <integer translatable="false" name="config_wifiDisableReasonConsecutiveFailuresThreshold"> 1 </integer>
603
604    <!-- Integer for maximum value of temporarily disabled duration -->
605    <integer translatable="false" name="config_wifiDisableTemporaryMaximumDurationMs"> 64800000 </integer>
606
607    <!-- Base duration to set a network disabled after validation failure happen-->
608    <integer translatable="false" name="config_wifiDisableReasonAssociationRejectionDurationMs"> 300000 </integer>
609    <integer translatable="false" name="config_wifiDisableReasonAuthenticationFailureDurationMs"> 300000 </integer>
610    <integer translatable="false" name="config_wifiDisableReasonDhcpFailureDurationMs"> 300000 </integer>
611    <integer translatable="false" name="config_wifiDisableReasonNetworkNotFoundDurationMs"> 300000 </integer>
612    <integer translatable="false" name="config_wifiDisableReasonNoInternetTemporaryDurationMs"> 600000 </integer>
613    <integer translatable="false" name="config_wifiDisableReasonAuthenticationNoCredentialsDurationMs"> -1 </integer>
614    <integer translatable="false" name="config_wifiDisableReasonNoInternetPermanentDurationMs"> -1 </integer>
615    <integer translatable="false" name="config_wifiDisableReasonByWrongPasswordDurationMs"> -1 </integer>
616    <integer translatable="false" name="config_wifiDisableReasonAuthenticationNoSubscriptionDurationMs"> -1 </integer>
617    <integer translatable="false" name="config_wifiDisableReasonConsecutiveFailuresDurationMs"> 300000 </integer>
618
619    <!-- Configuration for disabling a network due to repeated NUD failures -->
620    <!-- The number of NUD failures that need to happen to trigger blocking -->
621    <integer translatable="false" name="config_wifiDisableReasonRepeatedNudFailuresThreshold"> 5 </integer>
622    <!-- The NUD failures need to happen within this time window or else the counter will be reset -->
623    <integer translatable="false" name="config_wifiDisableReasonRepeatedNudFailuresWindowMs"> 60000 </integer>
624
625    <!-- List of constants that indicate the number of consecutive failures per type needed to block a BSSID.
626    A blocked BSSID will not be considered in network selection and firmware roaming.-->
627    <integer translatable="false" name="config_wifiBssidBlocklistMonitorApUnableToHandleNewStaThreshold"> 1 </integer>
628    <integer translatable="false" name="config_wifiBssidBlocklistMonitorNetworkValidationFailureThreshold"> 1 </integer>
629    <integer translatable="false" name="config_wifiBssidBlocklistMonitorWrongPasswordThreshold"> 1 </integer>
630    <integer translatable="false" name="config_wifiBssidBlocklistMonitorEapFailureThreshold"> 1 </integer>
631    <integer translatable="false" name="config_wifiBssidBlocklistMonitorAssociationRejectionThreshold"> 3 </integer>
632    <integer translatable="false" name="config_wifiBssidBlocklistMonitorAssociationTimeoutThreshold"> 3 </integer>
633    <integer translatable="false" name="config_wifiBssidBlocklistMonitorAuthenticationFailureThreshold"> 3 </integer>
634    <integer translatable="false" name="config_wifiBssidBlocklistMonitorDhcpFailureThreshold"> 2 </integer>
635    <integer translatable="false" name="config_wifiBssidBlocklistMonitorAbnormalDisconnectThreshold"> 3 </integer>
636    <integer translatable="false" name="config_wifiBssidBlocklistMonitorNonlocalDisconnectConnectingThreshold"> 2 </integer>
637    <integer translatable="false" name="config_wifiBssidBlocklistMonitorNoResponseThreshold"> 1 </integer>
638
639    <!-- Base duration to block a BSSID after consecutive failures happen. (default = 5 mins)
640    The blocklist duration is increased exponentially for a BSSID that consecutively gets added to the blocklist.
641    ie. 5/10/20/40/80/160/320/640 minutes - capped at 640 minutes because the default for
642    config_wifiBssidBlocklistMonitorFailureStreakCap is set to 7-->
643    <integer translatable="false" name="config_wifiBssidBlocklistMonitorBaseBlockDurationMs"> 300000 </integer>
644
645    <!-- Base duration to block a bssid after validation failure happen-->
646    <integer translatable="false" name="config_wifiBssidBlocklistMonitorValidationFailureBaseBlockDurationMs"> 300000 </integer>
647
648    <!-- Base duration to block a BSSID after the external connected scorer sets wifi as unusable.
649    The block duration is increased exponentially if the same BSSID is repeated marked as unusable.
650    ie. 0.5/1/2/4/8/16/32/64 minutes - capped at 64 minutes because the default for
651    config_wifiBssidBlocklistMonitorFailureStreakCap is set to 7. The block duration is reset to
652    the base value 3 hours after the latest connection to this BSSID. -->
653    <integer translatable="false" name="config_wifiBssidBlocklistMonitorConnectedScoreBaseBlockDurationMs"> 30000 </integer>
654
655    <!-- The failure streak is the number of times a BSSID consecutively gets blocked without ever
656    successfully connecting in between, and is used to calculate the exponentially growing blocklist time.
657    The config_wifiBssidBlocklistMonitorFailureStreakCap controls how many times the block duration
658    could exponentially grow when a BSSID keeps failing.
659    ie. A value of 0 means BSSIDs are always blocked for the flat base duration defined by
660    config_wifiBssidBlocklistMonitorBaseBlockDurationMs. -->
661    <integer translatable="false" name="config_wifiBssidBlocklistMonitorFailureStreakCap"> 7 </integer>
662
663    <!-- If a non-locally generated disconnect happens within this time window after association,
664    then count it as a failure with reason code REASON_ABNORMAL_DISCONNECT (default = 30 seconds) -->
665    <integer translatable="false" name="config_wifiBssidBlocklistAbnormalDisconnectTimeWindowMs"> 30000 </integer>
666
667    <!-- Controls whether a wifi connection with RSSI lower than the sufficient RSSI will be
668    temporarily disabled when it is unwanted by core networking -->
669    <bool translatable="false" name="config_wifiDisableUnwantedNetworkOnLowRssi">false</bool>
670
671    <!-- Indicates that hidden networks are to be scanned during scan only mode -->
672    <bool translatable="false" name="config_wifiScanHiddenNetworksScanOnlyMode">false</bool>
673
674    <!-- The minimum number of txBad the framework has to observe to trigger a wifi data stall. -->
675    <integer translatable="false" name="config_wifiDataStallMinTxBad">1</integer>
676
677    <!-- The minimum number of txSuccess the framework has to observe
678         to trigger a wifi data stall when rxSuccess is 0. -->
679    <integer translatable="false" name="config_wifiDataStallMinTxSuccessWithoutRx">50</integer>
680
681    <!-- Enable logging Wifi LinkSpeedCounts in metrics. -->
682    <bool translatable="false" name="config_wifiLinkSpeedMetricsEnabled">true</bool>
683
684    <!-- Enable the PNO frequency culling optimization. -->
685    <bool translatable="false" name="config_wifiPnoFrequencyCullingEnabled">true</bool>
686
687    <!-- Enable the PNO frequency culling optimization. -->
688    <bool translatable="false" name="config_wifiPnoRecencySortingEnabled">true</bool>
689
690    <!-- Maximum number of SSIDs that can be PNO scanned concurrently-->
691    <integer translatable="false" name="config_wifiMaxPnoSsidCount">16</integer>
692
693    <!-- When disconnected and PNO scan is enabled, wake up to do a single scan every
694    config_wifiPnoWatchdogIntervalMs in case PNO scan failed. (default = 20 minutes)-->
695    <integer translatable="false" name="config_wifiPnoWatchdogIntervalMs">1200000</integer>
696
697    <!-- Indicates whether the PNO Watchdog timer can wakeup the system when expires in order to
698    perform a single scan.
699    If set to false, single scans will be triggered only when the system awakes for other reasons-->
700    <bool translatable="false" name="config_wifiPnoWatchdogCanWakeUp">false</bool>
701
702    <!-- Enable the Software PNO feature. If Hardware PNO is not enabled, the device is in
703    standby and Wifi is disconnected, periodic scans are performed according to the
704    following schedule:
705    1) config_wifiSwPnoMobilityStateTimerIterations iterations with initial interval provided by
706    the mobility status (see config_wifiMovingPnoScanIntervalMillis and
707    config_wifiStationaryPnoScanIntervalMillis for the default values respectively for moving and
708    stationary devices). At each iteration the interval is increased proportionally to the elapsed
709    iterations. The device is awakened even if currently in doze/idle mode.
710    2) config_wifiSwPnoFastTimerIterations iterations with initial interval provided by
711    config_wifiSwPnoFastTimerMs. The device is awakened even if currently in doze/idle mode.
712    3) config_wifiSwPnoSlowTimerIterations iterations with initial provided by
713    config_wifiSwPnoSlowTimerMs and a window of config_wifiSwPnoSlowTimerMargin.
714    Inside such time window, the device is not awakened to perform the scan. If a wakeup happens for
715    other reasons, the scan might be performed as well in order to avoid subsequent awakening.
716    If no spontaneous awakening happens at the end of the time window, the device is awakened to
717    perform the scan.-->
718    <bool translatable="false" name="config_wifiSwPnoEnabled">false</bool>
719
720    <!-- When disconnected and Sw PNO scan is enabled, wake up to do a single scan every
721    config_wifiSwPnoFastTimerSec for config_wifiSwPnoFastTimerIterations iterations-->
722    <integer translatable="false" name="config_wifiSwPnoFastTimerMs">300000</integer>
723
724    <!-- Number of iterations of Sw PNO that uses mobility information as timer interval-->
725    <integer translatable="false" name="config_wifiSwPnoMobilityStateTimerIterations">2</integer>
726
727    <!-- Number of iterations of Sw PNO that uses config_wifiSwPnoFastTimerSec as timer interval-->
728    <integer translatable="false" name="config_wifiSwPnoFastTimerIterations">3</integer>
729
730    <!-- Number of iterations of Sw PNO that uses config_wifiSwPnoSlowTimerSec as timer interval.-->
731    <integer translatable="false" name="config_wifiSwPnoSlowTimerIterations">10</integer>
732
733    <!-- Timer interval for Sw PNO scans that happen after config_wifiSwPnoFastTimerIterations
734    iterations, if no network has been found-->
735    <integer translatable="false" name="config_wifiSwPnoSlowTimerMs">1200000</integer>
736
737    <!-- Maximum interval of time of which slow scans can be delayed due to alarms schedule
738    optimization and/or CPU being in sleep state-->
739    <integer translatable="false" name="config_wifiSwPnoSlowTimerMargin">600000</integer>
740
741    <!-- Suspend optimization. -->
742    <bool translatable="false" name="config_wifiSuspendOptimizationsEnabled">true</bool>
743
744    <!-- Network selection optimization at DEVICE_MOBILITY_STATE_HIGH_MVMT -->
745    <bool translatable="false" name="config_wifiHighMovementNetworkSelectionOptimizationEnabled">true</bool>
746
747    <!-- Do a single scan when cell data loss is detected. -->
748    <bool translatable="false" name="config_wifiScanOnCellularDataLossEnabled">false</bool>
749
750    <!-- Duration for the delayed scan used to verify access points are staying relatively stationary
751    to the device at high mobility state. (default = 10 seconds) -->
752    <integer translatable="false" name="config_wifiHighMovementNetworkSelectionOptimizationScanDelayMs">10000</integer>
753
754    <!-- When config_wifiHighMovementNetworkSelectionOptimizationEnabled is true, BSSIDs with RSSI
755    from 2 consecutive scans that differ in either direction by more than this threshold will be
756    filtered out from network selection. (default = 10 dBs) -->
757    <integer translatable="false" name="config_wifiHighMovementNetworkSelectionOptimizationRssiDelta">10</integer>
758
759    <!-- The estimate RSSI error margin in dBs to account minor differences in the environment and
760    the device's orientation. -->
761    <integer translatable="false" name="config_wifiEstimateRssiErrorMarginDb">5</integer>
762
763    <!-- The interval in milliseconds at which wifi rtt ranging requests will be throttled when
764         they are coming from the background apps (default = 30 mins). -->
765    <integer translatable="false" name="config_wifiRttBackgroundExecGapMs">1800000</integer>
766
767    <!-- Integer indicating the RSSI and link layer stats polling interval (regular interval) in
768    milliseconds when device is connected and screen is on -->
769    <integer translatable="false" name="config_wifiPollRssiIntervalMilliseconds">3000</integer>
770
771    <!-- Integer indicating the RSSI and link layer stats polling interval (long interval) in
772    milliseconds when device is connected and screen is on. The long interval is to reduce
773    power consumption of link layer stats polling. This value should be greater than the regular
774    interval -->
775    <integer translatable="false" name="config_wifiPollRssiLongIntervalMilliseconds">6000</integer>
776
777    <!-- Integer indicating the maximum number of consecutive NETWORK_NOT_FOUND_EVENT event to allow
778    before attempting to temporarily disable the network -->
779    <integer translatable="false" name="config_wifiNetworkNotFoundEventThreshold">3</integer>
780
781    <!-- RSSI threshold in dBm to decide the RSSI and link layer stats polling interval, and also
782    for the client mode RSSI monitor. When the polling is enabled, if the device is stationary
783    and current RSSI >= Threshold + Hysteresis value, set long interval and enable RSSI monitoring
784    using the RSSI threshold. If device is non-stationary or current RSSI <= Threshold, set regular
785    interval and disable RSSI monitoring. -->
786    <integer translatable="false" name="config_wifiClientRssiMonitorThresholdDbm">-73</integer>
787
788    <!-- Hysteresis value in dB for the client mode RSSI monitor threshold. After the monitor is
789    enabled with RSSI >= Threshold + Hysteresis value, the RSSI threshold breach only happens
790    when the current RSSI <= Threshold, in order to avoid frequent switch between regular and
791    long polling intervals -->
792    <integer translatable="false" name="config_wifiClientRssiMonitorHysteresisDb">5</integer>
793
794    <!-- Enable the feature of adjusting link layer stats polling interval based on
795    device mobility state and client mode RSSI monitoring. -->
796    <bool translatable="false" name="config_wifiAdjustPollRssiIntervalEnabled">false</bool>
797
798    <!-- Override channel utilization estimation with fixed value -->
799    <bool translatable="false" name="config_wifiChannelUtilizationOverrideEnabled">true</bool>
800    <!-- Integer values represent the channel utilization in different RF bands when
801          config_wifiChannelUtilizationOverridingEnabled is true.
802         They should be set to [0, 255] corresponding to utilization ratio between 0 and 1 -->
803    <integer translatable="false" name="config_wifiChannelUtilizationOverride2g">80</integer>
804    <integer translatable="false" name="config_wifiChannelUtilizationOverride5g">15</integer>
805    <integer translatable="false" name="config_wifiChannelUtilizationOverride6g">10</integer>
806
807    <!-- Enable WPA2 to WPA3 auto-upgrade -->
808    <bool translatable="false" name="config_wifiSaeUpgradeEnabled">true</bool>
809
810    <!-- Enable WPA2 to WPA3 auto-upgrade offload to capable Driver/Firmware -->
811    <bool translatable="false" name="config_wifiSaeUpgradeOffloadEnabled">false</bool>
812
813    <!-- Enable Open to OWE auto-upgrade -->
814    <bool translatable="false" name="config_wifiOweUpgradeEnabled">true</bool>
815
816    <!-- Number of self recoveries to be attempted per hour. Any fatal errors beyond this will
817         cause the wifi stack to turn wifi off and wait for user input.
818         Set to 0 to turn off recovery attempts and always turn off wifi on failures -->
819    <integer translatable="false" name="config_wifiMaxNativeFailureSelfRecoveryPerHour">2</integer>
820
821    <!-- Enable self recovery when an interface is added. -->
822    <bool translatable="false" name="config_wifiInterfaceAddedSelfRecoveryEnabled">false</bool>
823
824    <!-- For which interface to enable self recovery. -->
825    <string translatable="false" name="config_wifiSelfRecoveryInterfaceName">wlan0</string>
826
827    <!-- Ignore the open saved network if from carrier provisioning app, there is a same open suggestion and a secure suggestion from same carrier available -->
828    <bool translatable="false" name="config_wifiIgnoreOpenSavedNetworkWhenSecureSuggestionAvailable">true</bool>
829
830    <!-- Wifi driver Automatic channel selection (ACS) for softap to include DFS channels -->
831    <bool translatable="false" name="config_wifiSoftapAcsIncludeDfs">false</bool>
832
833    <!-- Initial PNO scan interval, in milliseconds, when the device is moving (i.e.
834         WifiManager.DEVICE_MOBILITY_STATE_UNKNOWN, WifiManager.DEVICE_MOBILITY_STATE_HIGH_MVMT, or
835         WifiManager.DEVICE_MOBILITY_STATE_LOW_MVMT).
836         The scan interval backs off from this initial interval on subsequent scans.
837         This scan is performed when screen is off and disconnected. -->
838    <integer translatable="false" name="config_wifiMovingPnoScanIntervalMillis">20000</integer>
839
840    <!-- Initial PNO scan interval, in milliseconds, when the device is stationary (i.e.
841         WifiManager.DEVICE_MOBILITY_STATE_STATIONARY).
842         The scan interval backs off from this initial interval on subsequent scans.
843         This scan is performed when screen is off and disconnected. -->
844    <integer translatable="false" name="config_wifiStationaryPnoScanIntervalMillis">60000</integer>
845
846    <!-- Iterations for PNO scan. PNO will scan using the initial scan interval for this many
847         iterations.-->
848    <integer translatable="false" name="config_wifiPnoScanIterations">3</integer>
849
850    <!-- Interval Multiplier for PNO scan. After not finding any networks for
851         config_wifiPnoScanIterations, PNO will multiply the scan interval by the value
852         configured.-->
853    <integer translatable="false" name="config_wifiPnoScanIntervalMultiplier">3</integer>
854
855    <!-- integer indicating additional disconnect delay (in ms) after IMS onLost() indication is received -->
856    <integer translatable="false" name="config_wifiDelayDisconnectOnImsLostMs">0</integer>
857
858    <!-- Enable adding minimum confirmation duration when sending network score to connectivity service. -->
859    <bool translatable="false" name="config_wifiMinConfirmationDurationSendNetworkScoreEnabled">false</bool>
860
861    <!-- Enable Make-Before-Break Wifi network switching.
862         Note: this is conditional on the device supporting dual concurrent STAs. -->
863    <bool translatable="false" name="config_wifiMultiStaNetworkSwitchingMakeBeforeBreakEnabled">false</bool>
864    <!-- Enable concurrent peer to peer + internet connectivity
865         Note: this is conditional on the device supporting dual concurrent STAs. -->
866    <bool translatable="false" name="config_wifiMultiStaLocalOnlyConcurrencyEnabled">false</bool>
867    <!-- Enable concurrent restricted connectivity + internet connectivity
868         Note: this is conditional on the device supporting dual concurrent STAs. -->
869    <bool translatable="false" name="config_wifiMultiStaRestrictedConcurrencyEnabled">false</bool>
870    <!-- Enable concurrent internet connectivity + internet connectivity
871         Note: this is conditional on the device supporting dual concurrent STAs. -->
872    <bool translatable="false" name="config_wifiMultiStaMultiInternetConcurrencyEnabled">false</bool>
873    <!-- Enable the default coex channel avoidance algorithm and disable the functionality of
874         WifiManager#setCoexUnsafeChannels. -->
875    <bool translatable="false" name="config_wifiDefaultCoexAlgorithmEnabled">false</bool>
876    <!-- If the default coex channel avoidance algorithm is enabled, then avoid channels that
877         conflict with GPS L1. -->
878    <bool translatable="false" name="config_wifiCoexForGpsL1">false</bool>
879    <!-- The distance in KHz between Wi-Fi-based interference and GPS L1 that is considered unsafe. -->
880    <integer translatable="false" name="config_wifiCoexGpsL1ThresholdKhz">10000</integer>
881    <!-- Filepath of the xml table of parameters used by Wifi coex channel avoidance. -->
882    <string translatable="false" name="config_wifiCoexTableFilepath">/vendor/etc/wifi/coex_table.xml</string>
883    <!-- A value to indicate how many failures are needed to temporarily or permanently
884    (depends on config_wifiDisableReasonAuthenticationFailureCarrierSpecificDurationMs)
885    disable a network from auto-connect based on Carrier requirement -->
886    <integer translatable="false" name="config_wifiDisableReasonAuthenticationFailureCarrierSpecificThreshold">1</integer>
887    <!-- Carrier specific override for the disable threshold -->
888    <string-array translatable="false" name="config_wifiDisableReasonAuthenticationFailureCarrierSpecificThreshold_carrier_overrides">
889        <item><xliff:g id="carrier_id_prefix">:::1839:::</xliff:g>2</item>
890    </string-array>
891    <!-- A value to indicate the duration (in ms) to disable a network from auto-connect based on
892    Carrier requirement. -1 represents disabling a network permanently -->
893    <integer translatable="false" name="config_wifiDisableReasonAuthenticationFailureCarrierSpecificDurationMs">-1</integer>
894    <!-- Carrier specific override for the disable duration -->
895    <string-array translatable="false" name="config_wifiDisableReasonAuthenticationFailureCarrierSpecificDurationMs_carrier_overrides">
896        <item><xliff:g id="carrier_id_prefix">:::1839:::</xliff:g>14400000</item>
897    </string-array>
898
899    <!-- Configure the Carrier specific override for EAP failure disable behavior starting from Android 14.
900         Should be a comma separated list of the following information:
901           - Carrier ID
902           - EAP failure code
903           - display notification or not (0=false, 1=true)
904           - EAP profile failure threshold
905           - EAP profile disable duration in minutes -->
906    <string-array translatable="false" name="config_wifiEapFailureConfig">
907        <item>1839, 0,     0, 1, 240 </item>
908        <item>1839, 16384, 0, 1, 5 </item>
909        <item>1839, 1026,  0, 1, 240 </item>
910        <item>1839, 1031,  1, 1, 1440 </item>
911        <item>1839, 16385, 0, 3, 120 </item>
912    </string-array>
913    <!-- Flush ANQP cache on Wi-Fi toggle off event -->
914    <bool translatable="false" name="config_wifiFlushAnqpCacheOnWifiToggleOffEvent">true</bool>
915
916    <!-- Enable Aware NDP interface selection on interface that already has network set up.
917     Note: the default AOSP Android does not support multiple networks on the same Aware NDI.
918     Enabling this configuration will restore legacy behavior but may result in incorrect behavior.
919     -->
920    <bool translatable="false" name="config_wifiAllowMultipleNetworksOnSameAwareNdi">false</bool>
921
922    <!-- Enable Aware NDP interface selection on interface that already has a network to same peer
923    set up. Enable this will offload to FW to do the Aware NDP security upgrade. This may result in
924    incorrect behavior when the security upgrade feature is not fully supported.
925     -->
926    <bool translatable="false" name="config_wifiAwareNdpSecurityUpdateOnSameNdi">false</bool>
927
928    <!-- A boolean indicate if device supports ser channel on the Aware data-path setup. If the
929    value is false, channel setting on the data-path request will be ignored.
930    -->
931    <bool translatable="false" name="config_wifiSupportChannelOnDataPath">false</bool>
932
933    <!-- A value indicate the duration of Wi-Fi Aware Instant Communication Mode for a single
934    session. When duration is finished, framework will disable the Instant Communication Mode.
935    -->
936    <integer translatable="false" name="config_wifiAwareInstantCommunicationModeDurationMillis">30000</integer>
937
938    <!-- Integer threshold for minimum packets required to notify clients of data activity -->
939    <integer translatable="false" name="config_wifiTrafficPollerTxPacketThreshold">0</integer>
940    <integer translatable="false" name="config_wifiTrafficPollerRxPacketThreshold">0</integer>
941
942    <!-- A value to decide when NetworkCapabilities are updated to reflect the latest link
943    bandwidth. If the bandwidth change is above this value, NetworkCapabilities are updated -->
944    <integer translatable="false" name="config_wifiLinkBandwidthUpdateThresholdPercent">15</integer>
945
946    <!-- Whether we should apply APF filters on non primary STA connections when STA + STA is active.
947         Defaults to false since most wifi chips cannot support concurrent APF filter set needed for STA + STA-->
948    <bool translatable="false" name="config_wifiEnableApfOnNonPrimarySta">false</bool>
949
950    <!-- Whether to use the explicit vendor HAL API: IWifiStaIface.setRoamingState for disabling fw roaming (only needed if
951         setting the bssid on the connection alone does not disable fw roaming on this chip) -->
952    <bool translatable="false" name="config_wifiUseHalApiToDisableFwRoaming">false</bool>
953
954    <!-- Indicates that SAE Hash-to-Element is supported on this device -->
955    <bool translatable="false" name="config_wifiSaeH2eSupported">false</bool>
956
957    <!-- Enable aggregation of Wifi link layer radio stats from all radios.
958         Defaults to false will fetch radio stats only from Radio 0. This is to avoid
959         incorrect behavior due to driver/firmware returning bogus radio stats from other radios.
960         Note: Full DBS capable devices interested in radio stats from all the radios can enable this
961         configuration. -->
962    <bool translatable="false" name="config_wifiLinkLayerAllRadiosStatsAggregationEnabled">false</bool>
963
964    <!-- Indicate the prefix of wifi p2p device name, the length should be between 1 ~ 28. -->
965    <string translatable="false" name="config_wifiP2pDeviceNamePrefix">Android_</string>
966    <!-- Indicate how many digits the postfix are. If the value is negative or smaller than 4,
967         the postfix will fallback to the first digit of ANDROID_ID. -->
968    <integer translatable="false" name="config_wifiP2pDeviceNamePostfixNumDigits">-1</integer>
969    <!-- Indicate how long p2p extended listen period (in milliseconds) is. -->
970    <integer translatable="false" name="config_wifiP2pExtListenPeriodMs">500</integer>
971    <!-- Indicate how long p2p extended listen interval (in milliseconds) is. -->
972    <integer translatable="false" name="config_wifiP2pExtListenIntervalMs">500</integer>
973    <!-- Whether to wait for Peer to restart invitation procedure when device receives invitation
974         response with status code "information is currently unavailable".
975         Defaults to false as existing implementations fall back to GO negotiation to avoid
976         connection failure with devices which doesn't support persistent re-invocation.
977         As per P2P specification, 3.1.5.3 "A P2P Device that receives an Invitation Request frame
978         to re-invoke a persistent Group and responds with a P2P Invitation Response frame with a
979         Status attribute with the Status Code field set to “Fail: information is currently
980         unavailable” shall restart the Invitation procedure by sending an Invitation Request
981         frame to the requesting P2P Device". So the device which invited the peer should wait for
982         the new request from Peer. But the current implementation is violating the specification by
983         restarting the negotiation. This was done long back to fix connection failure issues with
984         devices which doesn't support persistent re-invocation. -->
985    <bool translatable="false" name="config_p2pWaitForPeerInviteOnInviteStatusInfoUnavailable">false</bool>
986
987    <!-- Integer threshold for max number of WifiConfigurations that can be saved on the device.
988         A value of -1 indicates no limit. If a max number is specified, then under-used configs will
989         be deleted to make room for new configs.-->
990    <integer translatable="false" name="config_wifiMaxNumWifiConfigurations">-1</integer>
991    <!-- Integer threshold for max number of WifiConfigurations that can be added by all apps (excluding
992         DO, PO, and system apps). A value of -1 indicates no limit. If a max number is specified,
993         then existing app-added configs will be deleted to make room for new app-added configs.-->
994    <integer translatable="false" name="config_wifiMaxNumWifiConfigurationsAddedByAllApps">200</integer>
995
996    <!-- Whether to allow Settings or SUW to create insecure Enterprise networks where server
997         certificate is not validated, by not specifying a Root CA certificate and/or server domain
998         name. It is STRONGLY RECOMMENDED to be set to false -->
999    <bool translatable="false" name="config_wifiAllowInsecureEnterpriseConfigurationsForSettingsAndSUW">false</bool>
1000
1001    <!-- Configuration that allows Multi-internet to connect simultaneously to both 5GHz high and 5GHz low -->
1002    <bool translatable="false" name="config_wifiAllowMultiInternetConnectDual5GFrequency">false</bool>
1003
1004    <!-- Indicate the max lines for connectivity local log based on the device ram size -->
1005    <integer translatable="false" name="config_wifiConnectivityLocalLogMaxLinesLowRam">256</integer>
1006    <integer translatable="false" name="config_wifiConnectivityLocalLogMaxLinesHighRam">512</integer>
1007
1008    <!-- Indicate max number of log records for WifiClientModeImpl -->
1009    <integer translatable="false" name="config_wifiClientModeImplNumLogRecs">100</integer>
1010
1011    <!-- Indicates whether or not the WLAN driver supports the NL80211_CMD_REG_CHANGE or
1012         NL80211_CMD_WIPHY_REG_CHANGE events which indicate the current country code which is
1013         being used by the WLAN driver. If the driver doesn't support these events
1014         (configuration is `false`) then the driver must handle the setCountryCode request from
1015         HAL as a blocking call. In such a case the country code will be applied
1016         immediately after the country code is sent to the driver (if the method returns a
1017         success). -->
1018    <bool translatable="false" name="config_wifiDriverSupportedNl80211RegChangedEvent">false</bool>
1019
1020    <!-- Indicate whether the verbose logging is always on -->
1021    <!-- 0: verbose logging controlled by user
1022         1: verbose logging on by default for userdebug/eng
1023         2: verbose logging on by default for all builds -->
1024    <integer translatable="false" name="config_wifiVerboseLoggingAlwaysOnLevel">1</integer>
1025
1026    <!-- Indicate the help page link for the Root CA certifiate installation. -->
1027    <string translatable="false" name="config_wifiCertInstallationHelpLink">https://support.google.com/pixelphone/answer/2844832</string>
1028
1029    <!-- Indicate the help page link for the APM enhancement. -->
1030    <string translatable="false" name="config_wifiApmEnhancementHelpLink">https://support.google.com/pixelphone/answer/12639358</string>
1031
1032    <!-- Indicate the number of networks to restore in a batch. 0 : all networks in a batch -->
1033    <integer translatable="false" name="config_wifiConfigurationRestoreNetworksBatchNum">50</integer>
1034
1035    <!-- Enables logging for any tasks running on the Wi-Fi thread which take longer than this threshold (in milliseconds) -->
1036    <integer translatable="false" name="config_wifiConfigurationWifiRunnerThresholdInMs">100</integer>
1037
1038    <!-- OEM privileged WiFi admin package names. Empty by default-->
1039    <string-array translatable="false" name="config_oemPrivilegedWifiAdminPackages">
1040        <!-- Add package names here, example: -->
1041        <!-- <item>com.something.manager</item> -->
1042    </string-array>
1043
1044    <!-- Wifi driver supports Opportunistic Wireless Encryption (OWE) Transition
1045         aka Enhanced Open for Soft-AP -->
1046    <bool translatable="false" name="config_wifiSoftapOweTransitionSupported">false</bool>
1047
1048    <!-- Wifi driver supports Opportunistic Wireless Encryption (OWE)
1049         aka Enhanced Open for Soft-AP -->
1050    <bool translatable="false" name="config_wifiSoftapOweSupported">false</bool>
1051
1052    <!-- Indicate the gravity of Wifi dialogs. Must be an integer corresponding to a
1053         android.view.Gravity.GravityFlags constant. Default = Gravity.NO_GRAVITY (0) -->
1054    <integer translatable="false" name="config_wifiDialogGravity">0</integer>
1055    <!-- Indicate whether to cancel Wifi dialogs when the screen is touched outside the dialog. -->
1056    <bool translatable="false" name="config_wifiDialogCanceledOnTouchOutside">false</bool>
1057    <!-- Whether to show a confirmation dialog to the user if a third party app targeting below SDK
1058         level Q tries to enable Wi-Fi -->
1059    <bool translatable="false" name="config_showConfirmationDialogForThirdPartyAppsEnablingWifi">false</bool>
1060    <!-- Indicate the time in milliseconds to wait before auto-cancelling a P2P invitation received
1061         dialog that the user has not responded to. A value of 0 indicates no timeout. -->
1062    <integer translatable="false" name="config_p2pInvitationReceivedDialogTimeoutMs">0</integer>
1063    <!-- Whether to show the timeout in the P2P invitation received dialog -->
1064    <bool translatable="false" name="config_p2pInvitationReceivedDialogShowRemainingTime">true</bool>
1065    <!-- Indicates whether or not to play a notification sound upon displaying a P2P invitation
1066         received dialog that the user has not responded to. If the device is in vibrate mode, then
1067         the device will vibrate instead of playing a sound. -->
1068    <bool translatable="false" name="config_p2pInvitationReceivedDialogNotificationSound">false</bool>
1069    <!-- Indicate the time in milliseconds to wait before handling surplus requests from the same
1070         peer to avoid duplicate pop-ups. When there is an external approver, a request might be
1071         approved soon and the state goes back to ready for next request. Sometimes there might
1072         be surplus requests due to packet retransmission and these requests will result in
1073         unnecessary pop-ups. Generally a user takes at least 1 second to react to the pop-up,
1074         to simulate the similar behavior, the default value is 1000 milliseconds. -->
1075    <integer translatable="false" name="config_wifiP2pJoinRequestAuthorizingTimeoutMs">1000</integer>
1076
1077    <!-- Indicates whether or not the Soft AP needs to be restarted when country code changed -->
1078    <bool translatable="false" name="config_wifiForcedSoftApRestartWhenCountryCodeChanged">true</bool>
1079
1080    <!-- list of package names that HalDeviceManager (interface priority decision maker) will
1081         treat as foreground, even if they are in the background. -->
1082    <string-array translatable="false" name="config_wifiInterfacePriorityTreatAsForegroundList">
1083        <!-- Below is a sample configuration for this list:
1084        <item>com.company1.example.test.name1</item>
1085        <item>com.company2.example.test.name2</item>
1086        -->
1087    </string-array>
1088
1089    <!-- Indicates whether or not user approval is required for device-to-device interface priority
1090         decisions (note: packages included in
1091         `config_excludedFromUserApprovalForD2dInterfacePriority` are excluded). -->
1092    <bool translatable="false" name="config_wifiUserApprovalRequiredForD2dInterfacePriority">false</bool>
1093    <!-- list of package names that are excluded from the user approval flag
1094         `config_wifiUserApprovalRequiredForD2dInterfacePriority`. I.e. any priority conflicts from
1095          requests by these packages will be handled by the default resolution of the framework. -->
1096    <string-array translatable="false" name="config_wifiExcludedFromUserApprovalForD2dInterfacePriority">
1097        <!-- Below is a sample configuration for this list:
1098        <item>com.company1.example.test.name1</item>
1099        <item>com.company2.example.test.name2</item>
1100        -->
1101    </string-array>
1102    <!-- Indicates whether or not P2P interface removal can be approved automatically when P2P
1103         is not connected. -->
1104    <bool translatable="false" name="config_wifiUserApprovalNotRequireForDisconnectedP2p">false</bool>
1105    <!-- Indicates the time in milliseconds to wait after creating a P2P interface before treating
1106         it as low priority when disconnected, allowing it to be deleted to create other
1107         interfaces. A negative value disables this behavior. -->
1108    <integer translatable="false" name="config_disconnectedP2pIfaceLowPriorityTimeoutMs">-1</integer>
1109    <!-- list of package names that the framework will allow to use P2P/Aware concurrency. If this
1110         list is empty, then all packages are allowed -->
1111    <string-array translatable="false" name="config_wifiP2pAwareConcurrencyAllowlist">
1112        <!-- Below is a sample configuration for this list:
1113        <item>com.company1.example.test.name1</item>
1114        <item>com.company2.example.test.name2</item>
1115        -->
1116    </string-array>
1117    <!-- list of package names that the framework will allow to use SoftAp/Aware concurrency. If
1118         this list is empty, then all packages are allowed -->
1119    <string-array translatable="false" name="config_wifiSoftApAwareConcurrencyAllowlist">
1120        <!-- Below is a sample configuration for this list:
1121        <item>com.company1.example.test.name1</item>
1122        <item>com.company2.example.test.name2</item>
1123        -->
1124    </string-array>
1125    <!-- boolean indicating whether the Easy Connect (DPP) AKM is supported -->
1126    <bool translatable="false" name ="config_wifiDppAkmSupported">false</bool>
1127    <!-- Indicates the number of octets to mask for each BSSID in the SecurityLog output.
1128         The first N octets will each be replaced with 'xx' in the formatted BSSID string. -->
1129    <integer translatable="false" name="config_wifiNumMaskedBssidOctetsInSecurityLog">4</integer>
1130    <!-- Indicates whether the network-centric QoS policy feature is enabled. -->
1131    <bool translatable="false" name="config_wifiNetworkCentricQosPolicyFeatureEnabled">false</bool>
1132    <!-- Indicates whether the application-centric QoS policy feature is enabled. -->
1133    <bool translatable="false" name="config_wifiApplicationCentricQosPolicyFeatureEnabled">true</bool>
1134
1135    <!-- The world mode country code value definition in the wifi driver -->
1136    <string translatable="false" name="config_wifiDriverWorldModeCountryCode">00</string>
1137
1138    <!-- The value indicates if the OOB Pseudonym is Enabled, not override,
1139         see config_wifiOobPseudonymEnabled_carrier_overrides. -->
1140    <bool translatable="false" name="config_wifiOobPseudonymEnabled">false</bool>
1141    <!-- Carrier specific override for enabling the OOB pseudonym feature, only boolean
1142         values - true and false are valid input, see examples -->
1143    <string-array translatable="false" name="config_wifiOobPseudonymEnabled_carrier_overrides">
1144        <!-- example -->
1145        <!-- <item><xliff:g id="carrier_id_prefix">:::1234:::</xliff:g>true</item> -->
1146        <!-- <item><xliff:g id="carrier_id_prefix">:::5678:::</xliff:g>false</item> -->
1147    </string-array>
1148    <!-- The URL of entitlement server which is used to get the OOB pseudonym, not
1149         override, see config_wifiOobPseudonymEntitlementServerUrl_carrier_overrides -->
1150    <string translatable="false" name="config_wifiOobPseudonymEntitlementServerUrl"/>
1151    <!-- Carrier specific override for the URL of entitlement server retrieving OOB pseudonym. -->
1152    <string-array translatable="false" name="config_wifiOobPseudonymEntitlementServerUrl_carrier_overrides">
1153        <!-- example -->
1154        <!-- <item><xliff:g id="carrier_id_prefix">:::1234:::</xliff:g>https://example.com/oob</item> -->
1155    </string-array>
1156
1157    <!-- Indicates whether or not the AP WAN Link Status ANQP element is used to filter candidate
1158         networks. Note that even if enabled (overlay = true) that invalid elements (all zeros
1159         are still ignored).
1160         If disabled (overlay = false) then the
1161         `config_wifiPasspointUseApWanLinkStatusAnqpElementFqdnAllowList`
1162         specifies a list of FQDNs for which the element will still be considered. -->
1163    <bool translatable="false" name="config_wifiPasspointUseApWanLinkStatusAnqpElement">true</bool>
1164    <!-- list of FQDNs for which to use the AP WAN Link Status ANQP element. Overrides any
1165         configuration specified in `config_wifiPasspointUseApWanLinkStatusAnqpElement`. -->
1166    <string-array translatable="false" name="config_wifiPasspointUseApWanLinkStatusAnqpElementFqdnAllowlist">
1167        <!-- Below is a sample configuration for this list:
1168        <item>XYZ</item>
1169        <item>ABC</item>
1170        -->
1171    </string-array>
1172    <!-- list of package names for which WifiRttManager.startRanging() will not be throttled when
1173    the app is in background. -->
1174    <string-array translatable="false" name="config_wifiBackgroundRttThrottleExceptionList">
1175        <!-- Below is a sample configuration for this list:
1176        <item>com.company1.example.test.name1</item>
1177        <item>com.company2.example.test.name2</item>
1178        -->
1179    </string-array>
1180
1181    <!-- Lists each alternate character set per locale language for SSID translation to UTF-8. This
1182         will translate all SSIDs encoded with the specified character set from the native layer
1183         into UTF-8 SSIDs. The translated SSIDs are then converted back to the original character
1184         set when passed back to the native layer. This effectively switches all non-UTF-8 APs into
1185         UTF-8 APs from the perspective of the framework and apps, and is intended to provide
1186         backwards compatibility with apps that only work with UTF-8 SSIDs. Values must be in the
1187         form of the locale language and canonical java.nio Charset name, separated by a comma. If
1188         the locale language is "all", then the character set will apply to all locale languages
1189         that do not specify their own character set. -->
1190    <string-array translatable="false" name="config_wifiCharsetsForSsidTranslation">
1191        <!-- Below is a sample configuration for this list:
1192        <item>all,EUC-JP</item>
1193        <item>zh,GBK</item>
1194        <item>ko,EUC-KR</item>
1195        -->
1196    </string-array>
1197
1198    <!-- Lists available AFC servers for each country, based on country code. Each country may
1199     have more than one server listed. If a country is not present in the list, then AFC is not
1200     available in that country, and the device will behave as if AFC is disabled.
1201     Entries should be in the format:
1202     <item>countryCode,url1,url2,url3...</item> -->
1203    <string-array translatable="false" name="config_wifiAfcServerUrlsForCountry">
1204        <!-- Below is a sample configuration for this list:
1205            <item>US,https://example.com/,https://google.com/</item>
1206            <item>CA,https://example.com/</item>
1207        -->
1208    </string-array>
1209
1210    <!-- ACTION_FILE_BUG_DEEPLINK intent name -->
1211    <string name="config_wifiBugreportDeepLink" translatable="false">com.google.android.apps.betterbug.intent.FILE_BUG_DEEPLINK</string>
1212
1213    <!-- boolean indicating whether the caller thread needs to wait for destroyed listeners -->
1214    <bool translatable="false" name ="config_wifiWaitForDestroyedListeners">false</bool>
1215
1216    <!-- Indicates the number of channels is allowed to set in a WifiNetworkSpecifier  -->
1217    <integer translatable="false" name ="config_wifiNetworkSpecifierMaxPreferredChannels">5</integer>
1218
1219    <!-- Boolean indicating whether we should enable the STA current connected indoor channel
1220     for SAP, WFD GO, Wi-Fi Aware -->
1221    <bool translatable="false" name="config_wifiEnableStaIndoorChannelForPeerNetwork">false</bool>
1222
1223    <!-- Boolean indicating whether we should enable the STA current connected DFS channel
1224         for SAP, WFD GO, Wi-Fi Aware -->
1225    <bool translatable="false" name="config_wifiEnableStaDfsChannelForPeerNetwork">false</bool>
1226    <!-- Indicates the number of seconds to delay the next IMSI protection notification after user
1227         dismiss the current one-->
1228    <integer translatable="false" name="config_wifiImsiProtectionNotificationDelaySeconds">300</integer>
1229    <!-- Boolean indicating whether DTIM multiplier configuration is enabled. DTIM multiplier value
1230        is when the system is in the suspended mode. Enabling this feature with the low multiplier
1231        in IPv6 mode and the high multiplier in IPv4 only mode ensures the IPv6 address
1232        doesn't expire due to missing RA while reducing the power consumption in IPv4 only mode.
1233        -->
1234    <bool translatable="false" name="config_wifiDtimMultiplierConfigEnabled">false</bool>
1235    <!-- Indicates the DTIM multiple value used when the multicast lock is enabled regardless of
1236        IP address type -->
1237    <integer translatable="false" name="config_wifiDtimMultiplierMulticastLockEnabled">1</integer>
1238    <!-- Indicates the DTIM multiple value used when it has only IPv6 address -->
1239    <integer translatable="false" name="config_wifiDtimMultiplierIpv6Only">2</integer>
1240    <!-- Indicates the DTIM multiple value used when it has only IPv4 address -->
1241    <integer translatable="false" name="config_wifiDtimMultiplierIpv4Only">9</integer>
1242    <!-- Indicates the DTIM multiple value used when it has both IPv4 and IPv6 addresses -->
1243    <integer translatable="false" name="config_wifiDtimMultiplierIpv6Ipv4">2</integer>
1244    <!-- Boolean indicating whether the firmware can handle the Wifi Aware request priority between
1245    the offloading and framework-->
1246    <bool translatable="false" name="config_wifiAwareOffloadingFirmwareHandlePriority">false</bool>
1247    <!-- Boolean indicating whether the framework can disable Wi-Fi chip power save while acquiring
1248         a low latency lock. If the flag is set to false, chipset should make changes to replace
1249         disable of power save to avoid the high latency when chip is in power save mode as part of
1250         handling the HAL API setLatencyMode(). -->
1251    <bool translatable="false" name ="config_wifiLowLatencyLockDisableChipPowerSave">true</bool>
1252    <!-- Boolean indicating whether NIAP mode is enabled by default for Wi-Fi. -->
1253    <bool translatable="false" name="config_wifiNiapModeEnabled">false</bool>
1254    <!-- IP address configurations required for P2P GO to assign IP address in EAPOL frame.
1255         Refer - Wi-Fi P2P Technical Specification v1.7 - Section  4.2.8 IP Address Allocation
1256         in EAPOL-Key Frames (4-Way Handshake) for more details.
1257         To enable this feature, configure below three items,
1258         1. config_tether_enable_legacy_wifi_p2p_dedicated_ip in tethering module overlay file,
1259            i.e.,  in packages/modules/Connectivity/Tethering/res/values/config.xml
1260         2. config_p2p_leases_subnet_prefix_length in tethering module overlay config file,
1261            i.e., in packages/modules/Connectivity/Tethering/res/values/config.xml
1262         3. Set config_wifiP2pGoIpAddressAllocationInEapolFrames to true in wifi overlay file -->
1263    <!-- Boolean indicating whether IP address allocation in EAPOL is enabled by default in Wi-Fi.
1264         The GO fixed IP address is set to 192.168.49.1 and subnet mask to 255.255.255.0 -->
1265    <bool translatable="false" name ="config_wifiP2pGoIpAddressAllocationInEapolFrames">false</bool>
1266    <!-- The optional P2P GO IP address range reserved for IP assignment in EAPOL frame. If not
1267         configured, the default range is 192.168.49.128 to 192.168.49.254 -->
1268    <string translatable="false" name="config_wifiP2pGoEapolIpAddressRangeStart"/>
1269    <string translatable="false" name="config_wifiP2pGoEapolIpAddressRangeEnd"/>
1270    <!-- Boolean indicating whether to disable firmware roaming when the device goes into idle mode.
1271         true: firmware roaming will be disabled when the device goes into idle mode and screen
1272               is off, and then re-activated when the device exits idle mode or screen is on.
1273         false: firmware roaming will not be affected. -->
1274    <bool translatable="false" name ="config_wifiDisableFirmwareRoamingInIdleMode">false</bool>
1275    <!-- Boolean indicating whether the framework updates country from scan results when there is
1276         no telephony country code. This is applied to all generic cases and might require the
1277         regulatory approval (for example, FCC pre-approval is required according to "594280 D01
1278         Software Configuration Control v02r01").-->
1279    <bool translatable="false" name ="config_wifiUpdateCountryCodeFromScanResultGeneric">false</bool>
1280    <!-- Boolean indication whether enable VDBG for more detailed log when Wi-Fi aware verbose
1281    logging is enabled -->
1282    <bool translatable="false" name ="config_aware_vdbg_enable_on_verbose_logging">false</bool>
1283    <!-- Boolean indicating the Hal support for mapping WPA3 transition mode to WPA3 for Softap in
1284         6GHz band. WPA3 transition mode or SAE+WPA_PSK key management(AKM) is not allowed in 6GHz.
1285         By default, framework removes 6GHz band for WPA3_SAE_TRANSITION security type.
1286         Enabling this config allows framework to send the 6GHz band to Hostapd HAL for
1287         WPA3_SAE_TRANSITION security type. Only enable this flag if Hostapd HAL has the
1288         implementation to convert WPA3 transition mode to WPA3 only. otherwise driver/firmware may
1289         fail to set up the AP.-->
1290    <bool translatable="false" name="config_wifiSofapHalMapWpa3TransitionModeToWpa3OnlyIn6GHzBand">false</bool>
1291    <!-- Boolean indicating whether the device should remain connected to a network without DHCP.
1292        If true, the IpClient provisioning timeout will be set to infinite, which means that the
1293        connection will not be torn down if the DHCP server does not respond. As a result the device
1294        will be discoverable and reachable via the local-only IPv6 address. -->
1295    <bool translatable="false" name ="config_wifiRemainConnectedAfterIpProvisionTimeout">false</bool>
1296    <!-- Boolean indicating whether to disable disconnects on NUD failures. Such a configuration
1297         is limited to WAPI and to a specific country code.
1298     true: do not disconnect IF the connection type is WAPI and in the specific country code
1299           regulatory domain.
1300     false: disconnect on NUD failures (normal/default action). -->
1301    <bool translatable="false" name ="config_wifiDisableNudDisconnectsForWapiInSpecificCc">false</bool>
1302    <!-- A list of AKM suite selector mapping to configure the unknown AKM suite specifier to
1303         known AKM suite specifier (Refer IEEE-80211-2020 section 9.4.2.24.3 AKM suites).
1304         An AKM suite selector is defined as a combination of OUI (Organizationally unique
1305         identifier) and AKMP (Authentication and key management protocol) suite type in IEEE80211
1306         spec. For example 00-0F-AC:1 represents Authentication negotiated over IEEE Std 802.1X,
1307         where the OUI is 00-0F-AC and AKMP is 1.
1308         The Values specified here is for OEMs to allow setting the security type for APs which
1309         advertise the AKMs not defined in Wi-Fi framework(unknown to framework). If a mapping is
1310         available, framework sets the AP's key management type to the mapped known AKM and the
1311         security type will be derived based on the known AKM. Then it is up to the HAL
1312         implementation to derive the actual AKM to use in connection.
1313         The mapping specified here is in integer decimal format separated by a comma:
1314         (Unknown AKM, Known AKM).
1315         When defining the integer AKM value here, follow this rule, the most significant byte
1316         should carry the AKMP suite type. Use the below method to compute the integer decimal
1317         AKM suite selector value -  AKM_VALUE(0x00, 0x0f, 0xac, 0x1)
1318         AKM_VALUE(a, b, c, d) -> ((((u32) (a)) << 24) | (((u32) (b)) << 16) | (((u32) (c)) << 8)
1319         | (u32) (d)) = 28053248 (Hex value - 0x01ac0f00) -->
1320    <string-array translatable="false" name="config_wifiUnknownAkmToKnownAkmMapping">
1321        <!-- Below is a sample configuration for this list:
1322             <item>unknownAkm1,knownAkm</item>
1323             <item>unknownAkm2,knownAkm</item>
1324        -->
1325    </string-array>
1326    <!-- Integer for minimum time between IEEE 802.11az non-trigger based ranging measurements in
1327         microseconds. Note that ranging request converts this to units of 100 microseconds. So the
1328         value should be a multiple of 100 microseconds. Non-zero values in this setting take
1329         precedence over individual responder settings, effectively enforcing a system-wide minimum
1330         measurement interval for non-trigger based ranging operations.. -->
1331    <integer translatable="false" name="config_wifi80211azMinTimeBetweenNtbMeasurementsMicros">250000</integer>
1332    <!-- Integer for maximum time between IEEE 802.11az non-trigger based ranging measurements in
1333         microseconds. Note that ranging request converts this to units of 10 milliseconds. So the
1334         value should be a multiple of 10000 microseconds. Non-zero values in this setting take
1335         precedence over individual responder settings, effectively enforcing a system-wide maximum
1336         measurement interval for non-trigger based ranging operations. -->
1337    <integer translatable="false" name="config_wifi80211azMaxTimeBetweenNtbMeasurementsMicros">15000000</integer>
1338
1339    <!-- Boolean indicating whether the device supports d2d allowed control when infra STA is disabled  -->
1340    <bool translatable="false" name ="config_wifiD2dAllowedControlSupportedWhenInfraStaDisabled">false</bool>
1341
1342    <!-- Boolean indicating whether the device supports WEP allowed control or not  -->
1343    <bool translatable="false" name ="config_wifiWepAllowedControlSupported">true</bool>
1344
1345    <!-- Array describing MAC OUI list to block TWT session setup request. If the primary station is
1346         connected to an AP with a MAC address OUI (https://standards-oui.ieee.org/oui/oui.txt)
1347         matching with any of entries in this blocked list, WifiManager#setupTwtSession() will fail
1348         with TwtSessionCallback#onFailure(errorCode = TWT_ERROR_CODE_AP_OUI_BLOCKLISTED).
1349     -->
1350    <integer-array translatable="false" name="config_wifiTwtBlockedOuiList">
1351        <!-- Below is a sample configuration for this list:
1352        <item>0x001122</item>
1353        <item>0x334455</item>
1354        -->
1355    </integer-array>
1356
1357
1358    <!-- integer indicating the maximum number of MLDs supported for multi-link operation (MLO)
1359         SoftAp. Each multi-link device (AP MLD) can be operated with multiple links or single link.
1360         It is required to configure it at least 1 for multiple links MLO SoftAp. Default value 0 is
1361         treated as device does NOT support multiple links MLO SoftAp and the maximum
1362         number of MLDs is decided by configuration, config_wifiSoftApSingleLinkMloInBridgedModeSupported.
1363         (i.e. 2 when config_wifiSoftApSingleLinkMloInBridgedModeSupported is true and 1 when
1364         config_wifiSoftApSingleLinkMloInBridgedModeSupported is false.)
1365         -->
1366    <integer translatable="false" name="config_wifiSoftApMaxNumberMLDSupported">0</integer>
1367
1368    <!-- (Deprecated) Wi-Fi chip supports single link MLO SoftAp instances in the bridged mode.
1369         The value will be used only when config_wifiSoftApMaxNumberMLDSupported isn't configured -->
1370    <bool translatable="false" name="config_wifiSoftApSingleLinkMloInBridgedModeSupported">false</bool>
1371
1372    <!-- Boolean indicating whether Target Wake Time (TWT) feature is supported or not. This flag
1373         overrides the device's TWT capability if set to false. If the device supports TWT and this
1374         overlay parameter is set to false, the application cannot set up a TWT session. Also, the
1375         API WifiManager#getTwtCapabilities returns TWT unsupported even if the device is capable
1376         of setting up TWT session.
1377    -->
1378    <bool translatable="false" name="config_wifiTwtSupported">true</bool>
1379
1380    <!-- Boolean indicating whether the WiFi framework network selection should set the target BSSID. -->
1381    <bool translatable="false" name="config_wifiNetworkSelectionSetTargetBssid">false</bool>
1382
1383    <!-- Array containing carrier IDs whose networks should not auto-connect upon initial discovery.
1384         These networks are eligible to become network selection candidates if they still appear in
1385         the scan results after the delay period has passed. Carriers who have requested this
1386         feature are included in the array by default.
1387     -->
1388    <integer-array translatable="false" name="config_wifiDelayedSelectionCarrierIds">
1389
1390        <!-- Below is a sample configuration for this list:
1391        <item>1234</item>
1392        <item>5678</item>
1393        -->
1394    </integer-array>
1395
1396    <!-- Delay time in milliseconds for delayed carrier network selection.
1397         See also config_wifiDelayedSelectionCarrierIds.
1398     -->
1399    <integer translatable="false" name="config_wifiDelayedCarrierSelectionTimeMs">90000</integer>
1400
1401    <!-- Boolean indicating whether the device supports Wi-Fi Alliance WPA3 Specification
1402         version 3.3 Section 14 - RSN Overriding.
1403         Enabling this config allows framework to parse the RSNO IE and RSNO2 IE on devices running
1404         Supplicant AIDL interface version lower than 4. Only enable this flag if Supplicant and
1405         driver/firmware supports RSN Overriding. otherwise the connection may fail or downgrade to
1406         WPA2.
1407         If the device is running the AIDL interface version 4 or later, this config item has
1408         no effect. The feature will be enabled/disabled based on the chip capability for RSN
1409         Overriding advertised via Supplicant AIDL wpa driver capability interface -->
1410    <bool translatable="false" name ="config_wifiRsnOverridingEnabled">false</bool>
1411
1412    <!-- Boolean indicating whether to trigger bugreport for WiFi subsystem restart issue -->
1413    <bool translatable="false" name ="config_wifi_subsystem_restart_bugreport_enabled">true</bool>
1414
1415    <!-- Boolean indicating whether to use wifi VoIP detection module to detect VoIP over Wi-FI to
1416         ehance Wi-Fi VoIP quality -->
1417    <bool translatable="false" name="config_wifiVoipDetectionEnabled">false</bool>
1418    <!-- Boolean indicating whether USD publisher is supported. This flag overrides device's USD
1419         publisher support capability if set to false. It is disabled by default since USD publisher
1420         has longer off-channel dwell time (500 milliseconds to 1 sec) and a much longer pause
1421         timeout (60 sec) once it finds a subscriber. -->
1422    <bool translatable="false" name="config_wifiUsdPublisherSupported">false</bool>
1423</resources>
1424