blob: 1d4baf5c1ca33b0a4955c6f90f28df1dcfdb6e56 [file] [log] [blame]
/*
* ticon.c
*
* Copyright 2001-2010 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: ticon.c
*
* PURPOSE:
*
* DESCRIPTION:
* ============
*
*
****************************************************************************/
/* includes */
/************/
#include "cu_osapi.h"
#include "oserr.h"
#include "TWDriver.h"
#include "STADExternalIf.h"
#include "console.h"
#include "cu_cmd.h"
#include "wpa_core.h"
#ifdef XCC_MODULE_INCLUDED
#include "cu_XCC.h"
#endif
/* defines */
/***********/
#ifdef DEBUG
#define CHK_NULL(p) ((p)) ? (VOID) 0 : os_error_printf(CU_MSG_ERROR, (PS8)"\nfailed: '%s', file %s, line %d\n", #p, __FILE__, __LINE__);
#define CHK(p) ((!p)) ? (VOID) 0 : os_error_printf(CU_MSG_ERROR, (PS8)"\nfailed: '%s', file %s, line %d\n", #p, __FILE__, __LINE__);
#else
#define CHK(p) (p)
#define CHK_NULL(p) (p)
#endif
#define TIWLAN_DRV_NAME "tiwlan0"
#ifdef ANDROID
#define SUPPL_IF_FILE "/data/misc/wifi/sockets/" TIWLAN_DRV_NAME
#else
#define SUPPL_IF_FILE "/var/run/" TIWLAN_DRV_NAME
#endif
extern int consoleRunScript( char *script_file, THandle hConsole);
/* local types */
/***************/
/* Module control block */
typedef struct TiCon_t
{
THandle hConsole;
S8 drv_name[IF_NAME_SIZE];
} TiCon_t;
/* local variables */
/*******************/
static TiCon_t g_TiCon;
/* local fucntions */
/*******************/
static S32 TiCon_Init_Console_Menu(TiCon_t* pTiCon)
{
THandle h, h1;
THandle h2;
/* -------------------------------------------- Driver -------------------------------------------- */
CHK_NULL(h = (THandle) Console_AddDirExt(pTiCon->hConsole, (THandle) NULL, (PS8)"Driver", (PS8)"Driver start/stop" ) );
Console_AddToken(pTiCon->hConsole,h, (PS8)"Start", (PS8)"Start driver", (FuncToken_t) CuCmd_StartDriver, NULL );
Console_AddToken(pTiCon->hConsole,h, (PS8)"sTop", (PS8)"Stop driver", (FuncToken_t) CuCmd_StopDriver, NULL );
Console_AddToken(pTiCon->hConsole,h, (PS8)"stAtus", (PS8)"Print status", (FuncToken_t) CuCmd_Show_Status, NULL );
/* -------------------------------------------- Connection -------------------------------------------- */
CHK_NULL(h = (THandle) Console_AddDirExt(pTiCon->hConsole, (THandle) NULL, (PS8)"Connection", (PS8)"Connection management" ) );
Console_AddToken(pTiCon->hConsole,h, (PS8)"Bssid_list", (PS8)"Bssid_list", (FuncToken_t) CuCmd_BssidList, NULL );
{
ConParm_t aaa[] = { {(PS8)"ssid", CON_PARM_STRING | CON_PARM_OPTIONAL, 0, 32, 0 },
{(PS8)"bssid", CON_PARM_STRING | CON_PARM_OPTIONAL, 0, 32, 0 },
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"Connect", (PS8)"Connect", (FuncToken_t) CuCmd_Connect, aaa );
}
Console_AddToken(pTiCon->hConsole,h, (PS8)"Disassociate", (PS8)"disconnect", (FuncToken_t) CuCmd_Disassociate, NULL );
Console_AddToken(pTiCon->hConsole,h, (PS8)"Status", (PS8)"Print connection status", (FuncToken_t) CuCmd_Show_Status, NULL );
#ifdef TI_DBG
Console_AddToken(pTiCon->hConsole,h, (PS8)"Full_bssid_list", (PS8)"Full_bssid_list", (FuncToken_t) CuCmd_FullBssidList, NULL );
#endif
#ifdef CONFIG_WPS
CHK_NULL(h1 = (THandle) Console_AddDirExt(pTiCon->hConsole, (THandle) h, (PS8)"wPs", (PS8)"WiFi Protected Setup" ) );
Console_AddToken(pTiCon->hConsole,h1, (PS8)"Pin", (PS8)"Acquire profile using PIN", (FuncToken_t) CuCmd_StartEnrolleePIN, NULL );
Console_AddToken(pTiCon->hConsole,h1, (PS8)"pBc", (PS8)"Acquire profile using Push Button", (FuncToken_t) CuCmd_StartEnrolleePBC, NULL );
Console_AddToken(pTiCon->hConsole,h1, (PS8)"Stop", (PS8)"Stop WiFi Protected Setup", (FuncToken_t) CuCmd_StopEnrollee, NULL );
{
ConParm_t aaa[] =
{
{(PS8)"PIN", CON_PARM_STRING, 0, 8, 0 },
CON_LAST_PARM
};
Console_AddToken(pTiCon->hConsole,h1, (PS8)"set pIn", (PS8)"Set PIN code", (FuncToken_t) CuCmd_SetPin, aaa );
}
#endif /* CONFIG_WPS */
/* -------------------------------------------- Management -------------------------------------------- */
CHK_NULL(h = (THandle) Console_AddDirExt(pTiCon->hConsole, (THandle) NULL, (PS8)"Management", (PS8)"Station management" ) );
{
ConParm_t aaa[] = { {(PS8)"connectMode", CON_PARM_OPTIONAL, 0, 0, 0 }, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"connect moDe", (PS8)"Set Connect Mode", (FuncToken_t) CuCmd_ModifyConnectMode, aaa );
}
{
ConParm_t aaa[] = { {(PS8)"channel", CON_PARM_OPTIONAL, 0, 0, 0 }, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"Channel", (PS8)"Set the channel", (FuncToken_t) CuCmd_ModifyChannel, aaa );
}
{
ConParm_t aaa[] = { {(PS8)"tx rate", CON_PARM_STRING | CON_PARM_OPTIONAL, 0, 32, 0 }, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"Rate", (PS8)"Get TX data rate in Mbps (1,2,5.5,11...)", (FuncToken_t) CuCmd_GetTxRate, aaa );
}
{
ConParm_t aaa[] = { {(PS8)"BSS_type", CON_PARM_OPTIONAL, 0, 0, 0 }, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"Mode", (PS8)"BSS_type", (FuncToken_t) CuCmd_ModifyBssType, aaa );
}
{
ConParm_t aaa[] = { {(PS8)"frag", CON_PARM_OPTIONAL, 0, 0, 0 }, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"Frag", (PS8)"Set the fragmentation threshold <256..2346>", (FuncToken_t) CuCmd_ModifyFragTh, aaa );
}
{
ConParm_t aaa[] = { {(PS8)"rts", CON_PARM_OPTIONAL, 0, 0, 0 }, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"rts", (PS8)"Set RTS threshold <0..2347>", (FuncToken_t) CuCmd_ModifyRtsTh, aaa);
}
{
ConParm_t aaa[] = { {(PS8)"preamble", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 1, 0 }, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"Preamble", (PS8)"Set preamble type 1=short 0=long", (FuncToken_t) CuCmd_ModifyPreamble, aaa );
}
{
ConParm_t aaa[] = { {(PS8)"slot", CON_PARM_OPTIONAL, 0, 0, 0 }, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"sLot", (PS8)"Set short slot", (FuncToken_t) CuCmd_ModifyShortSlot, aaa );
}
{
ConParm_t aaa[] = { {(PS8)"radio on//off", CON_PARM_OPTIONAL, 0, 1, 0 }, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"rAdio on/off", (PS8)"Turn radio on/off. 0=OFF, 1=ON", (FuncToken_t) CuCmd_RadioOnOff, aaa );
}
Console_AddToken(pTiCon->hConsole,h, (PS8)"Info", (PS8)"Get Selected BSSID Info", (FuncToken_t) CuCmd_GetSelectedBssidInfo, NULL );
Console_AddToken(pTiCon->hConsole,h, (PS8)"siGnal", (PS8)"Get Current RSSI level", (FuncToken_t) CuCmd_GetRsiiLevel, NULL );
Console_AddToken(pTiCon->hConsole,h, (PS8)"snr ratiO", (PS8)"Get Current SNR radio", (FuncToken_t) CuCmd_GetSnrRatio, NULL );
{
ConParm_t aaa[] = { {(PS8)"Tx power level", CON_PARM_OPTIONAL, 0, 0, 0 }, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"tX_power_table", (PS8)"show Tx power table", (FuncToken_t) CuCmd_ShowTxPowerTable, aaa );
Console_AddToken(pTiCon->hConsole,h, (PS8)"tx_power_dBm_div10", (PS8)"Tx power level", (FuncToken_t) CuCmd_TxPowerDbm, aaa );
}
CHK_NULL(h1 = (THandle) Console_AddDirExt(pTiCon->hConsole, (THandle) h, (PS8)"802_11d_h", (PS8)"802_11D_H" ) );
{
ConParm_t aaa[] = { {(PS8)"802_11_D", CON_PARM_OPTIONAL, 0, 0, 0 }, CON_LAST_PARM };
ConParm_t bbb[] = {
{(PS8)"min DFS channel", CON_PARM_RANGE, 36, 180, 40 },
{(PS8)"max DFS channel", CON_PARM_RANGE, 36, 180, 140 },
CON_LAST_PARM};
Console_AddToken(pTiCon->hConsole,h1, (PS8)"D_enableDisable", (PS8)"enableDisable_d", (FuncToken_t) CuCmd_ModifyState_802_11d, aaa );
Console_AddToken(pTiCon->hConsole,h1, (PS8)"H_enableDisable", (PS8)"enableDisable_h", (FuncToken_t) CuCmd_ModifyState_802_11h, aaa );
Console_AddToken(pTiCon->hConsole,h1, (PS8)"d_Country_2_4Ie", (PS8)"d_Country_2_4Ie", (FuncToken_t) CuCmd_D_Country_2_4Ie, aaa );
Console_AddToken(pTiCon->hConsole,h1, (PS8)"d_cOuntry_5Ie", (PS8)"d_Country_5Ie", (FuncToken_t) CuCmd_D_Country_5Ie, aaa );
Console_AddToken(pTiCon->hConsole,h1, (PS8)"dfS_range", (PS8)"DFS_range", (FuncToken_t) CuCmd_ModifyDfsRange, bbb );
}
CHK_NULL(h1 = (THandle) Console_AddDirExt(pTiCon->hConsole, (THandle) h, (PS8)"beacoN", (PS8)"Set Beacon Filter Desired State" ) );
{
ConParm_t beaconFilterDesiredState[] = { {(PS8)"Set Beacon Desired State", CON_PARM_OPTIONAL, 0, 0, 0 },
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h1, (PS8)"Set Beacon Filter Desired State", (PS8)"Set Beacon Filter Current State", (FuncToken_t) CuCmd_SetBeaconFilterDesiredState, beaconFilterDesiredState );
Console_AddToken(pTiCon->hConsole,h1, (PS8)"Get Beacon Filter Current State", (PS8)"Get Beacon Filter Current State", (FuncToken_t) CuCmd_GetBeaconFilterDesiredState, NULL );
}
CHK_NULL(h1 = (THandle) Console_AddDirExt(pTiCon->hConsole, (THandle) h, (PS8)"adVanced", (PS8)"Advanced params" ) );
{
ConParm_t aaa[] = { { (PS8)"rates", CON_PARM_OPTIONAL | CON_PARM_LINE, 0, 120, 0 }, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole, h1, (PS8)"Supported rates", (PS8)"rates", (FuncToken_t) CuCmd_ModifySupportedRates, aaa );
}
Console_AddToken(pTiCon->hConsole, h1, (PS8)"Health-check", (PS8)"Send health-check to device", (FuncToken_t) CuCmd_SendHealthCheck, NULL );
CHK_NULL(h2 = (THandle) Console_AddDirExt(pTiCon->hConsole, (THandle) h1, (PS8)"rx data Filter", (PS8)"Rx Data Filter" ) );
Console_AddToken(pTiCon->hConsole, h2, (PS8)"Enable", (PS8)"Enable Rx Data Filtering", (FuncToken_t) CuCmd_EnableRxDataFilters, NULL );
Console_AddToken(pTiCon->hConsole, h2, (PS8)"Disable", (PS8)"Enable Rx Data Filtering", (FuncToken_t) CuCmd_DisableRxDataFilters, NULL );
{
ConParm_t aaa[] =
{
{(PS8)"Offset", CON_PARM_RANGE, 0, 255, 0 },
{(PS8)"Mask", CON_PARM_STRING, 0, 64, 0 },
{(PS8)"Pattern", CON_PARM_STRING, 0, 128, 0 },
CON_LAST_PARM
};
Console_AddToken(pTiCon->hConsole, h2, (PS8)"Add", (PS8)"Add Rx Data Filter", (FuncToken_t) CuCmd_AddRxDataFilter, aaa );
}
{
ConParm_t aaa[] =
{
{(PS8)"Offset", CON_PARM_RANGE, 0, 255, 0 },
{(PS8)"Mask", CON_PARM_STRING, 0, 64, 0 },
{(PS8)"Pattern", CON_PARM_STRING, 0, 128, 0 },
CON_LAST_PARM
};
Console_AddToken(pTiCon->hConsole, h2, (PS8)"Remove", (PS8)"Remove Rx Data Filter", (FuncToken_t) CuCmd_RemoveRxDataFilter, aaa );
}
Console_AddToken(pTiCon->hConsole, h2, (PS8)"Statistics", (PS8)"Print Rx Data Filtering Statistics", (FuncToken_t) CuCmd_GetRxDataFiltersStatistics, NULL );
CHK_NULL(h2 = (THandle) Console_AddDirExt(pTiCon->hConsole, (THandle) h1, (PS8)"Keep alive", (PS8)"Keep Alive templates" ) );
Console_AddToken(pTiCon->hConsole, h2, (PS8)"Enable", (PS8)"Set global keep-alive flag to enable", (FuncToken_t)CuCmd_EnableKeepAlive, NULL );
Console_AddToken(pTiCon->hConsole, h2, (PS8)"Disable", (PS8)"Set global keep-alive flag to disable", (FuncToken_t)CuCmd_DisableKeepAlive, NULL );
{
ConParm_t aaa[] =
{
{(PS8)"Index", CON_PARM_RANGE, 0, 1, 0 },
{(PS8)"Interval (msec)", CON_PARM_RANGE, 0, 1000000, 60000 },
{(PS8)"Trigger type (0-idle 1-always)", CON_PARM_RANGE, 0, 1, 0 },
{(PS8)"Pattern (hex data)", CON_PARM_STRING, 0, KEEP_ALIVE_TEMPLATE_MAX_LENGTH * 2, 0 },
CON_LAST_PARM
};
Console_AddToken(pTiCon->hConsole, h2, (PS8)"Add", (PS8)"Add a new keep-alive template", (FuncToken_t)CuCmd_AddKeepAliveMessage, aaa );
}
{
ConParm_t aaa[] =
{
{(PS8)"Index", CON_PARM_RANGE, 0, 1, 0 },
CON_LAST_PARM
};
Console_AddToken(pTiCon->hConsole, h2, (PS8)"Remove", (PS8)"Remove a keep-alive template", (FuncToken_t)CuCmd_RemoveKeepAliveMessage, aaa );
}
Console_AddToken(pTiCon->hConsole, h2, (PS8)"Show", (PS8)"Show all configured keep-alive templates", (FuncToken_t)CuCmd_ShowKeepAlive, NULL );
/* -------------------------------------------- Show -------------------------------------------- */
CHK_NULL(h = (THandle) Console_AddDirExt(pTiCon->hConsole, (THandle) NULL, (PS8)"Show", (PS8)"Show params" ) );
Console_AddToken(pTiCon->hConsole, h, (PS8)"Statistics", (PS8)"Show statistics", (FuncToken_t) CuCmd_ShowStatistics, NULL );
{
ConParm_t aaa[] = { {(PS8)"Clear stats on read", CON_PARM_OPTIONAL | CON_PARM_RANGE, 0, 1, 0 }, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"Txstatistics", (PS8)"Show tx statistics", (FuncToken_t) CuCmd_ShowTxStatistics, aaa );
}
Console_AddToken(pTiCon->hConsole,h, (PS8)"Advanced", (PS8)"Show advanced params", (FuncToken_t) CuCmd_ShowAdvancedParams, NULL );
Console_AddToken(pTiCon->hConsole,h, (PS8)"Power consumption", (PS8)"Show power consumption statistics", (FuncToken_t) Cucmd_ShowPowerConsumptionStats, NULL );
/* -------------------------------------------- Privacy -------------------------------------------- */
CHK_NULL(h = (THandle) Console_AddDirExt(pTiCon->hConsole, (THandle) NULL, (PS8)"Privacy", (PS8)"Privacy configuration" ) );
{
ConParm_t aaa[] = { {(PS8)"mode", CON_PARM_OPTIONAL, 0, 0, 0 },CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"Authentication", (PS8)"Set authentication mode",
(FuncToken_t)CuCmd_SetPrivacyAuth, aaa );
}
#ifdef WPA_ENTERPRISE
{
ConParm_t aaa[] = { {(PS8)"type", CON_PARM_OPTIONAL, 0, 0, 0 }, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"Eap", (PS8)"Set EAP type", (FuncToken_t)CuCmd_SetPrivacyEap, aaa );
}
#endif
{
ConParm_t aaa[] = { {(PS8)"type", CON_PARM_OPTIONAL, 0, 0, 0 }, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"encRyption", (PS8)"Set encryption type", (FuncToken_t)CuCmd_SetPrivacyEncryption, aaa);
}
#ifdef WPA_ENTERPRISE
{
ConParm_t aaa[] = { {(PS8)"type", 0, 0, 0, 0 }, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"Keytype", (PS8)"Set key type", (FuncToken_t) CuCmd_SetPrivacyKeyType, aaa );
}
{
ConParm_t aaa[] = { {(PS8)"mode", CON_PARM_OPTIONAL, 0, 0, 0 }, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"Mixedmode", (PS8)"Set mixed mode", (FuncToken_t) CuCmd_SetPrivacyMixedMode, aaa );
}
{
ConParm_t aaa[] = { {(PS8)"mode", CON_PARM_OPTIONAL, 0, 0, 0 }, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"aNywpamode", (PS8)"Set Any WPA mode", (FuncToken_t) CuCmd_SetPrivacyAnyWpaMode, aaa );
}
{
ConParm_t aaa[] = {
{(PS8)"User:", CON_PARM_STRING, 0, WPACORE_MAX_CERT_USER_NAME_LENGTH, 0 },
{(PS8)"Password:", CON_PARM_STRING | CON_PARM_OPTIONAL, 0, WPACORE_MAX_CERT_PASSWORD_LENGTH , 0 },
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"Credentials", (PS8)"Set Credentials ", (FuncToken_t)CuCmd_SetPrivacyCredentials, aaa);
}
#endif
{
ConParm_t aaa[] =
{
{(PS8)"Passphrase", CON_PARM_STRING, WPACORE_MIN_PSK_STRING_LENGTH, WPACORE_MAX_PSK_STRING_LENGTH, 0},
{(PS8)"key type (hex | text) [text]", CON_PARM_OPTIONAL | CON_PARM_STRING, 0, 5, 0},
CON_LAST_PARM
};
Console_AddToken(pTiCon->hConsole,h, (PS8)"pskPassphrase", (PS8)"Set PSK Passphrase", (FuncToken_t)CuCmd_SetPrivacyPskPassPhrase, aaa );
}
#ifdef WPA_ENTERPRISE
{
ConParm_t aaa[] = { {(PS8)"Certificate Name:", CON_PARM_STRING, 0, WPACORE_MAX_CERT_FILE_NAME_LENGTH, 0 },
{(PS8)"Validate (yes - 1 /no - 0):", CON_PARM_OPTIONAL, 0, 0, 0 }, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"cerTificate", (PS8)"Set Certificate",(FuncToken_t)CuCmd_SetPrivacyCertificate, aaa);
}
#endif
#ifdef WPA_SUPPLICANT
CHK_NULL(h1 = (THandle) Console_AddDirExt(pTiCon->hConsole, (THandle) h, (PS8)"Supplicant", (PS8)"Supplicant" ) );
{
Console_AddToken(pTiCon->hConsole,h1, (PS8)"Kill", (PS8)"Kill", (FuncToken_t) CuCmd_StopSuppl, NULL );
ConParm_t aaa[] =
{
{(PS8)"Level", CON_PARM_RANGE, 0, 4, 0 },
{(PS8)"Show keys", CON_PARM_RANGE, 0, 1, 0 },
{(PS8)"Show timestamps (yes - 1 /no - 0)", CON_PARM_RANGE, 0, 1, 0 },
CON_LAST_PARM};
Console_AddToken(pTiCon->hConsole,h1, (PS8)"Debug", (PS8)"Set debug", (FuncToken_t)CuCmd_ChangeSupplDebugLevels, aaa );
}
#endif
CHK_NULL(h1 = (THandle) Console_AddDirExt(pTiCon->hConsole, (THandle) h, (PS8)"Wep", (PS8)"Wep" ) );
{
ConParm_t aaa[] =
{
{(PS8)"Key Value", CON_PARM_STRING, 0, 64, 0},
{(PS8)"Tx Key Index", 0, 0, 0, 0 },
{(PS8)"Default Key (yes - 1 /no - 0)", 0, 0, 0, 0 },
{(PS8)"key type (hex | text) [hex]", CON_PARM_OPTIONAL | CON_PARM_STRING, 0, 5, 0},
CON_LAST_PARM
};
Console_AddToken(pTiCon->hConsole,h1, (PS8)"Add", (PS8)"Add WEP", (FuncToken_t)CuCmd_AddPrivacyKey, aaa );
}
{
ConParm_t aaa[] = { {(PS8)"Key Index", 0, 0, 0, 0 }, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h1, (PS8)"Remove", (PS8)"Remove WEP", (FuncToken_t)CuCmd_RemovePrivacyKey, aaa);
}
Console_AddToken(pTiCon->hConsole,h1, (PS8)"Get Default Key ID", (PS8)"Get Default Key ID", (FuncToken_t)CuCmd_GetPrivacyDefaultKey, NULL);
#ifdef XCC_MODULE_INCLUDED
CuXCC_AddXCCMenu(pTiCon, h);
#endif/*XCC_MODULE_INCLUDED*/
/* -------------------------------------------- Scan -------------------------------------------- */
CHK_NULL(h = (THandle) Console_AddDirExt(pTiCon->hConsole, (THandle) NULL, (PS8)"scAn", (PS8)"Scan Service Configuration" ) );
Console_AddToken(pTiCon->hConsole, h, (PS8)"Start", (PS8)"Start One-Shot Application Scan", (FuncToken_t) CuCmd_StartScan, NULL );
Console_AddToken(pTiCon->hConsole, h, (PS8)"sTop", (PS8)"Stop One-Shot Application Scan", (FuncToken_t) CuCmd_StopScan, NULL );
#ifndef NO_WPA_SUPPL
{
ConParm_t aaa[] = { {(PS8)"Scan Type (0=Active, 1=Passive)", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 1, 0 },
{(PS8)"Ssid", CON_PARM_STRING | CON_PARM_OPTIONAL, 0, 32, 0 },
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"Wextstart", (PS8)"WEXT Start One-Shot Application Scan", (FuncToken_t) CuCmd_WextStartScan, aaa );
}
#endif
CHK_NULL(h1 = (THandle) Console_AddDirExt(pTiCon->hConsole, (THandle) h, (PS8)"configApp", (PS8)"Configure One-Shot Application Scan Params" ) );
{
ConParm_t aaa[] = {
{(PS8)"SSID", CON_PARM_STRING, 0, 33, 0 },
#ifdef TI_DBG /* limitn application scan to normal only in release version */
{(PS8)"Scan Type", CON_PARM_RANGE, SCAN_TYPE_NORMAL_PASSIVE, SCAN_TYPE_TRIGGERED_ACTIVE, 0 },
#else
{(PS8)"Scan Type", CON_PARM_RANGE, SCAN_TYPE_NORMAL_PASSIVE, SCAN_TYPE_NORMAL_ACTIVE, 0 },
#endif
{(PS8)"Band", CON_PARM_RANGE, 0, 1, 0 },
{(PS8)"Probe Request Number", CON_PARM_RANGE, 0, 255, 0 },
{(PS8)"Probe Request Rate", CON_PARM_RANGE, 0, DRV_RATE_MASK_54_OFDM, 0 },
#ifdef TI_DBG
{(PS8)"Tid", CON_PARM_RANGE, 0, 255, 0 },
#endif
{(PS8)"Number of Channels", CON_PARM_RANGE, 0, 16, 0 },
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h1, (PS8)"Global", (PS8)"Config Global Params", (FuncToken_t) CuCmd_ScanAppGlobalConfig, aaa );
}
{
ConParm_t aaa[] = {
{(PS8)"Index", CON_PARM_RANGE, 0, 30, 0 },
{(PS8)"BSSID (xx:xx:xx:xx:xx:xx)", CON_PARM_STRING, 0, 18, 0 },
{(PS8)"Max Dwell Time", CON_PARM_RANGE, 0, 100000000, 0 },
{(PS8)"Min Dwell Time", CON_PARM_RANGE, 0, 100000000, 0 },
{(PS8)"ET Condition", CON_PARM_RANGE, SCAN_ET_COND_DISABLE, SCAN_ET_COND_ANY_FRAME, 0 },
{(PS8)"ET Frame Number", CON_PARM_RANGE, 0, 255, 0 },
{(PS8)"TX power level", CON_PARM_RANGE, 0, MAX_TX_POWER, 0 },
{(PS8)"Channel Number", CON_PARM_RANGE, 0, 255, 0 },
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h1, (PS8)"Channel", (PS8)"Config Channel Params", (FuncToken_t) CuCmd_ScanAppChannelConfig, aaa );
}
Console_AddToken(pTiCon->hConsole,h1, (PS8)"cLear", (PS8)"Clear All Params", (FuncToken_t) CuCmd_ScanAppClear, NULL );
Console_AddToken(pTiCon->hConsole,h1, (PS8)"Display", (PS8)"Display Params", (FuncToken_t) CuCmd_ScanAppDisplay, NULL );
{
ConParm_t aaa[] = {
{(PS8)"Aging threshold", CON_PARM_RANGE, 0, 1000, 60 } };
Console_AddToken(pTiCon->hConsole,h1, (PS8)"Aging", (PS8)"Set aging threshiold", (FuncToken_t) CuCmd_ScanSetSra, aaa );
}
{
ConParm_t aaa[] = {
{(PS8)"Rssi threshold", CON_PARM_RANGE | CON_PARM_SIGN, -100, 0, -80 } };
Console_AddToken(pTiCon->hConsole,h1, (PS8)"Rssi", (PS8)"Set rssi threshiold", (FuncToken_t) CuCmd_ScanSetRssi, aaa );
}
CHK_NULL(h1 = (THandle) Console_AddDirExt (pTiCon->hConsole, (THandle)h, (PS8)"configpEriodic", (PS8)"Configure Periodic Application Scan" ) );
{
ConParm_t aaa[] = {
{(PS8)"RSSI Threshold", CON_PARM_RANGE | CON_PARM_SIGN, -100, 0, -97 },
{(PS8)"SNR threshold", CON_PARM_RANGE | CON_PARM_SIGN, -10, 100, 0 },
{(PS8)"Report threshold", CON_PARM_RANGE, 1, 8, 1 },
{(PS8)"Terminate on report", CON_PARM_RANGE, 0, 1, 1 },
{(PS8)"BSS Type (0-independent, 1-infrastructure, 2-any)", CON_PARM_RANGE, 0, 2, 2 },
{(PS8)"Probe request number", CON_PARM_RANGE, 0, 5, 3 },
{(PS8)"Number of scan cycles", CON_PARM_RANGE, 0, 100, 0 },
{(PS8)"Number of SSIDs", CON_PARM_RANGE, 0, 8, 0 },
{(PS8)"SSID List Filter Enabled", CON_PARM_RANGE, 0, 1, 1 },
{(PS8)"Number of channels", CON_PARM_RANGE, 0, 32, 14 },
CON_LAST_PARM };
Console_AddToken (pTiCon->hConsole, h1, (PS8)"Global", (PS8)"Configure global periodic scan parameters", CuCmd_ConfigPeriodicScanGlobal, aaa);
}
{
ConParm_t aaa[] = {
{(PS8)"Index", CON_PARM_RANGE, 0, PERIODIC_SCAN_MAX_INTERVAL_NUM - 1, 0 },
{(PS8)"Interval (in millisec)", CON_PARM_RANGE, 0, 3600000, 1000 },
CON_LAST_PARM };
Console_AddToken (pTiCon->hConsole, h1, (PS8)"Interval", (PS8)"Configure interval table", CuCmd_ConfigPeriodicScanInterval, aaa);
}
{
ConParm_t aaa[] = {
{(PS8)"Index", CON_PARM_RANGE, 0, 7, 0 },
{(PS8)"Visability (0-public, 1-hidden)", CON_PARM_RANGE, 0, 1, 0 },
{(PS8)"SSID", CON_PARM_STRING, 0, 33, 0},
CON_LAST_PARM };
Console_AddToken (pTiCon->hConsole, h1, (PS8)"SSID", (PS8)"Configure SSID list", CuCmd_ConfigurePeriodicScanSsid, aaa);
}
{
ConParm_t aaa[] = {
{(PS8)"Index", CON_PARM_RANGE, 0, 32, 0 },
{(PS8)"Band (0-2.4GHz, 1-5GHz)", CON_PARM_RANGE, 0, 1, 0 },
{(PS8)"Channel", CON_PARM_RANGE, 0, 180, 0 },
{(PS8)"Scan Type (0-passive, 1-active)", CON_PARM_RANGE, 0, 1, 0 },
{(PS8)"Min dwell time (in millisec)", CON_PARM_RANGE, 1, 1000, 15 },
{(PS8)"Max dwell time (in millisec)", CON_PARM_RANGE, 1, 1000, 100 },
{(PS8)"TX power level (dBm*10)", CON_PARM_RANGE, 0, MAX_TX_POWER, 0 },
CON_LAST_PARM };
Console_AddToken (pTiCon->hConsole, h1, (PS8)"Channel", (PS8)"Configure channel list", CuCmd_ConfigurePeriodicScanChannel, aaa);
}
Console_AddToken (pTiCon->hConsole, h1, (PS8)"cLear", (PS8)"Clear configuration", CuCmd_ClearPeriodicScanConfiguration, NULL);
Console_AddToken (pTiCon->hConsole, h1, (PS8)"Display", (PS8)"Display current configuration", CuCmd_DisplayPeriodicScanConfiguration, NULL);
Console_AddToken (pTiCon->hConsole, h1, (PS8)"sTart", (PS8)"Start Periodic Scan", CuCmd_StartPeriodicScan, NULL);
Console_AddToken (pTiCon->hConsole, h1, (PS8)"stoP", (PS8)"Stop periodic scan", CuCmd_StopPeriodicScan, NULL);
CHK_NULL(h1 = (THandle) Console_AddDirExt(pTiCon->hConsole, (THandle) h, (PS8)"configPolicy", (PS8)"Configure Scan Manager Scan Policy" ) );
{
ConParm_t aaa[] = {
{(PS8)"Normal scan interval (msec)", CON_PARM_RANGE, 0, 3600000, 5000 },
{(PS8)"Deteriorating scan interval", CON_PARM_RANGE, 0, 3600000, 3000 },
{(PS8)"Max Track Failures", CON_PARM_RANGE, 0, 20, 3 },
{(PS8)"BSS list size", CON_PARM_RANGE, 0, 16, 8 },
{(PS8)"BSS Number to start discovery", CON_PARM_RANGE, 0, 16, 4 },
{(PS8)"Number of bands", CON_PARM_RANGE, 0, 2, 1 },
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h1, (PS8)"Gloabal", (PS8)"Set Global policy Params", (FuncToken_t) CuCmd_ConfigScanPolicy, aaa );
}
CHK_NULL(h2 = (THandle) Console_AddDirExt(pTiCon->hConsole, (THandle) h1, (PS8)"Band", (PS8)"Configure band scan policy" ) );
{
ConParm_t aaa[] = {
{(PS8)"Index", CON_PARM_RANGE, 0, 1, 0 },
{(PS8)"Band", CON_PARM_RANGE, 0, 1, 0 },
{(PS8)"RSSI threshold", CON_PARM_RANGE| CON_PARM_SIGN, -100, 0, 0 },
{(PS8)"Channel number for discovery cycle", CON_PARM_RANGE, 0, 30, 5 },
{(PS8)"Number of Channels", CON_PARM_RANGE, 0, 30, 0 },
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h2, (PS8)"Misc", (PS8)"Set misc band params", (FuncToken_t) CuCmd_ConfigScanBand, aaa );
}
{
ConParm_t aaa[] = {
{(PS8)"Band Index", CON_PARM_RANGE, 0, 1, 0 },
{(PS8)"Channel Index", CON_PARM_RANGE, 0, 29, 0 },
{(PS8)"Channel", CON_PARM_RANGE, 0, 160, 0 },
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h2, (PS8)"Channel", (PS8)"Set Channel params", (FuncToken_t) CuCmd_ConfigScanBandChannel, aaa );
}
{
ConParm_t aaa[] = {
{(PS8)"Band Index", CON_PARM_RANGE, 0, 1, 0 },
{(PS8)"Scan Type", CON_PARM_RANGE, 0, 5, 0 },
{(PS8)"ET event", CON_PARM_RANGE, SCAN_ET_COND_DISABLE, SCAN_ET_COND_ANY_FRAME, SCAN_ET_COND_DISABLE },
{(PS8)"ET num of frames", CON_PARM_RANGE, 0, 255,0 },
{(PS8)"Triggering AC", CON_PARM_RANGE, 0, 255, 0 },
{(PS8)"Scan Duration (SPS)", CON_PARM_RANGE, 0, 100000000, 2000 },
{(PS8)"Max dwell time", CON_PARM_RANGE, 0, 100000000, 60000 },
{(PS8)"Min dwell time", CON_PARM_RANGE, 0, 100000000, 30000 },
{(PS8)"Probe req. number", CON_PARM_RANGE, 0, 255, 2 },
{(PS8)"Probe req. rate", CON_PARM_RANGE, 0, DRV_RATE_MASK_54_OFDM, 0 },
{(PS8)"TX power level", CON_PARM_RANGE, 0, MAX_TX_POWER, 0 },
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h2, (PS8)"Track", (PS8)"Set tracking method params", (FuncToken_t) CuCmd_ConfigScanBandTrack, aaa );
}
{
ConParm_t aaa[] = {
{(PS8)"Band Index", CON_PARM_RANGE, 0, 1, 0 },
{(PS8)"Scan Type", CON_PARM_RANGE, 0, 5, 0 },
{(PS8)"ET event", CON_PARM_RANGE, SCAN_ET_COND_DISABLE, SCAN_ET_COND_ANY_FRAME, SCAN_ET_COND_DISABLE },
{(PS8)"ET num of frames", CON_PARM_RANGE, 0, 255,0 },
{(PS8)"Triggering AC", CON_PARM_RANGE, 0, 255, 0 },
{(PS8)"Scan Duration (SPS)", CON_PARM_RANGE, 0, 100000000, 2000 },
{(PS8)"Max dwell time", CON_PARM_RANGE, 0, 100000000, 60000 },
{(PS8)"Min dwell time", CON_PARM_RANGE, 0, 100000000, 30000 },
{(PS8)"Probe req. number", CON_PARM_RANGE, 0, 255, 2 },
{(PS8)"Probe req. rate", CON_PARM_RANGE, 0, DRV_RATE_MASK_54_OFDM, 0 },
{(PS8)"TX power level", CON_PARM_RANGE, 0, MAX_TX_POWER, 0 },
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h2, (PS8)"Discovery", (PS8)"Set Discovery method params", (FuncToken_t) CuCmd_ConfigScanBandDiscover, aaa );
}
{
ConParm_t aaa[] = {
{(PS8)"Band Index", CON_PARM_RANGE, 0, 1, 0 },
{(PS8)"Scan Type", CON_PARM_RANGE, 0, 5, 0 },
{(PS8)"ET event", CON_PARM_RANGE, SCAN_ET_COND_DISABLE, SCAN_ET_COND_ANY_FRAME, SCAN_ET_COND_DISABLE },
{(PS8)"ET num of frames", CON_PARM_RANGE, 0, 255,0 },
{(PS8)"Triggering AC", CON_PARM_RANGE, 0, 255, 0 },
{(PS8)"Scan Duration (SPS)", CON_PARM_RANGE, 0, 100000000, 2000 },
{(PS8)"Max dwell time", CON_PARM_RANGE, 0, 100000000, 60000 },
{(PS8)"Min dwell time", CON_PARM_RANGE, 0, 100000000, 30000 },
{(PS8)"Probe req. number", CON_PARM_RANGE, 0, 255, 2 },
{(PS8)"Probe req. rate", CON_PARM_RANGE, 0, DRV_RATE_MASK_54_OFDM, 0 },
{(PS8)"TX power level", CON_PARM_RANGE, 0, MAX_TX_POWER, 0 },
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h2, (PS8)"Immediate", (PS8)"Set Immediate method params", (FuncToken_t) CuCmd_ConfigScanBandImmed, aaa );
}
Console_AddToken(pTiCon->hConsole,h1, (PS8)"Display", (PS8)"Display Policy Params", (FuncToken_t) CuCmd_DisplayScanPolicy, NULL );
Console_AddToken(pTiCon->hConsole,h1, (PS8)"cLear", (PS8)"Clear Polciy Params", (FuncToken_t) CuCmd_ClearScanPolicy, NULL );
Console_AddToken(pTiCon->hConsole,h1, (PS8)"Store", (PS8)"Send policy to scan manager", (FuncToken_t) CuCmd_SetScanPolicy, NULL );
Console_AddToken(pTiCon->hConsole,h1, (PS8)"bsslisT", (PS8)"Display BSS list", (FuncToken_t) CuCmd_GetScanBssList, NULL );
/* -------------------------------------------- roaminG -------------------------------------------- */
/************ ROAMING manager commands - start ********************/
CHK_NULL(h = (THandle) Console_AddDirExt(pTiCon->hConsole, (THandle) NULL, (PS8)"roaminG", (PS8)"Roaming Manager configuration" ) );
Console_AddToken(pTiCon->hConsole,h, (PS8)"Enable", (PS8)"Enable Internal Roaming", (FuncToken_t) CuCmd_RoamingEnable, NULL );
Console_AddToken(pTiCon->hConsole,h, (PS8)"Disable", (PS8)"Disable Internal Roaming", (FuncToken_t) CuCmd_RoamingDisable, NULL );
{
ConParm_t aaa[] = {
{(PS8)"Low pass filter time", CON_PARM_RANGE, 0, 1440, 30 }, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"Low pass filter", (PS8)"Time in sec ", (FuncToken_t) CuCmd_RoamingLowPassFilter, aaa );
}
{
ConParm_t aaa[] = {
{(PS8)"Quality threshold", CON_PARM_RANGE | CON_PARM_SIGN, -150, 0, -70 }, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"Quality threshold", (PS8)"Quality indicator", (FuncToken_t) CuCmd_RoamingQualityIndicator, aaa );
}
Console_AddToken(pTiCon->hConsole,h, (PS8)"Get ", (PS8)"Get Roaming config params ", (FuncToken_t) CuCmd_RoamingGetConfParams, NULL );
CHK_NULL(h1 = (THandle) Console_AddDirExt(pTiCon->hConsole, (THandle) h, (PS8)"Thresholds", (PS8)"Set Roaming MNGR triggers thresholds" ) );
{
ConParm_t aaa[] = {
{(PS8)"Tx retry", CON_PARM_RANGE, 0, 255, 20 }, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h1, (PS8)"Tx retry ", (PS8)"Consecutive number of TX retries", (FuncToken_t) CuCmd_RoamingDataRetryThreshold, aaa );
}
{
ConParm_t aaa[] = {
{(PS8)"Bss loss", CON_PARM_RANGE, 1, 255, 4 }, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h1, (PS8)"Bss loss ", (PS8)"Number of TBTTs", (FuncToken_t) CuCmd_RoamingNumExpectedTbttForBSSLoss, aaa );
}
{
ConParm_t aaa[] = {
{(PS8)"tx Rate threshold", CON_PARM_RANGE, 0, 54, 2 }, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h1, (PS8)"tx Rate threshold ", (PS8)"TX rate (fallback) threshold", (FuncToken_t) CuCmd_RoamingTxRateThreshold, aaa );
}
{
ConParm_t aaa[] = {
{(PS8)"Low rssi threshold", CON_PARM_RANGE | CON_PARM_SIGN, -150, 0, -80 }, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h1, (PS8)"low rssi thresHold ", (PS8)"Low RSSI threshold", (FuncToken_t) CuCmd_RoamingLowRssiThreshold, aaa );
}
{
ConParm_t aaa[] = {
{(PS8)"low Snr threshold", CON_PARM_RANGE, 0, 255, 10 }, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h1, (PS8)"low Snr threshold ", (PS8)"Low SNR threshold", (FuncToken_t) CuCmd_RoamingLowSnrThreshold, aaa );
}
{
ConParm_t aaa[] = {
{(PS8)"low Quality for scan", CON_PARM_RANGE | CON_PARM_SIGN, -150, -40, -85 }, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h1, (PS8)"low Quality for scan ", (PS8)"Increase the background scan", (FuncToken_t) CuCmd_RoamingLowQualityForBackgroungScanCondition, aaa );
}
{
ConParm_t aaa[] = {
{(PS8)"Normal quality for scan", CON_PARM_RANGE | CON_PARM_SIGN, -150, -40, -70 }, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h1, (PS8)"Normal quality for scan ", (PS8)"Reduce the background scan", (FuncToken_t) CuCmd_RoamingNormalQualityForBackgroungScanCondition, aaa );
}
{
ConParm_t aaa[] = {
{(PS8)"Index ", CON_PARM_RANGE, 0, 1, 0 },
{(PS8)"Threshold [dB / dBm] ", CON_PARM_RANGE | CON_PARM_SIGN, -100, 100, 0 },
{(PS8)"Pacing [Millisecond] ", CON_PARM_RANGE, 0, 60000, 1000 },
{(PS8)"Metric [0 - bcon_rssi, 1 - pkt_rssi, 2 - bcon_snr, 3 - pkt_snr] ", CON_PARM_RANGE, 0, 3, 0 },
{(PS8)"Type [0 - Level, 1 - Edge] ", CON_PARM_RANGE, 0, 1, 0 },
{(PS8)"Direction [0 - Down, 1 - Up, 2 - Both] ", CON_PARM_RANGE, 0, 2, 0 },
{(PS8)"Hystersis [dB] ", CON_PARM_RANGE, 0, 255, 0 },
{(PS8)"Enable [0 - Disable, 1 - Enable] ", CON_PARM_RANGE, 0, 1, 0 },
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h1, (PS8)"User defined trigger\n", (PS8)"User defined FW trigger", (FuncToken_t) CuCmd_CurrBssUserDefinedTrigger, aaa );
}
/************ ROAMING manager commands - end ********************/
/* -------------------------------------------- QOS -------------------------------------------- */
CHK_NULL(h = (THandle) Console_AddDirExt(pTiCon->hConsole, (THandle) NULL, (PS8)"qOs", (PS8)"Quality of service" ) );
Console_AddToken(pTiCon->hConsole,h, (PS8)"aP params", (PS8)"Get AP QoS parameters", (FuncToken_t) CuCmd_GetApQosParams, NULL );
Console_AddToken(pTiCon->hConsole,h, (PS8)"ap Capabilities", (PS8)"Get AP QoS capabilities parameters", (FuncToken_t) CuCmd_GetApQosCapabilities, NULL );
{
ConParm_t ACid[] = { {(PS8)"AC", CON_PARM_RANGE, 0, 3, 3 }, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"ac Status", (PS8)"Get Current AC Status", (FuncToken_t) CuCmd_GetAcStatus, ACid );
}
Console_AddToken(pTiCon->hConsole,h, (PS8)"dEsired ps mode", (PS8)"Get desired PS mode", (FuncToken_t) CuCmd_GetDesiredPsMode, NULL );
{
ConParm_t aaa[] = {
{(PS8)"TID", CON_PARM_RANGE, 0, 7, 0 },
{(PS8)"Stream Period (mSec)", CON_PARM_RANGE , 10, 100, 20 },
{(PS8)"Tx Timeout (mSec)", CON_PARM_RANGE , 0, 200, 30 },
{(PS8)"Enable", CON_PARM_RANGE , 0, 1, 1 },
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"set ps rX streaming", (PS8)"Set PS Rx Streaming", (FuncToken_t) CuCmd_SetPsRxDelivery, aaa );
}
Console_AddToken(pTiCon->hConsole,h, (PS8)"get ps rx streAming", (PS8)"Get PS Rx Streaming parameters", (FuncToken_t) CuCmd_GetPsRxStreamingParams, NULL );
{
ConParm_t aaa[] = {
{(PS8)"acID", CON_PARM_RANGE, 0, 3, 0 },
{(PS8)"MaxLifeTime", CON_PARM_RANGE , 0, 1024, 0 },
{(PS8)"PS Delivery Protocol (0 - Legacy, 1 - U-APSD)", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 1, 1 },
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"Qosparams", (PS8)"Set QOS Parameters", (FuncToken_t) CuCmd_SetQosParams, aaa );
}
{
ConParm_t aaa[] = {
{(PS8)"PsPoll", CON_PARM_RANGE, 0, 65000, 0 },
{(PS8)"UPSD", CON_PARM_RANGE , 0, 65000, 0 },
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"Rx TimeOut", (PS8)"Rx TimeOut", (FuncToken_t) CuCmd_SetRxTimeOut, aaa );
}
{ ConParm_t aaa[] = {
{(PS8)"Type", CON_PARM_RANGE, DSCP_CLSFR, CLSFR_TYPE_MAX, 0 },
{(PS8)"D-Tag", CON_PARM_RANGE, CLASSIFIER_DTAG_MIN, CLASSIFIER_DTAG_MAX, CLASSIFIER_DTAG_DEF },
{(PS8)"Param1", CON_PARM_RANGE, 0, 65535, 0 },
{(PS8)"Ip1", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 255, 0 },
{(PS8)"Ip2", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 255, 0 },
{(PS8)"Ip3", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 255, 0 },
{(PS8)"Ip4", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 255, 0 },
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"Insert class", (PS8)"Insert new classification entry", (FuncToken_t) CuCmd_InsertClsfrEntry, aaa );
}
{ ConParm_t aaa[] = {
{(PS8)"Type", CON_PARM_RANGE, DSCP_CLSFR, CLSFR_TYPE_MAX, 0 },
{(PS8)"D-Tag", CON_PARM_RANGE, CLASSIFIER_DTAG_MIN, CLASSIFIER_DTAG_MAX, CLASSIFIER_DTAG_DEF },
{(PS8)"Param1", CON_PARM_RANGE, 0, 65535, 0 },
{(PS8)"Ip1", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 255, 0 },
{(PS8)"Ip2", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 255, 0 },
{(PS8)"Ip3", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 255, 0 },
{(PS8)"Ip4", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 255, 0 },
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"remoVe class", (PS8)"Remove classification entry", (FuncToken_t) CuCmd_RemoveClsfrEntry, aaa );
}
CHK_NULL(h1 = (THandle) Console_AddDirExt(pTiCon->hConsole, (THandle) h, (PS8)"Tspec", (PS8)"TSPEC Sub-menu" ) );
{ ConParm_t TspecParams[] = {
{(PS8)"UserPriority", CON_PARM_RANGE, 0, 7, 1 },
{(PS8)"NominalMSDUsize", CON_PARM_RANGE, 1, 2312, 1 },
{(PS8)"MeanDataRate (Bps units)", CON_PARM_RANGE, 0, 54000000, 0 },
{(PS8)"MinimumPHYRate (Mbps units)", CON_PARM_RANGE , 0, 54, 0 },
{(PS8)"SurplusBandwidthAllowance", CON_PARM_RANGE , 0, 7, 0 },
{(PS8)"UPSD Mode (0 - Legacy, 1 - U-APSD)", CON_PARM_RANGE , 0, 1, 0 },
{(PS8)"MinimumServiceInterval (usec)", CON_PARM_RANGE , 0, 1000000000, 0 },
{(PS8)"MaximumServiceInterval (usec)", CON_PARM_RANGE , 0, 1000000000, 0 },
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h1, (PS8)"Add", (PS8)"Add TSPEC", (FuncToken_t) CuCmd_AddTspec, TspecParams );
}
{
ConParm_t UPid[] = { {(PS8)"User priority", CON_PARM_RANGE, 0, 7, 1 }, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h1, (PS8)"Get", (PS8)"Get TSPEC Params", (FuncToken_t) CuCmd_GetTspec, UPid );
}
{
ConParm_t UPid[] = { {(PS8)"UserPriority", CON_PARM_RANGE, 0, 7, 1 },
{(PS8)"ReasonCode", CON_PARM_RANGE, 32, 45, 32 }, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h1, (PS8)"Delete", (PS8)"Delete TSPEC", (FuncToken_t) CuCmd_DeleteTspec, UPid );
}
{
ConParm_t MediumUsageParams[] = {
{(PS8)"AC", CON_PARM_RANGE, 0, 3, 3 },
{(PS8)"HighThreshold", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 100, 1 },
{(PS8)"LowThreshold", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 100, 1 },
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h1, (PS8)"Medium usage", (PS8)"Medium usage threshold", (FuncToken_t) CuCmd_ModifyMediumUsageTh, MediumUsageParams );
}
/* -------------------------------------------- Power Management -------------------------------------------- */
CHK_NULL(h = (THandle) Console_AddDirExt(pTiCon->hConsole, (THandle) NULL, (PS8)"poWer", (PS8)"Power Management" ) );
{
/* Set Power Mode Command */
ConParm_t powerModeCmd[] = {
{(PS8)"PowerMode", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 3, 1 }, /* Min/Max/Def */
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"set_Power_mode", (PS8)"Set user power mode", (FuncToken_t) CuCmd_SetPowerMode, powerModeCmd );
}
{
/* Set Power Save Power level Command */
ConParm_t powerSavePowerLevelCmd[] = {
{(PS8)"PowerSavePowerLevel", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 2, 2 }, /* Min/Max/Def */
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"set_powersave_powerLevel", (PS8)"Set the Power level during PowerSave", (FuncToken_t) CuCmd_SetPowerSavePowerLevel, powerSavePowerLevelCmd );
}
{
/* Set default Power level Command */
ConParm_t defaultPowerLevelCmd[] = {
{(PS8)"DefaultPowerLevel", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 2, 2 }, /* Min/Max/Def */
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"set_deFault_powerlevel", (PS8)"Set the default power level", (FuncToken_t) CuCmd_SetDefaultPowerLevel, defaultPowerLevelCmd );
}
{
/* Set doze mode in auto power mode */
ConParm_t powerSaveDozeMode[] = {
{(PS8)"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 },
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"set_doZe_mode_in_auto", (PS8)"Set doze mode in auto power mode", (FuncToken_t) CuCmd_SetDozeModeInAutoPowerLevel, powerSaveDozeMode );
}
{
ConParm_t TrafficIntensityParams[] = {
{(PS8)"HighThreshold (packets/sec)", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 1000, 100 },
{(PS8)"LowThreshold (packets/sec)", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 1000, 25 },
{(PS8)"CheckInterval (ms)", CON_PARM_RANGE | CON_PARM_OPTIONAL, 100, 10000, 1000 },
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"traffic_Thresholds", (PS8)"Set/Get traffic intensity thresholds", (FuncToken_t) CuCmd_SetTrafficIntensityTh, TrafficIntensityParams );
}
Console_AddToken(pTiCon->hConsole,h, (PS8)"eNable", (PS8)"enable traffic intensity events", (FuncToken_t) CuCmd_EnableTrafficEvents, NULL );
Console_AddToken(pTiCon->hConsole,h, (PS8)"Disable", (PS8)"disable traffic intensity events", (FuncToken_t) CuCmd_DisableTrafficEvents, NULL );
{
/* set DCO-Itrim parameters */
ConParm_t dcoItrimParams[] = { {(PS8)"Enable/Disable <1/0>", CON_PARM_RANGE | CON_PARM_OPTIONAL, DCO_ITRIM_ENABLE_MIN, DCO_ITRIM_ENABLE_MAX, DCO_ITRIM_ENABLE_DEF },
{(PS8)"Set Moderation Timeout (usec)", CON_PARM_RANGE | CON_PARM_OPTIONAL, DCO_ITRIM_MODERATION_TIMEOUT_MIN, DCO_ITRIM_MODERATION_TIMEOUT_MAX, DCO_ITRIM_MODERATION_TIMEOUT_DEF},
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"set_dcO_itrim", (PS8)"Set/Get DCO Itrim Parameters", (FuncToken_t) CuCmd_SetDcoItrimParams, dcoItrimParams );
}
/* -------------------------------------------- Events -------------------------------------------- */
CHK_NULL(h = (THandle) Console_AddDirExt(pTiCon->hConsole, (THandle) NULL, (PS8)"eVents", (PS8)"Events" ) );
{
ConParm_t aaa[] = { {(PS8)"type", CON_PARM_OPTIONAL, 0, 0, 0 }, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"Register", (PS8)"IPC events", (FuncToken_t)CuCmd_RegisterEvents, aaa);
}
{
ConParm_t aaa[] = { {(PS8)"type", CON_PARM_OPTIONAL, 0, 0, 0 }, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"Unregister", (PS8)"IPC events", (FuncToken_t)CuCmd_UnregisterEvents, aaa);
}
/* -------------------------------------------- SG -------------------------------------------- */
CHK_NULL(h = (THandle) Console_AddDirExt(pTiCon->hConsole, (THandle) NULL, (PS8)"Bt CoExsistance", (PS8)"BT - Wlan CoExsistance" ) );
{
ConParm_t aaa[] = { {(PS8)"enable", CON_PARM_RANGE | CON_PARM_OPTIONAL,
SOFT_GEMINI_ENABLED_MIN, SOFT_GEMINI_ENABLED_MAX, 0 }, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"Enable", (PS8)"Enable BT Coexistense", (FuncToken_t) CuCmd_EnableBtCoe, aaa );
}
{
ConParm_t aaa[] = {
{(PS8)"coexParamIdx", CON_PARM_RANGE | CON_PARM_OPTIONAL ,
SOFT_GEMINI_PARAMS_INDEX_MIN, SOFT_GEMINI_PARAMS_INDEX_MAX, SOFT_GEMINI_PARAMS_INDEX_DEF },
{(PS8)"coexParamValue", CON_PARM_RANGE | CON_PARM_OPTIONAL ,
SOFT_GEMINI_PARAMS_VALUE_MIN, SOFT_GEMINI_PARAMS_VALUE_MAX, SOFT_GEMINI_PARAMS_VALUE_DEF},
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole, h, (PS8)"Config", (PS8)"Parameters configuration", (FuncToken_t) CuCmd_ConfigBtCoe, aaa );
}
{
ConParm_t aaa[] = { {(PS8)"status", CON_PARM_RANGE | CON_PARM_OPTIONAL, 0, 3, 0 }, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole, h, (PS8)"Status", (PS8)"Get status", (FuncToken_t) CuCmd_GetBtCoeStatus, aaa );
}
{
ConParm_t aaa[] = {
{(PS8)"coexIp", CON_PARM_RANGE | CON_PARM_OPTIONAL ,
COEX_ACTIVITY_PARAMS_COEX_IP_MIN, COEX_ACTIVITY_PARAMS_COEX_IP_MAX, COEX_ACTIVITY_PARAMS_COEX_IP_DEF },
{(PS8)"activityId", CON_PARM_RANGE | CON_PARM_OPTIONAL ,
COEX_ACTIVITY_PARAMS_ACTIVITY_ID_MIN, COEX_ACTIVITY_PARAMS_ACTIVITY_ID_MAX, COEX_ACTIVITY_PARAMS_ACTIVITY_ID_DEF},
{(PS8)"defaultPriority", CON_PARM_RANGE | CON_PARM_OPTIONAL ,
COEX_ACTIVITY_PARAMS_DEFAULT_PRIO_MIN, COEX_ACTIVITY_PARAMS_DEFAULT_PRIO_MAX, COEX_ACTIVITY_PARAMS_DEFAULT_PRIO_DEF},
{(PS8)"raisedPriority", CON_PARM_RANGE | CON_PARM_OPTIONAL,
COEX_ACTIVITY_PARAMS_RAISED_PRIO_MIN, COEX_ACTIVITY_PARAMS_RAISED_PRIO_MAX, COEX_ACTIVITY_PARAMS_RAISED_PRIO_DEF},
{(PS8)"minService", CON_PARM_RANGE | CON_PARM_OPTIONAL ,
COEX_ACTIVITY_PARAMS_MIN_SERVICE_MIN, COEX_ACTIVITY_PARAMS_MIN_SERVICE_MAX, COEX_ACTIVITY_PARAMS_MIN_SERVICE_DEF },
{(PS8)"maxService", CON_PARM_RANGE | CON_PARM_OPTIONAL ,
COEX_ACTIVITY_PARAMS_MAX_SERVICE_MIN, COEX_ACTIVITY_PARAMS_MAX_SERVICE_MAX, COEX_ACTIVITY_PARAMS_MAX_SERVICE_DEF},
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole, h, (PS8)"coexActivity", (PS8)"Coex Activity Parameters configuration", (FuncToken_t) CuCmd_ConfigCoexActivity, aaa );
}
{
ConParm_t aaa[] = {
{(PS8)"enable", CON_PARM_RANGE | CON_PARM_OPTIONAL ,
FM_COEX_ENABLE_MIN, FM_COEX_ENABLE_MAX, FM_COEX_ENABLE_DEF },
{(PS8)"swallowPeriod", CON_PARM_RANGE | CON_PARM_OPTIONAL ,
FM_COEX_SWALLOW_PERIOD_MIN, FM_COEX_SWALLOW_PERIOD_MAX, FM_COEX_SWALLOW_PERIOD_DEF },
{(PS8)"nDividerFrefSet1", CON_PARM_RANGE | CON_PARM_OPTIONAL ,
FM_COEX_N_DIVIDER_FREF_SET1_MIN, FM_COEX_N_DIVIDER_FREF_SET1_MAX, FM_COEX_N_DIVIDER_FREF_SET1_DEF },
{(PS8)"nDividerFrefSet2", CON_PARM_RANGE | CON_PARM_OPTIONAL ,
FM_COEX_N_DIVIDER_FREF_SET2_MIN, FM_COEX_N_DIVIDER_FREF_SET2_MAX, FM_COEX_N_DIVIDER_FREF_SET2_DEF },
{(PS8)"mDividerFrefSet1", CON_PARM_RANGE | CON_PARM_OPTIONAL ,
FM_COEX_M_DIVIDER_FREF_SET1_MIN, FM_COEX_M_DIVIDER_FREF_SET1_MAX, FM_COEX_M_DIVIDER_FREF_SET1_DEF },
{(PS8)"mDividerFrefSet2", CON_PARM_RANGE | CON_PARM_OPTIONAL ,
FM_COEX_M_DIVIDER_FREF_SET2_MIN, FM_COEX_M_DIVIDER_FREF_SET2_MAX, FM_COEX_M_DIVIDER_FREF_SET2_DEF },
{(PS8)"pllStabilizationTime", CON_PARM_RANGE | CON_PARM_OPTIONAL ,
FM_COEX_PLL_STABILIZATION_TIME_MIN, FM_COEX_PLL_STABILIZATION_TIME_MAX, FM_COEX_PLL_STABILIZATION_TIME_DEF },
{(PS8)"ldoStabilizationTime", CON_PARM_RANGE | CON_PARM_OPTIONAL ,
FM_COEX_LDO_STABILIZATION_TIME_MIN, FM_COEX_LDO_STABILIZATION_TIME_MAX, FM_COEX_LDO_STABILIZATION_TIME_DEF },
{(PS8)"disturbedBandMargin", CON_PARM_RANGE | CON_PARM_OPTIONAL ,
FM_COEX_DISTURBED_BAND_MARGIN_MIN, FM_COEX_DISTURBED_BAND_MARGIN_MAX, FM_COEX_DISTURBED_BAND_MARGIN_DEF },
{(PS8)"swallowClkDif", CON_PARM_RANGE | CON_PARM_OPTIONAL ,
FM_COEX_SWALLOW_CLK_DIF_MIN, FM_COEX_SWALLOW_CLK_DIF_MAX, FM_COEX_SWALLOW_CLK_DIF_DEF },
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole, h, (PS8)"Fm_coexistence", (PS8)"FM Coexistence parameters configuration", (FuncToken_t) CuCmd_ConfigFmCoex, aaa );
}
#ifdef XCC_MODULE_INCLUDED
CuXCC_AddMeasurementMenu(pTiCon->hConsole);
#endif /* XCC_MODULE_INCLUDED*/
#ifdef TI_DBG
/* -------------------------------------------- Report -------------------------------------------- */
CHK_NULL(h1 = (THandle) Console_AddDirExt(pTiCon->hConsole, (THandle) NULL, (PS8)"Report", (PS8)"Debug features" ) );
{
ConParm_t aaa[] =
{
{(PS8)"module table", CON_PARM_STRING | CON_PARM_OPTIONAL , REPORT_FILES_NUM, REPORT_FILES_NUM, 0 },
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h1, (PS8)"Set", (PS8)"set report module table", (FuncToken_t) CuCmd_SetReport, aaa );
}
{
ConParm_t aaa[] =
{
{(PS8)"module", CON_PARM_OPTIONAL, 0, 0, 0 },
CON_LAST_PARM
};
Console_AddToken(pTiCon->hConsole,h1, (PS8)"Add", (PS8)"set report for specified module", (FuncToken_t) CuCmd_AddReport, aaa );
}
{
ConParm_t aaa[] =
{
{(PS8)"module", CON_PARM_OPTIONAL, 0, 0, 0 },
CON_LAST_PARM
};
Console_AddToken(pTiCon->hConsole,h1, (PS8)"Clear", (PS8)"clear report for specified module", (FuncToken_t) CuCmd_ClearReport, aaa );
}
{
ConParm_t aaa[] = { {(PS8)"level", CON_PARM_OPTIONAL , 0, 0, 0 }, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h1, (PS8)"Level", (PS8)"set report severity level", (FuncToken_t) CuCmd_ReportSeverityLevel, aaa );
}
/* -------------------------------------------- Debug -------------------------------------------- */
CHK_NULL(h = (THandle) Console_AddDirExt(pTiCon->hConsole, (THandle) NULL, (PS8)"dEbug", (PS8)"Debug features" ) );
{
ConParm_t aaa[] = {{(PS8)"func_num", CON_PARM_OPTIONAL, 0, 0, 0 },
{(PS8)"param1 (decimal)", CON_PARM_OPTIONAL , 0, 0, 0 },
{(PS8)"param2 (decimal)", CON_PARM_OPTIONAL , 0, 0, 0 },
{(PS8)"R/W Mem buf (up to 32 characters)", CON_PARM_STRING | CON_PARM_OPTIONAL, 0, FW_DEBUG_MAX_BUF * 2, 0 },
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h, (PS8)"Print", (PS8)"print driver debug info", (FuncToken_t) CuCmd_PrintDriverDebug, aaa );
CHK_NULL(h1 = (THandle) Console_AddDirExt(pTiCon->hConsole, (THandle)h , (PS8)"Fw Debug", (PS8)"Debug features" ) );
{
{
ConParm_t aaa[] = { { (PS8)"debug", CON_PARM_OPTIONAL | CON_PARM_LINE, 0, 2050, 0 }, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole, h1, (PS8)"debug", (PS8)" debug", (FuncToken_t) CuCmd_FwDebug, aaa );
}
{
ConParm_t aaa[] = { {(PS8)"Index", CON_PARM_OPTIONAL|CON_PARM_RANGE | CON_PARM_SIGN,0,255,0},
{(PS8)"Value_1", CON_PARM_OPTIONAL|CON_PARM_RANGE | CON_PARM_SIGN,-4096,4069,0},
{(PS8)"Value_2", CON_PARM_OPTIONAL|CON_PARM_RANGE | CON_PARM_SIGN,-4096,4069,0},
{(PS8)"Value_3", CON_PARM_OPTIONAL|CON_PARM_RANGE | CON_PARM_SIGN,-4096,4069,0},
{(PS8)"Value_4", CON_PARM_OPTIONAL|CON_PARM_RANGE | CON_PARM_SIGN,-4096,4069,0},
{(PS8)"Value_5", CON_PARM_OPTIONAL|CON_PARM_RANGE | CON_PARM_SIGN,-4096,4069,0},
{(PS8)"Value_6", CON_PARM_OPTIONAL|CON_PARM_RANGE | CON_PARM_SIGN,-4096,4069,0},
{(PS8)"Value_7", CON_PARM_OPTIONAL|CON_PARM_RANGE | CON_PARM_SIGN,-4096,4069,0},
{(PS8)"Value_8", CON_PARM_OPTIONAL|CON_PARM_RANGE | CON_PARM_SIGN,-4096,4069,0},
{(PS8)"Value_9", CON_PARM_OPTIONAL|CON_PARM_RANGE | CON_PARM_SIGN,-4096,4069,0},
{(PS8)"Value_10", CON_PARM_OPTIONAL|CON_PARM_RANGE | CON_PARM_SIGN,-4096,4069,0},
{(PS8)"Value_11", CON_PARM_OPTIONAL|CON_PARM_RANGE | CON_PARM_SIGN,-4096,4069,0},
{(PS8)"Value_12", CON_PARM_OPTIONAL|CON_PARM_RANGE | CON_PARM_SIGN,-4096,4069,0},
{(PS8)"Value_13", CON_PARM_OPTIONAL|CON_PARM_RANGE | CON_PARM_SIGN,-4096,4069,0},
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole, h1, (PS8)"Set rate managment", (PS8)"rate managment", (FuncToken_t) CuCmd_SetRateMngDebug, aaa );
}
{
ConParm_t aaa[] = { {(PS8)"Index", CON_PARM_OPTIONAL,0,4096,0},
{(PS8)"Value", CON_PARM_OPTIONAL,0,4096,0}, CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole, h1, (PS8)"Get rate managment", (PS8)"rate managment", (FuncToken_t) CuCmd_GetRateMngDebug, aaa );
}
{
ConParm_t aaa[] = { {(PS8)"IpPart1", CON_PARM_OPTIONAL,0,255,0},
{(PS8)"IpPart2", CON_PARM_OPTIONAL,0,255,0},
{(PS8)"IpPart3", CON_PARM_OPTIONAL,0,255,0},
{(PS8)"IpPart4", CON_PARM_OPTIONAL,0,255,0},
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole, h1, (PS8)"set Arp ip filter", (PS8)"arp ip filter", (FuncToken_t) CuCmd_SetArpIPFilter, aaa );
}
}
}
#endif /*TI_DBG*/
/* -------------------------------------------- BIT -------------------------------------------- */
CHK_NULL(h = (THandle) Console_AddDirExt(pTiCon->hConsole, (THandle) NULL, (PS8)"biT", (PS8)"Built In Test" ) );
CHK_NULL(h1 = (THandle) Console_AddDirExt(pTiCon->hConsole, (THandle) h, (PS8)"Bip", (PS8)"Built In Production Line Test" ) );
{
{
ConParm_t aaa[] = {{(PS8)"iReferencePointDetectorValue", CON_PARM_OPTIONAL|CON_PARM_RANGE, 0, 1000, 0 },
{(PS8)"iReferencePointPower", CON_PARM_OPTIONAL|CON_PARM_RANGE, 0, 200, 0 },
{(PS8)"isubBand", CON_PARM_OPTIONAL|CON_PARM_RANGE, 0, 10, 0 },
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h1, (PS8)"update Buffer calref point", (PS8)"BufferCalReferencePoint", (FuncToken_t) CuCmd_BIP_BufferCalReferencePoint, aaa );
}
{
ConParm_t aaa[] = {{(PS8)"Sub Band B/G: 1 - 14", CON_PARM_RANGE, 0, 1, 0 },
{(PS8)"Sub Band A: 1 - 4", CON_PARM_RANGE, 0, 1, 0 },
{(PS8)"Sub Band A: 8 - 16", CON_PARM_RANGE, 0, 1, 0 },
{(PS8)"Sub Band A: 34 - 48", CON_PARM_RANGE, 0, 1, 0 },
{(PS8)"Sub Band A: 52 - 64", CON_PARM_RANGE, 0, 1, 0 },
{(PS8)"Sub Band A: 100 -116", CON_PARM_RANGE, 0, 1, 0 },
{(PS8)"Sub Band A: 120 -140", CON_PARM_RANGE, 0, 1, 0 },
{(PS8)"Sub Band A: 149 -165", CON_PARM_RANGE, 0, 1, 0 },
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h1, (PS8)"Tx bip", (PS8)"P2G Calibration", (FuncToken_t) CuCmd_BIP_StartBIP, aaa );
}
CHK_NULL(h2 = (THandle) Console_AddDirExt(pTiCon->hConsole, (THandle) h1, (PS8)"Rx bip", (PS8)"Rx Built In Production Line Test" ) );
{
{
ConParm_t aaa[] = {{(PS8)"initiates RX BIP operations",CON_PARM_OPTIONAL },
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h2, (PS8)"rx Enter", (PS8)"enter Rx Calibration state", (FuncToken_t) CuCmd_BIP_EnterRxBIP, aaa );
}
{
ConParm_t aaa[] = {{(PS8)"Reference point value", CON_PARM_SIGN },
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h2, (PS8)"rx Start", (PS8)" Rx Calibration", (FuncToken_t) CuCmd_BIP_StartRxBIP, aaa );
}
{
ConParm_t aaa[] = {{(PS8)"finished the RX BIP procedure" ,CON_PARM_OPTIONAL},
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h2, (PS8)"rx eXit", (PS8)"Exit Rx Calibration", (FuncToken_t) CuCmd_BIP_ExitRxBIP, aaa );
}
}
}
CHK_NULL(h1 = (THandle) Console_AddDirExt(pTiCon->hConsole, (THandle) h, (PS8)"Radio debug", (PS8)"Radio Debug Test" ) );
{
/* Get HDK version*/
Console_AddToken(pTiCon->hConsole,h1, (PS8)"Get hdk version", (PS8)"HDK version", (FuncToken_t) CuCmd_RadioDebug_GetHDKVersion, NULL );
/* Rx Channel Tune */
{
ConParm_t aaa[] = {{(PS8)"Band", CON_PARM_OPTIONAL|CON_PARM_RANGE, 0, 2, 0 },
{(PS8)"Channel", CON_PARM_OPTIONAL|CON_PARM_RANGE , 1, 161, 0 },
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h1, (PS8)"cHannel tune", (PS8)"Set the RX channel", (FuncToken_t) CuCmd_RadioDebug_ChannelTune, aaa );
}
/* TX Debug */
CHK_NULL(h2 = (THandle) Console_AddDirExt(pTiCon->hConsole, (THandle) h1, (PS8)"Tx debug", (PS8)"TX Debug Test" ) );
{
/* TELEC */
{
ConParm_t aaa[] = {{(PS8)"Power", CON_PARM_OPTIONAL, 0, 25000, 0 },
{(PS8)"Tone Type", CON_PARM_OPTIONAL, 1, 2, 2 },
/* {(PS8)"Band", CON_PARM_OPTIONAL, 0, 2, 0 },
{(PS8)"Channel", CON_PARM_OPTIONAL , 1, 161, 0 },
{(PS8)"Power", CON_PARM_OPTIONAL, 0, 0, 0 },
{(PS8)"Tone Type", CON_PARM_OPTIONAL, 0, 0, 0 },
{(PS8)"Tone Number - Single Tones", CON_PARM_OPTIONAL, 0, 0, 0 },
{(PS8)"Tone Number - Two Tones", CON_PARM_OPTIONAL, 0, 0, 0 },
{(PS8)"Use Digital DC", CON_PARM_OPTIONAL, 0, 0, 0 },
{(PS8)"Invert", CON_PARM_OPTIONAL, 0, 0, 0 },
{(PS8)"Eleven N Span", CON_PARM_OPTIONAL, 0, 0, 0 },
{(PS8)"Digital DC", CON_PARM_OPTIONAL, 0, 0, 0 },
{(PS8)"Analog DC Fine", CON_PARM_OPTIONAL, 0, 0, 0 },
{(PS8)"Analog DC Coarse", CON_PARM_OPTIONAL, 0, 0, 0 },*/
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h2, (PS8)"Cw", (PS8)"Start CW test", (FuncToken_t) CuCmd_RadioDebug_StartTxCw, aaa );
}
/* FCC */
{
ConParm_t aaa[] = {{(PS8)"Delay", CON_PARM_OPTIONAL, 0, 0, 0 },
{(PS8)"Rate", CON_PARM_OPTIONAL, 0, 0, 0 },
{(PS8)"Size", CON_PARM_OPTIONAL, 0, 0, 0 },
{(PS8)"Amount", CON_PARM_OPTIONAL, 0, 0, 0 },
{(PS8)"Power", CON_PARM_OPTIONAL, 0, 0, 0 },
{(PS8)"Seed", CON_PARM_OPTIONAL, 0, 0, 0 },
{(PS8)"Packet Mode", CON_PARM_OPTIONAL, 0, 0, 0 },
{(PS8)"DC On Off", CON_PARM_OPTIONAL, 0, 0, 0 },
{(PS8)"GI", CON_PARM_OPTIONAL, 0, 0, 0 },
{(PS8)"Preamble", CON_PARM_OPTIONAL, 0, 0, 0 },
{(PS8)"Type", CON_PARM_OPTIONAL, 0, 0, 0 },
{(PS8)"Scrambler", CON_PARM_OPTIONAL, 0, 0, 0 },
{(PS8)"Enable CLPC", CON_PARM_OPTIONAL, 0, 0, 0 },
{(PS8)"Sequance Number Mode", CON_PARM_OPTIONAL, 0, 0, 0 },
{(PS8)"Destination MAC Address", CON_PARM_STRING | CON_PARM_OPTIONAL, 0, 32, 0 },
/* future use. for now the oregenal source address are use.
{(PS8)"Source MAC Address", CON_PARM_STRING | CON_PARM_OPTIONAL, 0, 32, 0 },
*/
{(PS8)"Destination MAC Address", CON_PARM_STRING | CON_PARM_OPTIONAL, 0, 32, 0 },
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h2, (PS8)"coNtinues", (PS8)"Start TX continues test", (FuncToken_t) CuCmd_RadioDebug_StartContinuousTx, aaa );
}
/* Stop FCC/TELEC */
{
Console_AddToken(pTiCon->hConsole,h2, (PS8)"Stop", (PS8)"Stop TX tests", (FuncToken_t) CuCmd_RadioDebug_StopTx, NULL );
}
#if 0 /* not support for now */
/* TEMPLATE */
{
ConParm_t aaa[] = {{(PS8)"Length", CON_PARM_OPTIONAL|CON_PARM_RANGE, 0, 0, 0 },
{(PS8)"Offset", CON_PARM_OPTIONAL|CON_PARM_RANGE , 0, 0, 0 },
{(PS8)"Data", CON_PARM_OPTIONAL|CON_PARM_RANGE, 0, 0, 0 },
CON_LAST_PARM };
Console_AddToken(pTiCon->hConsole,h2, (PS8)"temPlate", (PS8)"Set Template", (FuncToken_t) CuCmd_RadioDebug_Template, aaa );
}
#endif
}
/*yael - to Complete statistics */
CHK_NULL(h2 = (THandle) Console_AddDirExt(pTiCon->hConsole, (THandle) h1, (PS8)"rx Statistics", (PS8)"Rx Statistics" ) );
{
/* RX Statixtics Start */
Console_AddToken(pTiCon->hConsole,h2, (PS8)"rx stat Start", (PS8)"Start Rx Statistics", (FuncToken_t)CuCmd_RadioDebug_StartRxStatistics , NULL );
/* RX Statixtics Stop */
Console_AddToken(pTiCon->hConsole,h2, (PS8)"rx stat stoP", (PS8)"Stop Rx Statistics", (FuncToken_t)CuCmd_RadioDebug_StopRxStatistics , NULL );
/* RX Statixtics Reset */
Console_AddToken(pTiCon->hConsole,h2, (PS8)"rx stat Reset", (PS8)"Reset Rx Statistics", (FuncToken_t)CuCmd_RadioDebug_ResetRxStatistics , NULL );
/* RX Statixtics Get */
Console_AddToken(pTiCon->hConsole,h2, (PS8)"rx stat Get", (PS8)"Get Rx Statistics", (FuncToken_t)CuCmd_RadioDebug_GetRxStatistics , NULL );
}
} /* h1 */
/* -------------------------------------------- Root -------------------------------------------- */
Console_AddToken(pTiCon->hConsole,NULL, (PS8)"aboUt", (PS8)"About", (FuncToken_t) CuCmd_ShowAbout, NULL );
Console_AddToken(pTiCon->hConsole,NULL, (PS8)"Quit", (PS8)"quit", (FuncToken_t) CuCmd_Quit, NULL );
return 0;
}
static S32 TiCon_Print_Usage(VOID)
{
os_error_printf(CU_MSG_ERROR, (PS8)"Usage: ./wlan_cu [driver_name] [options]\n");
os_error_printf(CU_MSG_ERROR, (PS8)" -b - bypass supplicant\n");
os_error_printf(CU_MSG_ERROR, (PS8)" -i<ifname> - supplicant interface file\n");
os_error_printf(CU_MSG_ERROR, (PS8)"example:\n");
os_error_printf(CU_MSG_ERROR, (PS8)" ./wlan_cu tiwlan0 -i/voice/tiwlan0\n");
return 0;
}
static VOID TiCon_SignalCtrlC(S32 signo)
{
os_error_printf(CU_MSG_ERROR, (PS8)"TiCon_Signal - got signal Ctrl+c ... exiting\n");
Console_Stop(g_TiCon.hConsole);
}
/* functions */
/*************/
S32 user_main(S32 argc, PS8* argv)
{
S32 i;
char *script_file = NULL;
S32 BypassSupplicant = FALSE;
S8 SupplIfFile[50];
S32 fill_name = TRUE;
int stop_UI = 0;
SupplIfFile[0] = '\0';
if( argc > 1 )
{
i=1;
if( argv[i][0] != '-' )
{
os_strcpy( g_TiCon.drv_name, argv[i++] );
fill_name = FALSE;
}
for( ;i < argc; i++ )
{
if( !os_strcmp(argv[i], (PS8)"-h" ) || !os_strcmp(argv[i], (PS8)"--help") )
{
TiCon_Print_Usage();
return 0;
}
else if(!os_strcmp(argv[i], (PS8)"-b"))
{
BypassSupplicant = TRUE;
}
else if(!os_strncmp(argv[i], (PS8)"-i", 2))
{
os_strcpy( SupplIfFile, &(argv[i])[2] );
}
else if(!os_strncmp(argv[i], "-s", 2 ) )
{
script_file = argv[++i];
}
}
}
os_OsSpecificCmdParams(argc, argv);
/* fill the driver name */
if(fill_name == TRUE)
{
os_strcpy(g_TiCon.drv_name, (PS8)TIWLAN_DRV_NAME);
}
/* fill supplicant interface file */
if(SupplIfFile[0] == '\0')
{
os_strcpy(SupplIfFile, (PS8)SUPPL_IF_FILE);
}
g_TiCon.hConsole = Console_Create(g_TiCon.drv_name, BypassSupplicant, SupplIfFile);
if(g_TiCon.hConsole == NULL)
return 0;
Console_GetDeviceStatus(g_TiCon.hConsole);
os_Catch_CtrlC_Signal(TiCon_SignalCtrlC);
os_InitOsSpecificModules();
/* ----------------------------------------------------------- */
TiCon_Init_Console_Menu(&g_TiCon);
if( script_file )
{
stop_UI = consoleRunScript (script_file, g_TiCon.hConsole);
}
if( !stop_UI )
{
os_error_printf(CU_MSG_INFO2, (PS8)("user_main, start\n") );
Console_Start(g_TiCon.hConsole);
}
Console_Destroy(g_TiCon.hConsole);
os_DeInitOsSpecificModules();
return 0;
}
/* Stubs for all OS */
void g_tester_send_event(U8 event_index)
{
}
void ProcessLoggerMessage(PU8 data, U32 len)
{
}