cfg_mlme_sta.h 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474
  1. /*
  2. * Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
  3. *
  4. * Permission to use, copy, modify, and/or distribute this software for any
  5. * purpose with or without fee is hereby granted, provided that the above
  6. * copyright notice and this permission notice appear in all copies.
  7. *
  8. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  9. * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  10. * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
  11. * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  12. * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  13. * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  14. * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  15. */
  16. /**
  17. * DOC: This file contains configuration definitions for MLME STA.
  18. */
  19. #ifndef CFG_MLME_STA_H__
  20. #define CFG_MLME_STA_H__
  21. #include "wlan_mlme_public_struct.h"
  22. /*
  23. * <ini>
  24. * gStaKeepAlivePeriod - Sends NULL frame to AP periodically in
  25. * seconds to notify STA's existence
  26. * @Min: 0
  27. * @Max: 1000
  28. * @Default: 60
  29. *
  30. * This ini is used to send default NULL frame to AP
  31. *
  32. * Related: None
  33. *
  34. * Supported Feature: STA
  35. *
  36. * Usage: Internal/External
  37. *
  38. * </ini>
  39. */
  40. #define CFG_INFRA_STA_KEEP_ALIVE_PERIOD CFG_INI_UINT( \
  41. "gStaKeepAlivePeriod", \
  42. 0, \
  43. 1000, \
  44. 60, \
  45. CFG_VALUE_OR_DEFAULT, \
  46. "send default NULL frame to AP")
  47. /*
  48. * <ini>
  49. * tgt_gtx_usr_cfg - target gtx user config
  50. * @Min: 0
  51. * @Max: 32
  52. * @Default: 32
  53. *
  54. * This ini is used to set target gtx user config.
  55. *
  56. * Related: None
  57. *
  58. * Usage: Internal/External
  59. *
  60. * </ini>
  61. */
  62. #define CFG_TGT_GTX_USR_CFG CFG_INI_UINT( \
  63. "tgt_gtx_usr_cfg", \
  64. 0, \
  65. 32, \
  66. 32, \
  67. CFG_VALUE_OR_DEFAULT, \
  68. "target gtx user config")
  69. /*
  70. * <ini>
  71. * pmkidModes - Enable PMKID modes
  72. * This INI is used to enable PMKID feature options
  73. * @Min: 0
  74. * @Max: 3
  75. * @Default: 3
  76. *
  77. * Related: None
  78. *
  79. * Supported Feature: Scan
  80. *
  81. * Usage: External
  82. *
  83. * </ini>
  84. */
  85. #define CFG_PMKID_MODES CFG_INI_UINT( \
  86. "pmkidModes", \
  87. 0, \
  88. 3, \
  89. 3, \
  90. CFG_VALUE_OR_DEFAULT, \
  91. "PMKID feature options")
  92. /*
  93. * <ini>
  94. * gIgnorePeerErpInfo - Ignore peer information
  95. * @Min: 0
  96. * @Max: 1
  97. * @Default: 0
  98. *
  99. * This ini is used to ignore default peer info
  100. *
  101. * Related: None
  102. *
  103. * Supported Feature: STA
  104. *
  105. * Usage: Internal/External
  106. *
  107. * </ini>
  108. */
  109. #define CFG_IGNORE_PEER_ERP_INFO CFG_INI_BOOL( \
  110. "gIgnorePeerErpInfo", \
  111. 0, \
  112. "ignore default peer info")
  113. /*
  114. * <ini>
  115. * gStaPrefer80MHzOver160MHz - set sta preference to connect in 80HZ/160HZ
  116. * @Min: 0
  117. * @Max: 1
  118. * @Default: 1
  119. *
  120. * This ini is used to set sta preference to connect in 80HZ/160HZ
  121. *
  122. * 0 - Connects in 160MHz 1x1 when AP is 160MHz 2x2
  123. * 1 - Connects in 80MHz 2x2 when AP is 160MHz 2x2
  124. *
  125. * Related: NA
  126. *
  127. * Supported Feature: 11AC
  128. *
  129. * Usage: External
  130. *
  131. * </ini>
  132. */
  133. #define CFG_STA_PREFER_80MHZ_OVER_160MHZ CFG_INI_BOOL( \
  134. "gStaPrefer80MHzOver160MHz", \
  135. 1, \
  136. "Sta preference to connect in 80HZ/160HZ")
  137. /*
  138. * <ini>
  139. * gEnable5gEBT - Enables/disables 5G early beacon termination. When enabled
  140. * terminate the reception of beacon if the TIM element is
  141. * clear for the power saving
  142. * @Min: 0
  143. * @Max: 1
  144. * @Default: 1
  145. *
  146. * This ini is used to set default 5G early beacon termination
  147. *
  148. * Related: None
  149. *
  150. * Supported Feature: STA
  151. *
  152. * Usage: Internal/External
  153. *
  154. * </ini>
  155. */
  156. #define CFG_PPS_ENABLE_5G_EBT CFG_INI_BOOL( \
  157. "gEnable5gEBT", \
  158. 1, \
  159. "5G early beacon termination")
  160. /*
  161. * <ini>
  162. * gSendDeauthBeforeCon - Send deauth before connection or not
  163. * @Min: 0
  164. * @Max: 1
  165. * @Default: 0
  166. *
  167. * This ini is used to set whether send deauth before connection or
  168. * not. If last disconnection was due to HB failure and we reconnect
  169. * to same AP next time, send deauth before starting connection.
  170. *
  171. * Related: None
  172. *
  173. * Supported Feature: STA
  174. *
  175. * Usage: Internal/External
  176. *
  177. * </ini>
  178. */
  179. #define CFG_ENABLE_DEAUTH_BEFORE_CONNECTION CFG_INI_BOOL( \
  180. "gSendDeauthBeforeCon", \
  181. 0, \
  182. "send deauth before connection")
  183. /*
  184. * <ini>
  185. * CFG_DOT11P_MODE - 802.11p mode
  186. * @Min: CFG_11P_DISABLED
  187. * @Max: CFG_11P_CONCURRENT
  188. * @Default: CFG_11P_DISABLED
  189. *
  190. * This ini used to set 802.11p mode.
  191. *
  192. *
  193. * Usage: Internal/External
  194. *
  195. * </ini>
  196. */
  197. #define CFG_DOT11P_MODE CFG_INI_UINT( \
  198. "gDot11PMode", \
  199. CFG_11P_DISABLED, \
  200. CFG_11P_CONCURRENT, \
  201. CFG_11P_DISABLED, \
  202. CFG_VALUE_OR_DEFAULT, \
  203. "802.11p mode")
  204. /*
  205. * <ini>
  206. * gEnable_go_cts2self_for_sta - Indicate firmware to stop NOA and
  207. * start using cts2self
  208. * @Min: 0
  209. * @Max: 1
  210. * @Default: 0
  211. *
  212. * When gEnable_go_cts2self_for_sta is enabled then if a legacy
  213. * client connects to P2P GO, Host will send a WMI VDEV command
  214. * to FW to stop using NOA for P2P GO
  215. * and start using CTS2SELF.
  216. *
  217. *
  218. * Supported Feature: P2P
  219. *
  220. *
  221. * Usage: Internal/External
  222. *
  223. * </ini>
  224. */
  225. #define CFG_ENABLE_GO_CTS2SELF_FOR_STA CFG_INI_BOOL( \
  226. "gEnable_go_cts2self_for_sta", \
  227. 0, \
  228. "firmware to stop NOA and start using cts2self")
  229. /*
  230. * <ini>
  231. * g_qcn_ie_support - QCN IE support
  232. * @Min: 0 (disabled)
  233. * @Max: 1 (enabled)
  234. * @Default: 1 (enabled)
  235. *
  236. * This config item is used to support QCN IE in probe/assoc/reassoc request
  237. * for STA mode. QCN IE support is not added for SAP mode.
  238. *
  239. * Related: N/A
  240. *
  241. * Supported Feature: N/A
  242. *
  243. * Usage: Internal/External
  244. *
  245. * </ini>
  246. */
  247. #define CFG_QCN_IE_SUPPORT CFG_INI_BOOL( \
  248. "g_qcn_ie_support", \
  249. 1, \
  250. "QCN IE support")
  251. /*
  252. * <ini>
  253. * g_fils_max_chan_guard_time - Set maximum channel guard time(ms)
  254. * @Min: 0
  255. * @Max: 10
  256. * @Default: 0
  257. *
  258. * This ini is used to set maximum channel guard time in milliseconds.
  259. *
  260. * Related: None
  261. *
  262. * Supported Feature: FILS
  263. *
  264. * Usage: External
  265. *
  266. * </ini>
  267. */
  268. #define CFG_FILS_MAX_CHAN_GUARD_TIME CFG_INI_UINT( \
  269. "g_fils_max_chan_guard_time", \
  270. 0, \
  271. 10, \
  272. 0, \
  273. CFG_VALUE_OR_DEFAULT, \
  274. "Set maximum channel guard time")
  275. /*
  276. * <ini>
  277. * force_rsne_override - force rsnie override from user
  278. * @Min: 0
  279. * @Max: 1
  280. * @Default: 0
  281. *
  282. * This ini is used to enable/disable test mode to force rsne override used in
  283. * security enhancement test cases to pass the RSNIE sent by user in
  284. * assoc request.
  285. *
  286. * Related: None
  287. *
  288. * Supported Feature: STA
  289. *
  290. * Usage: internal
  291. *
  292. * </ini>
  293. */
  294. #define CFG_FORCE_RSNE_OVERRIDE CFG_INI_BOOL( \
  295. "force_rsne_override", \
  296. 0, \
  297. "Set obss active dwelltime")
  298. /*
  299. * <ini>
  300. * SingleTIDRC - Set replay counter for all TID's
  301. * @Min: 0 Separate replay counter for all TID
  302. * @Max: 1 Single replay counter for all TID
  303. * @Default: 1
  304. *
  305. * This ini is used to set replay counter for all TID's
  306. *
  307. * Related: None.
  308. *
  309. * Supported Feature: WMM
  310. *
  311. * Usage: Internal/External
  312. *
  313. * </ini>
  314. */
  315. #define CFG_SINGLE_TID_RC CFG_INI_BOOL( \
  316. "SingleTIDRC", \
  317. 1, \
  318. "replay counter for all TID")
  319. /*
  320. * wait_cnf_timeout - Wait assoc cnf timeout
  321. * @Min: 10
  322. * @Max: 3000
  323. * @Default: 1000
  324. *
  325. * This is internal configure for waiting assoc cnf timeout
  326. *
  327. * Related: None
  328. *
  329. * Usage: Internal
  330. *
  331. */
  332. #define CFG_WT_CNF_TIMEOUT CFG_UINT( \
  333. "wait_cnf_timeout", \
  334. 10, \
  335. 3000, \
  336. 1000, \
  337. CFG_VALUE_OR_DEFAULT, \
  338. "Wait confirm timeout")
  339. /*
  340. * <ini>
  341. * gStaMiracastMccRestTimeVal - Rest time when Miracast is running.
  342. * @Min: 100
  343. * @Max: 500
  344. * @Default: 400
  345. *
  346. * This ini is used to set rest time for home channel for Miracast before
  347. * going for scan.
  348. *
  349. * Related: None.
  350. *
  351. * Supported Feature: Concurrency
  352. *
  353. * Usage: Internal/External
  354. *
  355. * </ini>
  356. */
  357. #define CFG_STA_MCAST_MCC_REST_TIME CFG_INI_UINT( \
  358. "gStaMiracastMccRestTimeVal", \
  359. 100, \
  360. 500, \
  361. 400, \
  362. CFG_VALUE_OR_DEFAULT, \
  363. "Rest time when Miracast is running")
  364. /*
  365. * current_rssi - current rssi
  366. * @Min: 0
  367. * @Max: 127
  368. * @Default: 0
  369. *
  370. * This is internal configure for current rssi
  371. *
  372. * Related: None
  373. *
  374. * Usage: Internal
  375. *
  376. */
  377. #define CFG_CURRENT_RSSI CFG_UINT( \
  378. "current_rssi", \
  379. 0, \
  380. 127, \
  381. 0, \
  382. CFG_VALUE_OR_DEFAULT, \
  383. "Current RSSI")
  384. /*
  385. * <ini>
  386. * gAllowTPCfromAP - Support for AP power constraint
  387. * @Min: 0
  388. * @Max: 1
  389. * @Default: 1
  390. *
  391. * This ini controls driver to honor/dishonor power constraint from AP.
  392. *
  393. * Related: None.
  394. *
  395. * Supported Feature: Concurrency
  396. *
  397. * Usage: Internal/External
  398. *
  399. * </ini>
  400. */
  401. #define CFG_TX_POWER_CTRL CFG_INI_BOOL( \
  402. "gAllowTPCfromAP", \
  403. 1, \
  404. "Support for AP power constraint")
  405. /*
  406. * <ini>
  407. * gStaKeepAliveMethod - Which keepalive method to use
  408. * @Min: 0
  409. * @Max: 1
  410. * @Default: 1
  411. *
  412. * This ini determines which keepalive method to use for station interfaces
  413. * 1) Use null data packets
  414. * 2) Use gratuitous ARP packets
  415. *
  416. * Related: gStaKeepAlivePeriod, gApKeepAlivePeriod, gGoKeepAlivePeriod
  417. *
  418. * Supported Feature: STA, Keepalive
  419. *
  420. * Usage: External
  421. *
  422. * </ini>
  423. */
  424. #define CFG_STA_KEEPALIVE_METHOD CFG_INI_INT( \
  425. "gStaKeepAliveMethod", \
  426. MLME_STA_KEEPALIVE_NULL_DATA, \
  427. MLME_STA_KEEPALIVE_COUNT - 1, \
  428. MLME_STA_KEEPALIVE_GRAT_ARP, \
  429. CFG_VALUE_OR_DEFAULT, \
  430. "Which keepalive method to use")
  431. #define CFG_STA_ALL \
  432. CFG(CFG_INFRA_STA_KEEP_ALIVE_PERIOD) \
  433. CFG(CFG_TGT_GTX_USR_CFG) \
  434. CFG(CFG_PMKID_MODES) \
  435. CFG(CFG_IGNORE_PEER_ERP_INFO) \
  436. CFG(CFG_STA_PREFER_80MHZ_OVER_160MHZ) \
  437. CFG(CFG_PPS_ENABLE_5G_EBT) \
  438. CFG(CFG_ENABLE_DEAUTH_BEFORE_CONNECTION) \
  439. CFG(CFG_DOT11P_MODE) \
  440. CFG(CFG_ENABLE_GO_CTS2SELF_FOR_STA) \
  441. CFG(CFG_QCN_IE_SUPPORT) \
  442. CFG(CFG_STA_MCAST_MCC_REST_TIME) \
  443. CFG(CFG_FILS_MAX_CHAN_GUARD_TIME) \
  444. CFG(CFG_FORCE_RSNE_OVERRIDE) \
  445. CFG(CFG_SINGLE_TID_RC) \
  446. CFG(CFG_STA_KEEPALIVE_METHOD) \
  447. CFG(CFG_WT_CNF_TIMEOUT) \
  448. CFG(CFG_CURRENT_RSSI) \
  449. CFG(CFG_TX_POWER_CTRL)
  450. #endif /* CFG_MLME_STA_H__ */