/drivers/net/wireless/tiwlan1251/CUDK/CLI/g_tester.c
C | 1579 lines | 1058 code | 276 blank | 245 comment | 53 complexity | 15179421587f4a47125ec8e2a52e3eef MD5 | raw file
Possible License(s): AGPL-1.0, GPL-2.0, LGPL-2.0
- /*******************************************************************************
- **+--------------------------------------------------------------------------+**
- **| |**
- **| Copyright 1998-2008 Texas Instruments, Inc. - http://www.ti.com/ |**
- **| |**
- **| Licensed under the Apache License, Version 2.0 (the "License"); |**
- **| you may not use this file except in compliance with the License. |**
- **| You may obtain a copy of the License at |**
- **| |**
- **| http://www.apache.org/licenses/LICENSE-2.0 |**
- **| |**
- **| Unless required by applicable law or agreed to in writing, software |**
- **| distributed under the License is distributed on an "AS IS" BASIS, |**
- **| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |**
- **| See the License for the specific language governing permissions and |**
- **| limitations under the License. |**
- **| |**
- **+--------------------------------------------------------------------------+**
- *******************************************************************************/
- /****************************************************************************************************/
- /* */
- /* MODULE: wipp_ctrl.c */
- /* PURPOSE: WIPP Control utilities */
- /* Note: This module is for LINUX compilation only! */
- /* */
- /****************************************************************************************************/
- #include "TI_AdapterApiC.h"
- #include "osDot11.h"
- #include <stdlib.h>
- #include <fcntl.h>
- #include <errno.h>
- #include <sys/stat.h>
- #include <unistd.h>
- #include "g_tester.h"
- #include "console.h"
- #include "cu_cmd.h"
- #include "ticon.h"
- #include "ipc.h"
- #include "paramOut.h"
- /************/
- /* Defines */
- /**********/
- #define G_TESTER_STATUS_OK (0)
- #define G_TESTER_STATUS_ERROR (1)
- #define G_TESTER_GWSI_INIT_NO_ERROR (0x00)
- #define G_TESTER_GWSI_INIT_ERROR_READING_FW_FILE_LENGTH (0x01)
- #define G_TESTER_GWSI_INIT_ERROR_OPENING_FW_FILE (0x02)
- #define G_TESTER_GWSI_INIT_ERROR_READING_EP_FILE_LENGTH (0x03)
- #define G_TESTER_GWSI_INIT_ERROR_OPENING_EP_FILE (0x04)
- #define G_TESTER_GWSI_INIT_ERROR_READING_EP_FILE (0x05)
- #define G_TESTER_GWSI_INIT_ERROR_READING_FW_FILE (0x06)
- #define G_TESTER_GWSI_INIT_ERROR_ALLOCATION_MEMORY (0x07)
- #define G_TESTER_GWSI_GET_INIT_TABLE_NO_ERROR (0x00)
- #define G_TESTER_GWSI_GET_INIT_TABLE_ERROR_NO_FILE_NAME (0x01)
- #define G_TESTER_GWSI_GET_INIT_TABLE_ERROR_WRITING_TO_FILE (0x02)
- #define G_TESTER_GWSI_GET_INIT_TABLE_ERROR_CREATING_FILE (0x03)
- #define G_TESTER_GWSI_GET_INIT_TABLE_ERROR_TABLE_NOT_AVAIL (0x04)
- #define G_TESTER_GWSI_CONFIG_NO_ERROR (0x00)
- #define G_TESTER_GWSI_CONFIG_ERROR_READING_FILE (0x01)
- #define G_TESTER_GWSI_CONFIG_ERROR_ALLOCATING_MEMORY (0x02)
- #define G_TESTER_GWSI_CONFIG_ERROR_GETIING_FILE_SIZE (0x03)
- #define G_TESTER_GWSI_CONFIG_ERROR_OPENING_FILE (0x04)
- extern void quit_func(void);
- void g_tester_process_general_cmd_run_cmd(unsigned char *cmd_buffer);
- void g_tester_process_get_init_table(unsigned char *cmd_buffer);
- void g_tester_send_to_host(tiUINT8 *buffer, tiUINT32 length);
- void g_tester_cmd_status(void);
- void g_tester_bssid_list(void);
- void g_tester_send_received_event(unsigned int cmd_op, tiUINT8 status);
- void g_tester_process_gwsi_init_cmd(unsigned char *cmd_buffer);
- void g_tester_process_gwsi_config_cmd(unsigned char *cmd_buffer);
- void g_tester_process_gwsi_release_cmd(unsigned char *cmd_buffer);
- void g_tester_process_gwsi_cmd(unsigned char *cmd_buffer);
- void g_tester_register_event(tiUINT16 event_mask);
- void g_tester_unregister_event(tiUINT16 event_mask);
- void g_tester_cmd_debug_driver_print(unsigned char *cmd_buffer);
- void g_tester_cmd_get_version(void);
- void g_tester_set_rate(tiUINT8 rate_index);
- void g_tester_wep_add_key(unsigned char *cmd_buffer);
- int g_tester_gwsi_event_handler(IPC_EV_DATA* pData);
- void g_tester_cmd_plt_register_read(UINT32 uiRegAddress);
- void g_tester_cmd_plt_RxPer_GetResults(void);
- void g_tester_cmd_plt_mib_read(unsigned char *cmd_buffer);
- void g_tester_cmd_plt_mib_write(unsigned char *cmd_buffer);
- void g_tester_cmd_get_defaultWEPKey(void);
- void g_tester_Roaming_candidates_list(void);
- void g_tester_scAn__configApp__Display(void);
- void g_tester_plt_calibration_get_nvs_buffer(void);
- TI_HANDLE gwsi_event_id;
- /************************************************************************
- * g_tester_send_to_host *
- ************************************************************************
- DESCRIPTION:
- CONTEXT :
- ************************************************************************/
- void g_tester_send_to_host(tiUINT8 *buffer, tiUINT32 length)
- {
- /* console_printf_terminal("g_tester, g_tester_send_to_host (length = %d)!\n", length); */
-
- /* Send the buffer to the host */
- console_send_buffer_to_host(ETHERNET_UTILS_G_TESTER_MODULE_ID, buffer, length);
- }
- /************************************************************************
- * g_tester_init *
- ************************************************************************
- DESCRIPTION:
- CONTEXT :
- ************************************************************************/
- void g_tester_init()
- {
- /************************************/
- /* Register the GWSI event handler */
- /**********************************/
-
- IPC_EVENT_PARAMS pEvent;
-
-
- pEvent.uEventType = IPC_EVENT_GWSI;
- pEvent.uDeliveryType = DELIVERY_PUSH;
- pEvent.pfEventCallback = g_tester_gwsi_event_handler;
- pEvent.hUserParam = 0;
-
- /* Register the event, set the pEvent.uEventID and the pEvent.uProcessID */
- if(!TI_RegisterEvent(g_id_adapter, &pEvent))
- {
- gwsi_event_id = pEvent.uEventID;
- }
- else
- {
- console_printf_terminal("g_tester, g_tester_init. ERROR Registering GWSI event\n");
- }
-
- }
- /************************************************************************
- * g_tester_deinit *
- ************************************************************************
- DESCRIPTION:
- CONTEXT :
- ************************************************************************/
- void g_tester_deinit()
- {
- /**************************************/
- /* Unregister the GWSI event handler */
- /************************************/
-
- IPC_EVENT_PARAMS pEvent;
-
- pEvent.uEventType = IPC_EVENT_GWSI;
- pEvent.uEventID = gwsi_event_id;
- TI_UnRegisterEvent(g_id_adapter, &pEvent);
- }
- /************************************************************************
- * wipp_control_check_command *
- ************************************************************************
- DESCRIPTION: Handle the wipp control specific commands
- CONTEXT : main process only!
- ************************************************************************/
- unsigned char g_tester_check_command(unsigned char *input_string)
- {
- unsigned char return_value = FALSE;
- unsigned int cmd_op;
- /*ConParm_t parm;*/
- ConParm_t parms[12];
- int parms_num;
- unsigned char* data_string = input_string + 5;
-
- if (input_string[0] == '-')
- {
- /* Get the command opcode */
- cmd_op = (input_string[1] | (input_string[2] << 8));
-
- console_printf_terminal("g_tester, g_tester_check_command (OpCode = 0x%x).\n", cmd_op);
-
- /* Notify the host that we got the event */
- g_tester_send_received_event(cmd_op, G_TESTER_STATUS_OK);
-
- if (G_TESTER_IS_GENERAL_GROUP_CMD(cmd_op))
- {
- /************************************/
- /* This command is GENERAL command */
- /**********************************/
-
- switch (cmd_op)
- {
- case G_TESTER_GENERAL_CMD_RUN_CMD:
- g_tester_process_general_cmd_run_cmd(data_string);
- break;
-
- case G_TESTER_GENERAL_CMD_GET_INIT_T:
- g_tester_process_get_init_table(data_string);
- break;
-
- default:
- console_printf_terminal("g_tester (general switch) - unsupported command!\n");
- break;
- }
- }
- else if (G_TESTER_IS_GWSI_GROUP_CMD(cmd_op))
- {
- /*********************************/
- /* This command is GWSI command */
- /*******************************/
-
- switch (cmd_op)
- {
- case G_TESTER_GWSI_CMD_INITIALIZE:
- g_tester_process_gwsi_init_cmd(data_string);
- break;
-
- case G_TESTER_GWSI_CMD_CONFIG:
- g_tester_process_gwsi_config_cmd(data_string);
- break;
-
- case G_TESTER_GWSI_CMD_RELEASE:
- g_tester_process_gwsi_release_cmd(data_string);
- break;
-
- default:
- g_tester_process_gwsi_cmd(&input_string[1]);
- break;
- }
- }
- else
- {
- /********************************/
- /* This command is CLI command */
- /******************************/
- switch(cmd_op)
- {
- case G_TESTER_CLI_CMD_DRIVER__START:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_start_driver(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_DRIVER__STOP:
- cmd_stop_driver(NULL, 0);
- break;
-
- case G_TESTER_CLI_CMD_DRIVER__STATUS:
- g_tester_cmd_status();
- break;
-
- case G_TESTER_CLI_CMD_CONNECTION__BSSID_LIST:
- g_tester_bssid_list();
- break;
-
- case G_TESTER_CLI_CMD_CONNECTION__CONNECT:
- parms[0].value = (U32)(data_string);
- data_string += 32; /*Seek to the end of the string */
- parms[1].value = (U32)(data_string);
- /*Find the number of none empty strings */
- for(parms_num = 2; (parms_num >= 1) && (strlen((char*)parms[parms_num-1].value) == 0); parms_num--)
- {
- }
- cmd_connect(parms, parms_num);
- break;
-
- case G_TESTER_CLI_CMD_CONNECTION__DISASSOCIATE:
- cmd_disassociate(NULL, 0);
- break;
-
- case G_TESTER_CLI_CMD_CONNECTION__STATUS:
- g_tester_cmd_status();
- break;
-
- case G_TESTER_CLI_CMD_CONNECTION__FULL_BSSID_LIST:
- cmd_Full_bssid_list(NULL, 0);
- break;
-
- case G_TESTER_CLI_CMD_MANAGEMENT__SSID:
- parms[0].value = (U32)(data_string);
- parms_num =(strlen((char*)parms[0].value) == 0)?0:1;
- cmd_modify_ssid(parms, parms_num);
- break;
-
- case G_TESTER_CLI_CMD_MANAGEMENT__CHANNEL:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_modify_channel(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_MANAGEMENT__RATE:
- g_tester_set_rate(input_string[5]);
- break;
-
- case G_TESTER_CLI_CMD_MANAGEMENT__MODE:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_modify_bss_type(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_MANAGEMENT__FRAG:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_modify_frag_threshold(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_MANAGEMENT__RTS:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_modify_rts_threshold(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_MANAGEMENT__PREAMBLE:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_modify_preamble(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_MANAGEMENT__SLOT:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_modify_short_slot(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_MANAGEMENT__INFO:
- cmd_get_selected_bssid_info(NULL, 0);
- break;
-
- case G_TESTER_CLI_CMD_MANAGEMENT__DRIVERSTATE:
- cmd_get_driver_state(NULL, 0);
- break;
-
- case G_TESTER_CLI_CMD_MANAGEMENT__SIGNAL:
- cmd_get_rsii_level(NULL, 0);
- break;
-
- case G_TESTER_CLI_CMD_MANAGEMENT__TX_POWER_LEVEL:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_show_tx_power_level_table(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_MANAGEMENT__TX_POWER_DBM:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_tx_power_dbm(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_MANAGEMENT__802_11D_H__D_ENABLEDISABLE:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_enableDisable_802_11d(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_MANAGEMENT__802_11D_H__H_ENABLEDISABLE:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_enableDisable_802_11h(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_MANAGEMENT__802_11D_H__D_COUNTRY_2_4IE:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_d_Country_2_4Ie(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_MANAGEMENT__802_11D_H__D_COUNTRY_5IE:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_d_Country_5Ie(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_MANAGEMENT__ANTENNA__DIVERSITYPARAMS:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- P_BUFFER_GET_UINT32(data_string, parms[1].value);
- P_BUFFER_GET_UINT32(data_string, parms[2].value);
- P_BUFFER_GET_UINT32(data_string, parms[3].value);
- P_BUFFER_GET_UINT32(data_string, parms[4].value);
- cmd_modify_antenna_diversity(parms, 5);
- break;
-
- case G_TESTER_CLI_CMD_MANAGEMENT__BEACON__SET_BEACON_FILTER_MODE:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_Beacon_Filter_Set_Desired_State(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_MANAGEMENT__ADVANCED__DRAFT:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_modify_ext_rates_ie(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_MANAGEMENT__ADVANCED__SUPPORTED_RATES:
- parms[0].value = (U32)(data_string);
- parms_num =(strlen((char*)parms[0].value) == 0)?0:1;
- cmd_modify_supported_rates(parms, parms_num);
- break;
-
- case G_TESTER_CLI_CMD_SHOW__STATISTICS:
- cmd_show_statistics(NULL, 0);
- break;
-
- case G_TESTER_CLI_CMD_SHOW__TX_STATISTICS:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_show_tx_statistics(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_SHOW__ADVANCED:
- cmd_show_advanced_params(NULL, 0);
- break;
-
- case G_TESTER_CLI_CMD_PRIVACY__AUTHENTICATION:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_privacy_auth(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_PRIVACY__EAP:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_privacy_eap(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_PRIVACY__ENCRYPTION:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_privacy_encrypt(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_PRIVACY__KEYTYPE:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_privacy_key_type(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_PRIVACY__MIXEDMODE:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_privacy_mixed_mode(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_PRIVACY__CREDENTIALS:
- parms[0].value = (U32)(data_string);
- data_string += 32; /*Seek to the end of the string */
- parms[1].value = (U32)(data_string);
- /*Find the number of none empty strings */
- for(parms_num = 2; (parms_num >= 1) && (strlen((char*)parms[parms_num-1].value) == 0); parms_num--)
- {
- }
- cmd_privacy_credent(parms, parms_num);
- break;
-
- case G_TESTER_CLI_CMD_PRIVACY__PSKPASSPHRASE:
- parms[0].value = (U32)(data_string);
- parms_num =(strlen((char*)parms[0].value) == 0)?0:1;
- cmd_privacy_PSKPassphrase(parms, parms_num);
- break;
-
- case G_TESTER_CLI_CMD_PRIVACY__CERTIFICATE:
- parms[0].value = (U32)(data_string);
- data_string += 32; /*Seek top the end of the string */
- P_BUFFER_GET_UINT32(data_string, parms[1].value);
- cmd_privacy_certificate(parms, 2);
- break;
-
- case G_TESTER_CLI_CMD_PRIVACY__WPA_OPTIONS:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_privacy_wpa_options(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_PRIVACY__WEP__ADD:
- g_tester_wep_add_key(data_string);
- break;
-
- case G_TESTER_CLI_CMD_PRIVACY__WEP__REMOVE:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_privacy_removekey(parms, 1);
- break;
-
- #ifdef EXC_MODULE_INCLUDED
- case G_TESTER_CLI_CMD_PRIVACY__EXC__CONFIGURE:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_privacy_exc_config(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_PRIVACY__EXC__NETWORKEAP:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_privacy_exc_netEap(parms, 1);
- break;
- #endif
- case G_TESTER_CLI_CMD_SCAN__START:
- cmd_Scan_Start(NULL, 0);
- break;
-
- case G_TESTER_CLI_CMD_SCAN__STOP:
- cmd_Scan_Stop(NULL, 0);
- break;
-
- case G_TESTER_CLI_CMD_SCAN__CONFIGAPP__GLOBAL:
- {
- int numOfParam;
- parms[0].value = (U32)(data_string); /*SSID*/
- data_string+=33; /*seek the end of the string */
- P_BUFFER_GET_UINT32(data_string, parms[1].value); /*Scan Type*/
- P_BUFFER_GET_UINT32(data_string, parms[2].value); /*Band*/
- P_BUFFER_GET_UINT32(data_string, parms[3].value); /*Probe Request Number*/
- P_BUFFER_GET_UINT32(data_string, parms[4].value); /*Probe Request Rate*/
- #ifdef TI_DBG
- numOfParam = 7;
- P_BUFFER_GET_UINT32(data_string, parms[5].value); /*Tid*/
- P_BUFFER_GET_UINT32(data_string, parms[6].value); /*Number of Channels*/
- #else
- numOfParam = 6;
- P_BUFFER_GET_UINT32(data_string, parms[5].value); /* skip XML Tid*/
- P_BUFFER_GET_UINT32(data_string, parms[5].value); /*Number of Channels*/
- #endif
- cmd_Scan_app_global_config(parms, numOfParam);
- }
- cmd_Scan_app_global_config(parms, 6);
- break;
-
- case G_TESTER_CLI_CMD_SCAN__CONFIGAPP__CHANNEL:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- parms[1].value = (U32)(data_string);
- data_string += 18; /*seek the end of the string */
- P_BUFFER_GET_UINT32(data_string, parms[2].value);
- P_BUFFER_GET_UINT32(data_string, parms[3].value);
- P_BUFFER_GET_UINT32(data_string, parms[4].value);
- P_BUFFER_GET_UINT32(data_string, parms[5].value);
- P_BUFFER_GET_UINT32(data_string, parms[6].value);
- P_BUFFER_GET_UINT32(data_string, parms[7].value);
- cmd_Scan_app_channel_config(parms, 8);
- break;
-
- case G_TESTER_CLI_CMD_SCAN__CONFIGAPP__CLEAR:
- cmd_Scan_app_clear(NULL, 0);
- break;
-
- case G_TESTER_CLI_CMD_SCAN__CONFIGAPP__DISPLAY:
- cmd_Scan_app_display(NULL, 0);
- break;
-
- case G_TESTER_CLI_CMD_SCAN__CONFIGPOLICY__GLOABAL:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- P_BUFFER_GET_UINT32(data_string, parms[1].value);
- P_BUFFER_GET_UINT32(data_string, parms[2].value);
- P_BUFFER_GET_UINT32(data_string, parms[3].value);
- P_BUFFER_GET_UINT32(data_string, parms[4].value);
- P_BUFFER_GET_UINT32(data_string, parms[5].value);
- cmd_Scan_policy_global_config(parms, 6);
- break;
-
- case G_TESTER_CLI_CMD_SCAN__CONFIGPOLICY__BAND__MISC:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- P_BUFFER_GET_UINT32(data_string, parms[1].value);
- P_BUFFER_GET_UINT32(data_string, parms[2].value);
- P_BUFFER_GET_UINT32(data_string, parms[3].value);
- P_BUFFER_GET_UINT32(data_string, parms[4].value);
- cmd_Scan_band_global_config(parms, 5);
- break;
-
- case G_TESTER_CLI_CMD_SCAN__CONFIGPOLICY__BAND__CHANNEL:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- P_BUFFER_GET_UINT32(data_string, parms[1].value);
- P_BUFFER_GET_UINT32(data_string, parms[2].value);
- cmd_Scan_band_channel_config(parms, 3);
- break;
-
- case G_TESTER_CLI_CMD_SCAN__CONFIGPOLICY__BAND__TRACK:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- P_BUFFER_GET_UINT32(data_string, parms[1].value);
- P_BUFFER_GET_UINT32(data_string, parms[2].value);
- P_BUFFER_GET_UINT32(data_string, parms[3].value);
- P_BUFFER_GET_UINT32(data_string, parms[4].value);
- P_BUFFER_GET_UINT32(data_string, parms[5].value);
- P_BUFFER_GET_UINT32(data_string, parms[6].value);
- P_BUFFER_GET_UINT32(data_string, parms[7].value);
- P_BUFFER_GET_UINT32(data_string, parms[8].value);
- P_BUFFER_GET_UINT32(data_string, parms[9].value);
- P_BUFFER_GET_UINT32(data_string, parms[10].value);
- cmd_Scan_band_track_config(parms, 11);
- break;
-
- case G_TESTER_CLI_CMD_SCAN__CONFIGPOLICY__BAND__DISCOVERY:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- P_BUFFER_GET_UINT32(data_string, parms[1].value);
- P_BUFFER_GET_UINT32(data_string, parms[2].value);
- P_BUFFER_GET_UINT32(data_string, parms[3].value);
- P_BUFFER_GET_UINT32(data_string, parms[4].value);
- P_BUFFER_GET_UINT32(data_string, parms[5].value);
- P_BUFFER_GET_UINT32(data_string, parms[6].value);
- P_BUFFER_GET_UINT32(data_string, parms[7].value);
- P_BUFFER_GET_UINT32(data_string, parms[8].value);
- P_BUFFER_GET_UINT32(data_string, parms[9].value);
- P_BUFFER_GET_UINT32(data_string, parms[10].value);
- cmd_Scan_band_discover_config(parms, 11);
- break;
-
- case G_TESTER_CLI_CMD_SCAN__CONFIGPOLICY__BAND__IMMEDIATE:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- P_BUFFER_GET_UINT32(data_string, parms[1].value);
- P_BUFFER_GET_UINT32(data_string, parms[2].value);
- P_BUFFER_GET_UINT32(data_string, parms[3].value);
- P_BUFFER_GET_UINT32(data_string, parms[4].value);
- P_BUFFER_GET_UINT32(data_string, parms[5].value);
- P_BUFFER_GET_UINT32(data_string, parms[6].value);
- P_BUFFER_GET_UINT32(data_string, parms[7].value);
- P_BUFFER_GET_UINT32(data_string, parms[8].value);
- P_BUFFER_GET_UINT32(data_string, parms[9].value);
- P_BUFFER_GET_UINT32(data_string, parms[10].value);
- cmd_Scan_band_immed_config(parms, 11);
- break;
-
- case G_TESTER_CLI_CMD_SCAN__CONFIGPOLICY__DISPLAY:
- cmd_Scan_policy_display(NULL, 0);
- break;
-
- case G_TESTER_CLI_CMD_SCAN__CONFIGPOLICY__CLEAR:
- cmd_Scan_policy_clear(NULL, 0);
- break;
-
- case G_TESTER_CLI_CMD_SCAN__CONFIGPOLICY__STORE:
- cmd_Scan_policy_store(NULL, 0);
- break;
-
- case G_TESTER_CLI_CMD_SCAN__CONFIGPOLICY__BSSLIST:
- g_tester_Roaming_candidates_list();
- break;
-
- case G_TESTER_CLI_CMD_ROAMING__ENABLE:
- if (input_string[5] == FALSE)
- {
- cmd_Roaming_disable(NULL, 0);
- }
- else
- {
- cmd_Roaming_enable(NULL, 0);
- }
- break;
-
- case G_TESTER_CLI_CMD_ROAMING__LOW_PASS_FILTER:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_Roaming_lowPassFilter(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_ROAMING__QUALITY_THRESHOLD:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_Roaming_qualityIndicator(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_ROAMING__GET:
- cmd_Roaming_getConfParams(NULL, 0);
- break;
-
- case G_TESTER_CLI_CMD_ROAMING__THRESHOLDS__TX_RETRY:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_Roaming_dataRetryThreshold(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_ROAMING__THRESHOLDS__BSS_LOSS:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_Roaming_numExpectedTbttForBSSLoss(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_ROAMING__THRESHOLDS__TX_RATE_THRESHOLD:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_Roaming_txRateThreshold(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_ROAMING__THRESHOLDS__LOW_RSSI_THRESHOLD:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_Roaming_lowRssiThreshold(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_ROAMING__THRESHOLDS__LOW_SNR_THRESHOLD:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_Roaming_lowSnrThreshold(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_ROAMING__THRESHOLDS__LOW_QUALITY_FOR_SCAN:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_Roaming_lowQualityForBackgroungScanCondition(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_ROAMING__THRESHOLDS__NORMAL_QUALITY_FOR_SCAN:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_Roaming_normalQualityForBackgroungScanCondition(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_QOS__UPSD__ADD:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- P_BUFFER_GET_UINT32(data_string, parms[1].value);
- P_BUFFER_GET_UINT32(data_string, parms[2].value);
- P_BUFFER_GET_UINT32(data_string, parms[3].value);
- P_BUFFER_GET_UINT32(data_string, parms[4].value);
- P_BUFFER_GET_UINT32(data_string, parms[5].value);
- cmd_add_tspec(parms, 6);
- break;
-
- case G_TESTER_CLI_CMD_QOS__UPSD__GET:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_get_tspec_params(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_QOS__UPSD__DELETE:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- P_BUFFER_GET_UINT32(data_string, parms[1].value);
- cmd_delete_tspec(parms, 2);
- break;
-
- case G_TESTER_CLI_CMD_QOS__UPSD__AP_PARAMS:
- cmd_get_ap_qos_params(NULL, 0);
- break;
-
- case G_TESTER_CLI_CMD_QOS__UPSD__AP_CAPABILITIES:
- cmd_get_ap_qos_capabilities(NULL, 0);
- break;
-
- case G_TESTER_CLI_CMD_QOS__UPSD__AC_STATUS:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_get_ac_status(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_QOS__UPSD__MEDIUM_USAGE:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- P_BUFFER_GET_UINT32(data_string, parms[1].value);
- P_BUFFER_GET_UINT32(data_string, parms[2].value);
- cmd_medium_usage_threshold(parms, 3);
- break;
-
- case G_TESTER_CLI_CMD_QOS__UPSD__PHY_RATE:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- P_BUFFER_GET_UINT32(data_string, parms[1].value);
- P_BUFFER_GET_UINT32(data_string, parms[2].value);
- cmd_phy_rate_threshold(parms, 3);
- break;
-
- case G_TESTER_CLI_CMD_QOS__UPSD__DESIRED_PS_MODE:
- cmd_get_desired_ps_mode(NULL, 0);
- break;
-
- case G_TESTER_CLI_CMD_QOS__CLASSIFIER__TXCLASSIFIER:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- P_BUFFER_GET_UINT32(data_string, parms[1].value);
- P_BUFFER_GET_UINT32(data_string, parms[2].value);
- P_BUFFER_GET_UINT32(data_string, parms[3].value);
- P_BUFFER_GET_UINT32(data_string, parms[4].value);
- P_BUFFER_GET_UINT32(data_string, parms[5].value);
- P_BUFFER_GET_UINT32(data_string, parms[6].value);
- P_BUFFER_GET_UINT32(data_string, parms[7].value);
- P_BUFFER_GET_UINT32(data_string, parms[8].value);
- P_BUFFER_GET_UINT32(data_string, parms[9].value);
- P_BUFFER_GET_UINT32(data_string, parms[10].value);
- P_BUFFER_GET_UINT32(data_string, parms[11].value);
- cmd_config_tx_classifier(parms, 12);
- break;
-
- case G_TESTER_CLI_CMD_QOS__CLASSIFIER__INSERT:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- P_BUFFER_GET_UINT32(data_string, parms[1].value);
- P_BUFFER_GET_UINT32(data_string, parms[2].value);
- P_BUFFER_GET_UINT32(data_string, parms[3].value);
- P_BUFFER_GET_UINT32(data_string, parms[4].value);
- P_BUFFER_GET_UINT32(data_string, parms[5].value);
- P_BUFFER_GET_UINT32(data_string, parms[6].value);
- cmd_insert_clsfr_entry(parms, 7);
- break;
-
- case G_TESTER_CLI_CMD_QOS__CLASSIFIER__REMOVE:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- P_BUFFER_GET_UINT32(data_string, parms[1].value);
- P_BUFFER_GET_UINT32(data_string, parms[2].value);
- P_BUFFER_GET_UINT32(data_string, parms[3].value);
- P_BUFFER_GET_UINT32(data_string, parms[4].value);
- P_BUFFER_GET_UINT32(data_string, parms[5].value);
- P_BUFFER_GET_UINT32(data_string, parms[6].value);
- cmd_remove_clsfr_entry(parms, 7);
- break;
-
- case G_TESTER_CLI_CMD_QOS__QOSPARAMS:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- P_BUFFER_GET_UINT32(data_string, parms[1].value);
- P_BUFFER_GET_UINT32(data_string, parms[2].value);
- P_BUFFER_GET_UINT32(data_string, parms[3].value);
- cmd_set_qos_params(parms, 4);
- break;
-
- case G_TESTER_CLI_CMD_QOS__POLL_AP_PACKETS:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_poll_ap_packets(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_QOS__RX_TIMEOUT:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- P_BUFFER_GET_UINT32(data_string, parms[1].value);
- cmd_set_rxTimeOut_params(parms, 2);
- break;
-
- case G_TESTER_CLI_CMD_POWER__SET_POWER_MODE:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_set_power_mode(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_POWER__SET_POWERSAVE_POWERLEVEL:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_set_PowerSave_PowerLevel(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_POWER__TRAFFIC_THRESHOLDS:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- P_BUFFER_GET_UINT32(data_string, parms[1].value);
- P_BUFFER_GET_UINT32(data_string, parms[2].value);
- cmd_traffic_intensity_threshold(parms, 3);
- break;
-
- case G_TESTER_CLI_CMD_POWER__ENABLE:
- cmd_enable_traffic_events(NULL, 0);
- break;
-
- case G_TESTER_CLI_CMD_POWER__DISABLE:
- cmd_disable_traffic_events(NULL, 0);
- break;
-
- case G_TESTER_CLI_CMD_EVENTS__REGISTER:
- /* Register Event */
- g_tester_register_event(input_string[5] | (input_string[6] << 8));
- break;
-
- case G_TESTER_CLI_CMD_EVENTS__UNREGISTER:
- /* Unregister Event */
- g_tester_unregister_event(input_string[5] | (input_string[6] << 8));
- break;
-
- #ifdef TI_DBG
-
- case G_TESTER_CLI_CMD_FILE__LOAD:
- parms[0].value = (U32)(data_string);
- parms_num =(strlen((char*)parms[0].value) == 0)?0:1;
- cmd_file_load(parms, parms_num);
- break;
-
- case G_TESTER_CLI_CMD_BT_COEXSISTANCE__ENABLE:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_bt_coe_enable(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_BT_COEXSISTANCE__RATE:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- P_BUFFER_GET_UINT32(data_string, parms[1].value);
- P_BUFFER_GET_UINT32(data_string, parms[2].value);
- P_BUFFER_GET_UINT32(data_string, parms[3].value);
- P_BUFFER_GET_UINT32(data_string, parms[4].value);
- P_BUFFER_GET_UINT32(data_string, parms[5].value);
- P_BUFFER_GET_UINT32(data_string, parms[6].value);
- P_BUFFER_GET_UINT32(data_string, parms[7].value);
- cmd_bt_coe_rate(parms, 8);
- break;
-
- case G_TESTER_CLI_CMD_BT_COEXSISTANCE__CONFIG:
- cmd_Scan_app_clear(NULL, 0);
- g_tester_scAn__configApp__Display();
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- P_BUFFER_GET_UINT32(data_string, parms[1].value);
- P_BUFFER_GET_UINT32(data_string, parms[2].value);
- P_BUFFER_GET_UINT32(data_string, parms[3].value);
- P_BUFFER_GET_UINT32(data_string, parms[4].value);
- P_BUFFER_GET_UINT32(data_string, parms[5].value);
- P_BUFFER_GET_UINT32(data_string, parms[6].value);
- P_BUFFER_GET_UINT32(data_string, parms[7].value);
- P_BUFFER_GET_UINT32(data_string, parms[8].value);
- P_BUFFER_GET_UINT32(data_string, parms[9].value);
- P_BUFFER_GET_UINT32(data_string, parms[10].value);
- P_BUFFER_GET_UINT32(data_string, parms[11].value);
- P_BUFFER_GET_UINT32(data_string, parms[12].value);
- P_BUFFER_GET_UINT32(data_string, parms[13].value);
- cmd_bt_coe_config(parms, 14);
- break;
-
- case G_TESTER_CLI_CMD_BT_COEXSISTANCE__STATUS:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_bt_coe_get_status(parms, 1);
- break;
-
- #ifdef EXC_MODULE_INCLUDED
- case G_TESTER_CLI_CMD_MEASUREMENT__ENABLE:
- cmd_Measurement_enable(NULL, 0);
- break;
-
- case G_TESTER_CLI_CMD_MEASUREMENT__DISABLE:
- cmd_Measurement_disable(NULL, 0);
- break;
-
- case G_TESTER_CLI_CMD_MEASUREMENT__MAX_DURATION:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_Measurement_setMaxDuration(parms, 1);
- break;
- #endif
- case G_TESTER_CLI_CMD_REPORT__SET:
- parms[0].value = (U32)(data_string);
- parms_num =(strlen((char*)parms[0].value) == 0)?0:1;
- cmd_report_set(parms, parms_num);
- break;
-
- case G_TESTER_CLI_CMD_REPORT__ADD:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_report_add(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_REPORT__CLEAR:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_report_clear(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_REPORT__LEVEL:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_report_severity_level(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_DEBUG__REGISTER:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- P_BUFFER_GET_UINT32(data_string, parms[1].value);
- cmd_hw_register(parms, 2);
- break;
-
- case G_TESTER_CLI_CMD_DEBUG__PRINT:
- g_tester_cmd_debug_driver_print(data_string);
- break;
-
- case G_TESTER_CLI_CMD_DEBUG__BUFFER:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- data_string += 9; /* seek to the end of the string */
- parms[1].value = (U32)(data_string);
- parms_num =(strlen((char*)parms[1].value) == 0)?1:2;
- cmd_debug_buffer_put(parms, parms_num);
- break;
-
- case G_TESTER_CLI_CMD_ROOT__ABOUT:
- /* Driver version */
- g_tester_cmd_get_version();
- break;
-
- case G_TESTER_CLI_CMD_ROOT__QUIT:
- quit_func();
- break;
- #endif
-
- case G_TESTER_CLI_CMD_PLT__REGISTER__READ:
- {
- UINT32 RegAddress;
- P_BUFFER_GET_UINT32(data_string, RegAddress);
- g_tester_cmd_plt_register_read(RegAddress);
- }
- break;
-
- case G_TESTER_CLI_CMD_PLT__REGISTER__WRITE:
- {
- tiUINT32 uiRegAddress;
- tiUINT32 uiRegValue;
- P_BUFFER_GET_UINT32(data_string, uiRegAddress);
- P_BUFFER_GET_UINT32(data_string, uiRegValue);
- TI_PLT_WriteRegister(g_id_adapter, uiRegAddress, uiRegValue);
- }
- break;
- case G_TESTER_CLI_CMD_PLT_RADIO_TUNE:
- {
- UINT32 status;
- TestCmdChannelBand_t ChannelBand;
- tiUINT8 return_buffer[3];
- tiUINT8 *p_return_buffer = return_buffer;
- P_BUFFER_GET_UINT32(data_string, ChannelBand.band);
- P_BUFFER_GET_UINT32(data_string, ChannelBand.channel);
- status = TI_PLT_RadioTune(g_id_adapter, &ChannelBand);
- P_BUFFER_ADD_HDR_PARAMS(p_return_buffer, G_TESTER_CLI_CMD_PLT_RADIO_TUNE, (UINT8)status);
- g_tester_send_to_host(return_buffer, 3);
- }
- break;
-
- case G_TESTER_CLI_CMD_PLT__RX_PER__START:
- cmd_PLT_RxPerStart(NULL, 0);
- break;
-
- case G_TESTER_CLI_CMD_PLT__RX_PER__STOP:
- cmd_PLT_RxPerStop(NULL, 0);
- break;
-
- case G_TESTER_CLI_CMD_PLT__RX_PER__CLEAR:
- cmd_PLT_RxPerClear(NULL, 0);
- break;
-
- case G_TESTER_CLI_CMD_PLT__RX_PER__GET_RESULTS:
- g_tester_cmd_plt_RxPer_GetResults();
- break;
-
- case G_TESTER_CLI_CMD_PLT__TX__CW:
- {
- tiUINT8 return_buffer[3];
- tiUINT8 *p_return_buffer = return_buffer;
- tiUINT32 status;
- TestCmdChannelBand_t PltTxCW;
- P_BUFFER_GET_UINT32(data_string, PltTxCW.band);
- P_BUFFER_GET_UINT32(data_string, PltTxCW.channel);
- status = TI_PLT_TxCW(g_id_adapter, &PltTxCW);
- P_BUFFER_ADD_HDR_PARAMS(p_return_buffer, G_TESTER_CLI_CMD_PLT__TX__CW, (UINT8)status);
- g_tester_send_to_host(return_buffer, 3);
- }
- break;
-
- case G_TESTER_CLI_CMD_PLT__TX__CONTINUES:
- {
-
- PltTxContinues_t PltTxContinues;
- P_BUFFER_GET_UINT8(data_string, PltTxContinues.band);
- P_BUFFER_GET_UINT8(data_string, PltTxContinues.chID);
- P_BUFFER_GET_UINT8(data_string, PltTxContinues.rate);
- P_BUFFER_GET_UINT8(data_string, PltTxContinues.preamble);
- P_BUFFER_GET_UINT8(data_string, PltTxContinues.InterPacketDelay);
- P_BUFFER_GET_UINT8(data_string, PltTxContinues.NumOfFrames);
- P_BUFFER_GET_UINT8(data_string, PltTxContinues.mode);
-
- TI_PLT_TxContiues(g_id_adapter, &PltTxContinues);
-
- if (OK == TI_PLT_TxContiues(g_id_adapter, &PltTxContinues))
- console_printf_terminal("PltTxContinues (band=%d, chID=%d, rate=%d, preamble=%d, InterPacketDelay=%d, NumOfFrames=%d, mode=0x%x)- OK\n",
- PltTxContinues.band,
- PltTxContinues.chID,
- PltTxContinues.rate,
- PltTxContinues.preamble,
- PltTxContinues.InterPacketDelay,
- PltTxContinues.NumOfFrames,
- PltTxContinues.mode);
- else
- console_printf_terminal("PltTxContinues - NOK\n");
- }
- break;
-
- case G_TESTER_CLI_CMD_PLT__TX__STOP:
- cmd_PLT_TxStop(NULL, 0);
- break;
-
- case G_TESTER_CLI_CMD_PLT__MIB__READ:
- g_tester_cmd_plt_mib_read(data_string);
- break;
-
- case G_TESTER_CLI_CMD_PLT__MIB__WRITE:
- g_tester_cmd_plt_mib_write(data_string);
- break;
-
- case G_TESTER_CLI_CMD_PRIVACY__WEP__GET:
- g_tester_cmd_get_defaultWEPKey();
- break;
- case G_TESTER_CLI_CMD_PLT__CALIBRATION__RX:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- P_BUFFER_GET_UINT32(data_string, parms[1].value);
- P_BUFFER_GET_UINT32(data_string, parms[2].value);
- P_BUFFER_GET_UINT32(data_string, parms[3].value);
- P_BUFFER_GET_UINT32(data_string, parms[4].value);
- cmd_PLT_RxCal(parms, 5);
- break;
-
- case G_TESTER_CLI_CMD_PLT__CALIBRATION__TX__START:
- P_BUFFER_GET_UINT8(data_string, parms[0].value);
- cmd_PLT_TxCalStart(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_PLT__CALIBRATION__TX__STOP:
- cmd_PLT_TxCalStop(NULL, 0);
- break;
-
- case G_TESTER_CLI_CMD_PLT__CALIBRATION__TX__GAIN_GET:
- {
- tiUINT8 return_buffer[10];
- tiUINT8 *p_return_buffer = return_buffer;
-
- UINT32 status;
- PltGainGet_t PLTGainGet;
- status = TI_PLT_TxCalGainGet(g_id_adapter, &PLTGainGet);
- P_BUFFER_ADD_HDR_PARAMS(p_return_buffer, G_TESTER_CLI_CMD_PLT__CALIBRATION__TX__GAIN_GET, (UINT8)status);
- if (status == OK)
- {
- P_BUFFER_ADD_UINT8(p_return_buffer, PLTGainGet.TxGain);
- P_BUFFER_ADD_UINT8(p_return_buffer, PLTGainGet.TxUpperBound);
- P_BUFFER_ADD_UINT8(p_return_buffer, PLTGainGet.TxLowerBound);
- }
- g_tester_send_to_host(return_buffer, p_return_buffer-return_buffer);
- }
- break;
-
- case G_TESTER_CLI_CMD_PLT__CALIBRATION__TX__GAIN_ADJUST:
- P_BUFFER_GET_UINT32(data_string, parms[0].value);
- cmd_PLT_TxCalGainAdjust(parms, 1);
- break;
-
- case G_TESTER_CLI_CMD_PLT__CALIBRATION__GET_NVS_BUFFER:
- g_tester_plt_calibration_get_nvs_buffer();
- break;
-
- default:
- console_printf_terminal("g_tester - unsupported command!\n");
- break;
- }
- }
-
- return_value = TRUE;
- }
-
- return return_value;
- }
- /************************************************************************
- * g_tester_process_general_cmd_run_cmd *
- ************************************************************************
- DESCRIPTION:
- CONTEXT : main process only!
- ************************************************************************/
- void g_tester_process_general_cmd_run_cmd(unsigned char *cmd_buffer)
- {
- tiUINT8 return_buffer[5];
- tiUINT8 *p_return_buffer = return_buffer;
- tiUINT16 return_value;
-
- console_printf_terminal("g_tester - Executing cmd line: %s\n", cmd_buffer);
-
- return_value = (tiUINT16)system((const char*)cmd_buffer);
-
- console_printf_terminal("g_tester - Execution result: 0x%x\n", return_value);
-
- /* Set the header */
- P_BUFFER_ADD_HDR_PARAMS(p_return_buffer, G_TESTER_GENERAL_CMD_RUN_CMD, (UINT8)0x00);
-
- /* Add the result */
- P_BUFFER_ADD_UINT16(p_return_buffer, return_value);
-
- g_tester_send_to_host(return_buffer, 5);
- }
-
- /************************************************************************
- * g_tester_process_get_init_table *
- ************************************************************************
- DESCRIPTION:
-
- CONTEXT : main process only!
- ************************************************************************/
- void g_tester_process_get_init_table(unsigned char *cmd_buffer)
- {
- UINT8 buffer[(1024 * 5)];
- UINT8 *p_return_buffer = buffer;
- UINT32 length;
-
- UINT8 init_table_file_name_length = *(cmd_buffer + 0);
- unsigned char *init_table_file_name = (cmd_buffer + 1);
-
- UINT8 error_code = G_TESTER_GWSI_GET_INIT_TABLE_NO_ERROR;
-
- int FileDescriptor;
-
- if (init_table_file_name_length == 0)
- {
- console_printf_terminal("g_tester, g_tester_process_get_init_table, Error - no file name!\n");
-
- error_code = G_TESTER_GWSI_GET_INIT_TABLE_ERROR_NO_FILE_NAME;
- }
- else
- {
- /* Get the Init buffer from the driver */
- TI_GWSIGetInitTable(g_id_adapter, (tiUINT32 *)&buffer[0]);
-
- /* The first 4 bytes are the buffer length */
- length = *(UINT32 *)&buffer[0];
-
- if (length > 0)
- {
- FileDescriptor = open((const char*)init_table_file_name, O_CREAT | O_WRONLY);
-
- if (FileDescriptor != -1)
- {
- if (write(FileDescriptor, buffer, length + sizeof(UINT32) ) != length + sizeof(UINT32))
- {
- console_printf_terminal("g_tester, g_tester_process_get_init_table, Error writing to file (%d)\n", errno);
-
- error_code = G_TESTER_GWSI_GET_INIT_TABLE_ERROR_WRITING_TO_FILE;
- }
- else
- {
- console_printf_terminal("g_tester, g_tester_process_get_init_table, Written 0x%x bytes to %s\n\n", (length - 4), init_table_file_name);
- }
-
- close(FileDescriptor);
- }
- else
- {
- console_printf_terminal("g_tester, g_tester_process_get_init_table, Error creating %s (%d)\n", init_table_file_name, errno);
-
- error_code = G_TESTER_GWSI_GET_INIT_TABLE_ERROR_CREATING_FILE;
- }
- }
- else
- {
- console_printf_terminal("g_tester, g_tester_process_get_init_table, Error - driver init table not availble!\n");
-
- error_code = G_TESTER_GWSI_GET_INIT_TABLE_ERROR_TABLE_NOT_AVAIL;
- }
- }
-
- /* Set the header */
- P_BUFFER_ADD_HDR_PARAMS(p_return_buffer, G_TESTER_GENERAL_CMD_GET_INIT_T, error_code);
-
- g_tester_send_to_host(buffer, 3);
- }
-
- /************************************************************************
- * g_tester_cmd_status *
- ************************************************************************
- DESCRIPTION:
-
- CONTEXT : main process only!
- ************************************************************************/
- void g_tester_cmd_status()
- {
- /***************************
- Return buffer structure
-
- Bytes 0-1 : OpCode (0x0003)
- Byte 2 : Command Status
- Byte 3 : Status (0/1/2)
- Bytes 4-9 : MAC Address
- Byte 10 : SSID length
- Bytes 11-42: SSID
- Bytes 43-48: BSSID
- Byte 49: : Channel
- ***************************/
-
- tiUINT8 return_buffer[50];
- tiUINT8 *p_return_buffer = return_buffer;
-
- tiINT32 res;
- tiUINT32 data;
- OS_802_11_BSSID_EX bssid_ex;
- OS_802_11_MAC_ADDRESS mac_address;
- OS_802_11_SSID ssid;
-
- /* Set the header to dummy values */
- P_BUFFER_ADD_HDR_PARAMS(p_return_buffer, G_TESTER_CLI_CMD_DRIVER__STATUS, 0x00);
-
- /* Get the Driver status (Running / Stop) */
- res = TI_WLAN_IsDriverRun(g_id_adapter, (tiBOOL *)&data);
-
- if (res == 0)
- {
- /* Insert the status to the return buffer */
- P_BUFFER_ADD_UINT8(p_return_buffer, (tiUINT8)data);
-
- /* Get the MAC address */
- res = TI_GetCurrentAddress(g_id_adapter, &mac_address);
-
- if (res == 0)
- {
- P_BUFFER_ADD_DATA(p_return_buffer, &mac_address, sizeof(mac_address));
-
- /* Get the SSID */
- res = TI_GetCurrentSSID(g_id_adapter, &ssid);
-
- if (res == 0)
- {
- /* killme!!!*/
- /*if (isJunkSSID((void *)&ssid))*/
- /*{*/
- /* Put '0' at the length field */
- /* ssid.SsidLength = 0;*/
- /*}*/
-
- /* Add ssid length */
- P_BUFFER_ADD_UINT8(p_return_buffer, (tiUINT8)ssid.SsidLength);
-
- /* Add ssid */
- P_BUFFER_ADD_DATA(p_return_buffer, ssid.Ssid, sizeof(ssid.Ssid));
-
- /* Get the BSSID */
- res = TI_GetSelectedBSSIDInfo(g_id_adapter, &bssid_ex);
-
- if (res == 0)
- {
- /* Add the BSSID */
- P_BUFFER_ADD_DATA(p_return_buffer, &bssid_ex.MacAddress, sizeof(bssid_ex.MacAddress));
-
- /* Get the Channel */
- res = TI_GetCurrentChannel(g_id_adapter, &data);
-
- if (res == 0)
- {
- /* Add channel */
- P_BUFFER_ADD_UINT8(p_return_buffer, (tiUINT8)data);
- }
- }
- }
- }
- }
-
- p_return_buffer = return_buffer;
-
- /* Set the G_Tester result value */
- res = (res == 0) ? G_TESTER_STATUS_OK : G_TESTER_STATUS_ERROR;
-
- /* Set the header */
- P_BUFFER_ADD_HDR_PARAMS(p_return_buffer, G_TESTER_CLI_CMD_DRIVER__STATUS, (UINT8)res);
-
- g_tester_send_to_host(return_buffer, 50);
- }
-
- /************************************************************************
- * g_tester_cmd_status *
- ************************************************************************
- DESCRIPTION:
-
- CONTEXT : main process only!
- ************************************************************************/
- void g_tester_bssid_list()
- {
- /***************************
- Return buffer structure (for header):
-
- Bytes 0-1 : OpCode (0x0004)
- Byte 2 : Command Status
- Byte 3 : Number of elements
- ***************************/
-
- /***************************
- Return buffer structure (for each element):
-
- Bytes 0-1 : OpCode (0x0005)
- Byte 2 : Command Status
- Bytes 3-8 : MAC Address
- Byte 9 : Privacy
- Bytes 10-13 : RSSI
- Byte 14 : Infra mode
- Byte 15 : Channel
- Bytes 16-19 : Qos
- Byte 20 : SSID length
- Bytes 21-52 : SSID
- ***************************/
-
- tiUINT8 return_buffer[55];
- tiUINT8 *p_return_buffer = return_buffer;
-
- OS_802_11_BSSID_LIST_EX *list;/* = (OS_802_11_BSSID_LIST_EX *) data; */
- OS_802_11_BSSID_EX *bssid;
- tiUINT32 number_items;
- tiINT32 res;
- tiUINT8 index;
- tiUINT32 Qos = 0;
-
- console_printf_terminal("g_tester, g_tester_bssid_list()\n");
-
- res = TI_GetBSSIDList(g_id_adapter, &list);
- if( res || !list )
- {
- /*************************/
- /* Error retrieving data */
- /***********************/
-
- /* Set the header */
- P_BUFFER_ADD_HDR_PARAMS(p_return_buffer, G_TESTER_CLI_CMD_CONNECTION__BSSID_LIST, G_TESTER_STATUS_ERROR);
-
- /* Set dummy UINT8 */
- P_BUFFER_ADD_UINT8(p_return_buffer, 0x00);
-
- g_tester_send_to_host(return_buffer, 4);
- }
- else
- {
- bssid = &list->Bssid[0];
- number_items = list->NumberOfItems;
-
- /*********************/
- /* Header structure */
- /*******************/
-
- /* Set the header */
- P_BUFFER_ADD_HDR_PARAMS(p_return_buffer, G_TESTER_CLI_CMD_CONNECTION__BSSID_LIST, G_TESTER_STATUS_OK);
-
- /* Set dummy UINT8 */
- P_BUFFER_ADD_UINT8(p_return_buffer, (tiUINT8)number_items);
-
- g_tester_send_to_host(return_buffer, 4);
-
- /***********************/
- /* Elements structure */
- /*********************/
-
- for (index = 0; index < number_items; index++)
- {
- p_return_buffer = return_buffer;
-
- /* Set the header */
- P_BUFFER_ADD_HDR_PARAMS(p_return_buffer, (G_TESTER_CLI_CMD_CONNECTION__BSSID_LIST + 1), G_TESTER_STATUS_OK);
-
- P_BUFFER_ADD_DATA(p_return_buffer, bssid->MacAddress, sizeof(bssid->MacAddress));
-
- P_BUFFER_ADD_UINT8(p_return_buffer, (tiUINT8)bssid->Privacy);
-
- P_BUFFER_ADD_UINT32(p_return_buffer, bssid->Rssi);
-
- P_BUFFER_ADD_UINT8(p_return_buffer, (tiUINT8)bssid->InfrastructureMode);
-
- P_BUFFER_ADD_UINT8(p_return_buffer, (tiUINT8)Freq2Chan(bssid->Configuration.Union.channel));
-
- Qos = parseBssidIe(bssid);
- P_BUFFER_ADD_UINT32(p_return_buffer, (tiUINT32)Qos);
-
- P_BUFFER_ADD_UINT8(p_return_buffer, (tiUINT8)bssid->Ssid.SsidLength);
-
- P_BUFFER_ADD_DATA(p_return_buffer, bssid->Ssid.Ssid, sizeof(bssid->Ssid.Ssid));
-
- g_tester_send_to_host(return_buffer, 53);
-
- /* Move to the next bssid */
- bssid = (OS_802_11_BSSID_EX *) (((char *) bssid) + bssid->Length);
- }
-
- free(list);
- }
- }
- /************************************************************************
- * g_tester_register_event *
- ************************************************************************
- DESCRIPTION:
- CONTEXT :
- ************************************************************************/
- void g_tester_register_event(tiUINT16 event_mask)
- {
- int index;
- ConParm_t param;
-
- console_printf_terminal("g_tester, g_tester_register_event (Mask = 0x%x)\n", event_mask);
-
- /* Go over the mask bits */
- for (index = 0; index < 16; index++)
- {
- if ((event_mask & (1 << index)) != (tiUINT16)0x0000)
- {
- param.value = index;
- cmd_events_register(¶m, 1);
- }
- }
- }
-
- /************************************************************************
- * g_tester_unregister_event *
- ************************************************************************
- DESCRIPTION:
-
- CONTEXT :
- ************************************************************************/
- void g_tester_unregister_event(tiUINT16 event_mask)
- {
- int index;
- ConParm_t param;
-
- console_printf_terminal("g_tester, g_tester_unregister_event (Mask = 0x%x)\n", event_mask);
-
- /* Go over the mask bits */
- for (index = 0; index < 16; index++)
- {
- if ((event_mask & (1 << index)) != (tiUINT16)0x0000)
- {
- param.value = index;
- cmd_events_unregister(¶m, 1);
- }
- }
- }
-
- /************************************************************************
- * g_tester_cmd_debug_driver_print *
- ************************************************************************
- DESCRIPTION:
-
- CONTEXT :
- ************************************************************************/
- void g_tester_cmd_debug_driver_print(unsigned char *cmd_buffer)
- {
- #ifdef TI_DBG
-
- tiUINT32 *buf = (tiUINT32 *)cmd_buffer;
-
- ConParm_t param[2];
-
- param[0].value = buf[0];
- param[1].value = buf[1];
-
- console_printf_terminal("DEBUG: values: (0x%x, 0x%x)\n", param[0].value, param[1].value);
-
- cmd_debug_driver_print((ConParm_t *)¶m, 2);
-
- #endif
- }
-
- /************************************************************************
- * g_tester_receive_event *
- ************************************************************************
- DESCRIPTION:
-
- CONTEXT :
- ************************************************************************/
- void g_tester_receive_event(unsigned char event_index)
- {
- /***************************
- Return buffer structure :
-
- Bytes 0-1 : OpCode (0x1050)
- Byte 2 : Command Status
- Byte 3 : Event ID
- ***************************/
-
- tiUINT8 return_buffer[55];
- tiUINT8 *p_return_buffer = return_buffer;
-
- /* Set the header */
- P_BUFFER_ADD_HDR_PARAMS(p_return_buffer, 0x1050, G_TESTER_STATUS_OK);
-
- /* Set event index */
- P_BUFFER_ADD_UINT8(p_return_buffer, event_index);
-
- g_tester_send_to_host(return_buffer, 4);
- }
-
- /************************************************************************
- * g_tester_send_received_event *
- ************************************************************************
- DESCRIPTION:
-
- CONTEXT :
- ************************************************************************/
- void g_tester_send_received_event(unsigned int cmd_op, tiUINT8 status)
- {
- /***************************
- Return buffer structure :
-
- Bytes 0-1 : OpCode (0xFFFF)
- Byte 2-3 : Command Opcode
- ***************************/
-
- tiUINT8 return_buffer[5];
- tiUINT8 *p_return_buffer = return_buffer;
-
- /* Add the event opcode */
- P_BUFFER_ADD_UINT16(p_return_buffer, 0x1000);
-
- /* Add the command opcode */
- P_BUFFER_ADD_UINT16(p_return_buffer, cmd_op);
-
- /* Add the command opcode */
- P_BUFFER_ADD_UINT8(p_return_buffer, status);
-
- g_tester_send_to_host(return_buffer, 5);
- }
-
- /************************************************************************
- * g_tester_process_gwsi_init_cmd *
- ************************************************************************
- DESCRIPTION:
-
- CONTEXT :
- ************************************************************************/
- void g_tester_process_gwsi_init_cmd(unsigned char *cmd_buffer)
- {
- char *firmware_file_name;
- unsigned char firmware_file_name_length;
- char *e2prom_file_name;
- unsigned char e2prom_file_name_length;
-
- unsigned