PageRenderTime 48ms CodeModel.GetById 17ms RepoModel.GetById 0ms app.codeStats 0ms

/drivers/net/wireless/tiwlan1251/CUDK/CLI/ticon.c

http://github.com/CyanogenMod/cm-kernel
C | 1267 lines | 1031 code | 149 blank | 87 comment | 19 complexity | 126cb4036a33a8ac806ddc5b9fd35967 MD5 | raw file
Possible License(s): AGPL-1.0, GPL-2.0, LGPL-2.0

Large files files are truncated, but you can click here to view the full file

  1. /*******************************************************************************
  2. **+--------------------------------------------------------------------------+**
  3. **| |**
  4. **| Copyright 1998-2008 Texas Instruments, Inc. - http://www.ti.com/ |**
  5. **| |**
  6. **| Licensed under the Apache License, Version 2.0 (the "License"); |**
  7. **| you may not use this file except in compliance with the License. |**
  8. **| You may obtain a copy of the License at |**
  9. **| |**
  10. **| http://www.apache.org/licenses/LICENSE-2.0 |**
  11. **| |**
  12. **| Unless required by applicable law or agreed to in writing, software |**
  13. **| distributed under the License is distributed on an "AS IS" BASIS, |**
  14. **| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |**
  15. **| See the License for the specific language governing permissions and |**
  16. **| limitations under the License. |**
  17. **| |**
  18. **+--------------------------------------------------------------------------+**
  19. *******************************************************************************/
  20. #include <stdio.h>
  21. #include <stdlib.h>
  22. #ifdef _WINDOWS
  23. #else /* __LINUX__ */
  24. #include <errno.h>
  25. #include <unistd.h>
  26. #include <sys/types.h>
  27. #include <sys/stat.h>
  28. #include <fcntl.h>
  29. #include <sys/ioctl.h>
  30. #include <sys/socket.h>
  31. #include <linux/if.h>
  32. #include <linux/wireless.h>
  33. #include <stdarg.h>
  34. #include <sys/socket.h>
  35. #include <linux/in.h>
  36. #include "ipc.h"
  37. #include "wipp_ctrl.h"
  38. #include "eth_utils.h"
  39. #include "dbg_module.h"
  40. #include "g_tester.h"
  41. #define LINUX_OS_FILES
  42. #endif
  43. #define MAX_CERT_FILE_NAME_LENGTH 32
  44. #define MAX_CERT_PASSWORD_LENGTH 32
  45. #define MAX_CERT_USER_NAME_LENGTH 32
  46. #define MAX_PSK_STRING_LENGTH 64 /* MAX string phrase is 63 chars, but hexa phrase is 64 chars excactly */
  47. #define MIN_PSK_STRING_LENGTH 8 /* MIN string phrase is 8 chars */
  48. #include "paramOut.h"
  49. #include "linux_ioctl_common.h"
  50. #include "tiioctl.h"
  51. #include "console.h"
  52. #include "ticon.h"
  53. #include "cu_cmd.h"
  54. #define WLAN_DEVICE_NAME (_T("TIWLNAPI1"))
  55. #ifdef EXC_MODULE_INCLUDED
  56. #include "TI_AdapterEXC.h"
  57. #endif /*EXC_MODULE_INCLUDED*/
  58. #include "TI_AdapterApiC.h"
  59. #include "TI_IPC_Api.h"
  60. extern void osInitTable(initTable_t *InitTable);
  61. void quit_func(void);
  62. void dummy_func(void);
  63. void init_extended_tools(void);
  64. void deinit_extended_tools(void);
  65. char g_drv_name[IFNAMSIZ + 1];
  66. #ifdef _WINDOWS
  67. #endif /* ifdef _WINDOWS */
  68. #define MAX_HOST_MESSAGE_SIZE (256)
  69. /************************************************************************
  70. * console_printf_terminal *
  71. ************************************************************************
  72. DESCRIPTION: Sends a text message to host
  73. CONTEXT: Any process, the 'p_shared_memory' points
  74. to the shared memory block
  75. ************************************************************************/
  76. int console_printf_terminal(const char *arg_list ,...)
  77. {
  78. #ifndef _WINDOWS /*TRS:WDK slightly different code needed for each OS*/
  79. va_list ap;
  80. tiUINT8 msg[MAX_HOST_MESSAGE_SIZE];
  81. int message_length;
  82. /***********************/
  83. /* Format the message */
  84. /*********************/
  85. va_start(ap, arg_list);
  86. message_length = vsnprintf((char*)&msg[0], sizeof(msg), arg_list, ap);
  87. /*********************************/
  88. /* Send the message to the host */
  89. /*******************************/
  90. return console_send_buffer_to_host(ETHERNET_UTILS_TERMINAL_MODULE_ID, msg, message_length);
  91. #else /* _WINDOWS */
  92. #endif /* _WINDOWS */
  93. }
  94. #ifndef _WINDOWS
  95. #define ETHERNET_PROTOCOL_PREFIX_SIZE (3)
  96. #define MUX_UART_PROTOCOL_PREFIX_SIZE (2)
  97. /************************************************************************
  98. * console_send_buffer_to_host *
  99. ************************************************************************
  100. DESCRIPTION: Sends a text message to host
  101. CONTEXT: Any process, the 'p_shared_memory' points
  102. to the shared memory block
  103. ************************************************************************/
  104. int console_send_buffer_to_host(tiUINT8 module_inedx, tiUINT8 *buffer, tiUINT16 length)
  105. {
  106. tiUINT8 output_path = SHARED_MEMORY_OUTPUT_PATH(module_inedx);
  107. tiUINT8 protocol_header[3];
  108. int return_size, ret;
  109. /*****************/
  110. /* Sanity check */
  111. /***************/
  112. if (output_path == OUTPUT_PATH_ETHERNET)
  113. {
  114. /***********************/
  115. /* Output to ethernet */
  116. /*********************/
  117. /* Prepare the header */
  118. protocol_header[0] = 'W'; /* Ethernet protocol Prefix */
  119. protocol_header[1] = length & 0xFF; /* Message size (first byte) */
  120. protocol_header[2] = (length >> 8) & 0xFF; /* Message size (second byte) */
  121. /* Send the header */
  122. ret = write(SHARED_MEMORY_IPC_PIPE(module_inedx), protocol_header, ETHERNET_PROTOCOL_PREFIX_SIZE);
  123. if( ret <= 0 )
  124. {
  125. printf("\tERROR: %s() returned %d (err=%d)\n\n", __FUNCTION__, ret, errno );
  126. return 0;
  127. }
  128. /* Send the message */
  129. ret = write(SHARED_MEMORY_IPC_PIPE(module_inedx), buffer, length);
  130. if( ret <= 0 )
  131. {
  132. printf("\tERROR1: %s() returned %d (err=%d)\n\n", __FUNCTION__, ret, errno );
  133. return 0;
  134. }
  135. return_size = (ETHERNET_PROTOCOL_PREFIX_SIZE + length);
  136. }
  137. else if (output_path == OUTPUT_PATH_MUX_UART)
  138. {
  139. /***********************/
  140. /* OUTPUT to mux UART */
  141. /*********************/
  142. /* Write the protocol prefix */
  143. protocol_header[0] = (28 << 3);
  144. protocol_header[1] = length;
  145. fwrite(protocol_header, 1, MUX_UART_PROTOCOL_PREFIX_SIZE, stdout);
  146. /* Write the message */
  147. fwrite(buffer, 1, length, stdout);
  148. return_size = (MUX_UART_PROTOCOL_PREFIX_SIZE + length);
  149. }
  150. else
  151. {
  152. /*******************/
  153. /* OUTPUT to UART */
  154. /*****************/
  155. /* Use the original printf function */
  156. return_size = printf("%s", buffer);
  157. }
  158. return return_size;
  159. }
  160. #endif /* __LINUX__ */
  161. #ifdef _WINDOWS
  162. #endif /* WINDOWS */
  163. void dummy_func()
  164. {
  165. console_printf_terminal("1: not implemented yet!!\n");
  166. }
  167. void quit_func(void)
  168. {
  169. consoleStop();
  170. }
  171. int print_usage(char *eeprom_file_name, char *init_file_name, char *firmware_file_name)
  172. {
  173. #ifdef _WINDOWS
  174. #else
  175. fprintf(stderr, "Usage: ./wlan_cu [driver_name] [options]\n");
  176. #endif
  177. fprintf(stderr, " -s <filename> - run script\n");
  178. fprintf(stderr, " -e <filename> - eeprom image file name. Dft=%s\n", eeprom_file_name);
  179. fprintf(stderr, " -i <filename> - init file name. Dft=%s\n", init_file_name);
  180. fprintf(stderr, " -f <filename> - firmware image file name. Dft=%s\n",firmware_file_name);
  181. fprintf(stderr, " -b - bypass supplicant\n");
  182. #ifdef _WINDOWS
  183. #endif /* ifdef _WINDOWS */
  184. return 1;
  185. }
  186. int init_console_menu(void)
  187. {
  188. handle_t h, h1, h2;
  189. /* -------------------------------------------- Driver -------------------------------------------- */
  190. CHK_NULL(h = (handle_t) consoleAddDirExt( (handle_t) NULL, "Driver", "Driver start/stop" ) );
  191. {
  192. ConParm_t aaa[] = { { "start_suppl_manager", CON_PARM_OPTIONAL, 0, 0, 0 }, CON_LAST_PARM };
  193. consoleAddToken(h, "Start", "Start driver", (FuncToken_t) cmd_start_driver, aaa );
  194. }
  195. consoleAddToken(h, "stoP", "Stop driver", (FuncToken_t) cmd_stop_driver, NULL );
  196. consoleAddToken(h, "stAtus", "Print status", (FuncToken_t) cmd_show_status, NULL );
  197. /* -------------------------------------------- Connection -------------------------------------------- */
  198. CHK_NULL(h = (handle_t) consoleAddDirExt( (handle_t) NULL, "Connection", "Connection management" ) );
  199. consoleAddToken(h, "Bssid_list", "Bssid_list", (FuncToken_t) cmd_bssid_list, NULL );
  200. {
  201. ConParm_t aaa[] = { { "ssid", CON_PARM_STRING | CON_PARM_OPTIONAL, 0, 32, 0 },
  202. { "bssid", CON_PARM_STRING | CON_PARM_OPTIONAL, 0, 32, 0 },
  203. CON_LAST_PARM };
  204. consoleAddToken(h, "Connect", "Connect", (FuncToken_t) cmd_connect, aaa );
  205. }
  206. consoleAddToken(h, "Disassociate", "disconnect", (FuncToken_t) cmd_disassociate, NULL );
  207. consoleAddToken(h, "Status", "Print connection status", (FuncToken_t) cmd_show_status, NULL );
  208. consoleAddToken(h, "Full_bssid_list", "Full_bssid_list", (FuncToken_t) cmd_Full_bssid_list, NULL );
  209. consoleAddToken(h, "full_Primary_bssid", "Full_Primary_bssid", (FuncToken_t) cmd_FullPrimaryBbssid, NULL );
  210. /* -------------------------------------------- Management -------------------------------------------- */
  211. CHK_NULL(h = (handle_t) consoleAddDirExt( (handle_t) NULL, "Management", "Station management" ) );
  212. {
  213. ConParm_t aaa[] = { { "ssid", CON_PARM_LINE | CON_PARM_OPTIONAL, 0, 32, 0 }, CON_LAST_PARM };
  214. consoleAddToken(h, "Ssid", "Set prefered SSID", (FuncToken_t) cmd_modify_ssid, aaa );
  215. }
  216. {
  217. ConParm_t aaa[] = { { "channel", /*CON_PARM_RANGE | */CON_PARM_OPTIONAL, 0, 0/*1000*/, 0 }, CON_LAST_PARM };
  218. consoleAddToken(h, "Channel", "Set the channel", (FuncToken_t) cmd_modify_channel, aaa );
  219. }
  220. {
  221. ConParm_t aaa[] = { { "tx rate", CON_PARM_STRING | CON_PARM_OPTIONAL, 0, 32, 0 }, CON_LAST_PARM };
  222. consoleAddToken(h, "Rate", "Get TX data rate in Mbps (1,2,5.5,11,22)", (FuncToken_t) cmd_modify_rate, aaa );
  223. }
  224. {
  225. ConParm_t aaa[] = { { "BSS_type", CON_PARM_OPTIONAL, 0, 0, 0 }, CON_LAST_PARM };
  226. consoleAddToken(h, "Mode", "BSS_type", (FuncToken_t) cmd_modify_bss_type, aaa );
  227. }
  228. {
  229. ConParm_t aaa[] = { { "frag", /*CON_PARM_RANGE | */CON_PARM_OPTIONAL, 0/*256*/, 0/*2346*/, 0 }, CON_LAST_PARM };
  230. consoleAddToken(h, "Frag", "Set the fragmentation threshold <256..2346>", (FuncToken_t) cmd_modify_frag_threshold, aaa );
  231. }
  232. {
  233. ConParm_t aaa[] = { { "rts", CON_PARM_OPTIONAL, 0, 0, 0 }, CON_LAST_PARM };
  234. consoleAddToken(h, "rts", "Set RTS threshold <0..2347>", (FuncToken_t) cmd_modify_rts_threshold, aaa);
  235. }
  236. {
  237. ConParm_t aaa[] = { { "preamble", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 1, 0 }, CON_LAST_PARM };
  238. consoleAddToken(h, "prEamble", "Set preamble type 1=short 0=long", (FuncToken_t) cmd_modify_preamble, aaa );
  239. }
  240. {
  241. ConParm_t aaa[] = { { "slot", CON_PARM_OPTIONAL, 0, 0, 0 }, CON_LAST_PARM };
  242. consoleAddToken(h, "sLot", "Set short slot", (FuncToken_t) cmd_modify_short_slot, aaa );
  243. }
  244. consoleAddToken(h, "Info", "Get Selected BSSID Info", (FuncToken_t) cmd_get_selected_bssid_info, NULL );
  245. consoleAddToken(h, "DriverState", "Get Driver State", (FuncToken_t) cmd_get_driver_state, NULL );
  246. consoleAddToken(h, "siGnal", "Get Current RSSI level", (FuncToken_t) cmd_get_rsii_level, NULL );
  247. consoleAddToken(h, "snr ratiO", "Get Current SNR radio", (FuncToken_t) cmd_get_snr_ratio, NULL );
  248. {
  249. ConParm_t aaa[] = { { "Tx power level", CON_PARM_OPTIONAL, 0, 0, 0 }, CON_LAST_PARM };
  250. consoleAddToken(h, "tX_power_level_table", "Tx power level", (FuncToken_t) cmd_show_tx_power_level_table, aaa );
  251. consoleAddToken(h, "tx_power_dBm_div10", "Tx power level", (FuncToken_t) cmd_tx_power_dbm, aaa );
  252. }
  253. consoleAddToken(h, "arP ip addresses table", "Get ARP IP address table", (FuncToken_t) cmd_get_arpIpTable, NULL);
  254. consoleAddToken(h, "groUp address table", "Get Group address table", (FuncToken_t) cmd_get_GroupAddressTable, NULL);
  255. CHK_NULL(h1 = (handle_t) consoleAddDirExt( (handle_t) h, "802_11d_h", "802_11D_H" ) );
  256. {
  257. ConParm_t aaa[] = { { "802_11_D", CON_PARM_OPTIONAL, 0, 0, 0 }, CON_LAST_PARM };
  258. ConParm_t bbb[] = {
  259. { "min DFS channel", CON_PARM_RANGE, 0, 180, 40 },
  260. { "max DFS channel", CON_PARM_RANGE, 0, 180, 140 },
  261. CON_LAST_PARM};
  262. consoleAddToken(h1, "D_enableDisable", "enableDisable_d", (FuncToken_t) cmd_enableDisable_802_11d, aaa );
  263. consoleAddToken(h1, "H_enableDisable", "enableDisable_h", (FuncToken_t) cmd_enableDisable_802_11h, aaa );
  264. consoleAddToken(h1, "d_Country_2_4Ie", "d_Country_2_4Ie", (FuncToken_t) cmd_d_Country_2_4Ie, aaa );
  265. consoleAddToken(h1, "d_cOuntry_5Ie", "d_Country_5Ie", (FuncToken_t) cmd_d_Country_5Ie, aaa );
  266. consoleAddToken(h1, "dfS_range", "DFS_range", (FuncToken_t) cmd_DFS_range, bbb );
  267. }
  268. /* b-only, g-only, b&g mode, a-only, a&g mode b-plus-mode */
  269. CHK_NULL(h1 = (handle_t) consoleAddDirExt( (handle_t) h, "Antenna", "tx/rx selected antenna" ) );
  270. {
  271. ConParm_t aaa[] = { { "Enable RX diversity", CON_PARM_RANGE, 0, 1, 0 },
  272. { "RX selected antenna", CON_PARM_RANGE, 1, 2, 2 },
  273. { "Enable TX diversity", CON_PARM_RANGE, 0, 1, 0 },
  274. { "TX selected antenna", CON_PARM_RANGE, 1, 2, 2 },
  275. { "Share RX and TX antennas", CON_PARM_RANGE, 0, 1, 1 },
  276. CON_LAST_PARM };
  277. consoleAddToken(h1, "Diversityparams", "Set antenna diversity params", (FuncToken_t) cmd_modify_antenna_diversity, aaa );
  278. }
  279. CHK_NULL(h1 = (handle_t) consoleAddDirExt( (handle_t) h, "beacoN", "Set Beacon Filter Desired State" ) );
  280. {
  281. ConParm_t beaconFilterDesiredState[] = { { "Set Beacon Desired State", CON_PARM_OPTIONAL, 0, 0, 0 },
  282. CON_LAST_PARM };
  283. consoleAddToken(h1, "Set Beacon Filter Desired State","Set Beacon Filter Current State", (FuncToken_t) cmd_Beacon_Filter_Set_Desired_State, beaconFilterDesiredState );
  284. consoleAddToken(h1, "Get Beacon Filter Current State","Get Beacon Filter Current State", (FuncToken_t) cmd_Beacon_Filter_Get_Desired_State, beaconFilterDesiredState );
  285. }
  286. CHK_NULL(h1 = (handle_t) consoleAddDirExt( (handle_t) h, "adVanced", "Advanced params" ) );
  287. {
  288. ConParm_t aaa[] = { { "ext_rates", CON_PARM_OPTIONAL, 0, 0, 0 }, CON_LAST_PARM };
  289. consoleAddToken(h1, "Draft", "Draft", (FuncToken_t) cmd_modify_ext_rates_ie, aaa );
  290. }
  291. {
  292. ConParm_t aaa[] = { { "rates", CON_PARM_OPTIONAL | CON_PARM_LINE, 0, 120, 0 }, CON_LAST_PARM };
  293. consoleAddToken(h1, "Supported rates", "rates", (FuncToken_t) cmd_modify_supported_rates, aaa );
  294. }
  295. {
  296. ConParm_t aaa[] = { { "CtsToSelf", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 1, 0 }, CON_LAST_PARM };
  297. consoleAddToken(h1, "Cts to self", "Enable/Disable CTS to self", (FuncToken_t) cmd_modify_ctsToSelf, aaa );
  298. }
  299. CHK_NULL(h2 = (handle_t) consoleAddDirExt( (handle_t) h1, "rx data Filter", "Rx Data Filter" ) );
  300. consoleAddToken(h2, "Enable", "Enable Rx Data Filtering", (FuncToken_t) cmd_enable_rx_data_filters, NULL );
  301. consoleAddToken(h2, "Disable", "Enable Rx Data Filtering", (FuncToken_t) cmd_disable_rx_data_filters, NULL );
  302. {
  303. ConParm_t aaa[] =
  304. {
  305. { "Offset", CON_PARM_RANGE, 0, 255, 0 },
  306. { "Mask", CON_PARM_STRING, 0, 64, 0 },
  307. { "Pattern", CON_PARM_STRING, 0, 128, 0 },
  308. CON_LAST_PARM
  309. };
  310. consoleAddToken(h2, "Add", "Add Rx Data Filter", (FuncToken_t) cmd_add_rx_data_filter, aaa );
  311. }
  312. {
  313. ConParm_t aaa[] =
  314. {
  315. { "Offset", CON_PARM_RANGE, 0, 255, 0 },
  316. { "Mask", CON_PARM_STRING, 0, 64, 0 },
  317. { "Pattern", CON_PARM_STRING, 0, 128, 0 },
  318. CON_LAST_PARM
  319. };
  320. consoleAddToken(h2, "Remove", "Remove Rx Data Filter", (FuncToken_t) cmd_remove_rx_data_filter, aaa );
  321. }
  322. consoleAddToken(h2, "Statistics", "Print Rx Data Filtering Statistics", (FuncToken_t) cmd_get_rx_data_filters_statistics, NULL );
  323. CHK_NULL(h = (handle_t) consoleAddDirExt( (handle_t) NULL, "Show", "Show params" ) );
  324. consoleAddToken(h, "Statistics", "Show statistics", (FuncToken_t) cmd_show_statistics, NULL );
  325. {
  326. ConParm_t aaa[] = { { "Clear stats on read", CON_PARM_OPTIONAL | CON_PARM_RANGE, 0, 1, 0 }, CON_LAST_PARM };
  327. consoleAddToken(h, "Tx statistics", "Show tx statistics", (FuncToken_t) cmd_show_tx_statistics, aaa );
  328. }
  329. consoleAddToken(h, "Advanced", "Show advanced params", (FuncToken_t) cmd_show_advanced_params, NULL );
  330. consoleAddToken(h, "Power consumption", "Show power consumption statistics", (FuncToken_t) cmd_show_power_consumption_stats, NULL );
  331. /* -------------------------------------------- Privacy -------------------------------------------- */
  332. CHK_NULL(h = (handle_t) consoleAddDirExt( (handle_t) NULL, "Privacy", "Privacy configuration" ) );
  333. {
  334. ConParm_t aaa[] = { { "mode", CON_PARM_OPTIONAL, 0, 0, 0 },CON_LAST_PARM };
  335. consoleAddToken(h, "Authentication", "Set authentication mode",
  336. (FuncToken_t)cmd_privacy_auth, aaa );
  337. }
  338. {
  339. ConParm_t aaa[] = { { "type", CON_PARM_OPTIONAL, 0, 0, 0 }, CON_LAST_PARM };
  340. consoleAddToken(h, "EAP", "Set EAP type", (FuncToken_t)cmd_privacy_eap, aaa );
  341. }
  342. {
  343. ConParm_t aaa[] = { { "type", CON_PARM_OPTIONAL, 0, 0, 0 }, CON_LAST_PARM };
  344. consoleAddToken(h, "encRyption", "Set Encryption type", (FuncToken_t)cmd_privacy_encrypt, aaa);
  345. }
  346. {
  347. ConParm_t aaa[] = { { "type", 0, 0, 0, 0 }, CON_LAST_PARM };
  348. consoleAddToken(h, "Keytype", "Set key type", (FuncToken_t) cmd_privacy_key_type, aaa );
  349. }
  350. {
  351. ConParm_t aaa[] = { { "mode", CON_PARM_OPTIONAL, 0, 0, 0 }, CON_LAST_PARM };
  352. consoleAddToken(h, "Mixedmode", "Set mixed mode", (FuncToken_t) cmd_privacy_mixed_mode, aaa );
  353. }
  354. {
  355. ConParm_t aaa[] = {
  356. { "User:", CON_PARM_STRING, 0, MAX_CERT_USER_NAME_LENGTH, 0 },
  357. { "Password:", CON_PARM_STRING | CON_PARM_OPTIONAL, 0, MAX_CERT_PASSWORD_LENGTH , 0 },
  358. CON_LAST_PARM };
  359. consoleAddToken(h, "Credentials", "Set Credentials ", (FuncToken_t)cmd_privacy_credent, aaa);
  360. }
  361. {
  362. ConParm_t aaa[] =
  363. {
  364. { "Passphrase", CON_PARM_STRING, MIN_PSK_STRING_LENGTH, MAX_PSK_STRING_LENGTH, 0},
  365. { "key type (hex | text) [text]", CON_PARM_OPTIONAL | CON_PARM_STRING, 0, 5, 0},
  366. CON_LAST_PARM
  367. };
  368. consoleAddToken(h, "PSKPassphrase", "Set PSK Passphrase", (FuncToken_t)cmd_privacy_PSKPassphrase, aaa );
  369. }
  370. #ifdef _WINDOWS // TRS:HLC certificate hash for Windows
  371. #else
  372. {
  373. ConParm_t aaa[] = { { "Certificate Name:", CON_PARM_STRING, 0, MAX_CERT_FILE_NAME_LENGTH, 0 },
  374. { "Validate (yes - 1 /no - 0):", CON_PARM_OPTIONAL, 0, 0, 0 }, CON_LAST_PARM };
  375. consoleAddToken(h, "cerTificate", "Set Certificate",(FuncToken_t)cmd_privacy_certificate, aaa);
  376. }
  377. #endif
  378. {
  379. ConParm_t aaa[] = { { "option", CON_PARM_OPTIONAL, 0, 0, 0 }, CON_LAST_PARM };
  380. consoleAddToken(h, "wpa_Options", "Set WPA options", (FuncToken_t)cmd_privacy_wpa_options, aaa );
  381. }
  382. CHK_NULL(h1 = (handle_t) consoleAddDirExt( (handle_t) h, "Wep", "Wep" ) );
  383. {
  384. ConParm_t aaa[] =
  385. {
  386. { "Key Value", CON_PARM_STRING, 0, 64, 0},
  387. { "Tx Key Index", 0, 0, 0, 0 },
  388. { "Default Key (yes - 1 /no - 0)", 0, 0, 0, 0 },
  389. { "key type (hex | text) [hex]", CON_PARM_OPTIONAL | CON_PARM_STRING, 0, 5, 0},
  390. CON_LAST_PARM
  391. };
  392. consoleAddToken(h1, "Add", "Add WEP", (FuncToken_t)cmd_privacy_addkey, aaa );
  393. }
  394. {
  395. ConParm_t aaa[] = { { "Key Index", 0, 0, 0, 0 }, CON_LAST_PARM };
  396. consoleAddToken(h1, "Remove", "Remove WEP", (FuncToken_t)cmd_privacy_removekey, aaa);
  397. }
  398. consoleAddToken(h1, "Get Default Key ID", "Get Default Key ID", (FuncToken_t)cmd_privacy_getdefaultkey, NULL);
  399. #ifdef EXC_MODULE_INCLUDED
  400. add_EXC_menu( h );
  401. #endif/*EXC_MODULE_INCLUDED*/
  402. /* -------------------------------------------- Scan -------------------------------------------- */
  403. CHK_NULL(h = (handle_t) consoleAddDirExt( (handle_t) NULL, "scAn", "Scan Service Configuration" ) );
  404. consoleAddToken(h, "Start", "Start Application Scan", (FuncToken_t) cmd_Scan_Start, NULL );
  405. consoleAddToken(h, "sTop", "Stop Application Scan", (FuncToken_t) cmd_Scan_Stop, NULL );
  406. CHK_NULL(h1 = (handle_t) consoleAddDirExt( (handle_t) h, "configApp", "Configure Application Scan Params" ) );
  407. {
  408. ConParm_t aaa[] = {
  409. { "SSID", CON_PARM_STRING, 0, 33, 0 },
  410. #ifdef TI_DBG /* limitn application scan to normal only in release version */
  411. { "Scan Type", CON_PARM_RANGE, SCAN_TYPE_NORMAL_PASSIVE, SCAN_TYPE_TRIGGERED_ACTIVE, 0 },
  412. #else
  413. { "Scan Type", CON_PARM_RANGE, SCAN_TYPE_NORMAL_PASSIVE, SCAN_TYPE_NORMAL_ACTIVE, 0 },
  414. #endif
  415. { "Band", CON_PARM_RANGE, 0, 1, 0 },
  416. { "Probe Request Number", CON_PARM_RANGE, 0, 255, 0 },
  417. { "Probe Request Rate", CON_PARM_RANGE, 0, DRV_RATE_MASK_54_OFDM, 0 },
  418. #ifdef TI_DBG
  419. { "Tid", CON_PARM_RANGE, 0, 255, 0 },
  420. #endif
  421. { "Number of Channels", CON_PARM_RANGE, 0, 16, 0 },
  422. CON_LAST_PARM };
  423. consoleAddToken(h1, "Global", "Config Global Params", (FuncToken_t) cmd_Scan_app_global_config, aaa );
  424. }
  425. {
  426. ConParm_t aaa[] = {
  427. { "Index", CON_PARM_RANGE, 0, 30, 0 },
  428. { "BSSID (xx:xx:xx:xx:xx:xx)", CON_PARM_STRING, 0, 18, 0 },
  429. { "Max Dwell Time", CON_PARM_RANGE, 0, 100000000, 0 },
  430. { "Min Dwell Time", CON_PARM_RANGE, 0, 100000000, 0 },
  431. { "ET Condition", CON_PARM_RANGE, SCAN_ET_COND_DISABLE, SCAN_ET_COND_ANY_FRAME, 0 },
  432. { "ET Frame Number", CON_PARM_RANGE, 0, 255, 0 },
  433. { "TX power level", CON_PARM_RANGE, 0, MAX_TX_POWER, 0 },
  434. { "Channel Number", CON_PARM_RANGE, 0, 255, 0 },
  435. CON_LAST_PARM };
  436. consoleAddToken(h1, "Channel", "Config Channel Params", (FuncToken_t) cmd_Scan_app_channel_config, aaa );
  437. }
  438. consoleAddToken(h1, "cLear", "Clear All Params", (FuncToken_t) cmd_Scan_app_clear, NULL );
  439. consoleAddToken(h1, "Display", "Display Params", (FuncToken_t) cmd_Scan_app_display, NULL );
  440. CHK_NULL(h1 = (handle_t) consoleAddDirExt( (handle_t) h, "configPolicy", "Configure scan manager scan policy" ) );
  441. {
  442. ConParm_t aaa[] = {
  443. { "Normal scan interval (msec)", CON_PARM_RANGE, 0, 3600000, 5000 },
  444. { "Deteriorating scan interval", CON_PARM_RANGE, 0, 3600000, 3000 },
  445. { "Max Track Failures", CON_PARM_RANGE, 0, 20, 3 },
  446. { "BSS list size", CON_PARM_RANGE, 0, 16, 8 },
  447. { "BSS Number to start discovery", CON_PARM_RANGE, 0, 16, 4 },
  448. { "Number of bands", CON_PARM_RANGE, 0, 2, 1 },
  449. CON_LAST_PARM };
  450. consoleAddToken(h1, "Gloabal", "Set Global policy Params", (FuncToken_t) cmd_Scan_policy_global_config, aaa );
  451. }
  452. CHK_NULL(h2 = (handle_t) consoleAddDirExt( (handle_t) h1, "Band", "Configure band scan policy" ) );
  453. {
  454. ConParm_t aaa[] = {
  455. { "Index", CON_PARM_RANGE, 0, 1, 0 },
  456. { "Band", CON_PARM_RANGE, 0, 1, 0 },
  457. { "RSSI threshold", CON_PARM_RANGE| CON_PARM_SIGN, -100, 0, 0 },
  458. { "Channel number for discovery cycle", CON_PARM_RANGE, 0, 30, 5 },
  459. { "Number of Channels", CON_PARM_RANGE, 0, 30, 0 },
  460. CON_LAST_PARM };
  461. consoleAddToken(h2, "Misc", "Set misc band params", (FuncToken_t) cmd_Scan_band_global_config, aaa );
  462. }
  463. {
  464. ConParm_t aaa[] = {
  465. { "Band Index", CON_PARM_RANGE, 0, 1, 0 },
  466. { "Channel Index", CON_PARM_RANGE, 0, 29, 0 },
  467. { "Channel", CON_PARM_RANGE, 0, 160, 0 },
  468. CON_LAST_PARM };
  469. consoleAddToken(h2, "Channel", "Set Channel params", (FuncToken_t) cmd_Scan_band_channel_config, aaa );
  470. }
  471. {
  472. ConParm_t aaa[] = {
  473. { "Band Index", CON_PARM_RANGE, 0, 1, 0 },
  474. { "Scan Type", CON_PARM_RANGE, 0, 5, 0 },
  475. { "ET event", CON_PARM_RANGE, SCAN_ET_COND_DISABLE, SCAN_ET_COND_ANY_FRAME, SCAN_ET_COND_DISABLE },
  476. { "ET num of frames", CON_PARM_RANGE, 0, 255,0 },
  477. { "Triggering AC", CON_PARM_RANGE, 0, 255, 0 },
  478. { "Scan Duration (SPS)", CON_PARM_RANGE, 0, 100000000, 2000 },
  479. { "Max dwell time", CON_PARM_RANGE, 0, 100000000, 60000 },
  480. { "Min dwell time", CON_PARM_RANGE, 0, 100000000, 30000 },
  481. { "Probe req. number", CON_PARM_RANGE, 0, 255, 2 },
  482. { "Probe req. rate", CON_PARM_RANGE, 0, DRV_RATE_MASK_54_OFDM, 0 },
  483. { "TX power level", CON_PARM_RANGE, 0, MAX_TX_POWER, 0 },
  484. CON_LAST_PARM };
  485. consoleAddToken(h2, "Track", "Set tracking method params", (FuncToken_t) cmd_Scan_band_track_config, aaa );
  486. }
  487. {
  488. ConParm_t aaa[] = {
  489. { "Band Index", CON_PARM_RANGE, 0, 1, 0 },
  490. { "Scan Type", CON_PARM_RANGE, 0, 5, 0 },
  491. { "ET event", CON_PARM_RANGE, SCAN_ET_COND_DISABLE, SCAN_ET_COND_ANY_FRAME, SCAN_ET_COND_DISABLE },
  492. { "ET num of frames", CON_PARM_RANGE, 0, 255,0 },
  493. { "Triggering AC", CON_PARM_RANGE, 0, 255, 0 },
  494. { "Scan Duration (SPS)", CON_PARM_RANGE, 0, 100000000, 2000 },
  495. { "Max dwell time", CON_PARM_RANGE, 0, 100000000, 60000 },
  496. { "Min dwell time", CON_PARM_RANGE, 0, 100000000, 30000 },
  497. { "Probe req. number", CON_PARM_RANGE, 0, 255, 2 },
  498. { "Probe req. rate", CON_PARM_RANGE, 0, DRV_RATE_MASK_54_OFDM, 0 },
  499. { "TX power level", CON_PARM_RANGE, 0, MAX_TX_POWER, 0 },
  500. CON_LAST_PARM };
  501. consoleAddToken(h2, "Discovery", "Set Discovery method params", (FuncToken_t) cmd_Scan_band_discover_config, aaa );
  502. }
  503. {
  504. ConParm_t aaa[] = {
  505. { "Band Index", CON_PARM_RANGE, 0, 1, 0 },
  506. { "Scan Type", CON_PARM_RANGE, 0, 5, 0 },
  507. { "ET event", CON_PARM_RANGE, SCAN_ET_COND_DISABLE, SCAN_ET_COND_ANY_FRAME, SCAN_ET_COND_DISABLE },
  508. { "ET num of frames", CON_PARM_RANGE, 0, 255,0 },
  509. { "Triggering AC", CON_PARM_RANGE, 0, 255, 0 },
  510. { "Scan Duration (SPS)", CON_PARM_RANGE, 0, 100000000, 2000 },
  511. { "Max dwell time", CON_PARM_RANGE, 0, 100000000, 60000 },
  512. { "Min dwell time", CON_PARM_RANGE, 0, 100000000, 30000 },
  513. { "Probe req. number", CON_PARM_RANGE, 0, 255, 2 },
  514. { "Probe req. rate", CON_PARM_RANGE, 0, DRV_RATE_MASK_54_OFDM, 0 },
  515. { "TX power level", CON_PARM_RANGE, 0, MAX_TX_POWER, 0 },
  516. CON_LAST_PARM };
  517. consoleAddToken(h2, "Immediate", "Set Immediate method params", (FuncToken_t) cmd_Scan_band_immed_config, aaa );
  518. }
  519. consoleAddToken(h1, "Display", "Display Policy Params", (FuncToken_t) cmd_Scan_policy_display, NULL );
  520. consoleAddToken(h1, "Clear", "Clear Polciy Params", (FuncToken_t) cmd_Scan_policy_clear, NULL );
  521. consoleAddToken(h1, "Store", "Send policy to scan manager", (FuncToken_t) cmd_Scan_policy_store, NULL );
  522. consoleAddToken(h1, "bsslisT", "Display BSS list", (FuncToken_t) cmd_Scan_get_bss_list, NULL );
  523. /************ ROAMING manager commands - start ********************/
  524. CHK_NULL(h = (handle_t) consoleAddDirExt( (handle_t) NULL, "roaminG", "Roaming Manager configuration" ) );
  525. consoleAddToken(h, "Enable", "Enable Internal Roaming", (FuncToken_t) cmd_Roaming_enable, NULL );
  526. consoleAddToken(h, "Disable", "Disable Internal Roaming", (FuncToken_t) cmd_Roaming_disable, NULL );
  527. {
  528. ConParm_t aaa[] = {
  529. { "Low pass filter time", CON_PARM_DEFVAL, 0, 1440, 30 }, CON_LAST_PARM };
  530. consoleAddToken(h, "Low pass filter", "Time in sec ", (FuncToken_t) cmd_Roaming_lowPassFilter, aaa );
  531. }
  532. {
  533. ConParm_t aaa[] = {
  534. { "Quality threshold", CON_PARM_DEFVAL | CON_PARM_SIGN, -150, 0, -100 }, CON_LAST_PARM };
  535. consoleAddToken(h, "Quality threshold", "Quality indicator", (FuncToken_t) cmd_Roaming_qualityIndicator, aaa );
  536. }
  537. consoleAddToken(h, "Get ", "Get Roaming config params ", (FuncToken_t) cmd_Roaming_getConfParams, NULL );
  538. CHK_NULL(h1 = (handle_t) consoleAddDirExt( (handle_t) h, "Thresholds", "Set Roaming MNGR triggers thresholds" ) );
  539. {
  540. ConParm_t aaa[] = {
  541. { "Tx retry", CON_PARM_DEFVAL, 0, 255, 20 }, CON_LAST_PARM };
  542. consoleAddToken(h1, "Tx retry ", "Consecutive number of TX retries", (FuncToken_t) cmd_Roaming_dataRetryThreshold, aaa );
  543. }
  544. {
  545. ConParm_t aaa[] = {
  546. { "Bss loss", CON_PARM_DEFVAL, 1, 255, 4 }, CON_LAST_PARM };
  547. consoleAddToken(h1, "Bss loss ", "Number of TBTTs", (FuncToken_t) cmd_Roaming_numExpectedTbttForBSSLoss, aaa );
  548. }
  549. {
  550. ConParm_t aaa[] = {
  551. { "tx Rate threshold", CON_PARM_DEFVAL, 0, 54, 2 }, CON_LAST_PARM };
  552. consoleAddToken(h1, "tx Rate threshold ", "TX rate (fallback) threshold", (FuncToken_t) cmd_Roaming_txRateThreshold, aaa );
  553. }
  554. {
  555. ConParm_t aaa[] = {
  556. { "Low rssi threshold", CON_PARM_DEFVAL | CON_PARM_SIGN, -150, 0, -80 }, CON_LAST_PARM };
  557. consoleAddToken(h1, "Low rssi threshold ", "Low RSSI threshold", (FuncToken_t) cmd_Roaming_lowRssiThreshold, aaa );
  558. }
  559. {
  560. ConParm_t aaa[] = {
  561. { "low Snr threshold", CON_PARM_DEFVAL, 0, 255, 10 }, CON_LAST_PARM };
  562. consoleAddToken(h1, "low Snr threshold ", "Low SNR threshold", (FuncToken_t) cmd_Roaming_lowSnrThreshold, aaa );
  563. }
  564. {
  565. ConParm_t aaa[] = {
  566. { "low Quality for scan", CON_PARM_DEFVAL | CON_PARM_SIGN, -150, -40, -85 }, CON_LAST_PARM };
  567. consoleAddToken(h1, "low Quality for scan ", "Increase the background scan", (FuncToken_t) cmd_Roaming_lowQualityForBackgroungScanCondition, aaa );
  568. }
  569. {
  570. ConParm_t aaa[] = {
  571. { "Normal quality for scan", CON_PARM_DEFVAL | CON_PARM_SIGN, -150, -40, -70 }, CON_LAST_PARM };
  572. consoleAddToken(h1, "Normal Quality for scan ", "Reduce the background scan", (FuncToken_t) cmd_Roaming_normalQualityForBackgroungScanCondition, aaa );
  573. }
  574. {
  575. ConParm_t aaa[] = {
  576. { "Rssi filter weight", CON_PARM_DEFVAL, 0, 100, 10 }, CON_LAST_PARM };
  577. consoleAddToken(h1, "rssI filter weight ", "Set weight for the last RSSI value in the AVG calculation", (FuncToken_t) cmd_Roaming_rssiFilterWeight, aaa );
  578. }
  579. {
  580. ConParm_t aaa[] = {
  581. { "Snr filter weight", CON_PARM_DEFVAL, 0, 100, 10 }, CON_LAST_PARM };
  582. consoleAddToken(h1, "snr Filter weight ", "Set weight for the last SNR value in the AVG calculation", (FuncToken_t) cmd_Roaming_snrFilterWeight, aaa );
  583. }
  584. /************ ROAMING manager commands - end ********************/
  585. /* -------------------------------------------- QOS -------------------------------------------- */
  586. CHK_NULL(h = (handle_t) consoleAddDirExt( (handle_t) NULL, "qOs", "Quality of service" ) );
  587. CHK_NULL(h1 = (handle_t) consoleAddDirExt( (handle_t) h, "Upsd", "UPSD Sub-menu" ) );
  588. { ConParm_t TspecParams[] = {
  589. { "UserPriority", CON_PARM_RANGE, 0, 7, 1 },
  590. { "NominalMSDUsize", CON_PARM_RANGE, 1, 2312, 1 },
  591. { "MeanDataRate (Bps units)", CON_PARM_RANGE, 0, 54000000, 0 },
  592. { "MinimumPHYRate (Mbps units)", CON_PARM_RANGE , 0, 54, 0 },
  593. { "SurplusBandwidthAllowance", CON_PARM_RANGE , 0, 7, 0 },
  594. { "UPSD Mode (0 - Legacy, 1 - U-APSD)", CON_PARM_RANGE , 0, 1, 0 },
  595. CON_LAST_PARM };
  596. consoleAddToken(h1, "Add", "Add TSPEC", (FuncToken_t) cmd_add_tspec, TspecParams );
  597. }
  598. {
  599. ConParm_t UPid[] = { { "User priority", CON_PARM_RANGE, 0, 7, 1 }, CON_LAST_PARM };
  600. consoleAddToken(h1, "Get", "Get TSPEC Params", (FuncToken_t) cmd_get_tspec_params, UPid );
  601. }
  602. {
  603. ConParm_t UPid[] = { { "UserPriority", CON_PARM_RANGE, 0, 7, 1 },
  604. { "ReasonCode", CON_PARM_RANGE, 32, 45, 32 }, CON_LAST_PARM };
  605. consoleAddToken(h1, "Delete", "Delete TSPEC", (FuncToken_t) cmd_delete_tspec, UPid );
  606. }
  607. consoleAddToken(h1, "aP params", "Get AP QoS parameters", (FuncToken_t) cmd_get_ap_qos_params, NULL );
  608. consoleAddToken(h1, "ap Capabilities", "Get AP QoS capabilities parameters", (FuncToken_t) cmd_get_ap_qos_capabilities, NULL );
  609. {
  610. ConParm_t ACid[] = { { "AC", CON_PARM_RANGE, 0, 3, 3 }, CON_LAST_PARM };
  611. consoleAddToken(h1, "ac Status", "Get Current AC Status", (FuncToken_t) cmd_get_ac_status, ACid );
  612. }
  613. {
  614. ConParm_t MediumUsageParams[] = {
  615. { "AC", CON_PARM_RANGE, 0, 3, 3 },
  616. { "HighThreshold", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 100, 1 },
  617. { "LowThreshold", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 100, 1 },
  618. CON_LAST_PARM };
  619. consoleAddToken(h1, "Medium usage", "Medium usage threshold", (FuncToken_t) cmd_medium_usage_threshold, MediumUsageParams );
  620. }
  621. {
  622. ConParm_t PhyRateParams[] = {
  623. { "AC", CON_PARM_RANGE, 0, 3, 3 },
  624. { "HighThreshold", CON_PARM_RANGE | CON_PARM_OPTIONAL, 1, 54, 1 },
  625. { "LowThreshold", CON_PARM_RANGE | CON_PARM_OPTIONAL, 1, 54, 1 },
  626. CON_LAST_PARM };
  627. consoleAddToken(h1, "phy Rate", "PHY rate threshold", (FuncToken_t) cmd_phy_rate_threshold, PhyRateParams );
  628. }
  629. consoleAddToken(h1, "dEsired ps mode", "Get desired PS mode", (FuncToken_t) cmd_get_desired_ps_mode, NULL );
  630. CHK_NULL(h1 = (handle_t) consoleAddDirExt( (handle_t) h, "Classifier", "Classifier sub-menu" ) );
  631. {
  632. ConParm_t aaa[] = {{ "con0 Port = ", CON_PARM_RANGE, 0, 65535, 0 },
  633. { "con0 Pri = ", CON_PARM_RANGE, 0, 7, 0 },
  634. { "con1 Port = ", CON_PARM_RANGE, 0, 65535, 0 },
  635. { "con1 Pri = ", CON_PARM_RANGE, 0, 7, 0 },
  636. { "con2 Port = ", CON_PARM_RANGE, 0, 65535, 0 },
  637. { "con2 Pri = ", CON_PARM_RANGE, 0, 7, 0 },
  638. { "con3 Port = ", CON_PARM_RANGE, 0, 65535, 0 },
  639. { "con3 Pri = ", CON_PARM_RANGE, 0, 7, 0 },
  640. { "cons Ip1 = ", CON_PARM_RANGE, 0,255 , 0 },
  641. { "cons Ip2 = ", CON_PARM_RANGE, 0,255 , 0 },
  642. { "cons Ip3 = ", CON_PARM_RANGE, 0,255 , 0 },
  643. { "cons Ip4 = ", CON_PARM_RANGE, 0,255 , 0 },
  644. CON_LAST_PARM };
  645. consoleAddToken(h1, "TxClassifier", "Config Tx Classifier", (FuncToken_t) cmd_config_tx_classifier, aaa );
  646. }
  647. { ConParm_t aaa[] = {
  648. { "Type", CON_PARM_RANGE, DSCP_CLSFR, CLSFR_TYPE_MAX, 0 },
  649. { "D-Tag", CON_PARM_RANGE, CLASSIFIER_DTAG_MIN, CLASSIFIER_DTAG_MAX, CLASSIFIER_DTAG_DEF },
  650. { "Param1", CON_PARM_RANGE, 0, 65535, 0 },
  651. { "Ip1", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 255, 0 },
  652. { "Ip2", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 255, 0 },
  653. { "Ip3", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 255, 0 },
  654. { "Ip4", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 255, 0 },
  655. CON_LAST_PARM };
  656. consoleAddToken(h1, "Insert ", "Insert new classification entry", (FuncToken_t) cmd_insert_clsfr_entry, aaa );
  657. }
  658. { ConParm_t aaa[] = {
  659. { "Type", CON_PARM_RANGE, DSCP_CLSFR, CLSFR_TYPE_MAX, 0 },
  660. { "D-Tag", CON_PARM_RANGE, CLASSIFIER_DTAG_MIN, CLASSIFIER_DTAG_MAX, CLASSIFIER_DTAG_DEF },
  661. { "Param1", CON_PARM_RANGE, 0, 65535, 0 },
  662. { "Ip1", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 255, 0 },
  663. { "Ip2", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 255, 0 },
  664. { "Ip3", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 255, 0 },
  665. { "Ip4", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 255, 0 },
  666. CON_LAST_PARM };
  667. consoleAddToken(h1, "Remove", "Remove classification entry", (FuncToken_t) cmd_remove_clsfr_entry, aaa );
  668. }
  669. {
  670. ConParm_t aaa[] = {
  671. { "acID", CON_PARM_RANGE, 0, 3, 0 },
  672. { "MaxLifeTime", CON_PARM_RANGE , 0, 1024, 0 },
  673. { "Reserved and ignored (ShortMaxRetries)", CON_PARM_RANGE , 0, 255, 0 },
  674. { "Reserved and ignored (LongMaxRetries)", CON_PARM_RANGE , 0, 255, 0 },
  675. { "Reserved and ignored (RxTimeout)", CON_PARM_RANGE , 0, 65535, 0 },
  676. { "Voice delivery Protocol (VO QUEUE ONLY : 0 - None, 1 - PS POLL)", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 1, 0 },
  677. { "PS Delivery Protocol (1 - U-APSD, 2 - Legacy)", CON_PARM_RANGE | CON_PARM_OPTIONAL, 1 /*PS_SCHEME_UPSD_TRIGGER*/, 2/*PS_SCHEME_LEGACY_PSPOLL*/, 2/*PS_SCHEME_LEGACY_PSPOLL*/},
  678. CON_LAST_PARM };
  679. consoleAddToken(h, "QosParams ", "Set QOS Parameters", (FuncToken_t) cmd_set_qos_params, aaa );
  680. }
  681. {
  682. ConParm_t aaa[] = {
  683. { "dtag0_to_ac", CON_PARM_RANGE, 0, 3, 0 },
  684. { "dtag1_to_ac", CON_PARM_RANGE, 0, 3, 0 },
  685. { "dtag2_to_ac", CON_PARM_RANGE, 0, 3, 0 },
  686. { "dtag3_to_ac", CON_PARM_RANGE, 0, 3, 0 },
  687. { "dtag4_to_ac", CON_PARM_RANGE, 0, 3, 0 },
  688. { "dtag5_to_ac", CON_PARM_RANGE, 0, 3, 0 },
  689. { "dtag6_to_ac", CON_PARM_RANGE, 0, 3, 0 },
  690. { "dtag7_to_ac", CON_PARM_RANGE, 0, 3, 0 },
  691. CON_LAST_PARM };
  692. consoleAddToken(h, "Set_dtag2ac_mapping_table ", "Set dtag2ac mapping table", (FuncToken_t) cmd_set_dtag_to_ac_mapping_table, aaa );
  693. }
  694. {
  695. ConParm_t aaa[] = {
  696. { "Enable", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 1, 0 },
  697. { "vadTimerDuration", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 100, 0 },
  698. CON_LAST_PARM };
  699. consoleAddToken(h, "setVad ", "Set VAD", (FuncToken_t) cmd_set_vad, aaa );
  700. }
  701. {
  702. ConParm_t aaa[] = { { "AC", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 3, 3 }, CON_LAST_PARM };
  703. consoleAddToken(h, "Poll AP packets", "Poll Ap Packets", (FuncToken_t) cmd_poll_ap_packets, aaa );
  704. }
  705. {
  706. ConParm_t aaa[] = {
  707. { "PsPoll", CON_PARM_RANGE, 0, 65000, 0 },
  708. { "UPSD", CON_PARM_RANGE , 0, 65000, 0 },
  709. CON_LAST_PARM };
  710. consoleAddToken(h, "Rx TimeOut ", "Rx TimeOut ", (FuncToken_t) cmd_set_rxTimeOut_params, aaa );
  711. }
  712. {
  713. ConParm_t aaa[] = {
  714. { "MaxRxLifeTime", CON_PARM_OPTIONAL|CON_PARM_RANGE, 0, 0xffffffff, 0 },
  715. CON_LAST_PARM };
  716. consoleAddToken(h, "Max Rx Lifetime", "Max Rx Lifetime", (FuncToken_t) cmd_MaxRxLifetime_params, aaa );
  717. }
  718. /* -------------------------------------------- Power Management -------------------------------------------- */
  719. CHK_NULL(h = (handle_t) consoleAddDirExt( (handle_t) NULL, "poWer", "Power Management" ) );
  720. {
  721. /* Set Power Mode Command */
  722. ConParm_t powerModeCmd[] = {
  723. { "PowerMode", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 3, 1 }, /* Min/Max/Def */
  724. CON_LAST_PARM };
  725. consoleAddToken(h, "set_Power_mode", "Set user power mode", (FuncToken_t) cmd_set_power_mode, powerModeCmd );
  726. }
  727. {
  728. /* Set Power Save Power level Command */
  729. ConParm_t powerSavePowerLevelCmd[] = {
  730. { "PowerSavePowerLevel", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 2, 2 }, /* Min/Max/Def */
  731. CON_LAST_PARM };
  732. consoleAddToken(h, "set_powersave_powerLevel", "Set the Power level during PowerSave", (FuncToken_t) cmd_set_PowerSave_PowerLevel, powerSavePowerLevelCmd );
  733. }
  734. {
  735. /* Set default Power level Command */
  736. ConParm_t defaultPowerLevelCmd[] = {
  737. { "DefaultPowerLevel", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 2, 2 }, /* Min/Max/Def */
  738. CON_LAST_PARM };
  739. consoleAddToken(h, "set_deFault_powerlevel", "Set the default power level", (FuncToken_t) cmd_set_Default_PowerLevel, defaultPowerLevelCmd );
  740. }
  741. {
  742. /* Set doze mode in auto power mode */
  743. ConParm_t powerSaveDozeMode[] = {
  744. { "DozeModeInAuto", CON_PARM_RANGE | CON_PARM_OPTIONAL, AUTO_POWER_MODE_DOZE_MODE_MIN_VALUE, AUTO_POWER_MODE_DOZE_MODE_MAX_VALUE, AUTO_POWER_MODE_DOZE_MODE_DEF_VALUE },
  745. CON_LAST_PARM };
  746. consoleAddToken(h, "set_doZe_mode_in_auto", "Set doze mode in auto power mode", (FuncToken_t) cmd_set_DozeModeInAutoPowerLevel, powerSaveDozeMode );
  747. }
  748. {
  749. ConParm_t TrafficIntensityParams[] = {
  750. { "HighThreshold (packets/sec)", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 1000, 100 },
  751. { "LowThreshold (packets/sec)", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 1000, 25 },
  752. { "CheckInterval (ms)", CON_PARM_RANGE | CON_PARM_OPTIONAL, 100, 10000, 1000 },
  753. CON_LAST_PARM };
  754. consoleAddToken(h, "traffic_Thresholds", "Set/Get traffic intensity thresholds", (FuncToken_t) cmd_traffic_intensity_threshold, TrafficIntensityParams );
  755. }
  756. consoleAddToken(h, "eNable", "enable traffic intensity events", (FuncToken_t) cmd_enable_traffic_events, NULL );
  757. consoleAddToken(h, "Disable", "disable traffic intensity events", (FuncToken_t) cmd_disable_traffic_events, NULL );
  758. /* -------------------------------------------- Events -------------------------------------------- */
  759. CHK_NULL(h = (handle_t) consoleAddDirExt( (handle_t) NULL, "eVents", "Events" ) );
  760. {
  761. ConParm_t aaa[] = { { "type", CON_PARM_OPTIONAL, 0, 0, 0 }, CON_LAST_PARM };
  762. consoleAddToken(h, "Register", "IPC events", (FuncToken_t)cmd_events_register, aaa);
  763. }
  764. {
  765. ConParm_t aaa[] = { { "type", CON_PARM_OPTIONAL, 0, 0, 0 }, CON_LAST_PARM };
  766. consoleAddToken(h, "Unregister", "IPC events", (FuncToken_t)cmd_events_unregister, aaa);
  767. }
  768. CHK_NULL(h = (handle_t) consoleAddDirExt( NULL, "File", "restore configuration" ) );
  769. {
  770. ConParm_t aaa[] = { { "filename", CON_PARM_STRING, 0, 128, 0 }, CON_LAST_PARM };
  771. consoleAddToken(h, "Load", "Load profile", (FuncToken_t) cmd_file_load, aaa );
  772. }
  773. CHK_NULL(h = (handle_t) consoleAddDirExt( (handle_t) NULL, "Bt CoExsistance", "BT - Wlan CoExsistance" ) );
  774. {
  775. ConParm_t aaa[] = { { "enable", CON_PARM_RANGE | CON_PARM_OPTIONAL,
  776. SOFT_GEMINI_ENABLED_MIN, SOFT_GEMINI_ENABLED_MAX, 0 }, CON_LAST_PARM };
  777. consoleAddToken(h, "Enable", "Enable BT Coexistense", (FuncToken_t) cmd_bt_coe_enable, aaa );
  778. }
  779. {
  780. ConParm_t aaa[] = { { "rate", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 255, 0 },
  781. { "rate", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 255, 0 },
  782. { "rate", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 255, 0 },
  783. { "rate", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 255, 0 },
  784. { "rate", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 255, 0 },
  785. { "rate", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 255, 0 },
  786. { "rate", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 255, 0 },
  787. { "rate", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 255, 0 },
  788. { "rate", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 255, 0 },
  789. { "rate", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 255, 0 },
  790. { "rate", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 255, 0 },
  791. { "rate", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 255, 0 },
  792. { "rate", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 255, 0 },
  793. CON_LAST_PARM };
  794. consoleAddToken(h, "Rate", "Select Rates", (FuncToken_t) cmd_bt_coe_rate, aaa );
  795. }
  796. {
  797. ConParm_t aaa[] = {
  798. { "wlanRxMinRateToRespectBtHp", CON_PARM_RANGE | CON_PARM_OPTIONAL ,
  799. SOFT_GEMINI_PARAMS_WLAN_RX_MIN_RATE_MIN , SOFT_GEMINI_PARAMS_WLAN_RX_MIN_RATE_MAX, 0 },
  800. { "btHpMaxTime", CON_PARM_RANGE | CON_PARM_OPTIONAL,
  801. SOFT_GEMINI_PARAMS_BT_HP_MAXTIME_MIN, SOFT_GEMINI_PARAMS_BT_HP_MAXTIME_MAX, 0 },
  802. { "wlanHpMaxTime", CON_PARM_RANGE | CON_PARM_OPTIONAL ,
  803. SOFT_GEMINI_PARAMS_WLAN_HP_MAX_TIME_MIN, SOFT_GEMINI_PARAMS_WLAN_HP_MAX_TIME_MAX, 0 },
  804. { "senseDisableTimer", CON_PARM_RANGE | CON_PARM_OPTIONAL ,
  805. SOFT_GEMINI_PARAMS_SENSE_DISABLE_TIMER_MIN, SOFT_GEMINI_PARAMS_SENSE_DISABLE_TIMER_MAX, 0 },
  806. { "protectiveRxTimeBeforeBtHp", CON_PARM_RANGE | CON_PARM_OPTIONAL ,
  807. SOFT_GEMINI_PARAMS_PROTECTIVE_RX_TIME_MIN, SOFT_GEMINI_PARAMS_PROTECTIVE_RX_TIME_MAX, 0 },
  808. { "protectiveTxTimeBeforeBtHp", CON_PARM_RANGE | CON_PARM_OPTIONAL ,
  809. SOFT_GEMINI_PARAMS_PROTECTIVE_TX_TIME_MIN, SOFT_GEMINI_PARAMS_PROTECTIVE_TX_TIME_MAX, 0 },
  810. { "protectiveRxTimeBeforeBtHpFastAp", CON_PARM_RANGE | CON_PARM_OPTIONAL ,
  811. SOFT_GEMINI_PARAMS_PROTECTIVE_RX_TIME_FAST_MIN, SOFT_GEMINI_PARAMS_PROTECTIVE_RX_TIME_FAST_MAX, 0 },
  812. { "protectiveTxTimeBeforeBtHpFastAp", CON_PARM_RANGE | CON_PARM_OPTIONAL ,
  813. SOFT_GEMINI_PARAMS_PROTECTIVE_TX_TIME_FAST_MIN, SOFT_GEMINI_PARAMS_PROTECTIVE_TX_TIME_FAST_MAX, 0 },
  814. { "protectiveWlanCycleTimeForFastAp", CON_PARM_RANGE | CON_PARM_OPTIONAL ,
  815. SOFT_GEMINI_PARAMS_CYCLE_TIME_FAST_MIN, SOFT_GEMINI_PARAMS_CYCLE_TIME_FAST_MAX, 0 },
  816. { "btAntiStarvationPeriod", CON_PARM_RANGE | CON_PARM_OPTIONAL ,
  817. SOFT_GEMINI_PARAMS_ANTI_STARVE_PERIOD_MIN , SOFT_GEMINI_PARAMS_ANTI_STARVE_PERIOD_MAX, 0 },
  818. { "timeoutNextBtLpPacket", CON_PARM_RANGE | CON_PARM_OPTIONAL ,
  819. SOFT_GEMINI_PARAMS_TIMEOUT_NEXT_BT_LP_PACKET_MIN, SOFT_GEMINI_PARAMS_TIMEOUT_NEXT_BT_LP_PACKET_MAX,0 },
  820. { "wakeUpTimeBeforeBeacon", CON_PARM_RANGE | CON_PARM_OPTIONAL ,
  821. SOFT_GEMINI_PARAMS_TIME_BEFORE_BEACON_MIN , SOFT_GEMINI_PARAMS_TIME_BEFORE_BEACON_MAX, 0 },
  822. { "hpdmMaxGuardTime", CON_PARM_RANGE | CON_PARM_OPTIONAL ,
  823. SOFT_GEMINI_PARAMS_HPDM_MAX_TIME_MIN , SOFT_GEMINI_PARAMS_HPDM_MAX_TIME_MAX, 0 },
  824. { "timeoutNextWlanPacket", CON_PARM_RANGE | CON_PARM_OPTIONAL ,
  825. SOFT_GEMINI_PARAMS_TIME_OUT_NEXT_WLAN_MIN , SOFT_GEMINI_PARAMS_TIME_OUT_NEXT_WLAN_MAX, 0 },
  826. { "sgAntennaType", CON_PARM_RANGE | CON_PARM_OPTIONAL ,
  827. SOFT_GEMINI_PARAMS_SG_ANTENNA_TYPE_MIN, SOFT_GEMINI_PARAMS_SG_ANTENNA_TYPE_MAX , 0 },
  828. { "signalingType", CON_PARM_RANGE | CON_PARM_OPTIONAL ,
  829. SOFT_GEMINI_PARAMS_SIGNALING_TYPE_MIN, SOFT_GEMINI_PARAMS_SIGNALING_TYPE_MAX , 0 },
  830. { "afhLeverageOn", CON_PARM_RANGE | CON_PARM_OPTIONAL ,
  831. SOFT_GEMINI_PARAMS_AFH_LEVERAGE_ON_MIN, SOFT_GEMINI_PARAMS_AFH_LEVERAGE_ON_MAX, 0 },
  832. { "numberQuietCycle", CON_PARM_RANGE | CON_PARM_OPTIONAL ,
  833. SOFT_GEMINI_PARAMS_NUMBER_QUIET_CYCLE_MIN, SOFT_GEMINI_PARAMS_NUMBER_QUIET_CYCLE_MAX , 0 },
  834. { "maxNumCts",

Large files files are truncated, but you can click here to view the full file