164064216a8433360745f69edddce19a606659163The Android Open Source Project/******************************************************************************* 264064216a8433360745f69edddce19a606659163The Android Open Source Project**+--------------------------------------------------------------------------+** 364064216a8433360745f69edddce19a606659163The Android Open Source Project**| |** 464064216a8433360745f69edddce19a606659163The Android Open Source Project**| Copyright 1998-2008 Texas Instruments, Inc. - http://www.ti.com/ |** 564064216a8433360745f69edddce19a606659163The Android Open Source Project**| |** 664064216a8433360745f69edddce19a606659163The Android Open Source Project**| Licensed under the Apache License, Version 2.0 (the "License"); |** 764064216a8433360745f69edddce19a606659163The Android Open Source Project**| you may not use this file except in compliance with the License. |** 864064216a8433360745f69edddce19a606659163The Android Open Source Project**| You may obtain a copy of the License at |** 964064216a8433360745f69edddce19a606659163The Android Open Source Project**| |** 1064064216a8433360745f69edddce19a606659163The Android Open Source Project**| http://www.apache.org/licenses/LICENSE-2.0 |** 1164064216a8433360745f69edddce19a606659163The Android Open Source Project**| |** 1264064216a8433360745f69edddce19a606659163The Android Open Source Project**| Unless required by applicable law or agreed to in writing, software |** 1364064216a8433360745f69edddce19a606659163The Android Open Source Project**| distributed under the License is distributed on an "AS IS" BASIS, |** 1464064216a8433360745f69edddce19a606659163The Android Open Source Project**| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |** 1564064216a8433360745f69edddce19a606659163The Android Open Source Project**| See the License for the specific language governing permissions and |** 1664064216a8433360745f69edddce19a606659163The Android Open Source Project**| limitations under the License. |** 1764064216a8433360745f69edddce19a606659163The Android Open Source Project**| |** 1864064216a8433360745f69edddce19a606659163The Android Open Source Project**+--------------------------------------------------------------------------+** 1964064216a8433360745f69edddce19a606659163The Android Open Source Project*******************************************************************************/ 2064064216a8433360745f69edddce19a606659163The Android Open Source Project 2164064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef _WINDOWS 2264064216a8433360745f69edddce19a606659163The Android Open Source Project#endif 2364064216a8433360745f69edddce19a606659163The Android Open Source Project 2464064216a8433360745f69edddce19a606659163The Android Open Source Project#include <stdio.h> 2564064216a8433360745f69edddce19a606659163The Android Open Source Project#include <string.h> 2664064216a8433360745f69edddce19a606659163The Android Open Source Project#include <stdlib.h> 2764064216a8433360745f69edddce19a606659163The Android Open Source Project#include <ctype.h> 2864064216a8433360745f69edddce19a606659163The Android Open Source Project 2964064216a8433360745f69edddce19a606659163The Android Open Source Project#ifndef _WINDOWS 3064064216a8433360745f69edddce19a606659163The Android Open Source Project #include <errno.h> 3164064216a8433360745f69edddce19a606659163The Android Open Source Project#include <stdio.h> 3264064216a8433360745f69edddce19a606659163The Android Open Source Project#include <unistd.h> 3364064216a8433360745f69edddce19a606659163The Android Open Source Project#include <termios.h> 3464064216a8433360745f69edddce19a606659163The Android Open Source Project#include <sys/socket.h> 3564064216a8433360745f69edddce19a606659163The Android Open Source Project#include <linux/if.h> 3664064216a8433360745f69edddce19a606659163The Android Open Source Project#include <linux/wireless.h> 3764064216a8433360745f69edddce19a606659163The Android Open Source Project 3864064216a8433360745f69edddce19a606659163The Android Open Source Project #include "tnetwCommon.h" 3964064216a8433360745f69edddce19a606659163The Android Open Source Project#endif /* __LINUX__ */ 4064064216a8433360745f69edddce19a606659163The Android Open Source Project 4164064216a8433360745f69edddce19a606659163The Android Open Source Project#include "g_tester.h" 4264064216a8433360745f69edddce19a606659163The Android Open Source Project#include "wspVer.h" 4364064216a8433360745f69edddce19a606659163The Android Open Source Project 4464064216a8433360745f69edddce19a606659163The Android Open Source Project#include "paramOut.h" 4564064216a8433360745f69edddce19a606659163The Android Open Source Project#include "console.h" 4664064216a8433360745f69edddce19a606659163The Android Open Source Project#include "ticon.h" 4764064216a8433360745f69edddce19a606659163The Android Open Source Project#include "cu_cmd.h" 4864064216a8433360745f69edddce19a606659163The Android Open Source Project#include "linux_ioctl_common.h" 4964064216a8433360745f69edddce19a606659163The Android Open Source Project#include "802_11Defs.h" 5064064216a8433360745f69edddce19a606659163The Android Open Source Project 5164064216a8433360745f69edddce19a606659163The Android Open Source Project#ifndef _T 5264064216a8433360745f69edddce19a606659163The Android Open Source Project#define _T(a) a 5364064216a8433360745f69edddce19a606659163The Android Open Source Project#endif 5464064216a8433360745f69edddce19a606659163The Android Open Source Project 5564064216a8433360745f69edddce19a606659163The Android Open Source Project#ifndef _WINDOWS 5664064216a8433360745f69edddce19a606659163The Android Open Source ProjectTI_HANDLE g_id_adapter = 0; 5764064216a8433360745f69edddce19a606659163The Android Open Source Project#endif 5864064216a8433360745f69edddce19a606659163The Android Open Source Project 5964064216a8433360745f69edddce19a606659163The Android Open Source Project#define MAX_SSID_LEN 32 6064064216a8433360745f69edddce19a606659163The Android Open Source Project#define CLI_NUM_OF_TX_CLASFR_CON 4 6164064216a8433360745f69edddce19a606659163The Android Open Source Project 6264064216a8433360745f69edddce19a606659163The Android Open Source Projectscan_Params_t appScanParams; 6364064216a8433360745f69edddce19a606659163The Android Open Source Projectscan_Policy_t scanPolicy; 6464064216a8433360745f69edddce19a606659163The Android Open Source Project 6564064216a8433360745f69edddce19a606659163The Android Open Source Project/*** Roaming Manager configuration parameters ***/ 6664064216a8433360745f69edddce19a606659163The Android Open Source ProjectroamingMngrConfigParams_t roamingMngrConfigParams; 6764064216a8433360745f69edddce19a606659163The Android Open Source Project 6864064216a8433360745f69edddce19a606659163The Android Open Source Projectstatic tiUINT32 events_mask = 0; // TRS:PGK 6964064216a8433360745f69edddce19a606659163The Android Open Source Project 7064064216a8433360745f69edddce19a606659163The Android Open Source Project#define NET_BASIC_MASK 0x80 /* defined in common/src/utils/utils.c */ 7164064216a8433360745f69edddce19a606659163The Android Open Source Project 7264064216a8433360745f69edddce19a606659163The Android Open Source Project#define IS_BASIC_RATE(a) ((a) & NET_BASIC_MASK) 7364064216a8433360745f69edddce19a606659163The Android Open Source Project 7464064216a8433360745f69edddce19a606659163The Android Open Source Project#define RATE_2_MBPS(a) ((float)((a) & (NET_BASIC_MASK-1))/2) 7564064216a8433360745f69edddce19a606659163The Android Open Source Project 7664064216a8433360745f69edddce19a606659163The Android Open Source Project#define GET_NAME_BY_VALUE(arr, value) get_name_by_value(arr, SIZE_ARR(arr), value) 7764064216a8433360745f69edddce19a606659163The Android Open Source Project 7864064216a8433360745f69edddce19a606659163The Android Open Source Project#define CHAN_FREQ_TABLE_SIZE (sizeof(ChanFreq) / sizeof(struct CHAN_FREQ)) 7964064216a8433360745f69edddce19a606659163The Android Open Source Project 8064064216a8433360745f69edddce19a606659163The Android Open Source Project#define RATE_TABLE_SIZE (sizeof(rate2Str) / sizeof(named_value_t)) 8164064216a8433360745f69edddce19a606659163The Android Open Source Project 8264064216a8433360745f69edddce19a606659163The Android Open Source Project#define ET_TABLE_SIZE (sizeof(EtEvent2Str) / sizeof(named_value_t)) 8364064216a8433360745f69edddce19a606659163The Android Open Source Project 8464064216a8433360745f69edddce19a606659163The Android Open Source Project/* EarlyTermination DISABLE mode - Should be same as in scan.h */ 8564064216a8433360745f69edddce19a606659163The Android Open Source Project#define SCAN_ET_COND_DISABLE 0 8664064216a8433360745f69edddce19a606659163The Android Open Source Project 8764064216a8433360745f69edddce19a606659163The Android Open Source Project#define MAX_PSK_STRING_LENGTH 63 8864064216a8433360745f69edddce19a606659163The Android Open Source Project 8964064216a8433360745f69edddce19a606659163The Android Open Source Project#define MIN_PSK_STRING_LENGTH 8 9064064216a8433360745f69edddce19a606659163The Android Open Source Project 9164064216a8433360745f69edddce19a606659163The Android Open Source Project#define PSK_HEXA_LENGTH 64 9264064216a8433360745f69edddce19a606659163The Android Open Source Project 9364064216a8433360745f69edddce19a606659163The Android Open Source Project#define PSK_BUFF_LEN 65 9464064216a8433360745f69edddce19a606659163The Android Open Source Project 9564064216a8433360745f69edddce19a606659163The Android Open Source Projectstatic void get_bssid_list(ConParm_t parm[], U16 nParms, BOOL fullBssidList , OS_802_11_BSSID_EX *pBssid); 9664064216a8433360745f69edddce19a606659163The Android Open Source Project 9764064216a8433360745f69edddce19a606659163The Android Open Source Projectstatic BOOL is_value_rate (tiUINT32 rate) 9864064216a8433360745f69edddce19a606659163The Android Open Source Project{ 9964064216a8433360745f69edddce19a606659163The Android Open Source Project 10064064216a8433360745f69edddce19a606659163The Android Open Source Project switch (rate) 10164064216a8433360745f69edddce19a606659163The Android Open Source Project { 10264064216a8433360745f69edddce19a606659163The Android Open Source Project case 1: 10364064216a8433360745f69edddce19a606659163The Android Open Source Project case 2: 10464064216a8433360745f69edddce19a606659163The Android Open Source Project case 5: 10564064216a8433360745f69edddce19a606659163The Android Open Source Project case 6: 10664064216a8433360745f69edddce19a606659163The Android Open Source Project case 9: 10764064216a8433360745f69edddce19a606659163The Android Open Source Project case 11: 10864064216a8433360745f69edddce19a606659163The Android Open Source Project case 12: 10964064216a8433360745f69edddce19a606659163The Android Open Source Project case 18: 11064064216a8433360745f69edddce19a606659163The Android Open Source Project case 22: 11164064216a8433360745f69edddce19a606659163The Android Open Source Project case 24: 11264064216a8433360745f69edddce19a606659163The Android Open Source Project case 36: 11364064216a8433360745f69edddce19a606659163The Android Open Source Project case 48: 11464064216a8433360745f69edddce19a606659163The Android Open Source Project case 54: 11564064216a8433360745f69edddce19a606659163The Android Open Source Project return (TRUE); 11664064216a8433360745f69edddce19a606659163The Android Open Source Project default: 11764064216a8433360745f69edddce19a606659163The Android Open Source Project return (FALSE); 11864064216a8433360745f69edddce19a606659163The Android Open Source Project } 11964064216a8433360745f69edddce19a606659163The Android Open Source Project 12064064216a8433360745f69edddce19a606659163The Android Open Source Project} 12164064216a8433360745f69edddce19a606659163The Android Open Source Projectstatic BOOL is_value_rate (tiUINT32 rate); 12264064216a8433360745f69edddce19a606659163The Android Open Source Projectstruct CHAN_FREQ { 12364064216a8433360745f69edddce19a606659163The Android Open Source Project UINT8 chan; 12464064216a8433360745f69edddce19a606659163The Android Open Source Project UINT32 freq; 12564064216a8433360745f69edddce19a606659163The Android Open Source Project} ChanFreq[] = { 12664064216a8433360745f69edddce19a606659163The Android Open Source Project {1,2412000}, {2,2417000}, {3,2422000}, {4,2427000}, 12764064216a8433360745f69edddce19a606659163The Android Open Source Project {5,2432000}, {6,2437000}, {7,2442000}, {8,2447000}, 12864064216a8433360745f69edddce19a606659163The Android Open Source Project {9,2452000}, 12964064216a8433360745f69edddce19a606659163The Android Open Source Project {10,2457000}, {11,2462000}, {12,2467000}, {13,2472000}, 13064064216a8433360745f69edddce19a606659163The Android Open Source Project {14,2484000}, {36,5180000}, {40,5200000}, {44,5220000}, 13164064216a8433360745f69edddce19a606659163The Android Open Source Project {48,5240000}, {52,5260000}, {56,5280000}, {60,5300000}, 13264064216a8433360745f69edddce19a606659163The Android Open Source Project {64,5320000}, 13364064216a8433360745f69edddce19a606659163The Android Open Source Project {100,5500000}, {104,5520000}, {108,5540000}, {112,5560000}, 13464064216a8433360745f69edddce19a606659163The Android Open Source Project {116,5580000}, {120,5600000}, {124,5620000}, {128,5640000}, 13564064216a8433360745f69edddce19a606659163The Android Open Source Project {132,5660000}, {136,5680000}, {140,5700000}, {149,5745000}, 13664064216a8433360745f69edddce19a606659163The Android Open Source Project {153,5765000}, {157,5785000}, {161,5805000} }; 13764064216a8433360745f69edddce19a606659163The Android Open Source Project 13864064216a8433360745f69edddce19a606659163The Android Open Source Projectstatic named_value_t power_mode_val[] = { 13964064216a8433360745f69edddce19a606659163The Android Open Source Project { OS_POWER_MODE_AUTO, "AUTO" }, 14064064216a8433360745f69edddce19a606659163The Android Open Source Project { OS_POWER_MODE_ACTIVE, "ACTIVE" }, 14164064216a8433360745f69edddce19a606659163The Android Open Source Project { OS_POWER_MODE_SHORT_DOZE, "SHORT_DOZE" }, 14264064216a8433360745f69edddce19a606659163The Android Open Source Project { OS_POWER_MODE_LONG_DOZE, "LONG_DOZE" } 14364064216a8433360745f69edddce19a606659163The Android Open Source Project}; 14464064216a8433360745f69edddce19a606659163The Android Open Source Project 14564064216a8433360745f69edddce19a606659163The Android Open Source Projectstatic named_value_t power_level_val[] = { 14664064216a8433360745f69edddce19a606659163The Android Open Source Project { OS_POWER_LEVEL_ELP, "ELP" }, 14764064216a8433360745f69edddce19a606659163The Android Open Source Project { OS_POWER_LEVEL_PD, "PD" }, 14864064216a8433360745f69edddce19a606659163The Android Open Source Project { OS_POWER_LEVEL_AWAKE, "AWAKE" } 14964064216a8433360745f69edddce19a606659163The Android Open Source Project}; 15064064216a8433360745f69edddce19a606659163The Android Open Source Project 15164064216a8433360745f69edddce19a606659163The Android Open Source Projectstatic named_value_t encrypt_type[] = { 15264064216a8433360745f69edddce19a606659163The Android Open Source Project { OS_ENCRYPTION_TYPE_NONE, "None" }, 15364064216a8433360745f69edddce19a606659163The Android Open Source Project { OS_ENCRYPTION_TYPE_WEP, "WEP" }, 15464064216a8433360745f69edddce19a606659163The Android Open Source Project { OS_ENCRYPTION_TYPE_TKIP, "TKIP" }, 15564064216a8433360745f69edddce19a606659163The Android Open Source Project { OS_ENCRYPTION_TYPE_AES, "AES" } 15664064216a8433360745f69edddce19a606659163The Android Open Source Project}; 15764064216a8433360745f69edddce19a606659163The Android Open Source Project 15864064216a8433360745f69edddce19a606659163The Android Open Source Projectstatic named_value_t scanType2Str[] = { 15964064216a8433360745f69edddce19a606659163The Android Open Source Project { SCAN_TYPE_NORMAL_PASSIVE, "Passive Normal Scan" }, 16064064216a8433360745f69edddce19a606659163The Android Open Source Project { SCAN_TYPE_NORMAL_ACTIVE, "Active Normal Scan" }, 16164064216a8433360745f69edddce19a606659163The Android Open Source Project { SCAN_TYPE_SPS, "Scheduled Passive Scan (SPS)" }, 16264064216a8433360745f69edddce19a606659163The Android Open Source Project { SCAN_TYPE_TRIGGERED_PASSIVE, "Passive Triggered Scan" }, 16364064216a8433360745f69edddce19a606659163The Android Open Source Project { SCAN_TYPE_TRIGGERED_ACTIVE, "Active Triggered Scan" } 16464064216a8433360745f69edddce19a606659163The Android Open Source Project}; 16564064216a8433360745f69edddce19a606659163The Android Open Source Project 16664064216a8433360745f69edddce19a606659163The Android Open Source Projectstatic named_value_t band2Str[] = { 16764064216a8433360745f69edddce19a606659163The Android Open Source Project { RADIO_BAND_2_4_GHZ, "2.4 GHz" }, 16864064216a8433360745f69edddce19a606659163The Android Open Source Project { RADIO_BAND_5_0_GHZ, "5.0 GHz" }, 16964064216a8433360745f69edddce19a606659163The Android Open Source Project { RADIO_BAND_DUAL, "Both " } 17064064216a8433360745f69edddce19a606659163The Android Open Source Project}; 17164064216a8433360745f69edddce19a606659163The Android Open Source Project 17264064216a8433360745f69edddce19a606659163The Android Open Source Projectstatic named_value_t rate2Str[] = { 17364064216a8433360745f69edddce19a606659163The Android Open Source Project { DRV_RATE_MASK_AUTO, "Auto " }, 17464064216a8433360745f69edddce19a606659163The Android Open Source Project { DRV_RATE_MASK_1_BARKER, "1 Mbps " }, 17564064216a8433360745f69edddce19a606659163The Android Open Source Project { DRV_RATE_MASK_2_BARKER, "2 Mbps " }, 17664064216a8433360745f69edddce19a606659163The Android Open Source Project { DRV_RATE_MASK_5_5_CCK, "5.5 Mbps" }, 17764064216a8433360745f69edddce19a606659163The Android Open Source Project { DRV_RATE_MASK_11_CCK, "11 Mbps " }, 17864064216a8433360745f69edddce19a606659163The Android Open Source Project { DRV_RATE_MASK_22_PBCC, "22 Mbps " }, 17964064216a8433360745f69edddce19a606659163The Android Open Source Project { DRV_RATE_MASK_6_OFDM, "6 Mbps " }, 18064064216a8433360745f69edddce19a606659163The Android Open Source Project { DRV_RATE_MASK_9_OFDM, "9 Mbps " }, 18164064216a8433360745f69edddce19a606659163The Android Open Source Project { DRV_RATE_MASK_12_OFDM, "12 Mbps " }, 18264064216a8433360745f69edddce19a606659163The Android Open Source Project { DRV_RATE_MASK_18_OFDM, "18 Mbps " }, 18364064216a8433360745f69edddce19a606659163The Android Open Source Project { DRV_RATE_MASK_24_OFDM, "24 Mbps " }, 18464064216a8433360745f69edddce19a606659163The Android Open Source Project { DRV_RATE_MASK_36_OFDM, "36 Mbps " }, 18564064216a8433360745f69edddce19a606659163The Android Open Source Project { DRV_RATE_MASK_48_OFDM, "48 Mbps " }, 18664064216a8433360745f69edddce19a606659163The Android Open Source Project { DRV_RATE_MASK_54_OFDM, "54 Mbps " } 18764064216a8433360745f69edddce19a606659163The Android Open Source Project}; 18864064216a8433360745f69edddce19a606659163The Android Open Source Project 18964064216a8433360745f69edddce19a606659163The Android Open Source Projectstatic named_value_t EtEvent2Str[] = { 19064064216a8433360745f69edddce19a606659163The Android Open Source Project { SCAN_ET_COND_DISABLE, "ET disabled " }, 19164064216a8433360745f69edddce19a606659163The Android Open Source Project { SCAN_ET_COND_BEACON, "ET on Beacon " }, 19264064216a8433360745f69edddce19a606659163The Android Open Source Project { SCAN_ET_COND_PROBE_RESP, "ET on Prb Rsp" }, 19364064216a8433360745f69edddce19a606659163The Android Open Source Project { SCAN_ET_COND_ANY_FRAME, "ET on both " } 19464064216a8433360745f69edddce19a606659163The Android Open Source Project}; 19564064216a8433360745f69edddce19a606659163The Android Open Source Project 19664064216a8433360745f69edddce19a606659163The Android Open Source Project/* used in scan_display */ 19764064216a8433360745f69edddce19a606659163The Android Open Source Projectstatic char* rate2StrFunc(UINT32 rate) 19864064216a8433360745f69edddce19a606659163The Android Open Source Project{ 19964064216a8433360745f69edddce19a606659163The Android Open Source Project UINT32 i; 20064064216a8433360745f69edddce19a606659163The Android Open Source Project 20164064216a8433360745f69edddce19a606659163The Android Open Source Project for ( i = 0; i < RATE_TABLE_SIZE; i++ ) 20264064216a8433360745f69edddce19a606659163The Android Open Source Project { 20364064216a8433360745f69edddce19a606659163The Android Open Source Project if ( rate2Str[ i ].value == rate ) 20464064216a8433360745f69edddce19a606659163The Android Open Source Project return rate2Str[ i ].name; 20564064216a8433360745f69edddce19a606659163The Android Open Source Project } 20664064216a8433360745f69edddce19a606659163The Android Open Source Project return rate2Str[ 0 ].name; 20764064216a8433360745f69edddce19a606659163The Android Open Source Project} 20864064216a8433360745f69edddce19a606659163The Android Open Source Project 20964064216a8433360745f69edddce19a606659163The Android Open Source Project/* used in scan_display */ 21064064216a8433360745f69edddce19a606659163The Android Open Source Projectstatic char* EtEvent2StrFunc( UINT32 ETCond ) 21164064216a8433360745f69edddce19a606659163The Android Open Source Project{ 21264064216a8433360745f69edddce19a606659163The Android Open Source Project int i; 21364064216a8433360745f69edddce19a606659163The Android Open Source Project 21464064216a8433360745f69edddce19a606659163The Android Open Source Project for ( i = 0; i < ET_TABLE_SIZE; i++ ) 21564064216a8433360745f69edddce19a606659163The Android Open Source Project { 21664064216a8433360745f69edddce19a606659163The Android Open Source Project if ( EtEvent2Str[ i ].value == ETCond ) 21764064216a8433360745f69edddce19a606659163The Android Open Source Project { 21864064216a8433360745f69edddce19a606659163The Android Open Source Project return EtEvent2Str[ i ].name; 21964064216a8433360745f69edddce19a606659163The Android Open Source Project } 22064064216a8433360745f69edddce19a606659163The Android Open Source Project } 22164064216a8433360745f69edddce19a606659163The Android Open Source Project 22264064216a8433360745f69edddce19a606659163The Android Open Source Project return EtEvent2Str[ 0 ].name; 22364064216a8433360745f69edddce19a606659163The Android Open Source Project} 22464064216a8433360745f69edddce19a606659163The Android Open Source Project 22564064216a8433360745f69edddce19a606659163The Android Open Source Project/* used in get_bssid_list() */ 22664064216a8433360745f69edddce19a606659163The Android Open Source ProjectUINT8 Freq2Chan(UINT32 freq) 22764064216a8433360745f69edddce19a606659163The Android Open Source Project{ 22864064216a8433360745f69edddce19a606659163The Android Open Source Project UINT32 i; 22964064216a8433360745f69edddce19a606659163The Android Open Source Project 23064064216a8433360745f69edddce19a606659163The Android Open Source Project for(i=0; i<CHAN_FREQ_TABLE_SIZE; i++) 23164064216a8433360745f69edddce19a606659163The Android Open Source Project if(ChanFreq[i].freq == freq) return ChanFreq[i].chan; 23264064216a8433360745f69edddce19a606659163The Android Open Source Project 23364064216a8433360745f69edddce19a606659163The Android Open Source Project return 0; 23464064216a8433360745f69edddce19a606659163The Android Open Source Project} 23564064216a8433360745f69edddce19a606659163The Android Open Source Project/* IPC events Callback */ 23664064216a8433360745f69edddce19a606659163The Android Open Source Projectint cli_receive_ev(IPC_EV_DATA* pData) 23764064216a8433360745f69edddce19a606659163The Android Open Source Project{ 23864064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT8 *buf; 23964064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_QOS_TSPEC_PARAMS *AddTsResult; 24064064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_AUTHENTICATION_REQUEST *request; 24164064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_DISASSOCIATE_REASON_T *pDisAssoc; 24264064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_THRESHOLD_CROSS_INDICATION_PARAMS *CrossParams; 24364064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_TRAFFIC_INTENSITY_THRESHOLD_CROSS_INDICATION_PARAMS *TrafficIntensityThresholdParams; 24464064216a8433360745f69edddce19a606659163The Android Open Source Project btCoexStatus_t *btCoexStatus; 24564064216a8433360745f69edddce19a606659163The Android Open Source Project 24664064216a8433360745f69edddce19a606659163The Android Open Source Project#if defined (_WINDOWS) 24764064216a8433360745f69edddce19a606659163The Android Open Source Project#endif 24864064216a8433360745f69edddce19a606659163The Android Open Source Project g_tester_receive_event((tiUINT8)((IPC_EVENT_PARAMS *)pData)->uEventType); 24964064216a8433360745f69edddce19a606659163The Android Open Source Project#if defined (_WINDOWS) 25064064216a8433360745f69edddce19a606659163The Android Open Source Project#endif 25164064216a8433360745f69edddce19a606659163The Android Open Source Project 25264064216a8433360745f69edddce19a606659163The Android Open Source Project switch(((IPC_EVENT_PARAMS *)pData)->uEventType) 25364064216a8433360745f69edddce19a606659163The Android Open Source Project { 25464064216a8433360745f69edddce19a606659163The Android Open Source Project case IPC_EVENT_ASSOCIATED: 25564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("CLI Event - Associated\n"); 25664064216a8433360745f69edddce19a606659163The Android Open Source Project// TRS:HLC 25764064216a8433360745f69edddce19a606659163The Android Open Source Project/* 25864064216a8433360745f69edddce19a606659163The Android Open Source Project#if defined (_WINDOWS) 25964064216a8433360745f69edddce19a606659163The Android Open Source Project#endif 26064064216a8433360745f69edddce19a606659163The Android Open Source Project*/ 26164064216a8433360745f69edddce19a606659163The Android Open Source Project//TRS end 26264064216a8433360745f69edddce19a606659163The Android Open Source Project break; 26364064216a8433360745f69edddce19a606659163The Android Open Source Project case IPC_EVENT_DISASSOCIATED: 26464064216a8433360745f69edddce19a606659163The Android Open Source Project pDisAssoc = (OS_802_11_DISASSOCIATE_REASON_T*)pData->uBuffer; 26564064216a8433360745f69edddce19a606659163The Android Open Source Project switch(pDisAssoc->eDisAssocType) 26664064216a8433360745f69edddce19a606659163The Android Open Source Project { 26764064216a8433360745f69edddce19a606659163The Android Open Source Project case OS_DISASSOC_STATUS_UNSPECIFIED: 26864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("CLI Event - Disassociated with unspecified reason (User/SG/Recovery)\n"); 26964064216a8433360745f69edddce19a606659163The Android Open Source Project break; 27064064216a8433360745f69edddce19a606659163The Android Open Source Project case OS_DISASSOC_STATUS_AUTH_REJECT: 27164064216a8433360745f69edddce19a606659163The Android Open Source Project if (pDisAssoc->uStatusCode == STATUS_PACKET_REJ_TIMEOUT) 27264064216a8433360745f69edddce19a606659163The Android Open Source Project { 27364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("CLI Event - Disassociated due to no Auth response \n"); 27464064216a8433360745f69edddce19a606659163The Android Open Source Project } 27564064216a8433360745f69edddce19a606659163The Android Open Source Project else 27664064216a8433360745f69edddce19a606659163The Android Open Source Project { 27764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("CLI Event - Disassociated due to Auth response packet with reason = %d\n", pDisAssoc->uStatusCode); 27864064216a8433360745f69edddce19a606659163The Android Open Source Project } 27964064216a8433360745f69edddce19a606659163The Android Open Source Project break; 28064064216a8433360745f69edddce19a606659163The Android Open Source Project case OS_DISASSOC_STATUS_ASSOC_REJECT: 28164064216a8433360745f69edddce19a606659163The Android Open Source Project if (pDisAssoc->uStatusCode == STATUS_PACKET_REJ_TIMEOUT) 28264064216a8433360745f69edddce19a606659163The Android Open Source Project { 28364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("CLI Event - Disassociated due to no Assoc response \n"); 28464064216a8433360745f69edddce19a606659163The Android Open Source Project } 28564064216a8433360745f69edddce19a606659163The Android Open Source Project else 28664064216a8433360745f69edddce19a606659163The Android Open Source Project { 28764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("CLI Event - Disassociated due to Assoc response packet with reason = %d\n", pDisAssoc->uStatusCode); 28864064216a8433360745f69edddce19a606659163The Android Open Source Project } 28964064216a8433360745f69edddce19a606659163The Android Open Source Project break; 29064064216a8433360745f69edddce19a606659163The Android Open Source Project case OS_DISASSOC_STATUS_SECURITY_FAILURE: 29164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("CLI Event - Disassociated due to RSN failure\n"); 29264064216a8433360745f69edddce19a606659163The Android Open Source Project break; 29364064216a8433360745f69edddce19a606659163The Android Open Source Project case OS_DISASSOC_STATUS_AP_DEAUTHENTICATE: 29464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("CLI Event - Disassociated due to AP deAuthenticate packet with reason = %d\n", pDisAssoc->uStatusCode); 29564064216a8433360745f69edddce19a606659163The Android Open Source Project break; 29664064216a8433360745f69edddce19a606659163The Android Open Source Project case OS_DISASSOC_STATUS_AP_DISASSOCIATE: 29764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("CLI Event - Disassociated due to AP disAssoc packet with reason = %d\n", pDisAssoc->uStatusCode); 29864064216a8433360745f69edddce19a606659163The Android Open Source Project break; 29964064216a8433360745f69edddce19a606659163The Android Open Source Project case OS_DISASSOC_STATUS_ROAMING_TRIGGER: 30064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("CLI Event - Disassociated due to roaming trigger = %d\n", pDisAssoc->uStatusCode); 30164064216a8433360745f69edddce19a606659163The Android Open Source Project break; 30264064216a8433360745f69edddce19a606659163The Android Open Source Project default: 30364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("CLI Event - Disassociated with unknown reason = %d\n", pDisAssoc->eDisAssocType); 30464064216a8433360745f69edddce19a606659163The Android Open Source Project break; 30564064216a8433360745f69edddce19a606659163The Android Open Source Project } 30664064216a8433360745f69edddce19a606659163The Android Open Source Project break; 30764064216a8433360745f69edddce19a606659163The Android Open Source Project case IPC_EVENT_LINK_SPEED: 30864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("CLI Event - LinkSpeed\n"); 30964064216a8433360745f69edddce19a606659163The Android Open Source Project break; 31064064216a8433360745f69edddce19a606659163The Android Open Source Project case IPC_EVENT_AUTH_SUCC: 31164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("CLI Event - Authentication Success\n"); 31264064216a8433360745f69edddce19a606659163The Android Open Source Project break; 31364064216a8433360745f69edddce19a606659163The Android Open Source Project case IPC_EVENT_SCAN_COMPLETE: 31464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("CLI Event - Scan Complete\n"); 31564064216a8433360745f69edddce19a606659163The Android Open Source Project break; 31664064216a8433360745f69edddce19a606659163The Android Open Source Project case IPC_EVENT_TIMEOUT: 31764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("CLI Event - Timeout\n"); 31864064216a8433360745f69edddce19a606659163The Android Open Source Project break; 31964064216a8433360745f69edddce19a606659163The Android Open Source Project case IPC_EVENT_UNBOUND: 32064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("CLI Event - Unbound\n"); 32164064216a8433360745f69edddce19a606659163The Android Open Source Project break; 32264064216a8433360745f69edddce19a606659163The Android Open Source Project case IPC_EVENT_BOUND: 32364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("CLI Event - Bound\n"); 32464064216a8433360745f69edddce19a606659163The Android Open Source Project break; 32564064216a8433360745f69edddce19a606659163The Android Open Source Project case IPC_EVENT_EAPOL: 32664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("CLI Event - EAPOL\n"); 32764064216a8433360745f69edddce19a606659163The Android Open Source Project break; 32864064216a8433360745f69edddce19a606659163The Android Open Source Project case IPC_EVENT_MEDIA_SPECIFIC: 32964064216a8433360745f69edddce19a606659163The Android Open Source Project buf = pData->uBuffer; 33064064216a8433360745f69edddce19a606659163The Android Open Source Project request = (OS_802_11_AUTHENTICATION_REQUEST *) (buf + sizeof(tiUINT32)); 33164064216a8433360745f69edddce19a606659163The Android Open Source Project if( request->Flags == OS_802_11_REQUEST_PAIRWISE_ERROR || 33264064216a8433360745f69edddce19a606659163The Android Open Source Project request->Flags == OS_802_11_REQUEST_GROUP_ERROR) 33364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("CLI Event - Media_Specific\n"); 33464064216a8433360745f69edddce19a606659163The Android Open Source Project break; 33564064216a8433360745f69edddce19a606659163The Android Open Source Project case IPC_EVENT_CCKM_START: 33664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("CLI Event - CCKM_Start\n"); 33764064216a8433360745f69edddce19a606659163The Android Open Source Project break; 33864064216a8433360745f69edddce19a606659163The Android Open Source Project 33964064216a8433360745f69edddce19a606659163The Android Open Source Project case IPC_EVENT_PREAUTH_EAPOL: 34064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("CLI Event - PreAuth EAPOL\n"); 34164064216a8433360745f69edddce19a606659163The Android Open Source Project break; 34264064216a8433360745f69edddce19a606659163The Android Open Source Project 34364064216a8433360745f69edddce19a606659163The Android Open Source Project case IPC_EVENT_LOW_SNR: 34464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("CLI Event - Low SNR\n"); 34564064216a8433360745f69edddce19a606659163The Android Open Source Project break; 34664064216a8433360745f69edddce19a606659163The Android Open Source Project 34764064216a8433360745f69edddce19a606659163The Android Open Source Project case IPC_EVENT_LOW_RSSI: 34864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("CLI Event - Low RSSI\n"); 34964064216a8433360745f69edddce19a606659163The Android Open Source Project break; 35064064216a8433360745f69edddce19a606659163The Android Open Source Project 35164064216a8433360745f69edddce19a606659163The Android Open Source Project case IPC_EVENT_EAP_AUTH_FAILURE: 35264064216a8433360745f69edddce19a606659163The Android Open Source Project { 35364064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_EAP_TYPES eapType; 35464064216a8433360745f69edddce19a606659163The Android Open Source Project tiINT32 status; 35564064216a8433360745f69edddce19a606659163The Android Open Source Project authStatus_e eAuthStatusReason; 35664064216a8433360745f69edddce19a606659163The Android Open Source Project 35764064216a8433360745f69edddce19a606659163The Android Open Source Project /* Cast the value to be UINT16 16 bits since it is sent this way in the EXCMngr.c */ 35864064216a8433360745f69edddce19a606659163The Android Open Source Project eAuthStatusReason = (authStatus_e)((*(pData->uBuffer)) & 0xFFFF); 35964064216a8433360745f69edddce19a606659163The Android Open Source Project 36064064216a8433360745f69edddce19a606659163The Android Open Source Project status = TI_GetEAPType( g_id_adapter, &eapType ); 36164064216a8433360745f69edddce19a606659163The Android Open Source Project 36264064216a8433360745f69edddce19a606659163The Android Open Source Project if (eapType == OS_EAP_TYPE_LEAP) 36364064216a8433360745f69edddce19a606659163The Android Open Source Project { 36464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("CLI Event - LEAP Authentication Failed \n"); 36564064216a8433360745f69edddce19a606659163The Android Open Source Project } 36664064216a8433360745f69edddce19a606659163The Android Open Source Project else if (eapType == OS_EAP_TYPE_FAST) 36764064216a8433360745f69edddce19a606659163The Android Open Source Project { 36864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("CLI Event - EAP-FAST Authentication Failed \n"); 36964064216a8433360745f69edddce19a606659163The Android Open Source Project } 37064064216a8433360745f69edddce19a606659163The Android Open Source Project else if (eapType == OS_EAP_TYPE_TLS) 37164064216a8433360745f69edddce19a606659163The Android Open Source Project { 37264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("CLI Event - EAP-TLS Authentication Failed \n"); 37364064216a8433360745f69edddce19a606659163The Android Open Source Project } 37464064216a8433360745f69edddce19a606659163The Android Open Source Project 37564064216a8433360745f69edddce19a606659163The Android Open Source Project switch ( eAuthStatusReason ) 37664064216a8433360745f69edddce19a606659163The Android Open Source Project { 37764064216a8433360745f69edddce19a606659163The Android Open Source Project case RSN_AUTH_STATUS_INVALID_TYPE: 37864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("The reason: Invalid Authentication Type \n"); 37964064216a8433360745f69edddce19a606659163The Android Open Source Project break; 38064064216a8433360745f69edddce19a606659163The Android Open Source Project case RSN_AUTH_STATUS_TIMEOUT: 38164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("The reason: Authentication Timeout \n"); 38264064216a8433360745f69edddce19a606659163The Android Open Source Project break; 38364064216a8433360745f69edddce19a606659163The Android Open Source Project case RSN_AUTH_STATUS_CHALLENGE_FROM_AP_FAILED: 38464064216a8433360745f69edddce19a606659163The Android Open Source Project case RSN_AUTH_STATUS_CHALLENGE_TO_AP_FAILED: 38564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("The reason: username or password incorrect \n"); 38664064216a8433360745f69edddce19a606659163The Android Open Source Project break; 38764064216a8433360745f69edddce19a606659163The Android Open Source Project default: 38864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("The reason: unknown = %d \n", eAuthStatusReason); 38964064216a8433360745f69edddce19a606659163The Android Open Source Project break; 39064064216a8433360745f69edddce19a606659163The Android Open Source Project } 39164064216a8433360745f69edddce19a606659163The Android Open Source Project 39264064216a8433360745f69edddce19a606659163The Android Open Source Project } 39364064216a8433360745f69edddce19a606659163The Android Open Source Project break; 39464064216a8433360745f69edddce19a606659163The Android Open Source Project 39564064216a8433360745f69edddce19a606659163The Android Open Source Project case IPC_EVENT_TSPEC_STATUS: 39664064216a8433360745f69edddce19a606659163The Android Open Source Project AddTsResult = (OS_802_11_QOS_TSPEC_PARAMS *)pData->uBuffer; 39764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("CLI Event - IPC_EVENT_TSPEC_STATUS -- (userPriority = %d, ReasonCode = %d) \n",AddTsResult->uUserPriority,AddTsResult->uReasonCode); 39864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Tspec Parameters (as received through event handler):\n"); 39964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("-----------------------------------------------------\n"); 40064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("userPriority = %d\n",AddTsResult->uUserPriority); 40164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("uNominalMSDUsize = %d\n",AddTsResult->uNominalMSDUsize); 40264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("uMeanDataRate = %d\n",AddTsResult->uMeanDataRate); 40364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("uMinimumPHYRate = %d\n",AddTsResult->uMinimumPHYRate); 40464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("uSurplusBandwidthAllowance = %d\n",AddTsResult->uSurplusBandwidthAllowance); 40564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("uAPSDFlag = %d\n",AddTsResult->uAPSDFlag); 40664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("uMediumTime = %d\n\n",AddTsResult->uMediumTime); 40764064216a8433360745f69edddce19a606659163The Android Open Source Project break; 40864064216a8433360745f69edddce19a606659163The Android Open Source Project case IPC_EVENT_TSPEC_RATE_STATUS: 40964064216a8433360745f69edddce19a606659163The Android Open Source Project CrossParams = (OS_802_11_THRESHOLD_CROSS_INDICATION_PARAMS *)pData->uBuffer; 41064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("CLI Event - IPC_EVENT_TSPEC_RATE_STATUS (AC = %d, HighLowFlag = %d, AboveOrBelow = %d)\n",CrossParams->uAC,CrossParams->uHighOrLowThresholdFlag,CrossParams->uAboveOrBelowFlag); 41164064216a8433360745f69edddce19a606659163The Android Open Source Project break; 41264064216a8433360745f69edddce19a606659163The Android Open Source Project case IPC_EVENT_MEDIUM_TIME_CROSS: 41364064216a8433360745f69edddce19a606659163The Android Open Source Project CrossParams = (OS_802_11_THRESHOLD_CROSS_INDICATION_PARAMS *)pData->uBuffer; 41464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("CLI Event - IPC_EVENT_MEDIUM_TIME_CROSS (AC = %d, HighLowFlag = %d, AboveOrBelow = %d)\n",CrossParams->uAC,CrossParams->uHighOrLowThresholdFlag,CrossParams->uAboveOrBelowFlag); 41564064216a8433360745f69edddce19a606659163The Android Open Source Project break; 41664064216a8433360745f69edddce19a606659163The Android Open Source Project case IPC_EVENT_TRAFFIC_INTENSITY_THRESHOLD_CROSSED: 41764064216a8433360745f69edddce19a606659163The Android Open Source Project TrafficIntensityThresholdParams = (OS_802_11_TRAFFIC_INTENSITY_THRESHOLD_CROSS_INDICATION_PARAMS*)pData->uBuffer; 41864064216a8433360745f69edddce19a606659163The Android Open Source Project printf("CLI Event - IPC_EVENT_TRAFFIC_INTENSITY_THRESHOLD_CROSSED\n"); 41964064216a8433360745f69edddce19a606659163The Android Open Source Project printf("---------------------------------------------------------\n"); 42064064216a8433360745f69edddce19a606659163The Android Open Source Project printf("Threshold crossed: %s Threshold\n", ((TrafficIntensityThresholdParams->uHighOrLowThresholdFlag == HIGH_THRESHOLD_CROSS) ? "High" : "Low")); 42164064216a8433360745f69edddce19a606659163The Android Open Source Project printf("Direction crossed: %s\n\n", ((TrafficIntensityThresholdParams->uAboveOrBelowFlag == CROSS_ABOVE) ? "Above" : "Below")); 42264064216a8433360745f69edddce19a606659163The Android Open Source Project break; 42364064216a8433360745f69edddce19a606659163The Android Open Source Project 42464064216a8433360745f69edddce19a606659163The Android Open Source Project case IPC_EVENT_WPA2_PREAUTHENTICATION: 42564064216a8433360745f69edddce19a606659163The Android Open Source Project { 42664064216a8433360745f69edddce19a606659163The Android Open Source Project ULONG *WPA2_PreAuth_Status; 42764064216a8433360745f69edddce19a606659163The Android Open Source Project 42864064216a8433360745f69edddce19a606659163The Android Open Source Project WPA2_PreAuth_Status = (ULONG *)pData->uBuffer; 42964064216a8433360745f69edddce19a606659163The Android Open Source Project printf("CLI Event - IPC_EVENT_WPA2_PREAUTHENTICATION\n"); 43064064216a8433360745f69edddce19a606659163The Android Open Source Project printf("Status code = %lu\n",*WPA2_PreAuth_Status); 43164064216a8433360745f69edddce19a606659163The Android Open Source Project } 43264064216a8433360745f69edddce19a606659163The Android Open Source Project break; 43364064216a8433360745f69edddce19a606659163The Android Open Source Project 43464064216a8433360745f69edddce19a606659163The Android Open Source Project case IPC_EVENT_ROAMING_COMPLETE: 43564064216a8433360745f69edddce19a606659163The Android Open Source Project printf("CLI Event - IPC_EVENT_ROAMING_COMPLETE \n"); 43664064216a8433360745f69edddce19a606659163The Android Open Source Project break; 43764064216a8433360745f69edddce19a606659163The Android Open Source Project 43864064216a8433360745f69edddce19a606659163The Android Open Source Project case IPC_EVENT_BT_COEX_MODE: 43964064216a8433360745f69edddce19a606659163The Android Open Source Project btCoexStatus = (btCoexStatus_t*)pData->uBuffer; 44064064216a8433360745f69edddce19a606659163The Android Open Source Project if (btCoexStatus->state) 44164064216a8433360745f69edddce19a606659163The Android Open Source Project { 44264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("CLI Event - IPC_EVENT_BT_COEX_MODE (SG is ON, minTxRate = %d)\n",btCoexStatus->minTxRate); 44364064216a8433360745f69edddce19a606659163The Android Open Source Project } 44464064216a8433360745f69edddce19a606659163The Android Open Source Project else 44564064216a8433360745f69edddce19a606659163The Android Open Source Project { 44664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("CLI Event - IPC_EVENT_BT_COEX_MODE (SG is OFF)\n"); 44764064216a8433360745f69edddce19a606659163The Android Open Source Project } 44864064216a8433360745f69edddce19a606659163The Android Open Source Project break; 44964064216a8433360745f69edddce19a606659163The Android Open Source Project 45064064216a8433360745f69edddce19a606659163The Android Open Source Project default: 45164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("CLI Event - Unknown event\n"); 45264064216a8433360745f69edddce19a606659163The Android Open Source Project break; 45364064216a8433360745f69edddce19a606659163The Android Open Source Project } 45464064216a8433360745f69edddce19a606659163The Android Open Source Project return 0; 45564064216a8433360745f69edddce19a606659163The Android Open Source Project 45664064216a8433360745f69edddce19a606659163The Android Open Source Project 45764064216a8433360745f69edddce19a606659163The Android Open Source Project} 45864064216a8433360745f69edddce19a606659163The Android Open Source Project 45964064216a8433360745f69edddce19a606659163The Android Open Source Projectstatic char *print_rate(rate_e rate) 46064064216a8433360745f69edddce19a606659163The Android Open Source Project{ 46164064216a8433360745f69edddce19a606659163The Android Open Source Project static char buf[20]; 46264064216a8433360745f69edddce19a606659163The Android Open Source Project 46364064216a8433360745f69edddce19a606659163The Android Open Source Project if( rate == 0 ) 46464064216a8433360745f69edddce19a606659163The Android Open Source Project return "Auto (0)"; 46564064216a8433360745f69edddce19a606659163The Android Open Source Project 46664064216a8433360745f69edddce19a606659163The Android Open Source Project sprintf(buf, "%.3g Mbps (%u%s)", RATE_2_MBPS(rate), rate, 46764064216a8433360745f69edddce19a606659163The Android Open Source Project IS_BASIC_RATE(rate) ? " - basic" : "" ); 46864064216a8433360745f69edddce19a606659163The Android Open Source Project return buf; 46964064216a8433360745f69edddce19a606659163The Android Open Source Project} 47064064216a8433360745f69edddce19a606659163The Android Open Source Project 47164064216a8433360745f69edddce19a606659163The Android Open Source Projectstatic BOOL isJunkSSID(OS_802_11_SSID *ssid ) 47264064216a8433360745f69edddce19a606659163The Android Open Source Project{ 47364064216a8433360745f69edddce19a606659163The Android Open Source Project if ((ssid == NULL) || (ssid->SsidLength == 0)) 47464064216a8433360745f69edddce19a606659163The Android Open Source Project { 47564064216a8433360745f69edddce19a606659163The Android Open Source Project return TRUE; 47664064216a8433360745f69edddce19a606659163The Android Open Source Project } 47764064216a8433360745f69edddce19a606659163The Android Open Source Project 47864064216a8433360745f69edddce19a606659163The Android Open Source Project if (ssid->SsidLength > 2) 47964064216a8433360745f69edddce19a606659163The Android Open Source Project { 48064064216a8433360745f69edddce19a606659163The Android Open Source Project if ((ssid->Ssid[0] < MAX_SSID_LEN) && 48164064216a8433360745f69edddce19a606659163The Android Open Source Project (ssid->Ssid[1] < MAX_SSID_LEN) && 48264064216a8433360745f69edddce19a606659163The Android Open Source Project (ssid->Ssid[2] < MAX_SSID_LEN)) 48364064216a8433360745f69edddce19a606659163The Android Open Source Project { 48464064216a8433360745f69edddce19a606659163The Android Open Source Project return TRUE; 48564064216a8433360745f69edddce19a606659163The Android Open Source Project } 48664064216a8433360745f69edddce19a606659163The Android Open Source Project } 48764064216a8433360745f69edddce19a606659163The Android Open Source Project 48864064216a8433360745f69edddce19a606659163The Android Open Source Project return FALSE; 48964064216a8433360745f69edddce19a606659163The Android Open Source Project} 49064064216a8433360745f69edddce19a606659163The Android Open Source Project 49164064216a8433360745f69edddce19a606659163The Android Open Source Projectstatic char *get_ssid_string(OS_802_11_SSID *ssid ) 49264064216a8433360745f69edddce19a606659163The Android Open Source Project{ 49364064216a8433360745f69edddce19a606659163The Android Open Source Project static char tmp_buf[MAX_SSID_LEN+1]; 49464064216a8433360745f69edddce19a606659163The Android Open Source Project if ((ssid == NULL) || (ssid->SsidLength == 0) || isJunkSSID(ssid)) 49564064216a8433360745f69edddce19a606659163The Android Open Source Project return "<empty>"; 49664064216a8433360745f69edddce19a606659163The Android Open Source Project 49764064216a8433360745f69edddce19a606659163The Android Open Source Project if (ssid->SsidLength < SIZE_ARR(ssid->Ssid)) 49864064216a8433360745f69edddce19a606659163The Android Open Source Project ssid->Ssid[ssid->SsidLength] = 0; 49964064216a8433360745f69edddce19a606659163The Android Open Source Project else if( ssid->SsidLength == MAX_SSID_LEN ) 50064064216a8433360745f69edddce19a606659163The Android Open Source Project { 50164064216a8433360745f69edddce19a606659163The Android Open Source Project memcpy(tmp_buf, ssid->Ssid, MAX_SSID_LEN ); 50264064216a8433360745f69edddce19a606659163The Android Open Source Project tmp_buf[MAX_SSID_LEN] = 0; 50364064216a8433360745f69edddce19a606659163The Android Open Source Project return tmp_buf; 50464064216a8433360745f69edddce19a606659163The Android Open Source Project } 50564064216a8433360745f69edddce19a606659163The Android Open Source Project else 50664064216a8433360745f69edddce19a606659163The Android Open Source Project { 50764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("error: invalid ssid length (len = %u)\n", ssid->SsidLength ); 50864064216a8433360745f69edddce19a606659163The Android Open Source Project return "<error>"; 50964064216a8433360745f69edddce19a606659163The Android Open Source Project } 51064064216a8433360745f69edddce19a606659163The Android Open Source Project return (char *) ssid->Ssid; 51164064216a8433360745f69edddce19a606659163The Android Open Source Project} 51264064216a8433360745f69edddce19a606659163The Android Open Source Project/* return 0 on error 51364064216a8433360745f69edddce19a606659163The Android Open Source Project or 'mac' if success 51464064216a8433360745f69edddce19a606659163The Android Open Source Project 'str' format: num.num.num.num.num.num (where 'num' is number from 0 to 255) 51564064216a8433360745f69edddce19a606659163The Android Open Source Project*/ 51664064216a8433360745f69edddce19a606659163The Android Open Source ProjectU8* str2MACAddr(char *str, U8 *mac) 51764064216a8433360745f69edddce19a606659163The Android Open Source Project{ 51864064216a8433360745f69edddce19a606659163The Android Open Source Project const int mac_len = 6; 51964064216a8433360745f69edddce19a606659163The Android Open Source Project int i; 52064064216a8433360745f69edddce19a606659163The Android Open Source Project char *p = str; 52164064216a8433360745f69edddce19a606659163The Android Open Source Project#ifndef _WINDOWS 52264064216a8433360745f69edddce19a606659163The Android Open Source Project errno = 0; 52364064216a8433360745f69edddce19a606659163The Android Open Source Project#endif 52464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("str2MAC():"); 52564064216a8433360745f69edddce19a606659163The Android Open Source Project for( i=0; i<mac_len; i++ ) 52664064216a8433360745f69edddce19a606659163The Android Open Source Project { 52764064216a8433360745f69edddce19a606659163The Android Open Source Project mac[i] = (U8) strtoul(p, &p, 16); 52864064216a8433360745f69edddce19a606659163The Android Open Source Project#ifndef _WINDOWS 52964064216a8433360745f69edddce19a606659163The Android Open Source Project if( errno == ERANGE ) 53064064216a8433360745f69edddce19a606659163The Android Open Source Project return NULL; 53164064216a8433360745f69edddce19a606659163The Android Open Source Project#endif 53264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("%2x.", mac[i] ); 53364064216a8433360745f69edddce19a606659163The Android Open Source Project p++; 53464064216a8433360745f69edddce19a606659163The Android Open Source Project 53564064216a8433360745f69edddce19a606659163The Android Open Source Project } 53664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("\n"); 53764064216a8433360745f69edddce19a606659163The Android Open Source Project return mac; 53864064216a8433360745f69edddce19a606659163The Android Open Source Project} 53964064216a8433360745f69edddce19a606659163The Android Open Source Project 54064064216a8433360745f69edddce19a606659163The Android Open Source Projectstatic char * print_mac_2_str(OS_802_11_MAC_ADDRESS mac) 54164064216a8433360745f69edddce19a606659163The Android Open Source Project{ 54264064216a8433360745f69edddce19a606659163The Android Open Source Project static char buf[30]; 54364064216a8433360745f69edddce19a606659163The Android Open Source Project 54464064216a8433360745f69edddce19a606659163The Android Open Source Project sprintf(buf, "%02x.%02x.%02x.%02x.%02x.%02x", 54564064216a8433360745f69edddce19a606659163The Android Open Source Project mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); 54664064216a8433360745f69edddce19a606659163The Android Open Source Project 54764064216a8433360745f69edddce19a606659163The Android Open Source Project return buf; 54864064216a8433360745f69edddce19a606659163The Android Open Source Project} 54964064216a8433360745f69edddce19a606659163The Android Open Source Project 55064064216a8433360745f69edddce19a606659163The Android Open Source Project/* convert hex MAC addr in the form xx:xx:xx:xx:xx:xx to mac address */ 55164064216a8433360745f69edddce19a606659163The Android Open Source Projectstatic void hexStr2MACAddr( char *hexStr, macAddress_t* mac ) 55264064216a8433360745f69edddce19a606659163The Android Open Source Project{ 55364064216a8433360745f69edddce19a606659163The Android Open Source Project size_t i; 55464064216a8433360745f69edddce19a606659163The Android Open Source Project char *currHexStrPos = hexStr; 55564064216a8433360745f69edddce19a606659163The Android Open Source Project UINT8 tempValue; 55664064216a8433360745f69edddce19a606659163The Android Open Source Project 55764064216a8433360745f69edddce19a606659163The Android Open Source Project /* convert hex string to lower */ 55864064216a8433360745f69edddce19a606659163The Android Open Source Project for ( i = 0; i < strlen(hexStr); i++ ) 55964064216a8433360745f69edddce19a606659163The Android Open Source Project { 56064064216a8433360745f69edddce19a606659163The Android Open Source Project hexStr[ i ] = tolower( hexStr[ i ] ); 56164064216a8433360745f69edddce19a606659163The Android Open Source Project } 56264064216a8433360745f69edddce19a606659163The Android Open Source Project 56364064216a8433360745f69edddce19a606659163The Android Open Source Project /* convert to numbers */ 56464064216a8433360745f69edddce19a606659163The Android Open Source Project for ( i = 0; i < 6; i++ ) 56564064216a8433360745f69edddce19a606659163The Android Open Source Project { 56664064216a8433360745f69edddce19a606659163The Android Open Source Project tempValue = 0; 56764064216a8433360745f69edddce19a606659163The Android Open Source Project if ( *currHexStrPos >= 'a' ) 56864064216a8433360745f69edddce19a606659163The Android Open Source Project tempValue = *currHexStrPos - 'a' + 10; 56964064216a8433360745f69edddce19a606659163The Android Open Source Project else 57064064216a8433360745f69edddce19a606659163The Android Open Source Project tempValue = *currHexStrPos - '0'; 57164064216a8433360745f69edddce19a606659163The Android Open Source Project currHexStrPos++; 57264064216a8433360745f69edddce19a606659163The Android Open Source Project tempValue <<= 4; 57364064216a8433360745f69edddce19a606659163The Android Open Source Project if ( *currHexStrPos >= 'a' ) 57464064216a8433360745f69edddce19a606659163The Android Open Source Project tempValue += *currHexStrPos - 'a' + 10; 57564064216a8433360745f69edddce19a606659163The Android Open Source Project else 57664064216a8433360745f69edddce19a606659163The Android Open Source Project tempValue += *currHexStrPos - '0'; 57764064216a8433360745f69edddce19a606659163The Android Open Source Project currHexStrPos += 2; 57864064216a8433360745f69edddce19a606659163The Android Open Source Project mac->addr[ i ] = tempValue; 57964064216a8433360745f69edddce19a606659163The Android Open Source Project } 58064064216a8433360745f69edddce19a606659163The Android Open Source Project} 58164064216a8433360745f69edddce19a606659163The Android Open Source Project 58264064216a8433360745f69edddce19a606659163The Android Open Source Projectstatic void mac2HexStr( macAddress_t* mac, char* hexStr ) 58364064216a8433360745f69edddce19a606659163The Android Open Source Project{ 58464064216a8433360745f69edddce19a606659163The Android Open Source Project sprintf( hexStr, "%02x:%02x:%02x:%02x:%02x:%02x", 58564064216a8433360745f69edddce19a606659163The Android Open Source Project mac->addr[0],mac->addr[1],mac->addr[2],mac->addr[3],mac->addr[4],mac->addr[5]); 58664064216a8433360745f69edddce19a606659163The Android Open Source Project} 58764064216a8433360745f69edddce19a606659163The Android Open Source Project 58864064216a8433360745f69edddce19a606659163The Android Open Source Projectchar *get_name_by_value(named_value_t *arr, int arr_size, UINT32 value) 58964064216a8433360745f69edddce19a606659163The Android Open Source Project{ 59064064216a8433360745f69edddce19a606659163The Android Open Source Project int i; 59164064216a8433360745f69edddce19a606659163The Android Open Source Project for(i=0; i<arr_size; i++) { 59264064216a8433360745f69edddce19a606659163The Android Open Source Project if( arr[i].value == value ) 59364064216a8433360745f69edddce19a606659163The Android Open Source Project return arr[i].name; 59464064216a8433360745f69edddce19a606659163The Android Open Source Project } 59564064216a8433360745f69edddce19a606659163The Android Open Source Project return "<unknow>"; 59664064216a8433360745f69edddce19a606659163The Android Open Source Project} 59764064216a8433360745f69edddce19a606659163The Android Open Source Project 59864064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_modify_supported_rates(ConParm_t parm[], U16 nParms) 59964064216a8433360745f69edddce19a606659163The Android Open Source Project{ 60064064216a8433360745f69edddce19a606659163The Android Open Source Project rates_t data = { 0 }; 60164064216a8433360745f69edddce19a606659163The Android Open Source Project char debug_buf[256] = { 0 }; 60264064216a8433360745f69edddce19a606659163The Android Open Source Project int i; 60364064216a8433360745f69edddce19a606659163The Android Open Source Project 60464064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms == 0 ) 60564064216a8433360745f69edddce19a606659163The Android Open Source Project { 60664064216a8433360745f69edddce19a606659163The Android Open Source Project if( !TI_GetSupportedRates(g_id_adapter, (tiUINT8*)&data, sizeof(data)) ) 60764064216a8433360745f69edddce19a606659163The Android Open Source Project { 60864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" Rates: "); 60964064216a8433360745f69edddce19a606659163The Android Open Source Project for( i=0; i<MAX_SUPPORTED_RATES && i < data.len; i++ ) 61064064216a8433360745f69edddce19a606659163The Android Open Source Project { 61164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("%g Mbps(%u%s)%s", RATE_2_MBPS(data.ratesString[i]), 61264064216a8433360745f69edddce19a606659163The Android Open Source Project data.ratesString[i], 61364064216a8433360745f69edddce19a606659163The Android Open Source Project IS_BASIC_RATE(data.ratesString[i]) ? " - basic" : "", 61464064216a8433360745f69edddce19a606659163The Android Open Source Project (i < data.len-1) ? "," : "" ); 61564064216a8433360745f69edddce19a606659163The Android Open Source Project } 61664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("\n"); 61764064216a8433360745f69edddce19a606659163The Android Open Source Project } 61864064216a8433360745f69edddce19a606659163The Android Open Source Project } 61964064216a8433360745f69edddce19a606659163The Android Open Source Project else 62064064216a8433360745f69edddce19a606659163The Android Open Source Project { 62164064216a8433360745f69edddce19a606659163The Android Open Source Project char *end_p, *buf = (char *) parm[0].value; 62264064216a8433360745f69edddce19a606659163The Android Open Source Project float val; 62364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("param: %s\n", buf ); 62464064216a8433360745f69edddce19a606659163The Android Open Source Project#ifndef _WINDOWS 62564064216a8433360745f69edddce19a606659163The Android Open Source Project errno = 0; 62664064216a8433360745f69edddce19a606659163The Android Open Source Project#endif 62764064216a8433360745f69edddce19a606659163The Android Open Source Project for( i=0; *buf && i < MAX_SUPPORTED_RATES; i++ ) 62864064216a8433360745f69edddce19a606659163The Android Open Source Project { 62964064216a8433360745f69edddce19a606659163The Android Open Source Project val = (float) strtod(buf, &end_p); 63064064216a8433360745f69edddce19a606659163The Android Open Source Project if( 63164064216a8433360745f69edddce19a606659163The Android Open Source Project#ifndef _WINDOWS 63264064216a8433360745f69edddce19a606659163The Android Open Source Project errno || 63364064216a8433360745f69edddce19a606659163The Android Open Source Project#endif 63464064216a8433360745f69edddce19a606659163The Android Open Source Project buf == end_p ) 63564064216a8433360745f69edddce19a606659163The Android Open Source Project { 63664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("cmd_modify_supported_rates(): invalid value - %s\n", buf ); 63764064216a8433360745f69edddce19a606659163The Android Open Source Project return; 63864064216a8433360745f69edddce19a606659163The Android Open Source Project } 63964064216a8433360745f69edddce19a606659163The Android Open Source Project if( val > ((1 << (sizeof(data.ratesString[i]) * 8))-1) ) 64064064216a8433360745f69edddce19a606659163The Android Open Source Project { 64164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("cmd_modify_supported_rates(): out of range '%.*s'\n", end_p - buf, buf ); 64264064216a8433360745f69edddce19a606659163The Android Open Source Project return; 64364064216a8433360745f69edddce19a606659163The Android Open Source Project } 64464064216a8433360745f69edddce19a606659163The Android Open Source Project data.ratesString[i] = (tiUINT8) (val); 64564064216a8433360745f69edddce19a606659163The Android Open Source Project 64664064216a8433360745f69edddce19a606659163The Android Open Source Project sprintf(&debug_buf[strlen(debug_buf)], "%g (%d) ", val, data.ratesString[i] ); 64764064216a8433360745f69edddce19a606659163The Android Open Source Project 64864064216a8433360745f69edddce19a606659163The Android Open Source Project buf = end_p; 64964064216a8433360745f69edddce19a606659163The Android Open Source Project while( *buf==' ' || *buf == ',' ) buf++; 65064064216a8433360745f69edddce19a606659163The Android Open Source Project 65164064216a8433360745f69edddce19a606659163The Android Open Source Project } 65264064216a8433360745f69edddce19a606659163The Android Open Source Project 65364064216a8433360745f69edddce19a606659163The Android Open Source Project if( *buf ) 65464064216a8433360745f69edddce19a606659163The Android Open Source Project { 65564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("too many parameters. Max=%d\n", MAX_SUPPORTED_RATES ); 65664064216a8433360745f69edddce19a606659163The Android Open Source Project return; 65764064216a8433360745f69edddce19a606659163The Android Open Source Project } 65864064216a8433360745f69edddce19a606659163The Android Open Source Project 65964064216a8433360745f69edddce19a606659163The Android Open Source Project data.len = i; 66064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("**set rates (%d) :%s\n", data.len, debug_buf ); 66164064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetSupportedRates(g_id_adapter, (tiUINT8*) &data, sizeof(data)); 66264064216a8433360745f69edddce19a606659163The Android Open Source Project } 66364064216a8433360745f69edddce19a606659163The Android Open Source Project} 66464064216a8433360745f69edddce19a606659163The Android Open Source Project 66564064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_show_status(ConParm_t parm[], U16 nParms) 66664064216a8433360745f69edddce19a606659163The Android Open Source Project{ 66764064216a8433360745f69edddce19a606659163The Android Open Source Project tiINT32 res; 66864064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_BSSID_EX BssIdInfo; 66964064216a8433360745f69edddce19a606659163The Android Open Source Project 67064064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 data; 67164064216a8433360745f69edddce19a606659163The Android Open Source Project char buf[4096] = { 0 }; 67264064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_SSID ssid = { 0 }; 67364064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_MAC_ADDRESS bssid = { 0 }; 67464064216a8433360745f69edddce19a606659163The Android Open Source Project 67564064216a8433360745f69edddce19a606659163The Android Open Source Project UNUSED(parm); 67664064216a8433360745f69edddce19a606659163The Android Open Source Project UNUSED(nParms); 67764064216a8433360745f69edddce19a606659163The Android Open Source Project 67864064216a8433360745f69edddce19a606659163The Android Open Source Project buf[0] = 0; 67964064216a8433360745f69edddce19a606659163The Android Open Source Project 68064064216a8433360745f69edddce19a606659163The Android Open Source Project res = TI_WLAN_IsDriverRun(g_id_adapter, (tiBOOL *)&data); 68164064216a8433360745f69edddce19a606659163The Android Open Source Project if( res ) 68264064216a8433360745f69edddce19a606659163The Android Open Source Project return ; 68364064216a8433360745f69edddce19a606659163The Android Open Source Project 68464064216a8433360745f69edddce19a606659163The Android Open Source Project sprintf(buf, "Status : %s\n", res ? "<error>" : (data ? "running" : "stopped") ); 68564064216a8433360745f69edddce19a606659163The Android Open Source Project 68664064216a8433360745f69edddce19a606659163The Android Open Source Project sprintf(&buf[strlen(buf)], "MAC : "); 68764064216a8433360745f69edddce19a606659163The Android Open Source Project if( !TI_GetCurrentAddress(g_id_adapter, &bssid ) ) 68864064216a8433360745f69edddce19a606659163The Android Open Source Project strcat(buf, print_mac_2_str(bssid) ); 68964064216a8433360745f69edddce19a606659163The Android Open Source Project else 69064064216a8433360745f69edddce19a606659163The Android Open Source Project strcat(buf, "<error>"); 69164064216a8433360745f69edddce19a606659163The Android Open Source Project 69264064216a8433360745f69edddce19a606659163The Android Open Source Project strcat(buf, "\nSSID : "); 69364064216a8433360745f69edddce19a606659163The Android Open Source Project if( !TI_GetCurrentSSID(g_id_adapter, &ssid) ) 69464064216a8433360745f69edddce19a606659163The Android Open Source Project { 69564064216a8433360745f69edddce19a606659163The Android Open Source Project if (!isJunkSSID(&ssid)) 69664064216a8433360745f69edddce19a606659163The Android Open Source Project { 69764064216a8433360745f69edddce19a606659163The Android Open Source Project strncat(buf, get_ssid_string(&ssid),ssid.SsidLength); 69864064216a8433360745f69edddce19a606659163The Android Open Source Project } 69964064216a8433360745f69edddce19a606659163The Android Open Source Project else 70064064216a8433360745f69edddce19a606659163The Android Open Source Project { 70164064216a8433360745f69edddce19a606659163The Android Open Source Project strcat(buf,"<empty>"); 70264064216a8433360745f69edddce19a606659163The Android Open Source Project } 70364064216a8433360745f69edddce19a606659163The Android Open Source Project } 70464064216a8433360745f69edddce19a606659163The Android Open Source Project else 70564064216a8433360745f69edddce19a606659163The Android Open Source Project strcat(buf, "<error>" ); 70664064216a8433360745f69edddce19a606659163The Android Open Source Project 70764064216a8433360745f69edddce19a606659163The Android Open Source Project sprintf(&buf[strlen(buf)], "\nBSSID : "); 70864064216a8433360745f69edddce19a606659163The Android Open Source Project 70964064216a8433360745f69edddce19a606659163The Android Open Source Project TI_GetSelectedBSSIDInfo(g_id_adapter, &BssIdInfo); 71064064216a8433360745f69edddce19a606659163The Android Open Source Project strcat(buf, print_mac_2_str(BssIdInfo.MacAddress)); 71164064216a8433360745f69edddce19a606659163The Android Open Source Project 71264064216a8433360745f69edddce19a606659163The Android Open Source Project strcat(buf, "\nChannel : "); 71364064216a8433360745f69edddce19a606659163The Android Open Source Project data = 0; 71464064216a8433360745f69edddce19a606659163The Android Open Source Project if( !TI_GetCurrentChannel(g_id_adapter, &data ) ) 71564064216a8433360745f69edddce19a606659163The Android Open Source Project { 71664064216a8433360745f69edddce19a606659163The Android Open Source Project sprintf(&buf[strlen(buf)], "%d", data ); 71764064216a8433360745f69edddce19a606659163The Android Open Source Project } 71864064216a8433360745f69edddce19a606659163The Android Open Source Project else 71964064216a8433360745f69edddce19a606659163The Android Open Source Project strcat(buf, "<error>"); 72064064216a8433360745f69edddce19a606659163The Android Open Source Project 72164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("==========================\n%s\n==========================\n\n", buf); 72264064216a8433360745f69edddce19a606659163The Android Open Source Project} 72364064216a8433360745f69edddce19a606659163The Android Open Source Project 72464064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_connect(ConParm_t parm[], U16 nParms) 72564064216a8433360745f69edddce19a606659163The Android Open Source Project{ 72664064216a8433360745f69edddce19a606659163The Android Open Source Project char buf[1] = { 0 }; 72764064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_MAC_ADDRESS bssid = { 0xff,0xff,0xff,0xff,0xff,0xff }; 72864064216a8433360745f69edddce19a606659163The Android Open Source Project 72964064216a8433360745f69edddce19a606659163The Android Open Source Project buf[0] = 0; 73064064216a8433360745f69edddce19a606659163The Android Open Source Project 73164064216a8433360745f69edddce19a606659163The Android Open Source Project switch (nParms) { 73264064216a8433360745f69edddce19a606659163The Android Open Source Project 73364064216a8433360745f69edddce19a606659163The Android Open Source Project case 0 : 73464064216a8433360745f69edddce19a606659163The Android Open Source Project /* 73564064216a8433360745f69edddce19a606659163The Android Open Source Project * No SSID & No BSSID are set - 73664064216a8433360745f69edddce19a606659163The Android Open Source Project * Use Any SSID & Any BSSID. 73764064216a8433360745f69edddce19a606659163The Android Open Source Project */ 73864064216a8433360745f69edddce19a606659163The Android Open Source Project 73964064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetBSSID(g_id_adapter, &bssid ); 74064064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetSSID(g_id_adapter, (tiUINT8 *) buf); 74164064216a8433360745f69edddce19a606659163The Android Open Source Project break; 74264064216a8433360745f69edddce19a606659163The Android Open Source Project 74364064216a8433360745f69edddce19a606659163The Android Open Source Project case 1: 74464064216a8433360745f69edddce19a606659163The Android Open Source Project /* 74564064216a8433360745f69edddce19a606659163The Android Open Source Project * SSID set & BSSID insn't set - 74664064216a8433360745f69edddce19a606659163The Android Open Source Project * Use CLI's SSID & Any BSSID. 74764064216a8433360745f69edddce19a606659163The Android Open Source Project */ 74864064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetBSSID(g_id_adapter, &bssid ); 74964064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetSSID(g_id_adapter, (tiUINT8 *) parm[0].value); 75064064216a8433360745f69edddce19a606659163The Android Open Source Project break; 75164064216a8433360745f69edddce19a606659163The Android Open Source Project 75264064216a8433360745f69edddce19a606659163The Android Open Source Project case 2: 75364064216a8433360745f69edddce19a606659163The Android Open Source Project /* 75464064216a8433360745f69edddce19a606659163The Android Open Source Project * Both SSID & BSSID are set - 75564064216a8433360745f69edddce19a606659163The Android Open Source Project * Use CLI's SSID & BSSID. 75664064216a8433360745f69edddce19a606659163The Android Open Source Project */ 75764064216a8433360745f69edddce19a606659163The Android Open Source Project if( !str2MACAddr((char *) parm[1].value, bssid) ) 75864064216a8433360745f69edddce19a606659163The Android Open Source Project return; 75964064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetBSSID(g_id_adapter, &bssid); 76064064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetSSID(g_id_adapter, (tiUINT8 *) parm[0].value); 76164064216a8433360745f69edddce19a606659163The Android Open Source Project break; 76264064216a8433360745f69edddce19a606659163The Android Open Source Project} 76364064216a8433360745f69edddce19a606659163The Android Open Source Project} 76464064216a8433360745f69edddce19a606659163The Android Open Source Project 76564064216a8433360745f69edddce19a606659163The Android Open Source Project 76664064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_disassociate(ConParm_t parm[], U16 nParms) 76764064216a8433360745f69edddce19a606659163The Android Open Source Project{ 76864064216a8433360745f69edddce19a606659163The Android Open Source Project UNUSED(parm); 76964064216a8433360745f69edddce19a606659163The Android Open Source Project UNUSED(nParms); 77064064216a8433360745f69edddce19a606659163The Android Open Source Project 77164064216a8433360745f69edddce19a606659163The Android Open Source Project TI_Disassociate(g_id_adapter); 77264064216a8433360745f69edddce19a606659163The Android Open Source Project} 77364064216a8433360745f69edddce19a606659163The Android Open Source Project 77464064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_show_advanced_params(ConParm_t parm[], U16 nParms) 77564064216a8433360745f69edddce19a606659163The Android Open Source Project{ 77664064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 mode_4x = 0, preamble = 0xfefefefe; 77764064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_AUTHENTICATION_MODE auth; 77864064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_ENCRYPTION_TYPES encrypt; 77964064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 rts_tresh; 78064064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 frag_tresh = 0xfefefefe; 78164064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT8 tx_power = 0xfe; 78264064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_POWER_PROFILE power_mode = 0; 78364064216a8433360745f69edddce19a606659163The Android Open Source Project 78464064216a8433360745f69edddce19a606659163The Android Open Source Project UNUSED(parm); 78564064216a8433360745f69edddce19a606659163The Android Open Source Project UNUSED(nParms); 78664064216a8433360745f69edddce19a606659163The Android Open Source Project 78764064216a8433360745f69edddce19a606659163The Android Open Source Project TI_GetAuthenticationMode(g_id_adapter, &auth ); 78864064216a8433360745f69edddce19a606659163The Android Open Source Project TI_GetTxPowerDbm(g_id_adapter, (tiCHAR*) &tx_power); 78964064216a8433360745f69edddce19a606659163The Android Open Source Project TI_GetFragmentThreshold( g_id_adapter, &frag_tresh); 79064064216a8433360745f69edddce19a606659163The Android Open Source Project TI_GetRTSThreshold( g_id_adapter, &rts_tresh); 79164064216a8433360745f69edddce19a606659163The Android Open Source Project TI_Get4XState( g_id_adapter, &mode_4x); 79264064216a8433360745f69edddce19a606659163The Android Open Source Project TI_GetEncryptionType( g_id_adapter, &encrypt ); 79364064216a8433360745f69edddce19a606659163The Android Open Source Project TI_GetPowerMode(g_id_adapter, (OS_802_11_POWER_PROFILE*) &power_mode ); 79464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" Authentication : %u\n", auth ); 79564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" Power mode : %d\n", (tiUINT32) power_mode ); 79664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" Tx Power (Dbm/10 units) : %d\n", tx_power ); 79764064216a8433360745f69edddce19a606659163The Android Open Source Project 79864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" Encryption : %u\n", encrypt ); 79964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" Preamble : <%s>\n", (preamble) ? "short" : "long"); 80064064216a8433360745f69edddce19a606659163The Android Open Source Project/* console_printf_terminal(" Tx antenna : %u\n", tx_ant );*/ 80164064216a8433360745f69edddce19a606659163The Android Open Source Project/* console_printf_terminal( " Rx antenna : %u\n", rx_ant );*/ 80264064216a8433360745f69edddce19a606659163The Android Open Source Project/* console_printf_terminal( "Ap Tx power level: n/a\n" );*/ 80364064216a8433360745f69edddce19a606659163The Android Open Source Project/* console_printf_terminal( " Tx power value : %lu\n", tx_power_val );*/ 80464064216a8433360745f69edddce19a606659163The Android Open Source Project/* console_printf_terminal( " MAC address : n/a\n" );*/ 80564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal( " 4X state : %d\n", mode_4x ); 80664064216a8433360745f69edddce19a606659163The Android Open Source Project/* console_printf_terminal( " B/G mode : n/a\n" );*/ 80764064216a8433360745f69edddce19a606659163The Android Open Source Project/* console_printf_terminal( " Country code : n/a\n" );*/ 80864064216a8433360745f69edddce19a606659163The Android Open Source Project/* console_printf_terminal( " IP address : n/a\n" );*/ 80964064216a8433360745f69edddce19a606659163The Android Open Source Project/* console_printf_terminal( " Net mask : n/a\n" );*/ 81064064216a8433360745f69edddce19a606659163The Android Open Source Project/* console_printf_terminal( " Gateway : n/a\n" );*/ 81164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal( " Frag. threshold : %u\n", frag_tresh); 81264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal( " RTS threshold : %u\n", rts_tresh ); 81364064216a8433360745f69edddce19a606659163The Android Open Source Project 81464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal( "Power mode: "); 81564064216a8433360745f69edddce19a606659163The Android Open Source Project print_available_values(power_mode_val); 81664064216a8433360745f69edddce19a606659163The Android Open Source Project 81764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal( "Encryption type: "); 81864064216a8433360745f69edddce19a606659163The Android Open Source Project print_available_values(encrypt_type); 81964064216a8433360745f69edddce19a606659163The Android Open Source Project} 82064064216a8433360745f69edddce19a606659163The Android Open Source Project 82164064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_show_statistics(ConParm_t parm[], U16 nParms) 82264064216a8433360745f69edddce19a606659163The Android Open Source Project{ 82364064216a8433360745f69edddce19a606659163The Android Open Source Project TIWLN_STATISTICS statistics = { 0 } ; 82464064216a8433360745f69edddce19a606659163The Android Open Source Project 82564064216a8433360745f69edddce19a606659163The Android Open Source Project UNUSED(parm); 82664064216a8433360745f69edddce19a606659163The Android Open Source Project UNUSED(nParms); 82764064216a8433360745f69edddce19a606659163The Android Open Source Project 82864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal( "TI_GetStatistics(%s, data=%p, size=%d\n", (char*) g_id_adapter, &statistics, sizeof(statistics) ); 82964064216a8433360745f69edddce19a606659163The Android Open Source Project 83064064216a8433360745f69edddce19a606659163The Android Open Source Project if( TI_GetStatistics( g_id_adapter, &statistics ) ) 83164064216a8433360745f69edddce19a606659163The Android Open Source Project { 83264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Error in getting TI_GetStatistics!!\n"); 83364064216a8433360745f69edddce19a606659163The Android Open Source Project return; 83464064216a8433360745f69edddce19a606659163The Android Open Source Project } 83564064216a8433360745f69edddce19a606659163The Android Open Source Project 83664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("******************\n"); 83764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Driver Statistics:\n"); 83864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("******************\n"); 83964064216a8433360745f69edddce19a606659163The Android Open Source Project 84064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" dot11CurrentTxRate : %s\n", print_rate(statistics.dot11CurrentTxRate) ); 84164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" dot11CurrentChannel : %d\n", statistics.dot11CurrentChannel ); 84264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" currentMACAddress : %s\n", print_mac_2_str(statistics.currentMACAddress) ); 84364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" dot11DesiredSSID : %s\n", get_ssid_string(&statistics.dot11DesiredSSID) ); 84464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" dot11BSSType : %d\n", statistics.dot11BSSType ); 84564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" AuthenticationMode : %d\n", statistics.AuthenticationMode ); 84664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" bShortPreambleUsed : %d\n", statistics.bShortPreambleUsed ); 84764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" RTSThreshold : %d\n", statistics.RTSThreshold ); 84864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("FragmentationThreshold : %d\n", statistics.FragmentationThreshold ); 84964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" bDefaultWEPKeyDefined : %d\n", statistics.bDefaultWEPKeyDefined ); 85064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" WEPStatus : %d\n", statistics.WEPStatus ); 85164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" TxAntenna : %d\n", statistics.TxAntenna ); 85264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" RxAntenna : %d\n", statistics.RxAntenna ); 85364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" TxPowerDbm : %d\n", statistics.TxPowerDbm ); 85464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" PowerMode : %d\n", statistics.PowerMode ); 85564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" RxLevel : %d\n", statistics.RxLevel ); 85664064216a8433360745f69edddce19a606659163The Android Open Source Project 85764064216a8433360745f69edddce19a606659163The Android Open Source Project /**/ 85864064216a8433360745f69edddce19a606659163The Android Open Source Project /* status & AP info*/ 85964064216a8433360745f69edddce19a606659163The Android Open Source Project /**/ 86064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" dot11State : %d\n", statistics.dot11State ); 86164064216a8433360745f69edddce19a606659163The Android Open Source Project 86264064216a8433360745f69edddce19a606659163The Android Open Source Project /**/ 86364064216a8433360745f69edddce19a606659163The Android Open Source Project /* network layer statistics*/ 86464064216a8433360745f69edddce19a606659163The Android Open Source Project /**/ 86564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" RecvOk : %d\n", statistics.tiCounters.RecvOk ); 86664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" RecvError : %d\n", statistics.tiCounters.RecvError ); 86764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" DirectedBytesRecv : %d\n", statistics.tiCounters.DirectedBytesRecv ); 86864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" DirectedFramesRecv : %d\n", statistics.tiCounters.DirectedFramesRecv ); 86964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" MulticastBytesRecv : %d\n", statistics.tiCounters.MulticastBytesRecv ); 87064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" MulticastFramesRecv : %d\n", statistics.tiCounters.MulticastFramesRecv ); 87164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" BroadcastBytesRecv : %d\n", statistics.tiCounters.BroadcastBytesRecv ); 87264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" BroadcastFramesRecv : %d\n", statistics.tiCounters.BroadcastFramesRecv ); 87364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" FcsErrors : %d\n", statistics.tiCounters.FcsErrors ); 87464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" BeaconsRecv : %d\n", statistics.tiCounters.BeaconsRecv ); 87564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" AssocRejects : %d\n", statistics.tiCounters.AssocRejects ); 87664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" AssocTimeouts : %d\n", statistics.tiCounters.AssocTimeouts ); 87764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" AuthRejects : %d\n", statistics.tiCounters.AuthRejects ); 87864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" AuthTimeouts : %d\n", statistics.tiCounters.AuthTimeouts ); 87964064216a8433360745f69edddce19a606659163The Android Open Source Project 88064064216a8433360745f69edddce19a606659163The Android Open Source Project /**/ 88164064216a8433360745f69edddce19a606659163The Android Open Source Project /* other statistics*/ 88264064216a8433360745f69edddce19a606659163The Android Open Source Project /**/ 88364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" dwSecuritySuit : %d\n", statistics.dwSecuritySuit ); 88464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" dwSecurityState : %d\n", statistics.dwSecurityState ); 88564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" dwSecurityAuthStatus : %d\n", statistics.dwSecurityAuthStatus ); 88664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" dwFeatureSuit : %d\n", statistics.dwFeatureSuit ); 88764064216a8433360745f69edddce19a606659163The Android Open Source Project} 88864064216a8433360745f69edddce19a606659163The Android Open Source Project 88964064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_show_tx_statistics(ConParm_t parm[], U16 nParms) 89064064216a8433360745f69edddce19a606659163The Android Open Source Project{ 89164064216a8433360745f69edddce19a606659163The Android Open Source Project TIWLN_TX_STATISTICS statistics; 89264064216a8433360745f69edddce19a606659163The Android Open Source Project UINT32 TxQid; 89364064216a8433360745f69edddce19a606659163The Android Open Source Project UINT32 AverageDelay; 89464064216a8433360745f69edddce19a606659163The Android Open Source Project UINT32 AverageFWDelay; 89564064216a8433360745f69edddce19a606659163The Android Open Source Project UINT32 AverageMacDelay; 89664064216a8433360745f69edddce19a606659163The Android Open Source Project tiINT32 status; 89764064216a8433360745f69edddce19a606659163The Android Open Source Project 89864064216a8433360745f69edddce19a606659163The Android Open Source Project UNUSED(parm); 89964064216a8433360745f69edddce19a606659163The Android Open Source Project UNUSED(nParms); 90064064216a8433360745f69edddce19a606659163The Android Open Source Project 90164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("TI_GetTxStatistics(%s, data=%p, size=%d\n", (char*) g_id_adapter, &statistics, sizeof(statistics) ); 90264064216a8433360745f69edddce19a606659163The Android Open Source Project 90364064216a8433360745f69edddce19a606659163The Android Open Source Project /* The first parameter indicates whether to clear the statistics on read: 0 - don't clear, 1 - clear */ 90464064216a8433360745f69edddce19a606659163The Android Open Source Project if ( 0 == nParms ) 90564064216a8433360745f69edddce19a606659163The Android Open Source Project { 90664064216a8433360745f69edddce19a606659163The Android Open Source Project status = TI_GetTxStatistics( g_id_adapter, &statistics, 0 ); 90764064216a8433360745f69edddce19a606659163The Android Open Source Project } 90864064216a8433360745f69edddce19a606659163The Android Open Source Project else 90964064216a8433360745f69edddce19a606659163The Android Open Source Project { 91064064216a8433360745f69edddce19a606659163The Android Open Source Project status = TI_GetTxStatistics( g_id_adapter, &statistics, parm[0].value ); 91164064216a8433360745f69edddce19a606659163The Android Open Source Project } 91264064216a8433360745f69edddce19a606659163The Android Open Source Project 91364064216a8433360745f69edddce19a606659163The Android Open Source Project if( status ) 91464064216a8433360745f69edddce19a606659163The Android Open Source Project { 91564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Error in getting TI_GetTxStatistics!!\n"); 91664064216a8433360745f69edddce19a606659163The Android Open Source Project return; 91764064216a8433360745f69edddce19a606659163The Android Open Source Project } 91864064216a8433360745f69edddce19a606659163The Android Open Source Project 91964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("*********************\n"); 92064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Tx Queues Statistics:\n"); 92164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("*********************\n"); 92264064216a8433360745f69edddce19a606659163The Android Open Source Project 92364064216a8433360745f69edddce19a606659163The Android Open Source Project for (TxQid = 0; TxQid < MAX_NUM_OF_TX_QUEUES; TxQid++) 92464064216a8433360745f69edddce19a606659163The Android Open Source Project { 92564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("\nTx Queue %d:\n", TxQid); 92664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("===========\n"); 92764064216a8433360745f69edddce19a606659163The Android Open Source Project 92864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" Total Good Frames : %d\n", statistics.txCounters[TxQid].XmitOk ); 92964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" Unicast Bytes : %d\n", statistics.txCounters[TxQid].DirectedBytesXmit ); 93064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" Unicast Frames : %d\n", statistics.txCounters[TxQid].DirectedFramesXmit ); 93164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" Multicast Bytes : %d\n", statistics.txCounters[TxQid].MulticastBytesXmit ); 93264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" Multicast Frames : %d\n", statistics.txCounters[TxQid].MulticastFramesXmit ); 93364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" Broadcast Bytes : %d\n", statistics.txCounters[TxQid].BroadcastBytesXmit ); 93464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" Broadcast Frames : %d\n", statistics.txCounters[TxQid].BroadcastFramesXmit ); 93564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" Retry Failures : %d\n", statistics.txCounters[TxQid].RetryFailCounter ); 93664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" Tx Timeout Failures : %d\n", statistics.txCounters[TxQid].TxTimeoutCounter ); 93764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" No Link Failures : %d\n", statistics.txCounters[TxQid].NoLinkCounter ); 93864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" Other Failures : %d\n", statistics.txCounters[TxQid].OtherFailCounter ); 93964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" Max Consecutive Retry Failures : %d\n\n", statistics.txCounters[TxQid].MaxConsecutiveRetryFail ); 94064064216a8433360745f69edddce19a606659163The Android Open Source Project 94164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" Retry histogram:\n"); 94264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" ----------------\n\n"); 94364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" Retries: %8d %8d %8d %8d %8d %8d %8d %8d\n", 0, 1, 2, 3, 4, 5, 6, 7); 94464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" packets: %8d %8d %8d %8d %8d %8d %8d %8d\n\n", 94564064216a8433360745f69edddce19a606659163The Android Open Source Project statistics.txCounters[TxQid].RetryHistogram[ 0 ], 94664064216a8433360745f69edddce19a606659163The Android Open Source Project statistics.txCounters[TxQid].RetryHistogram[ 1 ], 94764064216a8433360745f69edddce19a606659163The Android Open Source Project statistics.txCounters[TxQid].RetryHistogram[ 2 ], 94864064216a8433360745f69edddce19a606659163The Android Open Source Project statistics.txCounters[TxQid].RetryHistogram[ 3 ], 94964064216a8433360745f69edddce19a606659163The Android Open Source Project statistics.txCounters[TxQid].RetryHistogram[ 4 ], 95064064216a8433360745f69edddce19a606659163The Android Open Source Project statistics.txCounters[TxQid].RetryHistogram[ 5 ], 95164064216a8433360745f69edddce19a606659163The Android Open Source Project statistics.txCounters[TxQid].RetryHistogram[ 6 ], 95264064216a8433360745f69edddce19a606659163The Android Open Source Project statistics.txCounters[TxQid].RetryHistogram[ 7 ]); 95364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" Retries: %8d %8d %8d %8d %8d %8d %8d %8d\n", 8, 9, 10, 11, 12, 13, 14, 15); 95464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" packets: %8d %8d %8d %8d %8d %8d %8d %8d\n\n", 95564064216a8433360745f69edddce19a606659163The Android Open Source Project statistics.txCounters[TxQid].RetryHistogram[ 8 ], 95664064216a8433360745f69edddce19a606659163The Android Open Source Project statistics.txCounters[TxQid].RetryHistogram[ 9 ], 95764064216a8433360745f69edddce19a606659163The Android Open Source Project statistics.txCounters[TxQid].RetryHistogram[ 10 ], 95864064216a8433360745f69edddce19a606659163The Android Open Source Project statistics.txCounters[TxQid].RetryHistogram[ 11 ], 95964064216a8433360745f69edddce19a606659163The Android Open Source Project statistics.txCounters[TxQid].RetryHistogram[ 12 ], 96064064216a8433360745f69edddce19a606659163The Android Open Source Project statistics.txCounters[TxQid].RetryHistogram[ 13 ], 96164064216a8433360745f69edddce19a606659163The Android Open Source Project statistics.txCounters[TxQid].RetryHistogram[ 14 ], 96264064216a8433360745f69edddce19a606659163The Android Open Source Project statistics.txCounters[TxQid].RetryHistogram[ 15 ]); 96364064216a8433360745f69edddce19a606659163The Android Open Source Project 96464064216a8433360745f69edddce19a606659163The Android Open Source Project if (statistics.txCounters[TxQid].NumPackets) 96564064216a8433360745f69edddce19a606659163The Android Open Source Project { 96664064216a8433360745f69edddce19a606659163The Android Open Source Project AverageDelay = statistics.txCounters[TxQid].SumTotalDelayMs / statistics.txCounters[TxQid].NumPackets; 96764064216a8433360745f69edddce19a606659163The Android Open Source Project AverageFWDelay = statistics.txCounters[TxQid].SumFWDelayUs / statistics.txCounters[TxQid].NumPackets; 96864064216a8433360745f69edddce19a606659163The Android Open Source Project AverageMacDelay = statistics.txCounters[TxQid].SumMacDelayUs / statistics.txCounters[TxQid].NumPackets; 96964064216a8433360745f69edddce19a606659163The Android Open Source Project } 97064064216a8433360745f69edddce19a606659163The Android Open Source Project else 97164064216a8433360745f69edddce19a606659163The Android Open Source Project { 97264064216a8433360745f69edddce19a606659163The Android Open Source Project AverageDelay = 0; 97364064216a8433360745f69edddce19a606659163The Android Open Source Project AverageFWDelay = 0; 97464064216a8433360745f69edddce19a606659163The Android Open Source Project AverageMacDelay = 0; 97564064216a8433360745f69edddce19a606659163The Android Open Source Project } 97664064216a8433360745f69edddce19a606659163The Android Open Source Project 97764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" Total Delay ms (average/sum) : %d / %d\n", AverageDelay, statistics.txCounters[TxQid].SumTotalDelayMs); 97864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" FW Delay us (average/sum) : %d / %d\n", AverageFWDelay, statistics.txCounters[TxQid].SumFWDelayUs); 97964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" MAC Delay us (average/sum) : %d / %d\n\n", AverageMacDelay, statistics.txCounters[TxQid].SumMacDelayUs); 98064064216a8433360745f69edddce19a606659163The Android Open Source Project 98164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" Delay Ranges [msec] : Num of packets\n"); 98264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" ------------------- : --------------\n"); 98364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" 0 - 1 : %d\n", statistics.txCounters[TxQid].txDelayHistogram[TX_DELAY_RANGE_0_TO_1] ); 98464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" 1 - 10 : %d\n", statistics.txCounters[TxQid].txDelayHistogram[TX_DELAY_RANGE_1_TO_10] ); 98564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" 10 - 20 : %d\n", statistics.txCounters[TxQid].txDelayHistogram[TX_DELAY_RANGE_10_TO_20] ); 98664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" 20 - 40 : %d\n", statistics.txCounters[TxQid].txDelayHistogram[TX_DELAY_RANGE_20_TO_40] ); 98764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" 40 - 60 : %d\n", statistics.txCounters[TxQid].txDelayHistogram[TX_DELAY_RANGE_40_TO_60] ); 98864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" 60 - 80 : %d\n", statistics.txCounters[TxQid].txDelayHistogram[TX_DELAY_RANGE_60_TO_80] ); 98964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" 80 - 100 : %d\n", statistics.txCounters[TxQid].txDelayHistogram[TX_DELAY_RANGE_80_TO_100] ); 99064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" 100 - 200 : %d\n", statistics.txCounters[TxQid].txDelayHistogram[TX_DELAY_RANGE_100_TO_200] ); 99164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" Above 200 : %d\n", statistics.txCounters[TxQid].txDelayHistogram[TX_DELAY_RANGE_ABOVE_200] ); 99264064216a8433360745f69edddce19a606659163The Android Open Source Project } 99364064216a8433360745f69edddce19a606659163The Android Open Source Project} 99464064216a8433360745f69edddce19a606659163The Android Open Source Project 99564064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_show_about(ConParm_t parm[], U16 nParms) 99664064216a8433360745f69edddce19a606659163The Android Open Source Project{ 99764064216a8433360745f69edddce19a606659163The Android Open Source Project TIWLN_VERSION_EX data; 99864064216a8433360745f69edddce19a606659163The Android Open Source Project 99964064216a8433360745f69edddce19a606659163The Android Open Source Project UNUSED(parm); 100064064216a8433360745f69edddce19a606659163The Android Open Source Project UNUSED(nParms); 100164064216a8433360745f69edddce19a606659163The Android Open Source Project 100264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Utility version: %s (%u.%u.%u)\n", SW_VERSION_STR, SW_RELEASE_DAY, 100364064216a8433360745f69edddce19a606659163The Android Open Source Project SW_RELEASE_MONTH, SW_RELEASE_YEAR ); 100464064216a8433360745f69edddce19a606659163The Android Open Source Project if( TI_GetDriverVersion(g_id_adapter, &data ) ) 100564064216a8433360745f69edddce19a606659163The Android Open Source Project return ; 100664064216a8433360745f69edddce19a606659163The Android Open Source Project 100764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Driver version: %u.%u.%u.%u.%u\n", data.DrvVersion.major, data.DrvVersion.minor, 100864064216a8433360745f69edddce19a606659163The Android Open Source Project data.DrvVersion.bugfix, data.DrvVersion.subld, data.DrvVersion.build ); 100964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Firmware version: %u.%u.%u.%u.%u\n", data.FWVersion.major, data.FWVersion.minor, 101064064216a8433360745f69edddce19a606659163The Android Open Source Project data.FWVersion.bugfix, data.FWVersion.subld, data.FWVersion.build ); 101164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Eeprom Version: %u.%u.%u.%u.%u\n", data.HWVersion.major, data.HWVersion.minor, 101264064216a8433360745f69edddce19a606659163The Android Open Source Project data.HWVersion.bugfix, data.HWVersion.subld, data.HWVersion.build ); 101364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Eeprom Version2: %u.%u.%u.%u.%u\n", data.NVVersion.major, data.NVVersion.minor, 101464064216a8433360745f69edddce19a606659163The Android Open Source Project data.NVVersion.bugfix, data.NVVersion.subld, data.HWVersion.build ); 101564064216a8433360745f69edddce19a606659163The Android Open Source Project} 101664064216a8433360745f69edddce19a606659163The Android Open Source Project 101764064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_modify_ssid(ConParm_t parm[], U16 nParms) 101864064216a8433360745f69edddce19a606659163The Android Open Source Project{ 101964064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_SSID ssid = { 0 }; 102064064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_MAC_ADDRESS bssid = { 0xff,0xff,0xff,0xff,0xff,0xff }; 102164064216a8433360745f69edddce19a606659163The Android Open Source Project char *ssid_str; 102264064216a8433360745f69edddce19a606659163The Android Open Source Project 102364064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms == 0 ) 102464064216a8433360745f69edddce19a606659163The Android Open Source Project { 102564064216a8433360745f69edddce19a606659163The Android Open Source Project if(!TI_GetCurrentSSID(g_id_adapter, &ssid)) 102664064216a8433360745f69edddce19a606659163The Android Open Source Project ssid_str = get_ssid_string(&ssid); 102764064216a8433360745f69edddce19a606659163The Android Open Source Project else 102864064216a8433360745f69edddce19a606659163The Android Open Source Project ssid_str = "<error>"; 102964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("SSID: %s\n", ssid_str ); 103064064216a8433360745f69edddce19a606659163The Android Open Source Project } 103164064216a8433360745f69edddce19a606659163The Android Open Source Project else{ 103264064216a8433360745f69edddce19a606659163The Android Open Source Project /* Setting the new SSID, BRCS BSSID is set to clean pre-set BSSID */ 103364064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetBSSID(g_id_adapter, &bssid ); 103464064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetSSID(g_id_adapter, (tiUINT8 *) parm[0].value); 103564064216a8433360745f69edddce19a606659163The Android Open Source Project} 103664064216a8433360745f69edddce19a606659163The Android Open Source Project} 103764064216a8433360745f69edddce19a606659163The Android Open Source Project 103864064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_modify_channel(ConParm_t parm[], U16 nParms) 103964064216a8433360745f69edddce19a606659163The Android Open Source Project{ 104064064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms == 0 ) 104164064216a8433360745f69edddce19a606659163The Android Open Source Project { 104264064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 data1 = 0, data = 0; 104364064216a8433360745f69edddce19a606659163The Android Open Source Project if( !TI_GetDesiredChannel( g_id_adapter, &data1) ) 104464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Channel=%d (desired: %d)\n", !TI_GetCurrentChannel(g_id_adapter, &data) ? data : -1, data1 ); 104564064216a8433360745f69edddce19a606659163The Android Open Source Project } 104664064216a8433360745f69edddce19a606659163The Android Open Source Project else 104764064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetDesiredChannel( g_id_adapter, parm[0].value ); 104864064216a8433360745f69edddce19a606659163The Android Open Source Project} 104964064216a8433360745f69edddce19a606659163The Android Open Source Project 105064064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_set_power_mode(ConParm_t parm[], U16 nParms) 105164064216a8433360745f69edddce19a606659163The Android Open Source Project{ 105264064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_POWER_PROFILE mode = 0x12345678; 105364064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms ) 105464064216a8433360745f69edddce19a606659163The Android Open Source Project TI_ConfigPowerManagement (g_id_adapter, parm[0].value ); 105564064216a8433360745f69edddce19a606659163The Android Open Source Project else 105664064216a8433360745f69edddce19a606659163The Android Open Source Project { 105764064216a8433360745f69edddce19a606659163The Android Open Source Project if( !TI_GetPowerMode(g_id_adapter, &mode ) ) 105864064216a8433360745f69edddce19a606659163The Android Open Source Project { 105964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Power mode: %d\n", mode ); 106064064216a8433360745f69edddce19a606659163The Android Open Source Project print_available_values(power_mode_val); 106164064216a8433360745f69edddce19a606659163The Android Open Source Project } 106264064216a8433360745f69edddce19a606659163The Android Open Source Project } 106364064216a8433360745f69edddce19a606659163The Android Open Source Project} 106464064216a8433360745f69edddce19a606659163The Android Open Source Project 106564064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_set_PowerSave_PowerLevel(ConParm_t parm[], U16 nParms) 106664064216a8433360745f69edddce19a606659163The Android Open Source Project{ 106764064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_POWER_LEVELS mode; 106864064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms ) 106964064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetPowerLevelPS (g_id_adapter, parm[0].value ); 107064064216a8433360745f69edddce19a606659163The Android Open Source Project else 107164064216a8433360745f69edddce19a606659163The Android Open Source Project { 107264064216a8433360745f69edddce19a606659163The Android Open Source Project if( !TI_GetPowerLevelPS(g_id_adapter, &mode ) ) 107364064216a8433360745f69edddce19a606659163The Android Open Source Project { 107464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Power Level PowerSave: %d\n", mode ); 107564064216a8433360745f69edddce19a606659163The Android Open Source Project print_available_values(power_level_val); 107664064216a8433360745f69edddce19a606659163The Android Open Source Project } 107764064216a8433360745f69edddce19a606659163The Android Open Source Project } 107864064216a8433360745f69edddce19a606659163The Android Open Source Project} 107964064216a8433360745f69edddce19a606659163The Android Open Source Project 108064064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_set_Default_PowerLevel(ConParm_t parm[], U16 nParms) 108164064216a8433360745f69edddce19a606659163The Android Open Source Project{ 108264064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_POWER_LEVELS mode; 108364064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms ) 108464064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetPowerLevelDefault (g_id_adapter, parm[0].value ); 108564064216a8433360745f69edddce19a606659163The Android Open Source Project else 108664064216a8433360745f69edddce19a606659163The Android Open Source Project { 108764064216a8433360745f69edddce19a606659163The Android Open Source Project if( !TI_GetPowerLevelDefault(g_id_adapter, &mode ) ) 108864064216a8433360745f69edddce19a606659163The Android Open Source Project { 108964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Default Power Level: %d\n", mode ); 109064064216a8433360745f69edddce19a606659163The Android Open Source Project print_available_values(power_level_val); 109164064216a8433360745f69edddce19a606659163The Android Open Source Project } 109264064216a8433360745f69edddce19a606659163The Android Open Source Project } 109364064216a8433360745f69edddce19a606659163The Android Open Source Project} 109464064216a8433360745f69edddce19a606659163The Android Open Source Project 109564064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_set_DozeModeInAutoPowerLevel(ConParm_t parm[], U16 nParms) 109664064216a8433360745f69edddce19a606659163The Android Open Source Project{ 109764064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_POWER_PROFILE mode; 109864064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms ) 109964064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetPowerLevelDozeMode (g_id_adapter, parm[0].value ); 110064064216a8433360745f69edddce19a606659163The Android Open Source Project else 110164064216a8433360745f69edddce19a606659163The Android Open Source Project { 110264064216a8433360745f69edddce19a606659163The Android Open Source Project /* set Short or Long Doze. no use of other parameters */ 110364064216a8433360745f69edddce19a606659163The Android Open Source Project if( !TI_GetPowerLevelDozeMode(g_id_adapter,&mode ) ) 110464064216a8433360745f69edddce19a606659163The Android Open Source Project { 110564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Doze Mode in Auto Power Level: SHORT_DOZE - %d LONG_DOZE - %d\n", 110664064216a8433360745f69edddce19a606659163The Android Open Source Project OS_POWER_MODE_SHORT_DOZE,OS_POWER_MODE_LONG_DOZE); 110764064216a8433360745f69edddce19a606659163The Android Open Source Project } 110864064216a8433360745f69edddce19a606659163The Android Open Source Project } 110964064216a8433360745f69edddce19a606659163The Android Open Source Project} 111064064216a8433360745f69edddce19a606659163The Android Open Source Project 111164064216a8433360745f69edddce19a606659163The Android Open Source Project 111264064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Beacon_Filter_Set_Desired_State(ConParm_t parm[], U16 nParms) 111364064216a8433360745f69edddce19a606659163The Android Open Source Project{ 111464064216a8433360745f69edddce19a606659163The Android Open Source Project /*there are two modes : feature ACTIVE & PASSIV ( or NOT ACTIVE )*/ 111564064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms ) 111664064216a8433360745f69edddce19a606659163The Android Open Source Project { 111764064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetBeaconFilterDesiredState(g_id_adapter, parm[0].value ); 111864064216a8433360745f69edddce19a606659163The Android Open Source Project } 111964064216a8433360745f69edddce19a606659163The Android Open Source Project else 112064064216a8433360745f69edddce19a606659163The Android Open Source Project { 112164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Use : 0 = INACTIVE , 1 = ACTIVE\n" ) ; 112264064216a8433360745f69edddce19a606659163The Android Open Source Project 112364064216a8433360745f69edddce19a606659163The Android Open Source Project } 112464064216a8433360745f69edddce19a606659163The Android Open Source Project} 112564064216a8433360745f69edddce19a606659163The Android Open Source Project 112664064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Beacon_Filter_Get_Desired_State(ConParm_t parm[], U16 nParms) 112764064216a8433360745f69edddce19a606659163The Android Open Source Project{ 112864064216a8433360745f69edddce19a606659163The Android Open Source Project UINT8 desState = FALSE ; 112964064216a8433360745f69edddce19a606659163The Android Open Source Project 113064064216a8433360745f69edddce19a606659163The Android Open Source Project TI_GetBeaconFilterDesiredState(g_id_adapter, &desState ) ; 113164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Desired State is %s\n", (desState == FALSE)?"FILTER INACTIVE":"FILTER ACTIVE" ); 113264064216a8433360745f69edddce19a606659163The Android Open Source Project 113364064216a8433360745f69edddce19a606659163The Android Open Source Project 113464064216a8433360745f69edddce19a606659163The Android Open Source Project} 113564064216a8433360745f69edddce19a606659163The Android Open Source Project 113664064216a8433360745f69edddce19a606659163The Android Open Source Project 113764064216a8433360745f69edddce19a606659163The Android Open Source Project 113864064216a8433360745f69edddce19a606659163The Android Open Source Project/* scan commands (new from eSTAdk 5.0) */ 113964064216a8433360745f69edddce19a606659163The Android Open Source Project 114064064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid init_scan_params(void) 114164064216a8433360745f69edddce19a606659163The Android Open Source Project{ 114264064216a8433360745f69edddce19a606659163The Android Open Source Project int i,j; 114364064216a8433360745f69edddce19a606659163The Android Open Source Project 114464064216a8433360745f69edddce19a606659163The Android Open Source Project /* init application scan default params */ 114564064216a8433360745f69edddce19a606659163The Android Open Source Project appScanParams.desiredSsid.len = 0; 114664064216a8433360745f69edddce19a606659163The Android Open Source Project appScanParams.scanType = SCAN_TYPE_NORMAL_ACTIVE; 114764064216a8433360745f69edddce19a606659163The Android Open Source Project appScanParams.band = RADIO_BAND_2_4_GHZ; 114864064216a8433360745f69edddce19a606659163The Android Open Source Project appScanParams.probeReqNumber = 3; 114964064216a8433360745f69edddce19a606659163The Android Open Source Project appScanParams.probeRequestRate = DRV_RATE_MASK_2_BARKER; 115064064216a8433360745f69edddce19a606659163The Android Open Source Project appScanParams.numOfChannels = 11; 115164064216a8433360745f69edddce19a606659163The Android Open Source Project for ( i = 0; i < 11; i++ ) 115264064216a8433360745f69edddce19a606659163The Android Open Source Project { 115364064216a8433360745f69edddce19a606659163The Android Open Source Project for ( j = 0; j < 6; j++ ) 115464064216a8433360745f69edddce19a606659163The Android Open Source Project { 115564064216a8433360745f69edddce19a606659163The Android Open Source Project appScanParams.channelEntry[ i ].normalChannelEntry.bssId.addr[ j ] = 0xff; 115664064216a8433360745f69edddce19a606659163The Android Open Source Project } 115764064216a8433360745f69edddce19a606659163The Android Open Source Project appScanParams.channelEntry[ i ].normalChannelEntry.earlyTerminationEvent = SCAN_ET_COND_DISABLE; 115864064216a8433360745f69edddce19a606659163The Android Open Source Project appScanParams.channelEntry[ i ].normalChannelEntry.ETMaxNumOfAPframes = 0; 115964064216a8433360745f69edddce19a606659163The Android Open Source Project appScanParams.channelEntry[ i ].normalChannelEntry.maxChannelDwellTime = 60000; 116064064216a8433360745f69edddce19a606659163The Android Open Source Project appScanParams.channelEntry[ i ].normalChannelEntry.minChannelDwellTime = 30000; 116164064216a8433360745f69edddce19a606659163The Android Open Source Project appScanParams.channelEntry[ i ].normalChannelEntry.txPowerDbm = MAX_TX_POWER; 116264064216a8433360745f69edddce19a606659163The Android Open Source Project appScanParams.channelEntry[ i ].normalChannelEntry.channel = i + 1; 116364064216a8433360745f69edddce19a606659163The Android Open Source Project } 116464064216a8433360745f69edddce19a606659163The Android Open Source Project 116564064216a8433360745f69edddce19a606659163The Android Open Source Project /* init default scan policy */ 116664064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.normalScanInterval = 10000; 116764064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.deterioratingScanInterval = 5000; 116864064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.maxTrackFailures = 3; 116964064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.BSSListSize = 4; 117064064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.BSSNumberToStartDiscovery = 1; 117164064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.numOfBands = 1; 117264064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.bandScanPolicy[ 0 ].band = RADIO_BAND_2_4_GHZ; 117364064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.bandScanPolicy[ 0 ].rxRSSIThreshold = -80; 117464064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.bandScanPolicy[ 0 ].numOfChannles = 11; 117564064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.bandScanPolicy[ 0 ].numOfChannlesForDiscovery = 3; 117664064216a8433360745f69edddce19a606659163The Android Open Source Project for ( i = 0; i < 11; i++ ) 117764064216a8433360745f69edddce19a606659163The Android Open Source Project { 117864064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.bandScanPolicy[ 0 ].channelList[ i ] = i + 1; 117964064216a8433360745f69edddce19a606659163The Android Open Source Project } 118064064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.bandScanPolicy[ 0 ].trackingMethod.scanType = SCAN_TYPE_NORMAL_ACTIVE; 118164064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.bandScanPolicy[ 0 ].trackingMethod.method.basicMethodParams.earlyTerminationEvent = SCAN_ET_COND_DISABLE; 118264064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.bandScanPolicy[ 0 ].trackingMethod.method.basicMethodParams.ETMaxNumberOfApFrames = 0; 118364064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.bandScanPolicy[ 0 ].trackingMethod.method.basicMethodParams.maxChannelDwellTime = 30000; 118464064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.bandScanPolicy[ 0 ].trackingMethod.method.basicMethodParams.minChannelDwellTime = 15000; 118564064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.bandScanPolicy[ 0 ].trackingMethod.method.basicMethodParams.probReqParams.bitrate = DRV_RATE_MASK_1_BARKER; 118664064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.bandScanPolicy[ 0 ].trackingMethod.method.basicMethodParams.probReqParams.numOfProbeReqs = 3; 118764064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.bandScanPolicy[ 0 ].trackingMethod.method.basicMethodParams.probReqParams.txPowerDbm = MAX_TX_POWER; 118864064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.bandScanPolicy[ 0 ].discoveryMethod.scanType = SCAN_TYPE_NORMAL_ACTIVE; 118964064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.bandScanPolicy[ 0 ].discoveryMethod.method.basicMethodParams.earlyTerminationEvent = SCAN_ET_COND_DISABLE; 119064064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.bandScanPolicy[ 0 ].discoveryMethod.method.basicMethodParams.ETMaxNumberOfApFrames = 0; 119164064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.bandScanPolicy[ 0 ].discoveryMethod.method.basicMethodParams.maxChannelDwellTime = 30000; 119264064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.bandScanPolicy[ 0 ].discoveryMethod.method.basicMethodParams.minChannelDwellTime = 15000; 119364064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.bandScanPolicy[ 0 ].discoveryMethod.method.basicMethodParams.probReqParams.bitrate = DRV_RATE_MASK_2_BARKER; 119464064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.bandScanPolicy[ 0 ].discoveryMethod.method.basicMethodParams.probReqParams.numOfProbeReqs = 3; 119564064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.bandScanPolicy[ 0 ].discoveryMethod.method.basicMethodParams.probReqParams.txPowerDbm = MAX_TX_POWER; 119664064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.bandScanPolicy[ 0 ].immediateScanMethod.scanType = SCAN_TYPE_NORMAL_ACTIVE; 119764064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.bandScanPolicy[ 0 ].immediateScanMethod.method.basicMethodParams.earlyTerminationEvent = SCAN_ET_COND_DISABLE; 119864064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.bandScanPolicy[ 0 ].immediateScanMethod.method.basicMethodParams.ETMaxNumberOfApFrames = 0; 119964064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.bandScanPolicy[ 0 ].immediateScanMethod.method.basicMethodParams.maxChannelDwellTime = 30000; 120064064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.bandScanPolicy[ 0 ].immediateScanMethod.method.basicMethodParams.minChannelDwellTime = 15000; 120164064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.bandScanPolicy[ 0 ].immediateScanMethod.method.basicMethodParams.probReqParams.bitrate = DRV_RATE_MASK_5_5_CCK; 120264064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.bandScanPolicy[ 0 ].immediateScanMethod.method.basicMethodParams.probReqParams.numOfProbeReqs = 3; 120364064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.bandScanPolicy[ 0 ].immediateScanMethod.method.basicMethodParams.probReqParams.txPowerDbm = MAX_TX_POWER; 120464064216a8433360745f69edddce19a606659163The Android Open Source Project} 120564064216a8433360745f69edddce19a606659163The Android Open Source Project 120664064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Scan_Start(ConParm_t parm[], U16 nParms) 120764064216a8433360745f69edddce19a606659163The Android Open Source Project{ 120864064216a8433360745f69edddce19a606659163The Android Open Source Project TI_StartScan( g_id_adapter, &appScanParams ); 120964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Application scan started.\n"); 121064064216a8433360745f69edddce19a606659163The Android Open Source Project} 121164064216a8433360745f69edddce19a606659163The Android Open Source Project 121264064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Scan_Stop(ConParm_t parm[], U16 nParms) 121364064216a8433360745f69edddce19a606659163The Android Open Source Project{ 121464064216a8433360745f69edddce19a606659163The Android Open Source Project TI_StopScan( g_id_adapter ); 121564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Application scan stopped.\n"); 121664064216a8433360745f69edddce19a606659163The Android Open Source Project} 121764064216a8433360745f69edddce19a606659163The Android Open Source Project 121864064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Scan_app_global_config(ConParm_t parm[], U16 nParms) 121964064216a8433360745f69edddce19a606659163The Android Open Source Project{ 122064064216a8433360745f69edddce19a606659163The Android Open Source Project if ( 0 == strcmp( "<empty>", (char*)parm[0].value) ) 122164064216a8433360745f69edddce19a606659163The Android Open Source Project { 122264064216a8433360745f69edddce19a606659163The Android Open Source Project appScanParams.desiredSsid.len = 0; 122364064216a8433360745f69edddce19a606659163The Android Open Source Project appScanParams.desiredSsid.ssidString[ 0 ] = '\0'; 122464064216a8433360745f69edddce19a606659163The Android Open Source Project } 122564064216a8433360745f69edddce19a606659163The Android Open Source Project else 122664064216a8433360745f69edddce19a606659163The Android Open Source Project { 122764064216a8433360745f69edddce19a606659163The Android Open Source Project appScanParams.desiredSsid.len = strlen((char*)parm[0].value); 122864064216a8433360745f69edddce19a606659163The Android Open Source Project memcpy( &(appScanParams.desiredSsid.ssidString), (char*)parm[0].value, appScanParams.desiredSsid.len ); 122964064216a8433360745f69edddce19a606659163The Android Open Source Project } 123064064216a8433360745f69edddce19a606659163The Android Open Source Project appScanParams.scanType = parm[1].value; 123164064216a8433360745f69edddce19a606659163The Android Open Source Project appScanParams.band = parm[2].value; 123264064216a8433360745f69edddce19a606659163The Android Open Source Project appScanParams.probeReqNumber = (UINT8)parm[3].value; 123364064216a8433360745f69edddce19a606659163The Android Open Source Project appScanParams.probeRequestRate = parm[4].value; 123464064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef TI_DBG 123564064216a8433360745f69edddce19a606659163The Android Open Source Project appScanParams.Tid = (UINT8)parm[5].value; 123664064216a8433360745f69edddce19a606659163The Android Open Source Project appScanParams.numOfChannels = (UINT8)parm[6].value; 123764064216a8433360745f69edddce19a606659163The Android Open Source Project#else 123864064216a8433360745f69edddce19a606659163The Android Open Source Project appScanParams.Tid = 0; 123964064216a8433360745f69edddce19a606659163The Android Open Source Project appScanParams.numOfChannels = (UINT8)parm[5].value; 124064064216a8433360745f69edddce19a606659163The Android Open Source Project#endif 124164064216a8433360745f69edddce19a606659163The Android Open Source Project} 124264064216a8433360745f69edddce19a606659163The Android Open Source Project 124364064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Scan_app_channel_config(ConParm_t parm[], U16 nParms) 124464064216a8433360745f69edddce19a606659163The Android Open Source Project{ 124564064216a8433360745f69edddce19a606659163The Android Open Source Project scan_normalChannelEntry_t* pChannelEntry = 124664064216a8433360745f69edddce19a606659163The Android Open Source Project &(appScanParams.channelEntry[ parm[0].value ].normalChannelEntry); 124764064216a8433360745f69edddce19a606659163The Android Open Source Project 124864064216a8433360745f69edddce19a606659163The Android Open Source Project if (parm[2].value < parm[3].value) 124964064216a8433360745f69edddce19a606659163The Android Open Source Project { 125064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Max Dwell Time must be larger than or equal to Min Dwell Time...\n"); 125164064216a8433360745f69edddce19a606659163The Android Open Source Project return; 125264064216a8433360745f69edddce19a606659163The Android Open Source Project } 125364064216a8433360745f69edddce19a606659163The Android Open Source Project 125464064216a8433360745f69edddce19a606659163The Android Open Source Project hexStr2MACAddr( (char*)parm[1].value, &(pChannelEntry->bssId) ); 125564064216a8433360745f69edddce19a606659163The Android Open Source Project pChannelEntry->maxChannelDwellTime = parm[2].value; 125664064216a8433360745f69edddce19a606659163The Android Open Source Project pChannelEntry->minChannelDwellTime = parm[3].value; 125764064216a8433360745f69edddce19a606659163The Android Open Source Project pChannelEntry->earlyTerminationEvent = parm[4].value; 125864064216a8433360745f69edddce19a606659163The Android Open Source Project pChannelEntry->ETMaxNumOfAPframes = (UINT8)parm[5].value; 125964064216a8433360745f69edddce19a606659163The Android Open Source Project pChannelEntry->txPowerDbm = (UINT8)parm[6].value; 126064064216a8433360745f69edddce19a606659163The Android Open Source Project pChannelEntry->channel = (UINT8)parm[7].value; 126164064216a8433360745f69edddce19a606659163The Android Open Source Project} 126264064216a8433360745f69edddce19a606659163The Android Open Source Project 126364064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Scan_app_clear(ConParm_t parm[], U16 nParms) 126464064216a8433360745f69edddce19a606659163The Android Open Source Project{ 126564064216a8433360745f69edddce19a606659163The Android Open Source Project memset( &appScanParams, 0, sizeof(scan_Params_t) ); 126664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Application scan parameters cleared.\n"); 126764064216a8433360745f69edddce19a606659163The Android Open Source Project} 126864064216a8433360745f69edddce19a606659163The Android Open Source Project 126964064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Scan_app_display(ConParm_t parm[], U16 nParms) 127064064216a8433360745f69edddce19a606659163The Android Open Source Project{ 127164064216a8433360745f69edddce19a606659163The Android Open Source Project int i; 127264064216a8433360745f69edddce19a606659163The Android Open Source Project scan_normalChannelEntry_t* pNormalChannel; 127364064216a8433360745f69edddce19a606659163The Android Open Source Project char bssId[18]; 127464064216a8433360745f69edddce19a606659163The Android Open Source Project 127564064216a8433360745f69edddce19a606659163The Android Open Source Project bssId[17] = '\0'; 127664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Application Scan params:\n"); 127764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("SSID: %s, Type: %s\n", appScanParams.desiredSsid.ssidString, scanType2Str[ appScanParams.scanType ].name); 127864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Band: %s, Number of probe req:%d, probe req. rate:%s\n", 127964064216a8433360745f69edddce19a606659163The Android Open Source Project band2Str[ appScanParams.band ].name, appScanParams.probeReqNumber, rate2StrFunc( appScanParams.probeRequestRate ) ); 128064064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef TI_DBG 128164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Tid :%d\n\n", appScanParams.Tid); 128264064216a8433360745f69edddce19a606659163The Android Open Source Project#else 128364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("\n"); 128464064216a8433360745f69edddce19a606659163The Android Open Source Project#endif 128564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Channel BSS ID Max time Min time ET event ET frame num Power\n"); 128664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("-------------------------------------------------------------------------------\n"); 128764064216a8433360745f69edddce19a606659163The Android Open Source Project for ( i = 0; i < appScanParams.numOfChannels; i++ ) 128864064216a8433360745f69edddce19a606659163The Android Open Source Project { 128964064216a8433360745f69edddce19a606659163The Android Open Source Project pNormalChannel = &(appScanParams.channelEntry[ i ].normalChannelEntry); 129064064216a8433360745f69edddce19a606659163The Android Open Source Project mac2HexStr( &(pNormalChannel->bssId), bssId ); 129164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("%2d %s %7d %7d %s%3d %1d\n", 129264064216a8433360745f69edddce19a606659163The Android Open Source Project pNormalChannel->channel, bssId, pNormalChannel->maxChannelDwellTime, 129364064216a8433360745f69edddce19a606659163The Android Open Source Project pNormalChannel->minChannelDwellTime, EtEvent2StrFunc( pNormalChannel->earlyTerminationEvent ), 129464064216a8433360745f69edddce19a606659163The Android Open Source Project pNormalChannel->ETMaxNumOfAPframes, pNormalChannel->txPowerDbm); 129564064216a8433360745f69edddce19a606659163The Android Open Source Project } 129664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("\n"); 129764064216a8433360745f69edddce19a606659163The Android Open Source Project} 129864064216a8433360745f69edddce19a606659163The Android Open Source Project 129964064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Scan_policy_global_config(ConParm_t parm[], U16 nParms) 130064064216a8433360745f69edddce19a606659163The Android Open Source Project{ 130164064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.normalScanInterval = parm[ 0 ].value; 130264064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.deterioratingScanInterval = parm[ 1 ].value; 130364064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.maxTrackFailures = (UINT8)(parm[ 2 ].value); 130464064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.BSSListSize = (UINT8)(parm[ 3 ].value); 130564064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.BSSNumberToStartDiscovery = (UINT8)(parm[ 4 ].value); 130664064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.numOfBands = (UINT8)(parm[ 5 ].value); 130764064216a8433360745f69edddce19a606659163The Android Open Source Project} 130864064216a8433360745f69edddce19a606659163The Android Open Source Project 130964064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Scan_band_global_config(ConParm_t parm[], U16 nParms) 131064064216a8433360745f69edddce19a606659163The Android Open Source Project{ 131164064216a8433360745f69edddce19a606659163The Android Open Source Project scan_bandPolicy_t* bandPolicy = &(scanPolicy.bandScanPolicy[ parm [ 0 ].value ]); 131264064216a8433360745f69edddce19a606659163The Android Open Source Project 131364064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->band = parm[ 1 ].value; 131464064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->rxRSSIThreshold = (S8)(parm[ 2 ].value); 131564064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->numOfChannlesForDiscovery = (UINT8)(parm[ 3 ].value); 131664064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->numOfChannles = (UINT8)(parm[ 4 ].value); 131764064216a8433360745f69edddce19a606659163The Android Open Source Project} 131864064216a8433360745f69edddce19a606659163The Android Open Source Project 131964064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Scan_band_channel_config(ConParm_t parm[], U16 nParms) 132064064216a8433360745f69edddce19a606659163The Android Open Source Project{ 132164064216a8433360745f69edddce19a606659163The Android Open Source Project scan_bandPolicy_t* bandPolicy = &(scanPolicy.bandScanPolicy[ parm [ 0 ].value ]); 132264064216a8433360745f69edddce19a606659163The Android Open Source Project 132364064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->channelList[ parm[ 1 ].value ] = (UINT8)(parm[ 2 ].value); 132464064216a8433360745f69edddce19a606659163The Android Open Source Project} 132564064216a8433360745f69edddce19a606659163The Android Open Source Project 132664064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Scan_band_track_config(ConParm_t parm[], U16 nParms) 132764064216a8433360745f69edddce19a606659163The Android Open Source Project{ 132864064216a8433360745f69edddce19a606659163The Android Open Source Project scan_bandPolicy_t* bandPolicy = &(scanPolicy.bandScanPolicy[ parm [ 0 ].value ]); 132964064216a8433360745f69edddce19a606659163The Android Open Source Project 133064064216a8433360745f69edddce19a606659163The Android Open Source Project if (parm[6].value < parm[7].value) 133164064216a8433360745f69edddce19a606659163The Android Open Source Project { 133264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Max Dwell Time must be larger than or equal to Min Dwell Time...\n"); 133364064216a8433360745f69edddce19a606659163The Android Open Source Project return; 133464064216a8433360745f69edddce19a606659163The Android Open Source Project } 133564064216a8433360745f69edddce19a606659163The Android Open Source Project 133664064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->trackingMethod.scanType = parm[ 1 ].value; 133764064216a8433360745f69edddce19a606659163The Android Open Source Project 133864064216a8433360745f69edddce19a606659163The Android Open Source Project switch (bandPolicy->trackingMethod.scanType) 133964064216a8433360745f69edddce19a606659163The Android Open Source Project { 134064064216a8433360745f69edddce19a606659163The Android Open Source Project case SCAN_TYPE_NORMAL_ACTIVE: 134164064216a8433360745f69edddce19a606659163The Android Open Source Project case SCAN_TYPE_NORMAL_PASSIVE: 134264064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->trackingMethod.method.basicMethodParams.maxChannelDwellTime = (parm[ 6 ].value); 134364064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->trackingMethod.method.basicMethodParams.minChannelDwellTime = (parm[ 7 ].value); 134464064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->trackingMethod.method.basicMethodParams.earlyTerminationEvent = parm[ 2 ].value; 134564064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->trackingMethod.method.basicMethodParams.ETMaxNumberOfApFrames = (UINT8)(parm[ 3 ].value); 134664064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->trackingMethod.method.basicMethodParams.probReqParams.bitrate = parm[ 9 ].value; 134764064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->trackingMethod.method.basicMethodParams.probReqParams.numOfProbeReqs = (UINT8)(parm[ 8 ].value); 134864064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->trackingMethod.method.basicMethodParams.probReqParams.txPowerDbm = (UINT8)(parm[ 10 ].value); 134964064216a8433360745f69edddce19a606659163The Android Open Source Project break; 135064064216a8433360745f69edddce19a606659163The Android Open Source Project 135164064216a8433360745f69edddce19a606659163The Android Open Source Project case SCAN_TYPE_TRIGGERED_ACTIVE: 135264064216a8433360745f69edddce19a606659163The Android Open Source Project case SCAN_TYPE_TRIGGERED_PASSIVE: 135364064216a8433360745f69edddce19a606659163The Android Open Source Project 135464064216a8433360745f69edddce19a606659163The Android Open Source Project /* Check if valid TID */ 135564064216a8433360745f69edddce19a606659163The Android Open Source Project if (((parm[ 4 ].value) > 7) && ((parm[ 4 ].value) != 255)) 135664064216a8433360745f69edddce19a606659163The Android Open Source Project { 135764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("ERROR Tid (AC) should be 0..7 or 255 instead = %d (using default = 255)\n",(parm[ 4 ].value)); 135864064216a8433360745f69edddce19a606659163The Android Open Source Project parm[ 4 ].value = 255; 135964064216a8433360745f69edddce19a606659163The Android Open Source Project } 136064064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->trackingMethod.method.TidTriggerdMethodParams.triggeringTid = (UINT8)(parm[ 4 ].value); 136164064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->trackingMethod.method.TidTriggerdMethodParams.basicMethodParams.maxChannelDwellTime = (parm[ 6 ].value); 136264064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->trackingMethod.method.TidTriggerdMethodParams.basicMethodParams.minChannelDwellTime = (parm[ 7 ].value); 136364064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->trackingMethod.method.TidTriggerdMethodParams.basicMethodParams.earlyTerminationEvent = parm[ 2 ].value; 136464064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->trackingMethod.method.TidTriggerdMethodParams.basicMethodParams.ETMaxNumberOfApFrames = (UINT8)(parm[ 3 ].value); 136564064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->trackingMethod.method.TidTriggerdMethodParams.basicMethodParams.probReqParams.bitrate = parm[ 9 ].value; 136664064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->trackingMethod.method.TidTriggerdMethodParams.basicMethodParams.probReqParams.numOfProbeReqs = (UINT8)(parm[ 8 ].value); 136764064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->trackingMethod.method.TidTriggerdMethodParams.basicMethodParams.probReqParams.txPowerDbm = (UINT8)(parm[ 10 ].value); 136864064216a8433360745f69edddce19a606659163The Android Open Source Project break; 136964064216a8433360745f69edddce19a606659163The Android Open Source Project 137064064216a8433360745f69edddce19a606659163The Android Open Source Project case SCAN_TYPE_SPS: 137164064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->trackingMethod.method.spsMethodParams.earlyTerminationEvent = parm[ 2 ].value; 137264064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->trackingMethod.method.spsMethodParams.ETMaxNumberOfApFrames = (UINT8)(parm[ 3 ].value); 137364064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->trackingMethod.method.spsMethodParams.scanDuration = parm[ 5 ].value; 137464064216a8433360745f69edddce19a606659163The Android Open Source Project break; 137564064216a8433360745f69edddce19a606659163The Android Open Source Project 137664064216a8433360745f69edddce19a606659163The Android Open Source Project default: 137764064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->trackingMethod.scanType = SCAN_TYPE_NO_SCAN; 137864064216a8433360745f69edddce19a606659163The Android Open Source Project break; 137964064216a8433360745f69edddce19a606659163The Android Open Source Project } 138064064216a8433360745f69edddce19a606659163The Android Open Source Project} 138164064216a8433360745f69edddce19a606659163The Android Open Source Project 138264064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Scan_band_discover_config(ConParm_t parm[], U16 nParms) 138364064216a8433360745f69edddce19a606659163The Android Open Source Project{ 138464064216a8433360745f69edddce19a606659163The Android Open Source Project scan_bandPolicy_t* bandPolicy = &(scanPolicy.bandScanPolicy[ parm [ 0 ].value ]); 138564064216a8433360745f69edddce19a606659163The Android Open Source Project 138664064216a8433360745f69edddce19a606659163The Android Open Source Project if (parm[6].value < parm[7].value) 138764064216a8433360745f69edddce19a606659163The Android Open Source Project { 138864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Max Dwell Time must be larger than or equal to Min Dwell Time...\n"); 138964064216a8433360745f69edddce19a606659163The Android Open Source Project return; 139064064216a8433360745f69edddce19a606659163The Android Open Source Project } 139164064216a8433360745f69edddce19a606659163The Android Open Source Project 139264064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->discoveryMethod.scanType = parm[ 1 ].value; 139364064216a8433360745f69edddce19a606659163The Android Open Source Project 139464064216a8433360745f69edddce19a606659163The Android Open Source Project switch (bandPolicy->discoveryMethod.scanType) 139564064216a8433360745f69edddce19a606659163The Android Open Source Project { 139664064216a8433360745f69edddce19a606659163The Android Open Source Project case SCAN_TYPE_NORMAL_ACTIVE: 139764064216a8433360745f69edddce19a606659163The Android Open Source Project case SCAN_TYPE_NORMAL_PASSIVE: 139864064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->discoveryMethod.method.basicMethodParams.maxChannelDwellTime = (parm[ 6 ].value); 139964064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->discoveryMethod.method.basicMethodParams.minChannelDwellTime = (parm[ 7 ].value); 140064064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->discoveryMethod.method.basicMethodParams.earlyTerminationEvent = parm[ 2 ].value; 140164064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->discoveryMethod.method.basicMethodParams.ETMaxNumberOfApFrames = (UINT8)(parm[ 3 ].value); 140264064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->discoveryMethod.method.basicMethodParams.probReqParams.bitrate = parm[ 9 ].value; 140364064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->discoveryMethod.method.basicMethodParams.probReqParams.numOfProbeReqs = (UINT8)(parm[ 8 ].value); 140464064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->discoveryMethod.method.basicMethodParams.probReqParams.txPowerDbm = (UINT8)(parm[ 10 ].value); 140564064216a8433360745f69edddce19a606659163The Android Open Source Project break; 140664064216a8433360745f69edddce19a606659163The Android Open Source Project 140764064216a8433360745f69edddce19a606659163The Android Open Source Project case SCAN_TYPE_TRIGGERED_ACTIVE: 140864064216a8433360745f69edddce19a606659163The Android Open Source Project case SCAN_TYPE_TRIGGERED_PASSIVE: 140964064216a8433360745f69edddce19a606659163The Android Open Source Project /* Check if valid TID */ 141064064216a8433360745f69edddce19a606659163The Android Open Source Project if (((parm[ 4 ].value) > 7) && ((parm[ 4 ].value) != 255)) 141164064216a8433360745f69edddce19a606659163The Android Open Source Project { 141264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("ERROR Tid (AC) should be 0..7 or 255 instead = %d (using default = 255)\n",(parm[ 4 ].value)); 141364064216a8433360745f69edddce19a606659163The Android Open Source Project parm[ 4 ].value = 255; 141464064216a8433360745f69edddce19a606659163The Android Open Source Project } 141564064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->discoveryMethod.method.TidTriggerdMethodParams.triggeringTid = (UINT8)(parm[ 4 ].value); 141664064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->discoveryMethod.method.TidTriggerdMethodParams.basicMethodParams.maxChannelDwellTime = (parm[ 6 ].value); 141764064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->discoveryMethod.method.TidTriggerdMethodParams.basicMethodParams.minChannelDwellTime = (parm[ 7 ].value); 141864064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->discoveryMethod.method.TidTriggerdMethodParams.basicMethodParams.earlyTerminationEvent = parm[ 2 ].value; 141964064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->discoveryMethod.method.TidTriggerdMethodParams.basicMethodParams.ETMaxNumberOfApFrames = (UINT8)(parm[ 3 ].value); 142064064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->discoveryMethod.method.TidTriggerdMethodParams.basicMethodParams.probReqParams.bitrate = parm[ 9 ].value; 142164064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->discoveryMethod.method.TidTriggerdMethodParams.basicMethodParams.probReqParams.numOfProbeReqs = (UINT8)(parm[ 8 ].value); 142264064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->discoveryMethod.method.TidTriggerdMethodParams.basicMethodParams.probReqParams.txPowerDbm = (UINT8)(parm[ 10 ].value); 142364064216a8433360745f69edddce19a606659163The Android Open Source Project break; 142464064216a8433360745f69edddce19a606659163The Android Open Source Project 142564064216a8433360745f69edddce19a606659163The Android Open Source Project case SCAN_TYPE_SPS: 142664064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->discoveryMethod.method.spsMethodParams.earlyTerminationEvent = parm[ 2 ].value; 142764064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->discoveryMethod.method.spsMethodParams.ETMaxNumberOfApFrames = (UINT8)(parm[ 3 ].value); 142864064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->discoveryMethod.method.spsMethodParams.scanDuration = parm[ 5 ].value; 142964064216a8433360745f69edddce19a606659163The Android Open Source Project break; 143064064216a8433360745f69edddce19a606659163The Android Open Source Project 143164064216a8433360745f69edddce19a606659163The Android Open Source Project default: 143264064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->discoveryMethod.scanType = SCAN_TYPE_NO_SCAN; 143364064216a8433360745f69edddce19a606659163The Android Open Source Project break; 143464064216a8433360745f69edddce19a606659163The Android Open Source Project } 143564064216a8433360745f69edddce19a606659163The Android Open Source Project} 143664064216a8433360745f69edddce19a606659163The Android Open Source Project 143764064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Scan_band_immed_config(ConParm_t parm[], U16 nParms) 143864064216a8433360745f69edddce19a606659163The Android Open Source Project{ 143964064216a8433360745f69edddce19a606659163The Android Open Source Project scan_bandPolicy_t* bandPolicy = &(scanPolicy.bandScanPolicy[ parm [ 0 ].value ]); 144064064216a8433360745f69edddce19a606659163The Android Open Source Project 144164064216a8433360745f69edddce19a606659163The Android Open Source Project if (parm[6].value < parm[7].value) 144264064216a8433360745f69edddce19a606659163The Android Open Source Project { 144364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Max Dwell Time must be larger than or equal to Min Dwell Time...\n"); 144464064216a8433360745f69edddce19a606659163The Android Open Source Project return; 144564064216a8433360745f69edddce19a606659163The Android Open Source Project } 144664064216a8433360745f69edddce19a606659163The Android Open Source Project 144764064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->immediateScanMethod.scanType = parm[ 1 ].value; 144864064216a8433360745f69edddce19a606659163The Android Open Source Project 144964064216a8433360745f69edddce19a606659163The Android Open Source Project switch (bandPolicy->immediateScanMethod.scanType) 145064064216a8433360745f69edddce19a606659163The Android Open Source Project { 145164064216a8433360745f69edddce19a606659163The Android Open Source Project case SCAN_TYPE_NORMAL_ACTIVE: 145264064216a8433360745f69edddce19a606659163The Android Open Source Project case SCAN_TYPE_NORMAL_PASSIVE: 145364064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->immediateScanMethod.method.basicMethodParams.maxChannelDwellTime = (parm[ 6 ].value); 145464064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->immediateScanMethod.method.basicMethodParams.minChannelDwellTime = (parm[ 7 ].value); 145564064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->immediateScanMethod.method.basicMethodParams.earlyTerminationEvent = parm[ 2 ].value; 145664064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->immediateScanMethod.method.basicMethodParams.ETMaxNumberOfApFrames = (UINT8)(parm[ 3 ].value); 145764064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->immediateScanMethod.method.basicMethodParams.probReqParams.bitrate = parm[ 9 ].value; 145864064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->immediateScanMethod.method.basicMethodParams.probReqParams.numOfProbeReqs = (UINT8)(parm[ 8 ].value); 145964064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->immediateScanMethod.method.basicMethodParams.probReqParams.txPowerDbm = (UINT8)(parm[ 10 ].value); 146064064216a8433360745f69edddce19a606659163The Android Open Source Project break; 146164064216a8433360745f69edddce19a606659163The Android Open Source Project 146264064216a8433360745f69edddce19a606659163The Android Open Source Project case SCAN_TYPE_TRIGGERED_ACTIVE: 146364064216a8433360745f69edddce19a606659163The Android Open Source Project case SCAN_TYPE_TRIGGERED_PASSIVE: 146464064216a8433360745f69edddce19a606659163The Android Open Source Project /* Check if valid TID */ 146564064216a8433360745f69edddce19a606659163The Android Open Source Project if (((parm[ 4 ].value) > 7) && ((parm[ 4 ].value) != 255)) 146664064216a8433360745f69edddce19a606659163The Android Open Source Project { 146764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("ERROR Tid (AC) should be 0..7 or 255 instead = %d (using default = 255)\n",(parm[ 4 ].value)); 146864064216a8433360745f69edddce19a606659163The Android Open Source Project parm[ 4 ].value = 255; 146964064216a8433360745f69edddce19a606659163The Android Open Source Project } 147064064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->immediateScanMethod.method.TidTriggerdMethodParams.triggeringTid = (UINT8)(parm[ 4 ].value); 147164064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->immediateScanMethod.method.TidTriggerdMethodParams.basicMethodParams.maxChannelDwellTime = (parm[ 6 ].value); 147264064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->immediateScanMethod.method.TidTriggerdMethodParams.basicMethodParams.minChannelDwellTime = (parm[ 7 ].value); 147364064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->immediateScanMethod.method.TidTriggerdMethodParams.basicMethodParams.earlyTerminationEvent = parm[ 2 ].value; 147464064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->immediateScanMethod.method.TidTriggerdMethodParams.basicMethodParams.ETMaxNumberOfApFrames = (UINT8)(parm[ 3 ].value); 147564064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->immediateScanMethod.method.TidTriggerdMethodParams.basicMethodParams.probReqParams.bitrate = parm[ 9 ].value; 147664064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->immediateScanMethod.method.TidTriggerdMethodParams.basicMethodParams.probReqParams.numOfProbeReqs = (UINT8)(parm[ 8 ].value); 147764064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->immediateScanMethod.method.TidTriggerdMethodParams.basicMethodParams.probReqParams.txPowerDbm = (UINT8)(parm[ 10 ].value); 147864064216a8433360745f69edddce19a606659163The Android Open Source Project break; 147964064216a8433360745f69edddce19a606659163The Android Open Source Project 148064064216a8433360745f69edddce19a606659163The Android Open Source Project case SCAN_TYPE_SPS: 148164064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->immediateScanMethod.method.spsMethodParams.earlyTerminationEvent = parm[ 2 ].value; 148264064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->immediateScanMethod.method.spsMethodParams.ETMaxNumberOfApFrames = (UINT8)(parm[ 3 ].value); 148364064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->immediateScanMethod.method.spsMethodParams.scanDuration = parm[ 5 ].value; 148464064216a8433360745f69edddce19a606659163The Android Open Source Project break; 148564064216a8433360745f69edddce19a606659163The Android Open Source Project 148664064216a8433360745f69edddce19a606659163The Android Open Source Project default: 148764064216a8433360745f69edddce19a606659163The Android Open Source Project bandPolicy->immediateScanMethod.scanType = SCAN_TYPE_NO_SCAN; 148864064216a8433360745f69edddce19a606659163The Android Open Source Project break; 148964064216a8433360745f69edddce19a606659163The Android Open Source Project } 149064064216a8433360745f69edddce19a606659163The Android Open Source Project} 149164064216a8433360745f69edddce19a606659163The Android Open Source Project 149264064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Scan_policy_display(ConParm_t parm[], U16 nParms) 149364064216a8433360745f69edddce19a606659163The Android Open Source Project{ 149464064216a8433360745f69edddce19a606659163The Android Open Source Project int i; 149564064216a8433360745f69edddce19a606659163The Android Open Source Project 149664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Scan Policy:\n"); 149764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Normal scan interval: %d, deteriorating scan interval: %d\n", 149864064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.normalScanInterval, scanPolicy.deterioratingScanInterval); 149964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Max track attempt failures: %d\n", scanPolicy.maxTrackFailures); 150064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("BSS list size: %d, number of BSSes to start discovery: %d\n", 150164064216a8433360745f69edddce19a606659163The Android Open Source Project scanPolicy.BSSListSize, scanPolicy.BSSNumberToStartDiscovery); 150264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Number of configured bands: %d\n", scanPolicy.numOfBands); 150364064216a8433360745f69edddce19a606659163The Android Open Source Project for ( i = 0; i < scanPolicy.numOfBands; i++ ) 150464064216a8433360745f69edddce19a606659163The Android Open Source Project { 150564064216a8433360745f69edddce19a606659163The Android Open Source Project cmd_Scan_print_band( i ); 150664064216a8433360745f69edddce19a606659163The Android Open Source Project } 150764064216a8433360745f69edddce19a606659163The Android Open Source Project} 150864064216a8433360745f69edddce19a606659163The Android Open Source Project 150964064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Scan_print_band( int i ) 151064064216a8433360745f69edddce19a606659163The Android Open Source Project{ 151164064216a8433360745f69edddce19a606659163The Android Open Source Project scan_bandPolicy_t* bandPolicy = &(scanPolicy.bandScanPolicy[ i ]); 151264064216a8433360745f69edddce19a606659163The Android Open Source Project int j; 151364064216a8433360745f69edddce19a606659163The Android Open Source Project 151464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("\nBand: %s\n", band2Str[ bandPolicy->band ].name); 151564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("RSSI Threshold: %d dBm\n", bandPolicy->rxRSSIThreshold); 151664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Number of channels for each discovery interval: %d\n", bandPolicy->numOfChannlesForDiscovery); 151764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("\nTracking Method:\n"); 151864064216a8433360745f69edddce19a606659163The Android Open Source Project cmd_Scan_print_method( &(bandPolicy->trackingMethod) ); 151964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("\nDiscovery Method:\n"); 152064064216a8433360745f69edddce19a606659163The Android Open Source Project cmd_Scan_print_method( &(bandPolicy->discoveryMethod) ); 152164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("\nImmediate Scan Method:\n"); 152264064216a8433360745f69edddce19a606659163The Android Open Source Project cmd_Scan_print_method( &(bandPolicy->immediateScanMethod) ); 152364064216a8433360745f69edddce19a606659163The Android Open Source Project if ( bandPolicy->numOfChannles > 0 ) 152464064216a8433360745f69edddce19a606659163The Android Open Source Project { 152564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("\nChannel list: "); 152664064216a8433360745f69edddce19a606659163The Android Open Source Project for ( j = 0; j < bandPolicy->numOfChannles; j++ ) 152764064216a8433360745f69edddce19a606659163The Android Open Source Project { 152864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("%3d ", bandPolicy->channelList[ j ]); 152964064216a8433360745f69edddce19a606659163The Android Open Source Project } 153064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("\n"); 153164064216a8433360745f69edddce19a606659163The Android Open Source Project } 153264064216a8433360745f69edddce19a606659163The Android Open Source Project else 153364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("\nNo channels defined.\n"); 153464064216a8433360745f69edddce19a606659163The Android Open Source Project} 153564064216a8433360745f69edddce19a606659163The Android Open Source Project 153664064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Scan_print_method( scan_Method_t* scanMethod ) 153764064216a8433360745f69edddce19a606659163The Android Open Source Project{ 153864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Scan type: %s\n", scanType2Str[ scanMethod->scanType ].name); 153964064216a8433360745f69edddce19a606659163The Android Open Source Project switch (scanMethod->scanType) 154064064216a8433360745f69edddce19a606659163The Android Open Source Project { 154164064216a8433360745f69edddce19a606659163The Android Open Source Project case SCAN_TYPE_NORMAL_ACTIVE: 154264064216a8433360745f69edddce19a606659163The Android Open Source Project case SCAN_TYPE_NORMAL_PASSIVE: 154364064216a8433360745f69edddce19a606659163The Android Open Source Project cmd_Scan_print_basic_method( &(scanMethod->method.basicMethodParams) ); 154464064216a8433360745f69edddce19a606659163The Android Open Source Project break; 154564064216a8433360745f69edddce19a606659163The Android Open Source Project 154664064216a8433360745f69edddce19a606659163The Android Open Source Project case SCAN_TYPE_TRIGGERED_ACTIVE: 154764064216a8433360745f69edddce19a606659163The Android Open Source Project case SCAN_TYPE_TRIGGERED_PASSIVE: 154864064216a8433360745f69edddce19a606659163The Android Open Source Project cmd_Scan_print_triggered_method( &(scanMethod->method.TidTriggerdMethodParams) ); 154964064216a8433360745f69edddce19a606659163The Android Open Source Project break; 155064064216a8433360745f69edddce19a606659163The Android Open Source Project 155164064216a8433360745f69edddce19a606659163The Android Open Source Project case SCAN_TYPE_SPS: 155264064216a8433360745f69edddce19a606659163The Android Open Source Project cmd_Scan_print_sps_method( &(scanMethod->method.spsMethodParams) ); 155364064216a8433360745f69edddce19a606659163The Android Open Source Project break; 155464064216a8433360745f69edddce19a606659163The Android Open Source Project 155564064216a8433360745f69edddce19a606659163The Android Open Source Project case SCAN_TYPE_NO_SCAN: 155664064216a8433360745f69edddce19a606659163The Android Open Source Project break; 155764064216a8433360745f69edddce19a606659163The Android Open Source Project } 155864064216a8433360745f69edddce19a606659163The Android Open Source Project} 155964064216a8433360745f69edddce19a606659163The Android Open Source Project 156064064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Scan_print_basic_method( scan_basicMethodParams_t* basicMethodParams ) 156164064216a8433360745f69edddce19a606659163The Android Open Source Project{ 156264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Max channel dwell time: %d, Min channel dwell time: %d\n", 156364064216a8433360745f69edddce19a606659163The Android Open Source Project basicMethodParams->maxChannelDwellTime, basicMethodParams->minChannelDwellTime); 156464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("ET condition: %s, ET number of frames: %d\n", 156564064216a8433360745f69edddce19a606659163The Android Open Source Project EtEvent2StrFunc( basicMethodParams->earlyTerminationEvent ), basicMethodParams->ETMaxNumberOfApFrames); 156664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Probe request number: %d, probe request rate: %s, TX power (Dbm/10): %d\n", 156764064216a8433360745f69edddce19a606659163The Android Open Source Project basicMethodParams->probReqParams.numOfProbeReqs, rate2StrFunc( basicMethodParams->probReqParams.bitrate ), 156864064216a8433360745f69edddce19a606659163The Android Open Source Project basicMethodParams->probReqParams.txPowerDbm); 156964064216a8433360745f69edddce19a606659163The Android Open Source Project} 157064064216a8433360745f69edddce19a606659163The Android Open Source Project 157164064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Scan_print_triggered_method( scan_TidTriggeredMethodParams_t* triggeredMethodParams ) 157264064216a8433360745f69edddce19a606659163The Android Open Source Project{ 157364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Triggering Tid: %d\n", triggeredMethodParams->triggeringTid); 157464064216a8433360745f69edddce19a606659163The Android Open Source Project cmd_Scan_print_basic_method( &(triggeredMethodParams->basicMethodParams) ); 157564064216a8433360745f69edddce19a606659163The Android Open Source Project} 157664064216a8433360745f69edddce19a606659163The Android Open Source Project 157764064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Scan_print_sps_method( scan_SPSMethodParams_t* spsMethodParams ) 157864064216a8433360745f69edddce19a606659163The Android Open Source Project{ 157964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("ET condition: %s, ET number of frames: %d\n", 158064064216a8433360745f69edddce19a606659163The Android Open Source Project EtEvent2StrFunc( spsMethodParams->earlyTerminationEvent ), spsMethodParams->ETMaxNumberOfApFrames); 158164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Scan duration: %d\n", spsMethodParams->scanDuration); 158264064216a8433360745f69edddce19a606659163The Android Open Source Project} 158364064216a8433360745f69edddce19a606659163The Android Open Source Project 158464064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Scan_policy_clear(ConParm_t parm[], U16 nParms) 158564064216a8433360745f69edddce19a606659163The Android Open Source Project{ 158664064216a8433360745f69edddce19a606659163The Android Open Source Project memset( &scanPolicy, 0, sizeof(scan_Policy_t) ); 158764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Scan policy cleared.\n"); 158864064216a8433360745f69edddce19a606659163The Android Open Source Project} 158964064216a8433360745f69edddce19a606659163The Android Open Source Project 159064064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Scan_policy_store(ConParm_t parm[], U16 nParms) 159164064216a8433360745f69edddce19a606659163The Android Open Source Project{ 159264064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetScanPolicy( g_id_adapter, (UINT8*)&scanPolicy, sizeof(scan_Policy_t) ); 159364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Scan policy stored.\n"); 159464064216a8433360745f69edddce19a606659163The Android Open Source Project} 159564064216a8433360745f69edddce19a606659163The Android Open Source Project 159664064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Scan_get_bss_list(ConParm_t parm[], U16 nParms) 159764064216a8433360745f69edddce19a606659163The Android Open Source Project{ 159864064216a8433360745f69edddce19a606659163The Android Open Source Project bssList_t list; 159964064216a8433360745f69edddce19a606659163The Android Open Source Project int i; 160064064216a8433360745f69edddce19a606659163The Android Open Source Project 160164064216a8433360745f69edddce19a606659163The Android Open Source Project /* get list */ 160264064216a8433360745f69edddce19a606659163The Android Open Source Project if ( (TI_RESULT_OK != TI_GetScanBssList( g_id_adapter, &list )) || (0 == list.numOfEntries) ) 160364064216a8433360745f69edddce19a606659163The Android Open Source Project { 160464064216a8433360745f69edddce19a606659163The Android Open Source Project return; 160564064216a8433360745f69edddce19a606659163The Android Open Source Project } 160664064216a8433360745f69edddce19a606659163The Android Open Source Project 160764064216a8433360745f69edddce19a606659163The Android Open Source Project /* console_printf_terminal list */ 160864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("BSS List:\n"); 160964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("%-17s %-7s %-6s %-4s %-10s\n", "BSSID", "Band", "Channel", "RSSI", "Neighbor?"); 161064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("-----------------------------------------------------\n"); 161164064216a8433360745f69edddce19a606659163The Android Open Source Project for ( i = 0; i < list.numOfEntries; i++ ) 161264064216a8433360745f69edddce19a606659163The Android Open Source Project { 161364064216a8433360745f69edddce19a606659163The Android Open Source Project 161464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal( "%s %s %-7d %-4d %s\n", 161564064216a8433360745f69edddce19a606659163The Android Open Source Project print_mac_2_str(list.BSSList[ i ].BSSID.addr), band2Str[ list.BSSList[ i ].band ].name, 161664064216a8433360745f69edddce19a606659163The Android Open Source Project list.BSSList[ i ].channel, list.BSSList[ i ].RSSI, 161764064216a8433360745f69edddce19a606659163The Android Open Source Project (TRUE == list.BSSList[ i ].bNeighborAP ? "Yes" : "No") ); 161864064216a8433360745f69edddce19a606659163The Android Open Source Project } 161964064216a8433360745f69edddce19a606659163The Android Open Source Project} 162064064216a8433360745f69edddce19a606659163The Android Open Source Project 162164064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_set_dtag_to_ac_mapping_table(ConParm_t parm[], U16 nParms) 162264064216a8433360745f69edddce19a606659163The Android Open Source Project{ 162364064216a8433360745f69edddce19a606659163The Android Open Source Project int i; 162464064216a8433360745f69edddce19a606659163The Android Open Source Project acTrfcType_e dtagToAcTable[MAX_NUM_OF_802_1d_TAGS]; 162564064216a8433360745f69edddce19a606659163The Android Open Source Project 162664064216a8433360745f69edddce19a606659163The Android Open Source Project for (i=0; i<MAX_NUM_OF_802_1d_TAGS; i++) 162764064216a8433360745f69edddce19a606659163The Android Open Source Project { 162864064216a8433360745f69edddce19a606659163The Android Open Source Project dtagToAcTable[i] = (UINT32) parm[i].value; 162964064216a8433360745f69edddce19a606659163The Android Open Source Project } 163064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Input parameters =%d, %d, %d, %d, %d, %d, %d, %d\n", 163164064216a8433360745f69edddce19a606659163The Android Open Source Project (UINT32) parm[0].value, 163264064216a8433360745f69edddce19a606659163The Android Open Source Project (UINT32) parm[1].value, 163364064216a8433360745f69edddce19a606659163The Android Open Source Project (UINT32) parm[2].value, 163464064216a8433360745f69edddce19a606659163The Android Open Source Project (UINT32) parm[3].value, 163564064216a8433360745f69edddce19a606659163The Android Open Source Project (UINT32) parm[4].value, 163664064216a8433360745f69edddce19a606659163The Android Open Source Project (UINT32) parm[5].value, 163764064216a8433360745f69edddce19a606659163The Android Open Source Project (UINT32) parm[6].value, 163864064216a8433360745f69edddce19a606659163The Android Open Source Project (UINT32) parm[7].value); 163964064216a8433360745f69edddce19a606659163The Android Open Source Project 164064064216a8433360745f69edddce19a606659163The Android Open Source Project if (TI_SetDTagToAcMappingTable(g_id_adapter, dtagToAcTable) == TI_RESULT_OK) 164164064216a8433360745f69edddce19a606659163The Android Open Source Project { 164264064216a8433360745f69edddce19a606659163The Android Open Source Project } 164364064216a8433360745f69edddce19a606659163The Android Open Source Project else 164464064216a8433360745f69edddce19a606659163The Android Open Source Project { 164564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Error: could not set tag_ToAcClsfrTable ...\n"); 164664064216a8433360745f69edddce19a606659163The Android Open Source Project } 164764064216a8433360745f69edddce19a606659163The Android Open Source Project} 164864064216a8433360745f69edddce19a606659163The Android Open Source Project 164964064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_set_vad(ConParm_t parm[], U16 nParms) 165064064216a8433360745f69edddce19a606659163The Android Open Source Project{ 165164064216a8433360745f69edddce19a606659163The Android Open Source Project txDataVadTimerParams_t pVadTimer; 165264064216a8433360745f69edddce19a606659163The Android Open Source Project 165364064216a8433360745f69edddce19a606659163The Android Open Source Project if (0 == nParms) // GET operation 165464064216a8433360745f69edddce19a606659163The Android Open Source Project { 165564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Set VAD: \n"); 165664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" Parm 0 -- 1: ENABLE; 0: DISABLE\n"); 165764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" Parm 1 -- VAD timer duration in ms for enabling action\n"); 165864064216a8433360745f69edddce19a606659163The Android Open Source Project if (TI_GetVAD(g_id_adapter, &pVadTimer) == TI_RESULT_OK) 165964064216a8433360745f69edddce19a606659163The Android Open Source Project { 166064064216a8433360745f69edddce19a606659163The Android Open Source Project 166164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Current param values: %d, %d\n", 166264064216a8433360745f69edddce19a606659163The Android Open Source Project pVadTimer.vadTimerEnabled, pVadTimer.vadTimerDuration); 166364064216a8433360745f69edddce19a606659163The Android Open Source Project } 166464064216a8433360745f69edddce19a606659163The Android Open Source Project } 166564064216a8433360745f69edddce19a606659163The Android Open Source Project else 166664064216a8433360745f69edddce19a606659163The Android Open Source Project { 166764064216a8433360745f69edddce19a606659163The Android Open Source Project pVadTimer.vadTimerEnabled = (UINT16) parm[0].value; 166864064216a8433360745f69edddce19a606659163The Android Open Source Project pVadTimer.vadTimerDuration = (UINT16) parm[1].value; 166964064216a8433360745f69edddce19a606659163The Android Open Source Project 167064064216a8433360745f69edddce19a606659163The Android Open Source Project if (pVadTimer.vadTimerEnabled) 167164064216a8433360745f69edddce19a606659163The Android Open Source Project { 167264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Enabling VAD timer (cycle = %d ms)\n", pVadTimer.vadTimerDuration); 167364064216a8433360745f69edddce19a606659163The Android Open Source Project } 167464064216a8433360745f69edddce19a606659163The Android Open Source Project else 167564064216a8433360745f69edddce19a606659163The Android Open Source Project { 167664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Disabling VAD timer\n"); 167764064216a8433360745f69edddce19a606659163The Android Open Source Project } 167864064216a8433360745f69edddce19a606659163The Android Open Source Project 167964064216a8433360745f69edddce19a606659163The Android Open Source Project if (TI_SetVAD(g_id_adapter, &pVadTimer) == TI_RESULT_OK) 168064064216a8433360745f69edddce19a606659163The Android Open Source Project { 168164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Setting VAD is done\n"); 168264064216a8433360745f69edddce19a606659163The Android Open Source Project } 168364064216a8433360745f69edddce19a606659163The Android Open Source Project } 168464064216a8433360745f69edddce19a606659163The Android Open Source Project} 168564064216a8433360745f69edddce19a606659163The Android Open Source Project 168664064216a8433360745f69edddce19a606659163The Android Open Source Project 168764064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_set_qos_params(ConParm_t parm[], U16 nParms) 168864064216a8433360745f69edddce19a606659163The Android Open Source Project{ 168964064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_QOS_PARAMS pQosParams; 169064064216a8433360745f69edddce19a606659163The Android Open Source Project 169164064216a8433360745f69edddce19a606659163The Android Open Source Project pQosParams.acID=parm[0].value; 169264064216a8433360745f69edddce19a606659163The Android Open Source Project pQosParams.MaxLifeTime=parm[1].value; 169364064216a8433360745f69edddce19a606659163The Android Open Source Project pQosParams.VoiceDeliveryProtocol=0; 169464064216a8433360745f69edddce19a606659163The Android Open Source Project pQosParams.PSDeliveryProtocol=0; 169564064216a8433360745f69edddce19a606659163The Android Open Source Project 169664064216a8433360745f69edddce19a606659163The Android Open Source Project if (nParms == 7) /* If the user has input 7 parameters, it means he gave Voice+PS delivery protocol values */ 169764064216a8433360745f69edddce19a606659163The Android Open Source Project { 169864064216a8433360745f69edddce19a606659163The Android Open Source Project pQosParams.VoiceDeliveryProtocol=parm[5].value; 169964064216a8433360745f69edddce19a606659163The Android Open Source Project pQosParams.PSDeliveryProtocol=parm[6].value; 170064064216a8433360745f69edddce19a606659163The Android Open Source Project 170164064216a8433360745f69edddce19a606659163The Android Open Source Project /* If this QOS config was done for a queue OTHER THAN VO, we will zero the DeliveryProtocolPsPoll parameter and notify the user */ 170264064216a8433360745f69edddce19a606659163The Android Open Source Project if ((parm[0].value != 3) && (parm[5].value != 0)) 170364064216a8433360745f69edddce19a606659163The Android Open Source Project { 170464064216a8433360745f69edddce19a606659163The Android Open Source Project pQosParams.VoiceDeliveryProtocol = 0; 170564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Since the acID is not VO, resetting VoiceDeliveryProtocol parameter to PS_NONE\n"); 170664064216a8433360745f69edddce19a606659163The Android Open Source Project } 170764064216a8433360745f69edddce19a606659163The Android Open Source Project if ((pQosParams.VoiceDeliveryProtocol == 1) && (pQosParams.PSDeliveryProtocol == 1)) 170864064216a8433360745f69edddce19a606659163The Android Open Source Project { 170964064216a8433360745f69edddce19a606659163The Android Open Source Project pQosParams.VoiceDeliveryProtocol = 1; 171064064216a8433360745f69edddce19a606659163The Android Open Source Project pQosParams.PSDeliveryProtocol = 0; 171164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Since the VoiceDeliveryProtocol is PS_POLL, resetting PSDeliveryProtocol to Legacy\n"); 171264064216a8433360745f69edddce19a606659163The Android Open Source Project } 171364064216a8433360745f69edddce19a606659163The Android Open Source Project } 171464064216a8433360745f69edddce19a606659163The Android Open Source Project 171564064216a8433360745f69edddce19a606659163The Android Open Source Project if (TI_SetQosParameters(g_id_adapter, &pQosParams) == TI_RESULT_OK) 171664064216a8433360745f69edddce19a606659163The Android Open Source Project { 171764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Sent QOS params to driver...\n AC Number=%d \n MaxLifeTime=%d \n DeliveryProtocolPsPoll = %d\n PSDeliveryProtocol = %d\n", 171864064216a8433360745f69edddce19a606659163The Android Open Source Project pQosParams.acID, 171964064216a8433360745f69edddce19a606659163The Android Open Source Project pQosParams.MaxLifeTime, 172064064216a8433360745f69edddce19a606659163The Android Open Source Project pQosParams.VoiceDeliveryProtocol, 172164064216a8433360745f69edddce19a606659163The Android Open Source Project pQosParams.PSDeliveryProtocol); 172264064216a8433360745f69edddce19a606659163The Android Open Source Project } 172364064216a8433360745f69edddce19a606659163The Android Open Source Project else 172464064216a8433360745f69edddce19a606659163The Android Open Source Project { 172564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Error: could not set QOS params...\n"); 172664064216a8433360745f69edddce19a606659163The Android Open Source Project } 172764064216a8433360745f69edddce19a606659163The Android Open Source Project} 172864064216a8433360745f69edddce19a606659163The Android Open Source Project 172964064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_set_rxTimeOut_params(ConParm_t parm[], U16 nParms) 173064064216a8433360745f69edddce19a606659163The Android Open Source Project{ 173164064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_QOS_RX_TIMEOUT_PARAMS rxTimeOut; 173264064216a8433360745f69edddce19a606659163The Android Open Source Project 173364064216a8433360745f69edddce19a606659163The Android Open Source Project rxTimeOut.psPoll = parm[0].value; 173464064216a8433360745f69edddce19a606659163The Android Open Source Project rxTimeOut.UPSD = parm[1].value; 173564064216a8433360745f69edddce19a606659163The Android Open Source Project 173664064216a8433360745f69edddce19a606659163The Android Open Source Project if (nParms != 2) 173764064216a8433360745f69edddce19a606659163The Android Open Source Project { 173864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Please enter Rx Time Out:\n"); 173964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param 0 - psPoll (0 - 65000)\n"); 174064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param 1 - UPSD (1 - 65000)\n"); 174164064216a8433360745f69edddce19a606659163The Android Open Source Project } 174264064216a8433360745f69edddce19a606659163The Android Open Source Project else 174364064216a8433360745f69edddce19a606659163The Android Open Source Project { 174464064216a8433360745f69edddce19a606659163The Android Open Source Project if (TI_SetQosRxTimeOut(g_id_adapter, &rxTimeOut) == TI_RESULT_OK) 174564064216a8433360745f69edddce19a606659163The Android Open Source Project { 174664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Sent QOS Rx TimeOut params to driver...\n PsPoll = %d\n UPSD = %d\n", 174764064216a8433360745f69edddce19a606659163The Android Open Source Project rxTimeOut.psPoll, 174864064216a8433360745f69edddce19a606659163The Android Open Source Project rxTimeOut.UPSD); 174964064216a8433360745f69edddce19a606659163The Android Open Source Project } 175064064216a8433360745f69edddce19a606659163The Android Open Source Project else 175164064216a8433360745f69edddce19a606659163The Android Open Source Project { 175264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Error: could not set Rx TimeOut..\n"); 175364064216a8433360745f69edddce19a606659163The Android Open Source Project } 175464064216a8433360745f69edddce19a606659163The Android Open Source Project } 175564064216a8433360745f69edddce19a606659163The Android Open Source Project} 175664064216a8433360745f69edddce19a606659163The Android Open Source Project 175764064216a8433360745f69edddce19a606659163The Android Open Source Project 175864064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_enable_rx_data_filters(ConParm_t parm[], U16 nParms) 175964064216a8433360745f69edddce19a606659163The Android Open Source Project{ 176064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Enabling Rx data filtering...\n"); 176164064216a8433360745f69edddce19a606659163The Android Open Source Project TI_EnableDisableRxDataFilters( g_id_adapter, TRUE ); 176264064216a8433360745f69edddce19a606659163The Android Open Source Project} 176364064216a8433360745f69edddce19a606659163The Android Open Source Project 176464064216a8433360745f69edddce19a606659163The Android Open Source Project 176564064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_disable_rx_data_filters(ConParm_t parm[], U16 nParms) 176664064216a8433360745f69edddce19a606659163The Android Open Source Project{ 176764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Disabling Rx data filtering...\n"); 176864064216a8433360745f69edddce19a606659163The Android Open Source Project TI_EnableDisableRxDataFilters( g_id_adapter, FALSE ); 176964064216a8433360745f69edddce19a606659163The Android Open Source Project} 177064064216a8433360745f69edddce19a606659163The Android Open Source Project 177164064216a8433360745f69edddce19a606659163The Android Open Source Project 177264064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_get_rx_data_filters_statistics(ConParm_t parm[], U16 nParms) 177364064216a8433360745f69edddce19a606659163The Android Open Source Project{ 177464064216a8433360745f69edddce19a606659163The Android Open Source Project TIWLAN_DATA_FILTER_STATISTICS statistics; 177564064216a8433360745f69edddce19a606659163The Android Open Source Project 177664064216a8433360745f69edddce19a606659163The Android Open Source Project 177764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Rx data filtering statistics:\n"); 177864064216a8433360745f69edddce19a606659163The Android Open Source Project 177964064216a8433360745f69edddce19a606659163The Android Open Source Project TI_GetRxDataFiltersStatistics( g_id_adapter, &statistics ); 178064064216a8433360745f69edddce19a606659163The Android Open Source Project 178164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Unmatched packets: %u\n", statistics.UnmatchedPacketsCount); 178264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Packets matching filter #1: %u\n", statistics.MatchedPacketsCount[0]); 178364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Packets matching filter #2: %u\n", statistics.MatchedPacketsCount[1]); 178464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Packets matching filter #3: %u\n", statistics.MatchedPacketsCount[2]); 178564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Packets matching filter #4: %u\n", statistics.MatchedPacketsCount[3]); 178664064216a8433360745f69edddce19a606659163The Android Open Source Project} 178764064216a8433360745f69edddce19a606659163The Android Open Source Project 178864064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_show_power_consumption_stats(ConParm_t parm[]) 178964064216a8433360745f69edddce19a606659163The Android Open Source Project{ 179064064216a8433360745f69edddce19a606659163The Android Open Source Project PowerConsumptionTimeStat_t statistics; 179164064216a8433360745f69edddce19a606659163The Android Open Source Project 179264064216a8433360745f69edddce19a606659163The Android Open Source Project 179364064216a8433360745f69edddce19a606659163The Android Open Source Project TI_GetPowerConsumptionStatistics( g_id_adapter, &statistics ); 179464064216a8433360745f69edddce19a606659163The Android Open Source Project 179564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("\nPower Consumption Statistics:\n"); 179664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("-----------------------------\n"); 179764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("activeTimeCnt_H: %u\n", statistics.activeTimeCnt_Hi); 179864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("activeTimeCnt_Low: %u\n", statistics.activeTimeCnt_Low); 179964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("elpTimeCnt_Hi: %u\n", statistics.elpTimeCnt_Hi); 180064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("elpTimeCnt_Low: %u\n", statistics.elpTimeCnt_Low); 180164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("powerDownTimeCnt_Hi: %u\n", statistics.powerDownTimeCnt_Hi); 180264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("powerDownTimeCnt_Low: %u\n", statistics.powerDownTimeCnt_Low); 180364064216a8433360745f69edddce19a606659163The Android Open Source Project 180464064216a8433360745f69edddce19a606659163The Android Open Source Project} 180564064216a8433360745f69edddce19a606659163The Android Open Source Project 180664064216a8433360745f69edddce19a606659163The Android Open Source Project 180764064216a8433360745f69edddce19a606659163The Android Open Source Project 180864064216a8433360745f69edddce19a606659163The Android Open Source Projectstatic void parse_hex_string(char * pString, tiUINT8 * pBuffer, tiUINT8 * Length) 180964064216a8433360745f69edddce19a606659163The Android Open Source Project{ 181064064216a8433360745f69edddce19a606659163The Android Open Source Project char ch; 181164064216a8433360745f69edddce19a606659163The Android Open Source Project int iter = 0; 181264064216a8433360745f69edddce19a606659163The Android Open Source Project 181364064216a8433360745f69edddce19a606659163The Android Open Source Project while ((ch = pString[iter])) 181464064216a8433360745f69edddce19a606659163The Android Open Source Project { 181564064216a8433360745f69edddce19a606659163The Android Open Source Project UINT8 val = ((ch >= '0' && ch <= '9') ? (ch - '0') : 181664064216a8433360745f69edddce19a606659163The Android Open Source Project (ch >= 'A' && ch <= 'F') ? (0xA + ch - 'A') : 181764064216a8433360745f69edddce19a606659163The Android Open Source Project (ch >= 'a' && ch <= 'f') ? (0xA + ch - 'a') : 0); 181864064216a8433360745f69edddce19a606659163The Android Open Source Project 181964064216a8433360745f69edddce19a606659163The Android Open Source Project /* even indexes go to the lower nibble, odd indexes push them to the */ 182064064216a8433360745f69edddce19a606659163The Android Open Source Project /* higher nibble and then go themselves to the lower nibble. */ 182164064216a8433360745f69edddce19a606659163The Android Open Source Project if (iter % 2) 182264064216a8433360745f69edddce19a606659163The Android Open Source Project pBuffer[iter / 2] = ((pBuffer[iter / 2] << (BIT_TO_BYTE_FACTOR / 2)) | val); 182364064216a8433360745f69edddce19a606659163The Android Open Source Project else 182464064216a8433360745f69edddce19a606659163The Android Open Source Project pBuffer[iter / 2] = val; 182564064216a8433360745f69edddce19a606659163The Android Open Source Project 182664064216a8433360745f69edddce19a606659163The Android Open Source Project ++iter; 182764064216a8433360745f69edddce19a606659163The Android Open Source Project } 182864064216a8433360745f69edddce19a606659163The Android Open Source Project 182964064216a8433360745f69edddce19a606659163The Android Open Source Project /* iter = 0 len = 0, iter = 1 len = 1, iter = 2 len = 1, and so on... */ 183064064216a8433360745f69edddce19a606659163The Android Open Source Project *Length = (iter + 1) / 2; 183164064216a8433360745f69edddce19a606659163The Android Open Source Project} 183264064216a8433360745f69edddce19a606659163The Android Open Source Project 183364064216a8433360745f69edddce19a606659163The Android Open Source Projectstatic void parse_binary_string(char * pString, tiUINT8 * pBuffer, tiUINT8 * Length) 183464064216a8433360745f69edddce19a606659163The Android Open Source Project{ 183564064216a8433360745f69edddce19a606659163The Android Open Source Project char ch; 183664064216a8433360745f69edddce19a606659163The Android Open Source Project int iter = 0; 183764064216a8433360745f69edddce19a606659163The Android Open Source Project 183864064216a8433360745f69edddce19a606659163The Android Open Source Project while ((ch = pString[iter])) 183964064216a8433360745f69edddce19a606659163The Android Open Source Project { 184064064216a8433360745f69edddce19a606659163The Android Open Source Project UINT8 val = (ch == '1' ? 1 : 0); 184164064216a8433360745f69edddce19a606659163The Android Open Source Project 184264064216a8433360745f69edddce19a606659163The Android Open Source Project if (iter % BIT_TO_BYTE_FACTOR) 184364064216a8433360745f69edddce19a606659163The Android Open Source Project pBuffer[iter / BIT_TO_BYTE_FACTOR] |= (val << (iter % BIT_TO_BYTE_FACTOR)); 184464064216a8433360745f69edddce19a606659163The Android Open Source Project else 184564064216a8433360745f69edddce19a606659163The Android Open Source Project pBuffer[iter / BIT_TO_BYTE_FACTOR] = val; 184664064216a8433360745f69edddce19a606659163The Android Open Source Project 184764064216a8433360745f69edddce19a606659163The Android Open Source Project ++iter; 184864064216a8433360745f69edddce19a606659163The Android Open Source Project } 184964064216a8433360745f69edddce19a606659163The Android Open Source Project 185064064216a8433360745f69edddce19a606659163The Android Open Source Project /* iter = 0 len = 0, iter = 1 len = 1, iter = 8 len = 1, and so on... */ 185164064216a8433360745f69edddce19a606659163The Android Open Source Project *Length = (iter + BIT_TO_BYTE_FACTOR - 1) / BIT_TO_BYTE_FACTOR; 185264064216a8433360745f69edddce19a606659163The Android Open Source Project} 185364064216a8433360745f69edddce19a606659163The Android Open Source Project 185464064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_add_rx_data_filter(ConParm_t parm[], U16 nParms) 185564064216a8433360745f69edddce19a606659163The Android Open Source Project{ 185664064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 resultCode; 185764064216a8433360745f69edddce19a606659163The Android Open Source Project TIWLAN_DATA_FILTER_REQUEST request; 185864064216a8433360745f69edddce19a606659163The Android Open Source Project 185964064216a8433360745f69edddce19a606659163The Android Open Source Project char * mask = (char *) parm[1].value; 186064064216a8433360745f69edddce19a606659163The Android Open Source Project char * pattern = (char *) parm[2].value; 186164064216a8433360745f69edddce19a606659163The Android Open Source Project 186264064216a8433360745f69edddce19a606659163The Android Open Source Project 186364064216a8433360745f69edddce19a606659163The Android Open Source Project request.Offset = (UINT8) parm[0].value; 186464064216a8433360745f69edddce19a606659163The Android Open Source Project 186564064216a8433360745f69edddce19a606659163The Android Open Source Project parse_binary_string(mask, request.Mask, &request.MaskLength); 186664064216a8433360745f69edddce19a606659163The Android Open Source Project parse_hex_string(pattern, request.Pattern, &request.PatternLength); 186764064216a8433360745f69edddce19a606659163The Android Open Source Project 186864064216a8433360745f69edddce19a606659163The Android Open Source Project resultCode = TI_AddRxDataFilter(g_id_adapter, &request); 186964064216a8433360745f69edddce19a606659163The Android Open Source Project 187064064216a8433360745f69edddce19a606659163The Android Open Source Project 187164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(resultCode == RX_NO_AVAILABLE_FILTERS ? "Error: There are no available filter slots.\n" : 187264064216a8433360745f69edddce19a606659163The Android Open Source Project resultCode == RX_FILTER_ALREADY_EXISTS ? "Error: Filter already exists.\n" : 187364064216a8433360745f69edddce19a606659163The Android Open Source Project resultCode == NOK ? "Error: Could not add the filter.\n" : 187464064216a8433360745f69edddce19a606659163The Android Open Source Project "Filter added.\n"); 187564064216a8433360745f69edddce19a606659163The Android Open Source Project} 187664064216a8433360745f69edddce19a606659163The Android Open Source Project 187764064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_remove_rx_data_filter(ConParm_t parm[], U16 nParms) 187864064216a8433360745f69edddce19a606659163The Android Open Source Project{ 187964064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 resultCode; 188064064216a8433360745f69edddce19a606659163The Android Open Source Project TIWLAN_DATA_FILTER_REQUEST request; 188164064216a8433360745f69edddce19a606659163The Android Open Source Project 188264064216a8433360745f69edddce19a606659163The Android Open Source Project char * mask = (char *) parm[1].value; 188364064216a8433360745f69edddce19a606659163The Android Open Source Project char * pattern = (char *) parm[2].value; 188464064216a8433360745f69edddce19a606659163The Android Open Source Project 188564064216a8433360745f69edddce19a606659163The Android Open Source Project request.Offset = (UINT8) parm[0].value; 188664064216a8433360745f69edddce19a606659163The Android Open Source Project 188764064216a8433360745f69edddce19a606659163The Android Open Source Project parse_binary_string(mask, request.Mask, &request.MaskLength); 188864064216a8433360745f69edddce19a606659163The Android Open Source Project parse_hex_string(pattern, request.Pattern, &request.PatternLength); 188964064216a8433360745f69edddce19a606659163The Android Open Source Project 189064064216a8433360745f69edddce19a606659163The Android Open Source Project resultCode = TI_RemoveRxDataFilter(g_id_adapter, &request); 189164064216a8433360745f69edddce19a606659163The Android Open Source Project 189264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(resultCode == RX_FILTER_DOES_NOT_EXIST ? "Error: Filter was not found.\n" : 189364064216a8433360745f69edddce19a606659163The Android Open Source Project resultCode == NOK ? "Error: Could not remove the filter, removal request must be identical to add request.\n" : 189464064216a8433360745f69edddce19a606659163The Android Open Source Project "Filter removed.\n"); 189564064216a8433360745f69edddce19a606659163The Android Open Source Project} 189664064216a8433360745f69edddce19a606659163The Android Open Source Project 189764064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_MaxRxLifetime_params(ConParm_t parm[], U16 nParms) 189864064216a8433360745f69edddce19a606659163The Android Open Source Project{ 189964064216a8433360745f69edddce19a606659163The Android Open Source Project PLT_MIB_t Mib; 190064064216a8433360745f69edddce19a606659163The Android Open Source Project UINT32 Status; 190164064216a8433360745f69edddce19a606659163The Android Open Source Project memset(&Mib, 0, sizeof(Mib)); 190264064216a8433360745f69edddce19a606659163The Android Open Source Project Mib.aMib = PLT_MIB_dot11MaxReceiveLifetime; 190364064216a8433360745f69edddce19a606659163The Android Open Source Project 190464064216a8433360745f69edddce19a606659163The Android Open Source Project if (nParms != 1) 190564064216a8433360745f69edddce19a606659163The Android Open Source Project { 190664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Max Rx lifetime: [0 - 4294967295(0xFFFFFFFF)]\n"); 190764064216a8433360745f69edddce19a606659163The Android Open Source Project 190864064216a8433360745f69edddce19a606659163The Android Open Source Project } 190964064216a8433360745f69edddce19a606659163The Android Open Source Project 191064064216a8433360745f69edddce19a606659163The Android Open Source Project if (nParms == 0) /*Get MaxRxlifetime */ 191164064216a8433360745f69edddce19a606659163The Android Open Source Project { 191264064216a8433360745f69edddce19a606659163The Android Open Source Project Status = TI_PLT_ReadMIB(g_id_adapter, &Mib); 191364064216a8433360745f69edddce19a606659163The Android Open Source Project if (OK == Status) 191464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("MaxRxLifetime = %d\n", Mib.aData.MaxReceiveLifeTime); 191564064216a8433360745f69edddce19a606659163The Android Open Source Project } 191664064216a8433360745f69edddce19a606659163The Android Open Source Project else if (nParms == 1) 191764064216a8433360745f69edddce19a606659163The Android Open Source Project { 191864064216a8433360745f69edddce19a606659163The Android Open Source Project Mib.Length = sizeof(Mib.aData.MaxReceiveLifeTime); 191964064216a8433360745f69edddce19a606659163The Android Open Source Project Mib.aData.MaxReceiveLifeTime = parm[0].value; 192064064216a8433360745f69edddce19a606659163The Android Open Source Project if (OK != TI_PLT_WriteMIB(g_id_adapter, &Mib)) 192164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("TI_PLT_WriteMIB failed\n"); 192264064216a8433360745f69edddce19a606659163The Android Open Source Project } 192364064216a8433360745f69edddce19a606659163The Android Open Source Project} 192464064216a8433360745f69edddce19a606659163The Android Open Source Project 192564064216a8433360745f69edddce19a606659163The Android Open Source Project 192664064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_add_tspec(ConParm_t parm[], U16 nParms) 192764064216a8433360745f69edddce19a606659163The Android Open Source Project{ 192864064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_QOS_TSPEC_PARAMS pTspecParams; 192964064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 resultCode; 193064064216a8433360745f69edddce19a606659163The Android Open Source Project 193164064216a8433360745f69edddce19a606659163The Android Open Source Project pTspecParams.uUserPriority = parm[0].value; 193264064216a8433360745f69edddce19a606659163The Android Open Source Project pTspecParams.uNominalMSDUsize = parm[1].value; 193364064216a8433360745f69edddce19a606659163The Android Open Source Project pTspecParams.uMeanDataRate = parm[2].value; 193464064216a8433360745f69edddce19a606659163The Android Open Source Project pTspecParams.uMinimumPHYRate = parm[3].value * 1000 * 1000; 193564064216a8433360745f69edddce19a606659163The Android Open Source Project pTspecParams.uSurplusBandwidthAllowance = parm[4].value << 13; 193664064216a8433360745f69edddce19a606659163The Android Open Source Project pTspecParams.uAPSDFlag = parm[5].value; 193764064216a8433360745f69edddce19a606659163The Android Open Source Project 193864064216a8433360745f69edddce19a606659163The Android Open Source Project resultCode = TI_AddTspec (g_id_adapter,&pTspecParams); 193964064216a8433360745f69edddce19a606659163The Android Open Source Project 194064064216a8433360745f69edddce19a606659163The Android Open Source Project switch (resultCode) 194164064216a8433360745f69edddce19a606659163The Android Open Source Project { 194264064216a8433360745f69edddce19a606659163The Android Open Source Project case OK: 194364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("TSpec request sent to driver...\n uUserPriority = %d\n uNominalMSDUsize = %d\n uMeanDataRate = %d\n uMinimumPHYRate = %d\n uSurplusBandwidthAllowance = %d\n uAPSDFlag = %d\n", 194464064216a8433360745f69edddce19a606659163The Android Open Source Project parm[0].value, 194564064216a8433360745f69edddce19a606659163The Android Open Source Project parm[1].value, 194664064216a8433360745f69edddce19a606659163The Android Open Source Project parm[2].value, 194764064216a8433360745f69edddce19a606659163The Android Open Source Project parm[3].value, 194864064216a8433360745f69edddce19a606659163The Android Open Source Project parm[4].value, 194964064216a8433360745f69edddce19a606659163The Android Open Source Project parm[5].value); 195064064216a8433360745f69edddce19a606659163The Android Open Source Project break; 195164064216a8433360745f69edddce19a606659163The Android Open Source Project case TRAFIC_ADM_PENDING: 195264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Driver is still waiting for a response of previous request...\n"); 195364064216a8433360745f69edddce19a606659163The Android Open Source Project break; 195464064216a8433360745f69edddce19a606659163The Android Open Source Project case AC_ALREADY_IN_USE: 195564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Other user priority from the same AC has already used a TSPEC...\n"); 195664064216a8433360745f69edddce19a606659163The Android Open Source Project break; 195764064216a8433360745f69edddce19a606659163The Android Open Source Project case NOT_CONNECTED: 195864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Not connected to an AP...\n"); 195964064216a8433360745f69edddce19a606659163The Android Open Source Project break; 196064064216a8433360745f69edddce19a606659163The Android Open Source Project case NO_QOS_AP: 196164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("AP does not support QOS...\n"); 196264064216a8433360745f69edddce19a606659163The Android Open Source Project break; 196364064216a8433360745f69edddce19a606659163The Android Open Source Project case NOK: 196464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Invalid parameter...\n"); 196564064216a8433360745f69edddce19a606659163The Android Open Source Project break; 196664064216a8433360745f69edddce19a606659163The Android Open Source Project default: 196764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Unknown return value...\n"); 196864064216a8433360745f69edddce19a606659163The Android Open Source Project break; 196964064216a8433360745f69edddce19a606659163The Android Open Source Project } 197064064216a8433360745f69edddce19a606659163The Android Open Source Project 197164064216a8433360745f69edddce19a606659163The Android Open Source Project return; 197264064216a8433360745f69edddce19a606659163The Android Open Source Project} 197364064216a8433360745f69edddce19a606659163The Android Open Source Project 197464064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_get_tspec_params(ConParm_t parm[], U16 nParms) 197564064216a8433360745f69edddce19a606659163The Android Open Source Project{ 197664064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_QOS_TSPEC_PARAMS pTspecParams; 197764064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 resultCode; 197864064216a8433360745f69edddce19a606659163The Android Open Source Project 197964064216a8433360745f69edddce19a606659163The Android Open Source Project pTspecParams.uUserPriority = parm[0].value; 198064064216a8433360745f69edddce19a606659163The Android Open Source Project 198164064216a8433360745f69edddce19a606659163The Android Open Source Project resultCode = TI_GetTspecParameters(g_id_adapter, &pTspecParams); 198264064216a8433360745f69edddce19a606659163The Android Open Source Project 198364064216a8433360745f69edddce19a606659163The Android Open Source Project switch (resultCode) 198464064216a8433360745f69edddce19a606659163The Android Open Source Project { 198564064216a8433360745f69edddce19a606659163The Android Open Source Project case OK: 198664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("TSpec parameters retrieved:\nuUserPriority = %d\nuNominalMSDUsize = %d\nuMeanDataRate = %d\nuMinimumPHYRate = %d\nuSurplusBandwidthAllowance = %d\nuUAPSD_Flag = %d\nuMediumTime = %d\n", 198764064216a8433360745f69edddce19a606659163The Android Open Source Project pTspecParams.uUserPriority, 198864064216a8433360745f69edddce19a606659163The Android Open Source Project pTspecParams.uNominalMSDUsize, 198964064216a8433360745f69edddce19a606659163The Android Open Source Project pTspecParams.uMeanDataRate, 199064064216a8433360745f69edddce19a606659163The Android Open Source Project pTspecParams.uMinimumPHYRate, 199164064216a8433360745f69edddce19a606659163The Android Open Source Project pTspecParams.uSurplusBandwidthAllowance, 199264064216a8433360745f69edddce19a606659163The Android Open Source Project pTspecParams.uAPSDFlag, 199364064216a8433360745f69edddce19a606659163The Android Open Source Project pTspecParams.uMediumTime); 199464064216a8433360745f69edddce19a606659163The Android Open Source Project break; 199564064216a8433360745f69edddce19a606659163The Android Open Source Project case USER_PRIORITY_NOT_ADMITTED: 199664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("User Priority is not admitted...\n"); 199764064216a8433360745f69edddce19a606659163The Android Open Source Project break; 199864064216a8433360745f69edddce19a606659163The Android Open Source Project case NOT_CONNECTED: 199964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Not connected to an AP...\n"); 200064064216a8433360745f69edddce19a606659163The Android Open Source Project break; 200164064216a8433360745f69edddce19a606659163The Android Open Source Project case NO_QOS_AP: 200264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("AP does not support QOS...\n"); 200364064216a8433360745f69edddce19a606659163The Android Open Source Project break; 200464064216a8433360745f69edddce19a606659163The Android Open Source Project case NOK: 200564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Invalid parameter...\n"); 200664064216a8433360745f69edddce19a606659163The Android Open Source Project break; 200764064216a8433360745f69edddce19a606659163The Android Open Source Project default: 200864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Unknown return value...\n"); 200964064216a8433360745f69edddce19a606659163The Android Open Source Project break; 201064064216a8433360745f69edddce19a606659163The Android Open Source Project } 201164064216a8433360745f69edddce19a606659163The Android Open Source Project 201264064216a8433360745f69edddce19a606659163The Android Open Source Project return; 201364064216a8433360745f69edddce19a606659163The Android Open Source Project} 201464064216a8433360745f69edddce19a606659163The Android Open Source Project 201564064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_delete_tspec(ConParm_t parm[], U16 nParms) 201664064216a8433360745f69edddce19a606659163The Android Open Source Project{ 201764064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_QOS_DELETE_TSPEC_PARAMS pDelTspecParams; 201864064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 resultCode; 201964064216a8433360745f69edddce19a606659163The Android Open Source Project 202064064216a8433360745f69edddce19a606659163The Android Open Source Project pDelTspecParams.uUserPriority = parm[0].value; 202164064216a8433360745f69edddce19a606659163The Android Open Source Project pDelTspecParams.uReasonCode = parm[1].value; 202264064216a8433360745f69edddce19a606659163The Android Open Source Project 202364064216a8433360745f69edddce19a606659163The Android Open Source Project resultCode = TI_DeleteTspec(g_id_adapter, &pDelTspecParams); 202464064216a8433360745f69edddce19a606659163The Android Open Source Project 202564064216a8433360745f69edddce19a606659163The Android Open Source Project switch (resultCode) 202664064216a8433360745f69edddce19a606659163The Android Open Source Project { 202764064216a8433360745f69edddce19a606659163The Android Open Source Project case OK: 202864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("TSPEC Delete request sent to driver...\n uUserPriority = %d\n uReasonCode = %d\n", 202964064216a8433360745f69edddce19a606659163The Android Open Source Project pDelTspecParams.uUserPriority, 203064064216a8433360745f69edddce19a606659163The Android Open Source Project pDelTspecParams.uReasonCode); 203164064216a8433360745f69edddce19a606659163The Android Open Source Project break; 203264064216a8433360745f69edddce19a606659163The Android Open Source Project case NOT_CONNECTED: 203364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Not connected to an AP...\n"); 203464064216a8433360745f69edddce19a606659163The Android Open Source Project break; 203564064216a8433360745f69edddce19a606659163The Android Open Source Project case NO_QOS_AP: 203664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("AP does not support QOS...\n"); 203764064216a8433360745f69edddce19a606659163The Android Open Source Project break; 203864064216a8433360745f69edddce19a606659163The Android Open Source Project case NOK: 203964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Invalid parameter...\n"); 204064064216a8433360745f69edddce19a606659163The Android Open Source Project break; 204164064216a8433360745f69edddce19a606659163The Android Open Source Project default: 204264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Unknown return value...\n"); 204364064216a8433360745f69edddce19a606659163The Android Open Source Project break; 204464064216a8433360745f69edddce19a606659163The Android Open Source Project } 204564064216a8433360745f69edddce19a606659163The Android Open Source Project 204664064216a8433360745f69edddce19a606659163The Android Open Source Project} 204764064216a8433360745f69edddce19a606659163The Android Open Source Project 204864064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_get_ap_qos_params(ConParm_t parm[], U16 nParms) 204964064216a8433360745f69edddce19a606659163The Android Open Source Project{ 205064064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_AC_QOS_PARAMS pACQosParams; 205164064216a8433360745f69edddce19a606659163The Android Open Source Project int i = 0; 205264064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 resultCode; 205364064216a8433360745f69edddce19a606659163The Android Open Source Project 205464064216a8433360745f69edddce19a606659163The Android Open Source Project pACQosParams.uAC = i; 205564064216a8433360745f69edddce19a606659163The Android Open Source Project /* Read AC 0 parameters - just to check if connected to QOS AP etc */ 205664064216a8433360745f69edddce19a606659163The Android Open Source Project resultCode = TI_GetAPQosParameters(g_id_adapter, &pACQosParams); 205764064216a8433360745f69edddce19a606659163The Android Open Source Project 205864064216a8433360745f69edddce19a606659163The Android Open Source Project switch (resultCode) 205964064216a8433360745f69edddce19a606659163The Android Open Source Project { 206064064216a8433360745f69edddce19a606659163The Android Open Source Project case OK: 206164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("AP QOS Parameters:\n"); 206264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("+----+-------------+----------+-----------+-----------+-----------+\n"); 206364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("| AC | AdmCtrlFlag | AIFS | CwMin | CwMax | TXOPLimit |\n"); 206464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("+----+-------------+----------+-----------+-----------+-----------+\n"); 206564064216a8433360745f69edddce19a606659163The Android Open Source Project 206664064216a8433360745f69edddce19a606659163The Android Open Source Project 206764064216a8433360745f69edddce19a606659163The Android Open Source Project for (i=0; i<4; i++) 206864064216a8433360745f69edddce19a606659163The Android Open Source Project { 206964064216a8433360745f69edddce19a606659163The Android Open Source Project pACQosParams.uAC = i; 207064064216a8433360745f69edddce19a606659163The Android Open Source Project resultCode = TI_GetAPQosParameters(g_id_adapter, &pACQosParams); 207164064216a8433360745f69edddce19a606659163The Android Open Source Project 207264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("| %2d | %11d | %8d | %9d | %9d | %9d |\n",i, 207364064216a8433360745f69edddce19a606659163The Android Open Source Project pACQosParams.uAssocAdmissionCtrlFlag, 207464064216a8433360745f69edddce19a606659163The Android Open Source Project pACQosParams.uAIFS, 207564064216a8433360745f69edddce19a606659163The Android Open Source Project pACQosParams.uCwMin, 207664064216a8433360745f69edddce19a606659163The Android Open Source Project pACQosParams.uCwMax, 207764064216a8433360745f69edddce19a606659163The Android Open Source Project pACQosParams.uTXOPLimit); 207864064216a8433360745f69edddce19a606659163The Android Open Source Project } 207964064216a8433360745f69edddce19a606659163The Android Open Source Project 208064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("+----+-------------+----------+-----------+-----------+-----------+\n"); 208164064216a8433360745f69edddce19a606659163The Android Open Source Project break; 208264064216a8433360745f69edddce19a606659163The Android Open Source Project case NOT_CONNECTED: 208364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Not connected to an AP...\n"); 208464064216a8433360745f69edddce19a606659163The Android Open Source Project break; 208564064216a8433360745f69edddce19a606659163The Android Open Source Project case NO_QOS_AP: 208664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("AP does not support QOS...\n"); 208764064216a8433360745f69edddce19a606659163The Android Open Source Project break; 208864064216a8433360745f69edddce19a606659163The Android Open Source Project case NOK: 208964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Invalid parameter...\n"); 209064064216a8433360745f69edddce19a606659163The Android Open Source Project break; 209164064216a8433360745f69edddce19a606659163The Android Open Source Project default: 209264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Unknown return value...\n"); 209364064216a8433360745f69edddce19a606659163The Android Open Source Project break; 209464064216a8433360745f69edddce19a606659163The Android Open Source Project } 209564064216a8433360745f69edddce19a606659163The Android Open Source Project 209664064216a8433360745f69edddce19a606659163The Android Open Source Project} 209764064216a8433360745f69edddce19a606659163The Android Open Source Project 209864064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_get_ap_qos_capabilities(ConParm_t parm[], U16 nParms) 209964064216a8433360745f69edddce19a606659163The Android Open Source Project{ 210064064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_AP_QOS_CAPABILITIES_PARAMS pAPQosCapabiltiesParams; 210164064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 resultCode; 210264064216a8433360745f69edddce19a606659163The Android Open Source Project 210364064216a8433360745f69edddce19a606659163The Android Open Source Project resultCode = TI_GetAPQosCapabilitesParameters(g_id_adapter, &pAPQosCapabiltiesParams); 210464064216a8433360745f69edddce19a606659163The Android Open Source Project 210564064216a8433360745f69edddce19a606659163The Android Open Source Project switch (resultCode) 210664064216a8433360745f69edddce19a606659163The Android Open Source Project { 210764064216a8433360745f69edddce19a606659163The Android Open Source Project case TI_RESULT_OK: 210864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("AP Qos Capabilities:\n QOSFlag = %d\n APSDFlag = %d\n",pAPQosCapabiltiesParams.uQOSFlag,pAPQosCapabiltiesParams.uAPSDFlag); 210964064216a8433360745f69edddce19a606659163The Android Open Source Project break; 211064064216a8433360745f69edddce19a606659163The Android Open Source Project case NOT_CONNECTED: 211164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Not connected to an AP...\n"); 211264064216a8433360745f69edddce19a606659163The Android Open Source Project break; 211364064216a8433360745f69edddce19a606659163The Android Open Source Project case NO_QOS_AP: 211464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("AP does not support QOS...\n"); 211564064216a8433360745f69edddce19a606659163The Android Open Source Project break; 211664064216a8433360745f69edddce19a606659163The Android Open Source Project default: 211764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Unknown return value...\n"); 211864064216a8433360745f69edddce19a606659163The Android Open Source Project break; 211964064216a8433360745f69edddce19a606659163The Android Open Source Project } 212064064216a8433360745f69edddce19a606659163The Android Open Source Project 212164064216a8433360745f69edddce19a606659163The Android Open Source Project return; 212264064216a8433360745f69edddce19a606659163The Android Open Source Project} 212364064216a8433360745f69edddce19a606659163The Android Open Source Project 212464064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_get_ac_status(ConParm_t parm[], U16 nParms) 212564064216a8433360745f69edddce19a606659163The Android Open Source Project{ 212664064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_AC_UPSD_STATUS_PARAMS pAcStatusParams; 212764064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 resultCode; 212864064216a8433360745f69edddce19a606659163The Android Open Source Project 212964064216a8433360745f69edddce19a606659163The Android Open Source Project pAcStatusParams.uAC = parm[0].value; 213064064216a8433360745f69edddce19a606659163The Android Open Source Project 213164064216a8433360745f69edddce19a606659163The Android Open Source Project resultCode = TI_GetCurrentACStatus(g_id_adapter, &pAcStatusParams); 213264064216a8433360745f69edddce19a606659163The Android Open Source Project 213364064216a8433360745f69edddce19a606659163The Android Open Source Project switch (resultCode) 213464064216a8433360745f69edddce19a606659163The Android Open Source Project { 213564064216a8433360745f69edddce19a606659163The Android Open Source Project case TI_RESULT_OK: 213664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("AC %d Status:\nCurrentUAPSDStatus = %d (0=PS_POLL,1=UPSD,2=PS_NONE)\nCurrentAdmissionStatus = %d(0=NOT_ADMITED,1=WAIT,2=ADMITED)\n", 213764064216a8433360745f69edddce19a606659163The Android Open Source Project pAcStatusParams.uAC, 213864064216a8433360745f69edddce19a606659163The Android Open Source Project pAcStatusParams.uCurrentUAPSDStatus, 213964064216a8433360745f69edddce19a606659163The Android Open Source Project pAcStatusParams.pCurrentAdmissionStatus); 214064064216a8433360745f69edddce19a606659163The Android Open Source Project break; 214164064216a8433360745f69edddce19a606659163The Android Open Source Project case NOT_CONNECTED: 214264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Not connected to an AP...\n"); 214364064216a8433360745f69edddce19a606659163The Android Open Source Project break; 214464064216a8433360745f69edddce19a606659163The Android Open Source Project case NO_QOS_AP: 214564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("AP does not support QOS...\n"); 214664064216a8433360745f69edddce19a606659163The Android Open Source Project break; 214764064216a8433360745f69edddce19a606659163The Android Open Source Project case NOK: 214864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Invalid parameters...\n"); 214964064216a8433360745f69edddce19a606659163The Android Open Source Project break; 215064064216a8433360745f69edddce19a606659163The Android Open Source Project default: 215164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Unknown return value...\n"); 215264064216a8433360745f69edddce19a606659163The Android Open Source Project break; 215364064216a8433360745f69edddce19a606659163The Android Open Source Project } 215464064216a8433360745f69edddce19a606659163The Android Open Source Project 215564064216a8433360745f69edddce19a606659163The Android Open Source Project} 215664064216a8433360745f69edddce19a606659163The Android Open Source Project 215764064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_get_desired_ps_mode(ConParm_t parm[], U16 nParms) 215864064216a8433360745f69edddce19a606659163The Android Open Source Project{ 215964064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_QOS_DESIRED_PS_MODE pDesiredPsMode; 216064064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 resultCode; 216164064216a8433360745f69edddce19a606659163The Android Open Source Project 216264064216a8433360745f69edddce19a606659163The Android Open Source Project resultCode = TI_GetDesiredPsMode(g_id_adapter, &pDesiredPsMode); 216364064216a8433360745f69edddce19a606659163The Android Open Source Project 216464064216a8433360745f69edddce19a606659163The Android Open Source Project switch (resultCode) 216564064216a8433360745f69edddce19a606659163The Android Open Source Project { 216664064216a8433360745f69edddce19a606659163The Android Open Source Project case TI_RESULT_OK: 216764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("\n\ 216864064216a8433360745f69edddce19a606659163The Android Open Source ProjectDesired PS Mode (0=PS_POLL, 1=UPSD, 2=PS_NONE):\n\ 216964064216a8433360745f69edddce19a606659163The Android Open Source Project===============================================\n\ 217064064216a8433360745f69edddce19a606659163The Android Open Source ProjectGeneral Desired Ps Mode = %d\n\ 217164064216a8433360745f69edddce19a606659163The Android Open Source Project BE_AC Desired Ps Mode = %d\n\ 217264064216a8433360745f69edddce19a606659163The Android Open Source Project BK_AC Desired Ps Mode = %d\n\ 217364064216a8433360745f69edddce19a606659163The Android Open Source Project VI_AC Desired Ps Mode = %d\n\ 217464064216a8433360745f69edddce19a606659163The Android Open Source Project VO_AC Desired Ps Mode = %d\n", 217564064216a8433360745f69edddce19a606659163The Android Open Source Project pDesiredPsMode.uDesiredPsMode, 217664064216a8433360745f69edddce19a606659163The Android Open Source Project pDesiredPsMode.uDesiredWmeAcPsMode[QOS_AC_BE], 217764064216a8433360745f69edddce19a606659163The Android Open Source Project pDesiredPsMode.uDesiredWmeAcPsMode[QOS_AC_BK], 217864064216a8433360745f69edddce19a606659163The Android Open Source Project pDesiredPsMode.uDesiredWmeAcPsMode[QOS_AC_VI], 217964064216a8433360745f69edddce19a606659163The Android Open Source Project pDesiredPsMode.uDesiredWmeAcPsMode[QOS_AC_VO]); 218064064216a8433360745f69edddce19a606659163The Android Open Source Project 218164064216a8433360745f69edddce19a606659163The Android Open Source Project break; 218264064216a8433360745f69edddce19a606659163The Android Open Source Project case NOK: 218364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Invalid parameters...\n"); 218464064216a8433360745f69edddce19a606659163The Android Open Source Project break; 218564064216a8433360745f69edddce19a606659163The Android Open Source Project default: 218664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Unknown return value...\n"); 218764064216a8433360745f69edddce19a606659163The Android Open Source Project break; 218864064216a8433360745f69edddce19a606659163The Android Open Source Project } 218964064216a8433360745f69edddce19a606659163The Android Open Source Project} 219064064216a8433360745f69edddce19a606659163The Android Open Source Project 219164064216a8433360745f69edddce19a606659163The Android Open Source Project 219264064216a8433360745f69edddce19a606659163The Android Open Source Project 219364064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_medium_usage_threshold(ConParm_t parm[], U16 nParms) 219464064216a8433360745f69edddce19a606659163The Android Open Source Project{ 219564064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_THRESHOLD_CROSS_PARAMS pThresholdCrossParams; 219664064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 resultCode; 219764064216a8433360745f69edddce19a606659163The Android Open Source Project 219864064216a8433360745f69edddce19a606659163The Android Open Source Project if (nParms == 3) /* If user supplied 3 parameters - this is a SET operation */ 219964064216a8433360745f69edddce19a606659163The Android Open Source Project { 220064064216a8433360745f69edddce19a606659163The Android Open Source Project pThresholdCrossParams.uAC = parm[0].value; 220164064216a8433360745f69edddce19a606659163The Android Open Source Project pThresholdCrossParams.uHighThreshold = parm[1].value; 220264064216a8433360745f69edddce19a606659163The Android Open Source Project pThresholdCrossParams.uLowThreshold = parm[2].value; 220364064216a8433360745f69edddce19a606659163The Android Open Source Project 220464064216a8433360745f69edddce19a606659163The Android Open Source Project if (pThresholdCrossParams.uLowThreshold > pThresholdCrossParams.uHighThreshold) 220564064216a8433360745f69edddce19a606659163The Android Open Source Project { 220664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Low threshold cannot be higher than the High threshold...Aborting...\n"); 220764064216a8433360745f69edddce19a606659163The Android Open Source Project } 220864064216a8433360745f69edddce19a606659163The Android Open Source Project else 220964064216a8433360745f69edddce19a606659163The Android Open Source Project { 221064064216a8433360745f69edddce19a606659163The Android Open Source Project resultCode = TI_SetMediumUsageThreshold(g_id_adapter, &pThresholdCrossParams); 221164064216a8433360745f69edddce19a606659163The Android Open Source Project if (resultCode == TI_RESULT_OK) 221264064216a8433360745f69edddce19a606659163The Android Open Source Project { 221364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Medium usage threshold for AC %d has been set to:\n LowThreshold = %d\n HighThreshold = %d\n", 221464064216a8433360745f69edddce19a606659163The Android Open Source Project pThresholdCrossParams.uAC, 221564064216a8433360745f69edddce19a606659163The Android Open Source Project pThresholdCrossParams.uLowThreshold, 221664064216a8433360745f69edddce19a606659163The Android Open Source Project pThresholdCrossParams.uHighThreshold); 221764064216a8433360745f69edddce19a606659163The Android Open Source Project } 221864064216a8433360745f69edddce19a606659163The Android Open Source Project else 221964064216a8433360745f69edddce19a606659163The Android Open Source Project { 222064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Error...\n"); 222164064216a8433360745f69edddce19a606659163The Android Open Source Project } 222264064216a8433360745f69edddce19a606659163The Android Open Source Project } 222364064216a8433360745f69edddce19a606659163The Android Open Source Project 222464064216a8433360745f69edddce19a606659163The Android Open Source Project } 222564064216a8433360745f69edddce19a606659163The Android Open Source Project else if (nParms == 1) /* Only 1 parameter means a GET operation */ 222664064216a8433360745f69edddce19a606659163The Android Open Source Project { 222764064216a8433360745f69edddce19a606659163The Android Open Source Project pThresholdCrossParams.uAC = parm[0].value; 222864064216a8433360745f69edddce19a606659163The Android Open Source Project pThresholdCrossParams.uLowThreshold = 0; 222964064216a8433360745f69edddce19a606659163The Android Open Source Project pThresholdCrossParams.uHighThreshold = 0; 223064064216a8433360745f69edddce19a606659163The Android Open Source Project 223164064216a8433360745f69edddce19a606659163The Android Open Source Project resultCode = TI_GetMediumUsageThreshold(g_id_adapter, &pThresholdCrossParams); 223264064216a8433360745f69edddce19a606659163The Android Open Source Project 223364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Medium usage threshold for AC %d:\n LowThreshold = %d\n HighThreshold = %d\n", 223464064216a8433360745f69edddce19a606659163The Android Open Source Project pThresholdCrossParams.uAC, 223564064216a8433360745f69edddce19a606659163The Android Open Source Project pThresholdCrossParams.uLowThreshold, 223664064216a8433360745f69edddce19a606659163The Android Open Source Project pThresholdCrossParams.uHighThreshold); 223764064216a8433360745f69edddce19a606659163The Android Open Source Project } 223864064216a8433360745f69edddce19a606659163The Android Open Source Project 223964064216a8433360745f69edddce19a606659163The Android Open Source Project} 224064064216a8433360745f69edddce19a606659163The Android Open Source Project 224164064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_phy_rate_threshold(ConParm_t parm[], U16 nParms) 224264064216a8433360745f69edddce19a606659163The Android Open Source Project{ 224364064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_THRESHOLD_CROSS_PARAMS pThresholdCrossParams; 224464064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 resultCode; 224564064216a8433360745f69edddce19a606659163The Android Open Source Project 224664064216a8433360745f69edddce19a606659163The Android Open Source Project if (nParms == 3) /* If user supplied 3 parameters - this is a SET operation */ 224764064216a8433360745f69edddce19a606659163The Android Open Source Project { 224864064216a8433360745f69edddce19a606659163The Android Open Source Project if ((is_value_rate(parm[1].value) == FALSE) || (is_value_rate(parm[2].value) == FALSE)) 224964064216a8433360745f69edddce19a606659163The Android Open Source Project { 225064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Invalid rate - PHY rate valid values are: 1,2,5,6,9,11,12,18,24,36,48,54\n"); 225164064216a8433360745f69edddce19a606659163The Android Open Source Project return; 225264064216a8433360745f69edddce19a606659163The Android Open Source Project } 225364064216a8433360745f69edddce19a606659163The Android Open Source Project 225464064216a8433360745f69edddce19a606659163The Android Open Source Project pThresholdCrossParams.uAC = parm[0].value; 225564064216a8433360745f69edddce19a606659163The Android Open Source Project pThresholdCrossParams.uHighThreshold = parm[1].value; 225664064216a8433360745f69edddce19a606659163The Android Open Source Project pThresholdCrossParams.uLowThreshold = parm[2].value; 225764064216a8433360745f69edddce19a606659163The Android Open Source Project 225864064216a8433360745f69edddce19a606659163The Android Open Source Project if (pThresholdCrossParams.uLowThreshold > pThresholdCrossParams.uHighThreshold) 225964064216a8433360745f69edddce19a606659163The Android Open Source Project { 226064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Low threshold cannot be higher than the High threshold...Aborting...\n"); 226164064216a8433360745f69edddce19a606659163The Android Open Source Project } 226264064216a8433360745f69edddce19a606659163The Android Open Source Project else 226364064216a8433360745f69edddce19a606659163The Android Open Source Project { 226464064216a8433360745f69edddce19a606659163The Android Open Source Project 226564064216a8433360745f69edddce19a606659163The Android Open Source Project resultCode = TI_SetPhyRateThreshold(g_id_adapter, &pThresholdCrossParams); 226664064216a8433360745f69edddce19a606659163The Android Open Source Project 226764064216a8433360745f69edddce19a606659163The Android Open Source Project if (resultCode == TI_RESULT_OK) 226864064216a8433360745f69edddce19a606659163The Android Open Source Project { 226964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("PHY rate threshold for AC %d has been set to:\n LowThreshold = %d\n HighThreshold = %d\n", 227064064216a8433360745f69edddce19a606659163The Android Open Source Project pThresholdCrossParams.uAC, 227164064216a8433360745f69edddce19a606659163The Android Open Source Project pThresholdCrossParams.uLowThreshold, 227264064216a8433360745f69edddce19a606659163The Android Open Source Project pThresholdCrossParams.uHighThreshold); 227364064216a8433360745f69edddce19a606659163The Android Open Source Project } 227464064216a8433360745f69edddce19a606659163The Android Open Source Project else 227564064216a8433360745f69edddce19a606659163The Android Open Source Project { 227664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Error...\n"); 227764064216a8433360745f69edddce19a606659163The Android Open Source Project } 227864064216a8433360745f69edddce19a606659163The Android Open Source Project } 227964064216a8433360745f69edddce19a606659163The Android Open Source Project } 228064064216a8433360745f69edddce19a606659163The Android Open Source Project else if (nParms == 1) 228164064216a8433360745f69edddce19a606659163The Android Open Source Project { 228264064216a8433360745f69edddce19a606659163The Android Open Source Project pThresholdCrossParams.uAC = parm[0].value; 228364064216a8433360745f69edddce19a606659163The Android Open Source Project pThresholdCrossParams.uLowThreshold = 0; 228464064216a8433360745f69edddce19a606659163The Android Open Source Project pThresholdCrossParams.uHighThreshold = 0; 228564064216a8433360745f69edddce19a606659163The Android Open Source Project 228664064216a8433360745f69edddce19a606659163The Android Open Source Project resultCode = TI_GetPhyRateThreshold(g_id_adapter, &pThresholdCrossParams); 228764064216a8433360745f69edddce19a606659163The Android Open Source Project 228864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("PHY rate threshold for AC %d:\n",pThresholdCrossParams.uAC); 228964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("LowThreshold = %s\n",print_rate((rate_e) pThresholdCrossParams.uLowThreshold)); 229064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("HighThreshold = %s\n",print_rate((rate_e) pThresholdCrossParams.uHighThreshold)); 229164064216a8433360745f69edddce19a606659163The Android Open Source Project } 229264064216a8433360745f69edddce19a606659163The Android Open Source Project 229364064216a8433360745f69edddce19a606659163The Android Open Source Project} 229464064216a8433360745f69edddce19a606659163The Android Open Source Project 229564064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_traffic_intensity_threshold(ConParm_t parm[], U16 nParms) 229664064216a8433360745f69edddce19a606659163The Android Open Source Project{ 229764064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_TRAFFIC_INTENSITY_THRESHOLD_PARAMS pTrafficIntensityThresholds; 229864064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 resultCode; 229964064216a8433360745f69edddce19a606659163The Android Open Source Project 230064064216a8433360745f69edddce19a606659163The Android Open Source Project if (nParms == 3) 230164064216a8433360745f69edddce19a606659163The Android Open Source Project { 230264064216a8433360745f69edddce19a606659163The Android Open Source Project pTrafficIntensityThresholds.uHighThreshold = parm[0].value; 230364064216a8433360745f69edddce19a606659163The Android Open Source Project pTrafficIntensityThresholds.uLowThreshold = parm[1].value; 230464064216a8433360745f69edddce19a606659163The Android Open Source Project pTrafficIntensityThresholds.TestInterval = parm[2].value; 230564064216a8433360745f69edddce19a606659163The Android Open Source Project 230664064216a8433360745f69edddce19a606659163The Android Open Source Project if (pTrafficIntensityThresholds.uLowThreshold >= pTrafficIntensityThresholds.uHighThreshold) 230764064216a8433360745f69edddce19a606659163The Android Open Source Project { 230864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Error: low threshold equal or greater than the high threshold...aborting...\n"); 230964064216a8433360745f69edddce19a606659163The Android Open Source Project } 231064064216a8433360745f69edddce19a606659163The Android Open Source Project 231164064216a8433360745f69edddce19a606659163The Android Open Source Project resultCode = TI_SetTrafficIntensityThresholds (g_id_adapter, &pTrafficIntensityThresholds); 231264064216a8433360745f69edddce19a606659163The Android Open Source Project 231364064216a8433360745f69edddce19a606659163The Android Open Source Project if (resultCode == TI_RESULT_OK) 231464064216a8433360745f69edddce19a606659163The Android Open Source Project { 231564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Successfully set traffic intensity thresholds...\n"); 231664064216a8433360745f69edddce19a606659163The Android Open Source Project 231764064216a8433360745f69edddce19a606659163The Android Open Source Project } 231864064216a8433360745f69edddce19a606659163The Android Open Source Project else 231964064216a8433360745f69edddce19a606659163The Android Open Source Project { 232064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Error: result code = %d\n",resultCode); 232164064216a8433360745f69edddce19a606659163The Android Open Source Project } 232264064216a8433360745f69edddce19a606659163The Android Open Source Project } 232364064216a8433360745f69edddce19a606659163The Android Open Source Project else if (nParms == 0) 232464064216a8433360745f69edddce19a606659163The Android Open Source Project { 232564064216a8433360745f69edddce19a606659163The Android Open Source Project resultCode = TI_GetTrafficIntensityThresholds (g_id_adapter, &pTrafficIntensityThresholds); 232664064216a8433360745f69edddce19a606659163The Android Open Source Project 232764064216a8433360745f69edddce19a606659163The Android Open Source Project if (resultCode == TI_RESULT_OK) 232864064216a8433360745f69edddce19a606659163The Android Open Source Project { 232964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Traffic intensity thresholds :\n HighThreshold = %d\n LowThreshold = %d\n TestInterval = %d\n", 233064064216a8433360745f69edddce19a606659163The Android Open Source Project pTrafficIntensityThresholds.uHighThreshold, 233164064216a8433360745f69edddce19a606659163The Android Open Source Project pTrafficIntensityThresholds.uLowThreshold, 233264064216a8433360745f69edddce19a606659163The Android Open Source Project pTrafficIntensityThresholds.TestInterval); 233364064216a8433360745f69edddce19a606659163The Android Open Source Project } 233464064216a8433360745f69edddce19a606659163The Android Open Source Project else 233564064216a8433360745f69edddce19a606659163The Android Open Source Project { 233664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Error: result code = %d\n",resultCode); 233764064216a8433360745f69edddce19a606659163The Android Open Source Project } 233864064216a8433360745f69edddce19a606659163The Android Open Source Project 233964064216a8433360745f69edddce19a606659163The Android Open Source Project } 234064064216a8433360745f69edddce19a606659163The Android Open Source Project 234164064216a8433360745f69edddce19a606659163The Android Open Source Project} 234264064216a8433360745f69edddce19a606659163The Android Open Source Project 234364064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_enable_traffic_events(ConParm_t parm[], U16 nParms) 234464064216a8433360745f69edddce19a606659163The Android Open Source Project{ 234564064216a8433360745f69edddce19a606659163The Android Open Source Project TI_ToggleTrafficIntensityEvents (g_id_adapter, (tiUINT32)TRUE); 234664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Traffic intensity thresholds enabled...\n"); 234764064216a8433360745f69edddce19a606659163The Android Open Source Project} 234864064216a8433360745f69edddce19a606659163The Android Open Source Project 234964064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_disable_traffic_events(ConParm_t parm[], U16 nParms) 235064064216a8433360745f69edddce19a606659163The Android Open Source Project{ 235164064216a8433360745f69edddce19a606659163The Android Open Source Project TI_ToggleTrafficIntensityEvents (g_id_adapter, (tiUINT32)FALSE); 235264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Traffic intensity thresholds disabled...\n"); 235364064216a8433360745f69edddce19a606659163The Android Open Source Project} 235464064216a8433360745f69edddce19a606659163The Android Open Source Project 235564064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_config_tx_classifier(ConParm_t parm[], U16 nParms) 235664064216a8433360745f69edddce19a606659163The Android Open Source Project{ 235764064216a8433360745f69edddce19a606659163The Android Open Source Project NWIF_CLSFR_ENTRY inParamsBuff[CLI_NUM_OF_TX_CLASFR_CON]; 235864064216a8433360745f69edddce19a606659163The Android Open Source Project 235964064216a8433360745f69edddce19a606659163The Android Open Source Project UINT32 inParamsBuffLen = 0; 236064064216a8433360745f69edddce19a606659163The Android Open Source Project UINT8 i,ic,iv=0; 236164064216a8433360745f69edddce19a606659163The Android Open Source Project 236264064216a8433360745f69edddce19a606659163The Android Open Source Project for( ic=0,iv=0; ic<CLI_NUM_OF_TX_CLASFR_CON; ic++) 236364064216a8433360745f69edddce19a606659163The Android Open Source Project { 236464064216a8433360745f69edddce19a606659163The Android Open Source Project inParamsBuff[ic].port = (UINT16 )parm[iv].value; 236564064216a8433360745f69edddce19a606659163The Android Open Source Project iv++; 236664064216a8433360745f69edddce19a606659163The Android Open Source Project inParamsBuff[ic].pri = (UINT16 )parm[iv].value; 236764064216a8433360745f69edddce19a606659163The Android Open Source Project iv++; 236864064216a8433360745f69edddce19a606659163The Android Open Source Project inParamsBuff[ic].ip = 0; 236964064216a8433360745f69edddce19a606659163The Android Open Source Project 237064064216a8433360745f69edddce19a606659163The Android Open Source Project 237164064216a8433360745f69edddce19a606659163The Android Open Source Project inParamsBuffLen += sizeof(NWIF_CLSFR_ENTRY); 237264064216a8433360745f69edddce19a606659163The Android Open Source Project 237364064216a8433360745f69edddce19a606659163The Android Open Source Project } 237464064216a8433360745f69edddce19a606659163The Android Open Source Project for( i=0; i<4; i++,iv++) 237564064216a8433360745f69edddce19a606659163The Android Open Source Project { 237664064216a8433360745f69edddce19a606659163The Android Open Source Project for(ic=0;ic<CLI_NUM_OF_TX_CLASFR_CON;ic++) 237764064216a8433360745f69edddce19a606659163The Android Open Source Project { 237864064216a8433360745f69edddce19a606659163The Android Open Source Project inParamsBuff[ic].ip |= parm[iv].value << i * 8; 237964064216a8433360745f69edddce19a606659163The Android Open Source Project } 238064064216a8433360745f69edddce19a606659163The Android Open Source Project } 238164064216a8433360745f69edddce19a606659163The Android Open Source Project} 238264064216a8433360745f69edddce19a606659163The Android Open Source Project 238364064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_remove_clsfr_entry (ConParm_t parm[], U16 uParms) 238464064216a8433360745f69edddce19a606659163The Android Open Source Project{ 238564064216a8433360745f69edddce19a606659163The Android Open Source Project clsfr_tableEntry_t newUserTableEntry; 238664064216a8433360745f69edddce19a606659163The Android Open Source Project int i; 238764064216a8433360745f69edddce19a606659163The Android Open Source Project clsfrTypeAndSupport ClsfrType; 238864064216a8433360745f69edddce19a606659163The Android Open Source Project tiINT32 res; 238964064216a8433360745f69edddce19a606659163The Android Open Source Project 239064064216a8433360745f69edddce19a606659163The Android Open Source Project TI_GetClsfrType(g_id_adapter, &ClsfrType ); 239164064216a8433360745f69edddce19a606659163The Android Open Source Project 239264064216a8433360745f69edddce19a606659163The Android Open Source Project /* Possibly needs to be removed if we want to keep this routine working for old classifier as well */ 239364064216a8433360745f69edddce19a606659163The Android Open Source Project if (ClsfrType.oldVersionSupport == TRUE) 239464064216a8433360745f69edddce19a606659163The Android Open Source Project { 239564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Old classifier support detected...Remove action disabled (use old classifier config)\n"); 239664064216a8433360745f69edddce19a606659163The Android Open Source Project return; 239764064216a8433360745f69edddce19a606659163The Android Open Source Project } 239864064216a8433360745f69edddce19a606659163The Android Open Source Project 239964064216a8433360745f69edddce19a606659163The Android Open Source Project if (uParms >=2) 240064064216a8433360745f69edddce19a606659163The Android Open Source Project newUserTableEntry.DTag = (tiUINT8) parm[1].value; 240164064216a8433360745f69edddce19a606659163The Android Open Source Project 240264064216a8433360745f69edddce19a606659163The Android Open Source Project switch(parm[0].value) 240364064216a8433360745f69edddce19a606659163The Android Open Source Project { 240464064216a8433360745f69edddce19a606659163The Android Open Source Project case D_TAG_CLSFR: 240564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Cannot remove D_TAG classifier entry!\n"); 240664064216a8433360745f69edddce19a606659163The Android Open Source Project return; 240764064216a8433360745f69edddce19a606659163The Android Open Source Project break; 240864064216a8433360745f69edddce19a606659163The Android Open Source Project case DSCP_CLSFR: 240964064216a8433360745f69edddce19a606659163The Android Open Source Project if (uParms != 3) 241064064216a8433360745f69edddce19a606659163The Android Open Source Project { 241164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("DSCP_CLSFR Entry type, wrong number of parameters(too many?)\n"); 241264064216a8433360745f69edddce19a606659163The Android Open Source Project return; 241364064216a8433360745f69edddce19a606659163The Android Open Source Project } 241464064216a8433360745f69edddce19a606659163The Android Open Source Project newUserTableEntry.Dscp.CodePoint = (tiUINT8) parm[2].value; 241564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Removing DSCP_CLSFR classifier entry\nD-Tag = %d\nCodePoint = %d\n",newUserTableEntry.DTag,newUserTableEntry.Dscp.CodePoint); 241664064216a8433360745f69edddce19a606659163The Android Open Source Project break; 241764064216a8433360745f69edddce19a606659163The Android Open Source Project case PORT_CLSFR: 241864064216a8433360745f69edddce19a606659163The Android Open Source Project if (uParms != 3) 241964064216a8433360745f69edddce19a606659163The Android Open Source Project { 242064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("PORT_CLSFR Entry type, wrong number of parameters(too many?)\n"); 242164064216a8433360745f69edddce19a606659163The Android Open Source Project return; 242264064216a8433360745f69edddce19a606659163The Android Open Source Project } 242364064216a8433360745f69edddce19a606659163The Android Open Source Project newUserTableEntry.Dscp.DstPortNum = (tiUINT16) parm[2].value; 242464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Removing PORT_CLSFR classifier entry\nD-Tag = %d\nPort = %d\n",newUserTableEntry.DTag,newUserTableEntry.Dscp.DstPortNum); 242564064216a8433360745f69edddce19a606659163The Android Open Source Project break; 242664064216a8433360745f69edddce19a606659163The Android Open Source Project case IPPORT_CLSFR: 242764064216a8433360745f69edddce19a606659163The Android Open Source Project if (uParms != 7) 242864064216a8433360745f69edddce19a606659163The Android Open Source Project { 242964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("PORT_CLSFR Entry type, wrong number of parameters\n"); 243064064216a8433360745f69edddce19a606659163The Android Open Source Project return; 243164064216a8433360745f69edddce19a606659163The Android Open Source Project } 243264064216a8433360745f69edddce19a606659163The Android Open Source Project newUserTableEntry.Dscp.DstIPPort.DstPortNum = (tiUINT16) parm[2].value; 243364064216a8433360745f69edddce19a606659163The Android Open Source Project newUserTableEntry.Dscp.DstIPPort.DstIPAddress = 0; 243464064216a8433360745f69edddce19a606659163The Android Open Source Project for(i=0; i<4; i++) 243564064216a8433360745f69edddce19a606659163The Android Open Source Project { 243664064216a8433360745f69edddce19a606659163The Android Open Source Project newUserTableEntry.Dscp.DstIPPort.DstIPAddress |= parm[i+3].value << i * 8; 243764064216a8433360745f69edddce19a606659163The Android Open Source Project } 243864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Removing IPPORT_CLSFR classifier entry\nD-Tag = %d\nPort = %d\nIP = %3d.%d.%d.%d\n", 243964064216a8433360745f69edddce19a606659163The Android Open Source Project newUserTableEntry.DTag, 244064064216a8433360745f69edddce19a606659163The Android Open Source Project newUserTableEntry.Dscp.DstIPPort.DstPortNum, 244164064216a8433360745f69edddce19a606659163The Android Open Source Project (int)parm[3].value,(int)parm[4].value,(int)parm[5].value,(int)parm[6].value); 244264064216a8433360745f69edddce19a606659163The Android Open Source Project break; 244364064216a8433360745f69edddce19a606659163The Android Open Source Project default: 244464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Unknown Classifier Type - Command aborted!\n"); 244564064216a8433360745f69edddce19a606659163The Android Open Source Project return; 244664064216a8433360745f69edddce19a606659163The Android Open Source Project break; 244764064216a8433360745f69edddce19a606659163The Android Open Source Project } 244864064216a8433360745f69edddce19a606659163The Android Open Source Project 244964064216a8433360745f69edddce19a606659163The Android Open Source Project res = TI_RemoveClassifierEntry(g_id_adapter, &newUserTableEntry); 245064064216a8433360745f69edddce19a606659163The Android Open Source Project if (res) 245164064216a8433360745f69edddce19a606659163The Android Open Source Project { 245264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Failed to remove classifier entry...return code = %d\n",res); 245364064216a8433360745f69edddce19a606659163The Android Open Source Project } 245464064216a8433360745f69edddce19a606659163The Android Open Source Project 245564064216a8433360745f69edddce19a606659163The Android Open Source Project} 245664064216a8433360745f69edddce19a606659163The Android Open Source Project 245764064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_insert_clsfr_entry (ConParm_t parm[], U16 uParms) 245864064216a8433360745f69edddce19a606659163The Android Open Source Project{ 245964064216a8433360745f69edddce19a606659163The Android Open Source Project clsfr_tableEntry_t newUserTableEntry; 246064064216a8433360745f69edddce19a606659163The Android Open Source Project int i; 246164064216a8433360745f69edddce19a606659163The Android Open Source Project clsfrTypeAndSupport ClsfrType; 246264064216a8433360745f69edddce19a606659163The Android Open Source Project tiINT32 res; 246364064216a8433360745f69edddce19a606659163The Android Open Source Project 246464064216a8433360745f69edddce19a606659163The Android Open Source Project TI_GetClsfrType(g_id_adapter, &ClsfrType ); 246564064216a8433360745f69edddce19a606659163The Android Open Source Project 246664064216a8433360745f69edddce19a606659163The Android Open Source Project if (ClsfrType.oldVersionSupport == TRUE) 246764064216a8433360745f69edddce19a606659163The Android Open Source Project { 246864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Old classifier support detected...Insert action disabled (use old classifier config)\n"); 246964064216a8433360745f69edddce19a606659163The Android Open Source Project return; 247064064216a8433360745f69edddce19a606659163The Android Open Source Project } 247164064216a8433360745f69edddce19a606659163The Android Open Source Project 247264064216a8433360745f69edddce19a606659163The Android Open Source Project if (uParms >=2) 247364064216a8433360745f69edddce19a606659163The Android Open Source Project newUserTableEntry.DTag = (UINT8) parm[1].value; 247464064216a8433360745f69edddce19a606659163The Android Open Source Project 247564064216a8433360745f69edddce19a606659163The Android Open Source Project switch(parm[0].value) 247664064216a8433360745f69edddce19a606659163The Android Open Source Project { 247764064216a8433360745f69edddce19a606659163The Android Open Source Project case D_TAG_CLSFR: 247864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Cannot insert D_TAG classifier entry!\n"); 247964064216a8433360745f69edddce19a606659163The Android Open Source Project return; 248064064216a8433360745f69edddce19a606659163The Android Open Source Project break; 248164064216a8433360745f69edddce19a606659163The Android Open Source Project case DSCP_CLSFR: 248264064216a8433360745f69edddce19a606659163The Android Open Source Project if (uParms != 3) 248364064216a8433360745f69edddce19a606659163The Android Open Source Project { 248464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("DSCP_CLSFR Entry type, wrong number of parameters(too many?)\n"); 248564064216a8433360745f69edddce19a606659163The Android Open Source Project return; 248664064216a8433360745f69edddce19a606659163The Android Open Source Project } 248764064216a8433360745f69edddce19a606659163The Android Open Source Project newUserTableEntry.Dscp.CodePoint = (UINT8) parm[2].value; 248864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Inserting new DSCP_CLSFR classifier entry\nD-Tag = %d\nCodePoint = %d\n",newUserTableEntry.DTag,newUserTableEntry.Dscp.CodePoint); 248964064216a8433360745f69edddce19a606659163The Android Open Source Project break; 249064064216a8433360745f69edddce19a606659163The Android Open Source Project case PORT_CLSFR: 249164064216a8433360745f69edddce19a606659163The Android Open Source Project if (uParms != 3) 249264064216a8433360745f69edddce19a606659163The Android Open Source Project { 249364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("PORT_CLSFR Entry type, wrong number of parameters(too many?)\n"); 249464064216a8433360745f69edddce19a606659163The Android Open Source Project return; 249564064216a8433360745f69edddce19a606659163The Android Open Source Project } 249664064216a8433360745f69edddce19a606659163The Android Open Source Project newUserTableEntry.Dscp.DstPortNum = (UINT16) parm[2].value; 249764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Inserting new PORT_CLSFR classifier entry\nD-Tag = %d\nPort = %d\n",newUserTableEntry.DTag,newUserTableEntry.Dscp.DstPortNum); 249864064216a8433360745f69edddce19a606659163The Android Open Source Project break; 249964064216a8433360745f69edddce19a606659163The Android Open Source Project case IPPORT_CLSFR: 250064064216a8433360745f69edddce19a606659163The Android Open Source Project if (uParms != 7) 250164064216a8433360745f69edddce19a606659163The Android Open Source Project { 250264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("PORT_CLSFR Entry type, wrong number of parameters\n"); 250364064216a8433360745f69edddce19a606659163The Android Open Source Project return; 250464064216a8433360745f69edddce19a606659163The Android Open Source Project } 250564064216a8433360745f69edddce19a606659163The Android Open Source Project newUserTableEntry.Dscp.DstIPPort.DstPortNum = (UINT16) parm[2].value; 250664064216a8433360745f69edddce19a606659163The Android Open Source Project newUserTableEntry.Dscp.DstIPPort.DstIPAddress = 0; 250764064216a8433360745f69edddce19a606659163The Android Open Source Project for(i=0; i<4; i++) 250864064216a8433360745f69edddce19a606659163The Android Open Source Project { 250964064216a8433360745f69edddce19a606659163The Android Open Source Project newUserTableEntry.Dscp.DstIPPort.DstIPAddress |= parm[i+3].value << i * 8; 251064064216a8433360745f69edddce19a606659163The Android Open Source Project } 251164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Inserting new IPPORT_CLSFR classifier entry\nD-Tag = %d\nPort = %d\nIP = %3d.%d.%d.%d\n", 251264064216a8433360745f69edddce19a606659163The Android Open Source Project newUserTableEntry.DTag, 251364064216a8433360745f69edddce19a606659163The Android Open Source Project newUserTableEntry.Dscp.DstIPPort.DstPortNum, 251464064216a8433360745f69edddce19a606659163The Android Open Source Project (int)parm[3].value,(int)parm[4].value,(int)parm[5].value,(int)parm[6].value); 251564064216a8433360745f69edddce19a606659163The Android Open Source Project break; 251664064216a8433360745f69edddce19a606659163The Android Open Source Project default: 251764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Unknown Classifier Type - Command aborted!\n"); 251864064216a8433360745f69edddce19a606659163The Android Open Source Project return; 251964064216a8433360745f69edddce19a606659163The Android Open Source Project break; 252064064216a8433360745f69edddce19a606659163The Android Open Source Project } 252164064216a8433360745f69edddce19a606659163The Android Open Source Project 252264064216a8433360745f69edddce19a606659163The Android Open Source Project res = TI_ConfigTxClassifier(g_id_adapter, sizeof(clsfr_tableEntry_t), (UINT8 *)&newUserTableEntry); 252364064216a8433360745f69edddce19a606659163The Android Open Source Project if (res) 252464064216a8433360745f69edddce19a606659163The Android Open Source Project { 252564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Failed to insert new classifier entry...return code = %d\n",res); 252664064216a8433360745f69edddce19a606659163The Android Open Source Project } 252764064216a8433360745f69edddce19a606659163The Android Open Source Project 252864064216a8433360745f69edddce19a606659163The Android Open Source Project} 252964064216a8433360745f69edddce19a606659163The Android Open Source Project 253064064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_poll_ap_packets(ConParm_t parm[], U16 nParms) 253164064216a8433360745f69edddce19a606659163The Android Open Source Project{ 253264064216a8433360745f69edddce19a606659163The Android Open Source Project if (nParms == 0) 253364064216a8433360745f69edddce19a606659163The Android Open Source Project { 253464064216a8433360745f69edddce19a606659163The Android Open Source Project TI_PollApPackets (g_id_adapter); 253564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Poll AP packets cmd sent to driver...\n"); 253664064216a8433360745f69edddce19a606659163The Android Open Source Project} 253764064216a8433360745f69edddce19a606659163The Android Open Source Project else if (nParms == 1) 253864064216a8433360745f69edddce19a606659163The Android Open Source Project { 253964064216a8433360745f69edddce19a606659163The Android Open Source Project TI_PollApPacketsFromAC (g_id_adapter,parm[0].value); 254064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal ("Poll AP packets (From AC %d) cmd sent to driver...\n",(int)parm[0].value); 254164064216a8433360745f69edddce19a606659163The Android Open Source Project } 254264064216a8433360745f69edddce19a606659163The Android Open Source Project 254364064216a8433360745f69edddce19a606659163The Android Open Source Project} 254464064216a8433360745f69edddce19a606659163The Android Open Source Project 254564064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_modify_rate(ConParm_t parm[], U16 nParms) 254664064216a8433360745f69edddce19a606659163The Android Open Source Project{ 254764064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 data = 0, data1 = 0; 254864064216a8433360745f69edddce19a606659163The Android Open Source Project 254964064216a8433360745f69edddce19a606659163The Android Open Source Project if( !TI_GetDesiredRate(g_id_adapter, &data1 ) ) 255064064216a8433360745f69edddce19a606659163The Android Open Source Project { 255164064216a8433360745f69edddce19a606659163The Android Open Source Project TI_GetCurrentRate(g_id_adapter, &data ); 255264064216a8433360745f69edddce19a606659163The Android Open Source Project 255364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Rate: %s", print_rate(data)); 255464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(", desired rate: %s\n", print_rate(data1)); 255564064216a8433360745f69edddce19a606659163The Android Open Source Project } 255664064216a8433360745f69edddce19a606659163The Android Open Source Project} 255764064216a8433360745f69edddce19a606659163The Android Open Source Project 255864064216a8433360745f69edddce19a606659163The Android Open Source Project 255964064216a8433360745f69edddce19a606659163The Android Open Source Project#if 0 /* not in use*/ 256064064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_net_current_regdomain(ConParm_t parm[], U16 nParms) 256164064216a8433360745f69edddce19a606659163The Android Open Source Project{ 256264064216a8433360745f69edddce19a606659163The Android Open Source Project UNUSED(nParms); 256364064216a8433360745f69edddce19a606659163The Android Open Source Project UNUSED(parm); 256464064216a8433360745f69edddce19a606659163The Android Open Source Project 256564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("not implemented...\n"); 256664064216a8433360745f69edddce19a606659163The Android Open Source Project} 256764064216a8433360745f69edddce19a606659163The Android Open Source Project 256864064216a8433360745f69edddce19a606659163The Android Open Source Project static named_value_t network_type_name[] = { 256964064216a8433360745f69edddce19a606659163The Android Open Source Project { os802_11FH, "FH" } , 257064064216a8433360745f69edddce19a606659163The Android Open Source Project { os802_11DS, "DS" } , 257164064216a8433360745f69edddce19a606659163The Android Open Source Project { os802_11OFDM5, "OFDM5" } , 257264064216a8433360745f69edddce19a606659163The Android Open Source Project { os802_11OFDM24, "OFDM24" } , 257364064216a8433360745f69edddce19a606659163The Android Open Source Project { os802_11OFDM24_AND_5, "OFDM24_AND_5" } , 257464064216a8433360745f69edddce19a606659163The Android Open Source Project { os802_11NetworkTypeMax, "NetworkTypeMax" } 257564064216a8433360745f69edddce19a606659163The Android Open Source Project }; 257664064216a8433360745f69edddce19a606659163The Android Open Source Project 257764064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_net_network_in_use(ConParm_t parm[], U16 nParms) 257864064216a8433360745f69edddce19a606659163The Android Open Source Project{ 257964064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_NETWORK_TYPE data; 258064064216a8433360745f69edddce19a606659163The Android Open Source Project if( !nParms ) 258164064216a8433360745f69edddce19a606659163The Android Open Source Project { 258264064216a8433360745f69edddce19a606659163The Android Open Source Project if( !TI_GetNetworkTypeInUse(g_id_adapter, &data ) ) 258364064216a8433360745f69edddce19a606659163The Android Open Source Project { 258464064216a8433360745f69edddce19a606659163The Android Open Source Project print_available_values(network_type_name); 258564064216a8433360745f69edddce19a606659163The Android Open Source Project 258664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Cur.network: %d\n", data ); 258764064216a8433360745f69edddce19a606659163The Android Open Source Project } 258864064216a8433360745f69edddce19a606659163The Android Open Source Project } 258964064216a8433360745f69edddce19a606659163The Android Open Source Project else 259064064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetNetworkTypeInUse(g_id_adapter, parm[0].value ); 259164064216a8433360745f69edddce19a606659163The Android Open Source Project} 259264064216a8433360745f69edddce19a606659163The Android Open Source Project#endif /* if 0*/ 259364064216a8433360745f69edddce19a606659163The Android Open Source Project 259464064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_show_tx_power_level_table(ConParm_t parm[], U16 nParms) 259564064216a8433360745f69edddce19a606659163The Android Open Source Project{ 259664064216a8433360745f69edddce19a606659163The Android Open Source Project TIWLAN_POWER_LEVEL_TABLE powerTable; 259764064216a8433360745f69edddce19a606659163The Android Open Source Project int i; 259864064216a8433360745f69edddce19a606659163The Android Open Source Project 259964064216a8433360745f69edddce19a606659163The Android Open Source Project if( !TI_GetTxPowerLevel(g_id_adapter, (tiCHAR*)&powerTable) ) 260064064216a8433360745f69edddce19a606659163The Android Open Source Project { 260164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Power level table (Dbm/10)\n"); 260264064216a8433360745f69edddce19a606659163The Android Open Source Project for ( i = 0 ; i < TI_NUM_OF_SUB_BANDS ; i++) 260364064216a8433360745f69edddce19a606659163The Android Open Source Project { 260464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("sub-band %i: %d %d %d %d\n", i, 260564064216a8433360745f69edddce19a606659163The Android Open Source Project powerTable.uTxPower[i][0], 260664064216a8433360745f69edddce19a606659163The Android Open Source Project powerTable.uTxPower[i][1], 260764064216a8433360745f69edddce19a606659163The Android Open Source Project powerTable.uTxPower[i][2], 260864064216a8433360745f69edddce19a606659163The Android Open Source Project powerTable.uTxPower[i][3]); 260964064216a8433360745f69edddce19a606659163The Android Open Source Project } 261064064216a8433360745f69edddce19a606659163The Android Open Source Project } 261164064216a8433360745f69edddce19a606659163The Android Open Source Project else 261264064216a8433360745f69edddce19a606659163The Android Open Source Project { 261364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Tx Power level table ERROR !!!\n"); 261464064216a8433360745f69edddce19a606659163The Android Open Source Project } 261564064216a8433360745f69edddce19a606659163The Android Open Source Project} 261664064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_tx_power_dbm(ConParm_t parm[], U16 nParms) 261764064216a8433360745f69edddce19a606659163The Android Open Source Project{ 261864064216a8433360745f69edddce19a606659163The Android Open Source Project tiCHAR dummyData = 0; 261964064216a8433360745f69edddce19a606659163The Android Open Source Project 262064064216a8433360745f69edddce19a606659163The Android Open Source Project if (nParms == 0) 262164064216a8433360745f69edddce19a606659163The Android Open Source Project { 262264064216a8433360745f69edddce19a606659163The Android Open Source Project if( !TI_GetTxPowerDbm(g_id_adapter, &dummyData)) 262364064216a8433360745f69edddce19a606659163The Android Open Source Project { 262464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Tx Power (Dbm/10) = %d\n", dummyData); 262564064216a8433360745f69edddce19a606659163The Android Open Source Project } 262664064216a8433360745f69edddce19a606659163The Android Open Source Project } 262764064216a8433360745f69edddce19a606659163The Android Open Source Project else 262864064216a8433360745f69edddce19a606659163The Android Open Source Project { 262964064216a8433360745f69edddce19a606659163The Android Open Source Project if (parm[0].value > MAX_TX_POWER) 263064064216a8433360745f69edddce19a606659163The Android Open Source Project { 263164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Hey !!! You should use values between %d and %d\n", MIN_TX_POWER, MAX_TX_POWER); 263264064216a8433360745f69edddce19a606659163The Android Open Source Project return; 263364064216a8433360745f69edddce19a606659163The Android Open Source Project } 263464064216a8433360745f69edddce19a606659163The Android Open Source Project /* use U8 cast to fix compile warning */ 263564064216a8433360745f69edddce19a606659163The Android Open Source Project if(! TI_SetTxPowerDbm(g_id_adapter, (U8)parm[0].value) ) 263664064216a8433360745f69edddce19a606659163The Android Open Source Project { 263764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Set Tx Power in DBM/10 = %d\n", parm[0].value); 263864064216a8433360745f69edddce19a606659163The Android Open Source Project } 263964064216a8433360745f69edddce19a606659163The Android Open Source Project } 264064064216a8433360745f69edddce19a606659163The Android Open Source Project} 264164064216a8433360745f69edddce19a606659163The Android Open Source Project 264264064216a8433360745f69edddce19a606659163The Android Open Source Project 264364064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_enableDisable_802_11d(ConParm_t parm[], U16 nParms) 264464064216a8433360745f69edddce19a606659163The Android Open Source Project{ 264564064216a8433360745f69edddce19a606659163The Android Open Source Project UINT8 data = 0; 264664064216a8433360745f69edddce19a606659163The Android Open Source Project tiINT32 result; 264764064216a8433360745f69edddce19a606659163The Android Open Source Project 264864064216a8433360745f69edddce19a606659163The Android Open Source Project result = TI_Get_802_11d(g_id_adapter, &data ); 264964064216a8433360745f69edddce19a606659163The Android Open Source Project if ( nParms == 0 ) 265064064216a8433360745f69edddce19a606659163The Android Open Source Project { 265164064216a8433360745f69edddce19a606659163The Android Open Source Project if( result == TI_RESULT_OK) 265264064216a8433360745f69edddce19a606659163The Android Open Source Project { 265364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("802_11d status=%d\n", data ); 265464064216a8433360745f69edddce19a606659163The Android Open Source Project } 265564064216a8433360745f69edddce19a606659163The Android Open Source Project } 265664064216a8433360745f69edddce19a606659163The Android Open Source Project else 265764064216a8433360745f69edddce19a606659163The Android Open Source Project { 265864064216a8433360745f69edddce19a606659163The Android Open Source Project result = TI_EnableDisable_802_11d(g_id_adapter, (UINT8) parm[0].value); 265964064216a8433360745f69edddce19a606659163The Android Open Source Project if ((result != TI_RESULT_OK) && (!parm[0].value)) 266064064216a8433360745f69edddce19a606659163The Android Open Source Project { 266164064216a8433360745f69edddce19a606659163The Android Open Source Project result = TI_Get_802_11h(g_id_adapter, &data ); 266264064216a8433360745f69edddce19a606659163The Android Open Source Project if (data) 266364064216a8433360745f69edddce19a606659163The Android Open Source Project { 266464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("802_11d cannot be disabled while 802_11h is enabled!!\n" ); 266564064216a8433360745f69edddce19a606659163The Android Open Source Project } 266664064216a8433360745f69edddce19a606659163The Android Open Source Project } 266764064216a8433360745f69edddce19a606659163The Android Open Source Project else 266864064216a8433360745f69edddce19a606659163The Android Open Source Project { 266964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("802_11d status is updated to =%d\n", parm[0].value ); 267064064216a8433360745f69edddce19a606659163The Android Open Source Project } 267164064216a8433360745f69edddce19a606659163The Android Open Source Project 267264064216a8433360745f69edddce19a606659163The Android Open Source Project } 267364064216a8433360745f69edddce19a606659163The Android Open Source Project 267464064216a8433360745f69edddce19a606659163The Android Open Source Project 267564064216a8433360745f69edddce19a606659163The Android Open Source Project} 267664064216a8433360745f69edddce19a606659163The Android Open Source Project 267764064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_enableDisable_802_11h(ConParm_t parm[], U16 nParms) 267864064216a8433360745f69edddce19a606659163The Android Open Source Project{ 267964064216a8433360745f69edddce19a606659163The Android Open Source Project UINT8 data = 0; 268064064216a8433360745f69edddce19a606659163The Android Open Source Project tiINT32 result; 268164064216a8433360745f69edddce19a606659163The Android Open Source Project 268264064216a8433360745f69edddce19a606659163The Android Open Source Project result = TI_Get_802_11h(g_id_adapter, &data ); 268364064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms == 0 ) 268464064216a8433360745f69edddce19a606659163The Android Open Source Project { 268564064216a8433360745f69edddce19a606659163The Android Open Source Project if( result == TI_RESULT_OK) 268664064216a8433360745f69edddce19a606659163The Android Open Source Project { 268764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("802_11h status=%d\n", data ); 268864064216a8433360745f69edddce19a606659163The Android Open Source Project } 268964064216a8433360745f69edddce19a606659163The Android Open Source Project } 269064064216a8433360745f69edddce19a606659163The Android Open Source Project else 269164064216a8433360745f69edddce19a606659163The Android Open Source Project { 269264064216a8433360745f69edddce19a606659163The Android Open Source Project TI_EnableDisable_802_11h(g_id_adapter, (UINT8) parm[0].value); 269364064216a8433360745f69edddce19a606659163The Android Open Source Project if (parm[0].value) 269464064216a8433360745f69edddce19a606659163The Android Open Source Project { 269564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("802_11h enables automatically 802_11d!!\n" ); 269664064216a8433360745f69edddce19a606659163The Android Open Source Project } 269764064216a8433360745f69edddce19a606659163The Android Open Source Project 269864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("802_11h status is updated to =%d\n", parm[0].value ); 269964064216a8433360745f69edddce19a606659163The Android Open Source Project 270064064216a8433360745f69edddce19a606659163The Android Open Source Project } 270164064216a8433360745f69edddce19a606659163The Android Open Source Project 270264064216a8433360745f69edddce19a606659163The Android Open Source Project 270364064216a8433360745f69edddce19a606659163The Android Open Source Project} 270464064216a8433360745f69edddce19a606659163The Android Open Source Project 270564064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_d_Country_2_4Ie(ConParm_t parm[], U16 nParms) 270664064216a8433360745f69edddce19a606659163The Android Open Source Project{ 270764064216a8433360745f69edddce19a606659163The Android Open Source Project tiINT32 result; 270864064216a8433360745f69edddce19a606659163The Android Open Source Project 270964064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms == 0 ) 271064064216a8433360745f69edddce19a606659163The Android Open Source Project { 271164064216a8433360745f69edddce19a606659163The Android Open Source Project UINT8 countryString[COUNTRY_STRING_LEN+1]; 271264064216a8433360745f69edddce19a606659163The Android Open Source Project result = TI_Get_countryIeFor2_4_Ghz(g_id_adapter, (UINT8**)&countryString ); 271364064216a8433360745f69edddce19a606659163The Android Open Source Project if( result == TI_RESULT_OK) 271464064216a8433360745f69edddce19a606659163The Android Open Source Project { 271564064216a8433360745f69edddce19a606659163The Android Open Source Project countryString[COUNTRY_STRING_LEN] = '\0'; 271664064216a8433360745f69edddce19a606659163The Android Open Source Project if (countryString[0] == '\0') 271764064216a8433360745f69edddce19a606659163The Android Open Source Project { 271864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("802_11d Country for 2.4 GHz is not found\n"); 271964064216a8433360745f69edddce19a606659163The Android Open Source Project } 272064064216a8433360745f69edddce19a606659163The Android Open Source Project else 272164064216a8433360745f69edddce19a606659163The Android Open Source Project { 272264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("802_11d Country for 2.4 GHz is %s \n", countryString ); 272364064216a8433360745f69edddce19a606659163The Android Open Source Project } 272464064216a8433360745f69edddce19a606659163The Android Open Source Project 272564064216a8433360745f69edddce19a606659163The Android Open Source Project } 272664064216a8433360745f69edddce19a606659163The Android Open Source Project } 272764064216a8433360745f69edddce19a606659163The Android Open Source Project else 272864064216a8433360745f69edddce19a606659163The Android Open Source Project { 272964064216a8433360745f69edddce19a606659163The Android Open Source Project country_t countryWorld; 273064064216a8433360745f69edddce19a606659163The Android Open Source Project 273164064216a8433360745f69edddce19a606659163The Android Open Source Project countryWorld.elementId = COUNTRY_IE_ID; 273264064216a8433360745f69edddce19a606659163The Android Open Source Project countryWorld.len = 6; 273364064216a8433360745f69edddce19a606659163The Android Open Source Project memcpy( countryWorld.countryIE.CountryString,"GB ", 3); 273464064216a8433360745f69edddce19a606659163The Android Open Source Project countryWorld.countryIE.tripletChannels[0].firstChannelNumber = 1; 273564064216a8433360745f69edddce19a606659163The Android Open Source Project countryWorld.countryIE.tripletChannels[0].maxTxPowerLevel = 23; 273664064216a8433360745f69edddce19a606659163The Android Open Source Project countryWorld.countryIE.tripletChannels[0].numberOfChannels = 11; 273764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("802_11d Start Setting GB Country for 2.4 GHz \n"); 273864064216a8433360745f69edddce19a606659163The Android Open Source Project 273964064216a8433360745f69edddce19a606659163The Android Open Source Project result = TI_Set_countryIeFor2_4_Ghz(g_id_adapter, countryWorld); 274064064216a8433360745f69edddce19a606659163The Android Open Source Project 274164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("802_11d Setting GB Country for 2.4 GHz, result=%d\n", result); 274264064216a8433360745f69edddce19a606659163The Android Open Source Project 274364064216a8433360745f69edddce19a606659163The Android Open Source Project } 274464064216a8433360745f69edddce19a606659163The Android Open Source Project 274564064216a8433360745f69edddce19a606659163The Android Open Source Project 274664064216a8433360745f69edddce19a606659163The Android Open Source Project} 274764064216a8433360745f69edddce19a606659163The Android Open Source Project 274864064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_d_Country_5Ie(ConParm_t parm[], U16 nParms) 274964064216a8433360745f69edddce19a606659163The Android Open Source Project{ 275064064216a8433360745f69edddce19a606659163The Android Open Source Project tiINT32 result; 275164064216a8433360745f69edddce19a606659163The Android Open Source Project 275264064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms == 0 ) 275364064216a8433360745f69edddce19a606659163The Android Open Source Project { 275464064216a8433360745f69edddce19a606659163The Android Open Source Project UINT8 countryString[COUNTRY_STRING_LEN+1]; 275564064216a8433360745f69edddce19a606659163The Android Open Source Project result = TI_Get_countryIeFor5_Ghz(g_id_adapter, (UINT8**)&countryString ); 275664064216a8433360745f69edddce19a606659163The Android Open Source Project if( result == TI_RESULT_OK) 275764064216a8433360745f69edddce19a606659163The Android Open Source Project { 275864064216a8433360745f69edddce19a606659163The Android Open Source Project countryString[COUNTRY_STRING_LEN] = '\0'; 275964064216a8433360745f69edddce19a606659163The Android Open Source Project if (countryString[0] == '\0') 276064064216a8433360745f69edddce19a606659163The Android Open Source Project { 276164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("802_11d Country for 5 GHz is not found\n"); 276264064216a8433360745f69edddce19a606659163The Android Open Source Project } 276364064216a8433360745f69edddce19a606659163The Android Open Source Project else 276464064216a8433360745f69edddce19a606659163The Android Open Source Project { 276564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("802_11d Country for 5 GHz is %s\n", countryString ); 276664064216a8433360745f69edddce19a606659163The Android Open Source Project } 276764064216a8433360745f69edddce19a606659163The Android Open Source Project } 276864064216a8433360745f69edddce19a606659163The Android Open Source Project } 276964064216a8433360745f69edddce19a606659163The Android Open Source Project else 277064064216a8433360745f69edddce19a606659163The Android Open Source Project { 277164064216a8433360745f69edddce19a606659163The Android Open Source Project country_t countryWorld; 277264064216a8433360745f69edddce19a606659163The Android Open Source Project 277364064216a8433360745f69edddce19a606659163The Android Open Source Project countryWorld.elementId = COUNTRY_IE_ID; 277464064216a8433360745f69edddce19a606659163The Android Open Source Project countryWorld.len = 6; 277564064216a8433360745f69edddce19a606659163The Android Open Source Project memcpy( countryWorld.countryIE.CountryString,"US ", 3); 277664064216a8433360745f69edddce19a606659163The Android Open Source Project countryWorld.countryIE.tripletChannels[0].firstChannelNumber = 36; 277764064216a8433360745f69edddce19a606659163The Android Open Source Project countryWorld.countryIE.tripletChannels[0].maxTxPowerLevel = 16; 277864064216a8433360745f69edddce19a606659163The Android Open Source Project countryWorld.countryIE.tripletChannels[0].numberOfChannels = 8; 277964064216a8433360745f69edddce19a606659163The Android Open Source Project result = TI_Set_countryIeFor5_Ghz(g_id_adapter, countryWorld); 278064064216a8433360745f69edddce19a606659163The Android Open Source Project 278164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("802_11d Setting US Country for 5 GHz, result=%d\n", result); 278264064216a8433360745f69edddce19a606659163The Android Open Source Project 278364064216a8433360745f69edddce19a606659163The Android Open Source Project } 278464064216a8433360745f69edddce19a606659163The Android Open Source Project 278564064216a8433360745f69edddce19a606659163The Android Open Source Project} 278664064216a8433360745f69edddce19a606659163The Android Open Source Project 278764064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_DFS_range(ConParm_t parm[], U16 nParms) 278864064216a8433360745f69edddce19a606659163The Android Open Source Project{ 278964064216a8433360745f69edddce19a606659163The Android Open Source Project tiINT32 result; 279064064216a8433360745f69edddce19a606659163The Android Open Source Project DFS_ChannelRange_t DFS_ChannelRange; 279164064216a8433360745f69edddce19a606659163The Android Open Source Project 279264064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms == 0 ) 279364064216a8433360745f69edddce19a606659163The Android Open Source Project { 279464064216a8433360745f69edddce19a606659163The Android Open Source Project 279564064216a8433360745f69edddce19a606659163The Android Open Source Project result = TI_Get_minMaxDfsChannels(g_id_adapter, &DFS_ChannelRange ); 279664064216a8433360745f69edddce19a606659163The Android Open Source Project if( result == TI_RESULT_OK) 279764064216a8433360745f69edddce19a606659163The Android Open Source Project { 279864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("DFS min channel is %d, DFS max channel is %d\n", 279964064216a8433360745f69edddce19a606659163The Android Open Source Project DFS_ChannelRange.minDFS_channelNum, DFS_ChannelRange.maxDFS_channelNum); 280064064216a8433360745f69edddce19a606659163The Android Open Source Project } 280164064216a8433360745f69edddce19a606659163The Android Open Source Project } 280264064216a8433360745f69edddce19a606659163The Android Open Source Project else 280364064216a8433360745f69edddce19a606659163The Android Open Source Project { 280464064216a8433360745f69edddce19a606659163The Android Open Source Project DFS_ChannelRange.minDFS_channelNum = (UINT16) parm[0].value; 280564064216a8433360745f69edddce19a606659163The Android Open Source Project DFS_ChannelRange.maxDFS_channelNum = (UINT16) parm[1].value; 280664064216a8433360745f69edddce19a606659163The Android Open Source Project 280764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Given params: min channel %d, DFS max channel %d\n", 280864064216a8433360745f69edddce19a606659163The Android Open Source Project parm[0].value, parm[1].value); 280964064216a8433360745f69edddce19a606659163The Android Open Source Project 281064064216a8433360745f69edddce19a606659163The Android Open Source Project result = TI_Set_minMaxDfsChannels(g_id_adapter, DFS_ChannelRange); 281164064216a8433360745f69edddce19a606659163The Android Open Source Project if (result == TI_RESULT_OK) 281264064216a8433360745f69edddce19a606659163The Android Open Source Project { 281364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Setting DFS min channel %d, DFS max channel %d\n", 281464064216a8433360745f69edddce19a606659163The Android Open Source Project DFS_ChannelRange.minDFS_channelNum, DFS_ChannelRange.maxDFS_channelNum); 281564064216a8433360745f69edddce19a606659163The Android Open Source Project } 281664064216a8433360745f69edddce19a606659163The Android Open Source Project else 281764064216a8433360745f69edddce19a606659163The Android Open Source Project { 281864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Setting DFS min channel %d, DFS max channel %d - FAILED !!\n", 281964064216a8433360745f69edddce19a606659163The Android Open Source Project DFS_ChannelRange.minDFS_channelNum, DFS_ChannelRange.maxDFS_channelNum); 282064064216a8433360745f69edddce19a606659163The Android Open Source Project } 282164064216a8433360745f69edddce19a606659163The Android Open Source Project } 282264064216a8433360745f69edddce19a606659163The Android Open Source Project 282364064216a8433360745f69edddce19a606659163The Android Open Source Project} 282464064216a8433360745f69edddce19a606659163The Android Open Source Project 282564064216a8433360745f69edddce19a606659163The Android Open Source Project#if 0 282664064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_modify_tx_power_value(ConParm_t parm[], U16 nParms) 282764064216a8433360745f69edddce19a606659163The Android Open Source Project{ 282864064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms == 0 ) 282964064216a8433360745f69edddce19a606659163The Android Open Source Project { 283064064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 data = 1234; 283164064216a8433360745f69edddce19a606659163The Android Open Source Project if( !TI_GetTxPowerValue(g_id_adapter, &data) ) 283264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal( "Tx Power val = %ld\n", data); 283364064216a8433360745f69edddce19a606659163The Android Open Source Project } 283464064216a8433360745f69edddce19a606659163The Android Open Source Project else 283564064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetTxPowerValue(g_id_adapter, parm[0].value); 283664064216a8433360745f69edddce19a606659163The Android Open Source Project} 283764064216a8433360745f69edddce19a606659163The Android Open Source Project#endif 283864064216a8433360745f69edddce19a606659163The Android Open Source Project 283964064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_show_regdomain_table(ConParm_t parm[], U16 nParms) 284064064216a8433360745f69edddce19a606659163The Android Open Source Project{ 284164064216a8433360745f69edddce19a606659163The Android Open Source Project UNUSED(nParms); 284264064216a8433360745f69edddce19a606659163The Android Open Source Project UNUSED(parm); 284364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal( "not implemented ....\n"); 284464064216a8433360745f69edddce19a606659163The Android Open Source Project} 284564064216a8433360745f69edddce19a606659163The Android Open Source Project 284664064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_modify_4x_state(ConParm_t parm[], U16 nParms) 284764064216a8433360745f69edddce19a606659163The Android Open Source Project{ 284864064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms == 0 ) 284964064216a8433360745f69edddce19a606659163The Android Open Source Project { 285064064216a8433360745f69edddce19a606659163The Android Open Source Project tiBOOL data = FALSE; 285164064216a8433360745f69edddce19a606659163The Android Open Source Project if( !TI_Get4XState(g_id_adapter, &data ) ) 285264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("4x state=%s\n", data ? "True" : "False" ); 285364064216a8433360745f69edddce19a606659163The Android Open Source Project } 285464064216a8433360745f69edddce19a606659163The Android Open Source Project else /* param <read-only!!> */ 285564064216a8433360745f69edddce19a606659163The Android Open Source Project TI_Set4XState(g_id_adapter, (BOOL) parm[0].value); 285664064216a8433360745f69edddce19a606659163The Android Open Source Project} 285764064216a8433360745f69edddce19a606659163The Android Open Source Project 285864064216a8433360745f69edddce19a606659163The Android Open Source Projectstatic named_value_t BSS_type[] = 285964064216a8433360745f69edddce19a606659163The Android Open Source Project{ 286064064216a8433360745f69edddce19a606659163The Android Open Source Project { os802_11IBSS, "AD-Hoc" }, 286164064216a8433360745f69edddce19a606659163The Android Open Source Project { os802_11Infrastructure, "Infr." }, 286264064216a8433360745f69edddce19a606659163The Android Open Source Project { os802_11AutoUnknown, "Auto" }, 286364064216a8433360745f69edddce19a606659163The Android Open Source Project/* { os802_11HighSpeedIBSS, "HighSpeedIBSS" },*/ 286464064216a8433360745f69edddce19a606659163The Android Open Source Project/* { os802_11InfrastructureMax, "Max" }*/ 286564064216a8433360745f69edddce19a606659163The Android Open Source Project}; 286664064216a8433360745f69edddce19a606659163The Android Open Source Project 286764064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_modify_bss_type(ConParm_t parm[], U16 nParms) 286864064216a8433360745f69edddce19a606659163The Android Open Source Project{ 286964064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_NETWORK_MODE data = 0; //TRS:MEB use correct datatype to avoid compiler warning 287064064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms == 0 ) 287164064216a8433360745f69edddce19a606659163The Android Open Source Project { 287264064216a8433360745f69edddce19a606659163The Android Open Source Project if( !TI_GetBSSType(g_id_adapter, &data ) ) 287364064216a8433360745f69edddce19a606659163The Android Open Source Project { 287464064216a8433360745f69edddce19a606659163The Android Open Source Project print_available_values(BSS_type); 287564064216a8433360745f69edddce19a606659163The Android Open Source Project 287664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Current mode=%d\n", data ); 287764064216a8433360745f69edddce19a606659163The Android Open Source Project } 287864064216a8433360745f69edddce19a606659163The Android Open Source Project } 287964064216a8433360745f69edddce19a606659163The Android Open Source Project else /* param <read-only!!> */ 288064064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetBSSType(g_id_adapter, (BOOL) parm[0].value); 288164064216a8433360745f69edddce19a606659163The Android Open Source Project} 288264064216a8433360745f69edddce19a606659163The Android Open Source Project 288364064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_get_driver_state(ConParm_t parm[], U16 nParms) 288464064216a8433360745f69edddce19a606659163The Android Open Source Project{ 288564064216a8433360745f69edddce19a606659163The Android Open Source Project static char stateDesc[6][100] = 288664064216a8433360745f69edddce19a606659163The Android Open Source Project{ 288764064216a8433360745f69edddce19a606659163The Android Open Source Project "DRIVER_STATE_IDLE", 288864064216a8433360745f69edddce19a606659163The Android Open Source Project "DRIVER_STATE_SCANNING", 288964064216a8433360745f69edddce19a606659163The Android Open Source Project "DRIVER_STATE_SELECTING", 289064064216a8433360745f69edddce19a606659163The Android Open Source Project "DRIVER_STATE_CONNECTING", 289164064216a8433360745f69edddce19a606659163The Android Open Source Project "DRIVER_STATE_CONNECTED", 289264064216a8433360745f69edddce19a606659163The Android Open Source Project "DRIVER_STATE_DISCONNECTED", 289364064216a8433360745f69edddce19a606659163The Android Open Source Project}; 289464064216a8433360745f69edddce19a606659163The Android Open Source Project driverState_e myState; 289564064216a8433360745f69edddce19a606659163The Android Open Source Project 289664064216a8433360745f69edddce19a606659163The Android Open Source Project TI_GetDriverState (g_id_adapter, &myState); 289764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Driver state is %s\n", stateDesc[(UINT8)myState]); 289864064216a8433360745f69edddce19a606659163The Android Open Source Project} 289964064216a8433360745f69edddce19a606659163The Android Open Source Project 290064064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_modify_ext_rates_ie(ConParm_t parm[], U16 nParms) 290164064216a8433360745f69edddce19a606659163The Android Open Source Project{ 290264064216a8433360745f69edddce19a606659163The Android Open Source Project static named_value_t ExtRatesIE[] = 290364064216a8433360745f69edddce19a606659163The Android Open Source Project { 290464064216a8433360745f69edddce19a606659163The Android Open Source Project { DRAFT_5_AND_EARLIER, "5_AND_EARLIER" }, 290564064216a8433360745f69edddce19a606659163The Android Open Source Project { DRAFT_6_AND_LATER, "6_AND_LATER" } 290664064216a8433360745f69edddce19a606659163The Android Open Source Project }; 290764064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms == 0 ) 290864064216a8433360745f69edddce19a606659163The Android Open Source Project { 290964064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 data = 1122; 291064064216a8433360745f69edddce19a606659163The Android Open Source Project if( !TI_GetExtRatesIE(g_id_adapter, &data ) ) 291164064216a8433360745f69edddce19a606659163The Android Open Source Project { 291264064216a8433360745f69edddce19a606659163The Android Open Source Project print_available_values(ExtRatesIE); 291364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("ExtRatesIE=%u\n", data ); 291464064216a8433360745f69edddce19a606659163The Android Open Source Project } 291564064216a8433360745f69edddce19a606659163The Android Open Source Project } 291664064216a8433360745f69edddce19a606659163The Android Open Source Project else 291764064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetExtRatesIE(g_id_adapter, (tiUINT32) parm[0].value); 291864064216a8433360745f69edddce19a606659163The Android Open Source Project} 291964064216a8433360745f69edddce19a606659163The Android Open Source Project 292064064216a8433360745f69edddce19a606659163The Android Open Source Project 292164064216a8433360745f69edddce19a606659163The Android Open Source Project/*will return RSSI*/ 292264064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_get_rsii_level(ConParm_t parm[], U16 nParms) 292364064216a8433360745f69edddce19a606659163The Android Open Source Project{ 292464064216a8433360745f69edddce19a606659163The Android Open Source Project tiINT32 rssi ; 292564064216a8433360745f69edddce19a606659163The Android Open Source Project TI_GetRSSI(g_id_adapter, &rssi); 292664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("\n Current RSSI : %d\n" ,rssi) ; // TRS:WDK - add return 292764064216a8433360745f69edddce19a606659163The Android Open Source Project} 292864064216a8433360745f69edddce19a606659163The Android Open Source Project 292964064216a8433360745f69edddce19a606659163The Android Open Source Project 293064064216a8433360745f69edddce19a606659163The Android Open Source Project/*will return SNR ratio*/ 293164064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_get_snr_ratio(ConParm_t parm[], U16 nParms) 293264064216a8433360745f69edddce19a606659163The Android Open Source Project{ 293364064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 snr ; 293464064216a8433360745f69edddce19a606659163The Android Open Source Project TI_GetSNR(g_id_adapter, &snr); 293564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("\n Current SNR ratio : %d\n" ,snr) ; // TRS:WDK - add return 293664064216a8433360745f69edddce19a606659163The Android Open Source Project} 293764064216a8433360745f69edddce19a606659163The Android Open Source Project 293864064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_modify_frag_threshold(ConParm_t parm[], U16 nParms) 293964064216a8433360745f69edddce19a606659163The Android Open Source Project{ 294064064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms == 0 ) 294164064216a8433360745f69edddce19a606659163The Android Open Source Project { 294264064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 data = 0xfefefefe; 294364064216a8433360745f69edddce19a606659163The Android Open Source Project if( !TI_GetFragmentThreshold(g_id_adapter, &data ) ) 294464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Frag. threshold=%d\n", data ); 294564064216a8433360745f69edddce19a606659163The Android Open Source Project } 294664064216a8433360745f69edddce19a606659163The Android Open Source Project else 294764064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetFragmentThreshold(g_id_adapter, parm[0].value); 294864064216a8433360745f69edddce19a606659163The Android Open Source Project} 294964064216a8433360745f69edddce19a606659163The Android Open Source Project 295064064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_modify_short_slot(ConParm_t parm[], U16 nParms) 295164064216a8433360745f69edddce19a606659163The Android Open Source Project{ 295264064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms == 0 ) 295364064216a8433360745f69edddce19a606659163The Android Open Source Project { 295464064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 data = 0xfefefefe; 295564064216a8433360745f69edddce19a606659163The Android Open Source Project if( !TI_GetShortSlot(g_id_adapter, &data ) ) 295664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Short slot=%d\n", data ); 295764064216a8433360745f69edddce19a606659163The Android Open Source Project } 295864064216a8433360745f69edddce19a606659163The Android Open Source Project else 295964064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetShortSlot(g_id_adapter, parm[0].value); 296064064216a8433360745f69edddce19a606659163The Android Open Source Project} 296164064216a8433360745f69edddce19a606659163The Android Open Source Project 296264064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_modify_rts_threshold(ConParm_t parm[], U16 nParms) 296364064216a8433360745f69edddce19a606659163The Android Open Source Project{ 296464064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms == 0 ) 296564064216a8433360745f69edddce19a606659163The Android Open Source Project { 296664064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 data = 0xfefefefe; 296764064216a8433360745f69edddce19a606659163The Android Open Source Project if( !TI_GetRTSThreshold( g_id_adapter, &data) ) 296864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("RTSThreshold=%d\n", data ); 296964064216a8433360745f69edddce19a606659163The Android Open Source Project } 297064064216a8433360745f69edddce19a606659163The Android Open Source Project else 297164064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetRTSThreshold(g_id_adapter, parm[0].value); 297264064216a8433360745f69edddce19a606659163The Android Open Source Project} 297364064216a8433360745f69edddce19a606659163The Android Open Source Project 297464064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_modify_preamble(ConParm_t parm[], U16 nParms) 297564064216a8433360745f69edddce19a606659163The Android Open Source Project{ 297664064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms == 0 ) 297764064216a8433360745f69edddce19a606659163The Android Open Source Project { 297864064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 data = 0xfefefefe; 297964064216a8433360745f69edddce19a606659163The Android Open Source Project if( !TI_GetShortPreamble( g_id_adapter, &data) ) 298064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("ShortPreamble=%d\n", data ); 298164064216a8433360745f69edddce19a606659163The Android Open Source Project } 298264064216a8433360745f69edddce19a606659163The Android Open Source Project else 298364064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetShortPreamble(g_id_adapter, parm[0].value); 298464064216a8433360745f69edddce19a606659163The Android Open Source Project} 298564064216a8433360745f69edddce19a606659163The Android Open Source Project 298664064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_modify_antenna_diversity(ConParm_t parm[], U16 nParms) 298764064216a8433360745f69edddce19a606659163The Android Open Source Project{ 298864064216a8433360745f69edddce19a606659163The Android Open Source Project TIWLAN_ANT_DIVERSITY antennaDiversityOptions; 298964064216a8433360745f69edddce19a606659163The Android Open Source Project 299064064216a8433360745f69edddce19a606659163The Android Open Source Project antennaDiversityOptions.enableRxDiversity = (UINT8)parm[0].value; 299164064216a8433360745f69edddce19a606659163The Android Open Source Project antennaDiversityOptions.rxSelectedAntenna = (UINT8)parm[1].value; 299264064216a8433360745f69edddce19a606659163The Android Open Source Project antennaDiversityOptions.enableTxDiversity = (UINT8)parm[2].value; 299364064216a8433360745f69edddce19a606659163The Android Open Source Project antennaDiversityOptions.txSelectedAntenna = (UINT8)parm[3].value; 299464064216a8433360745f69edddce19a606659163The Android Open Source Project antennaDiversityOptions.rxTxSharedAnts = (UINT8)parm[4].value; 299564064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetAntennaDiversityParams(g_id_adapter, &antennaDiversityOptions); 299664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Antenna diversity parameters sent.\n"); 299764064216a8433360745f69edddce19a606659163The Android Open Source Project} 299864064216a8433360745f69edddce19a606659163The Android Open Source Project 299964064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_modify_short_retry(ConParm_t parm[], U16 nParms) 300064064216a8433360745f69edddce19a606659163The Android Open Source Project{ 300164064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms == 0 ) 300264064216a8433360745f69edddce19a606659163The Android Open Source Project { 300364064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 data = 0xfefefefe; 300464064216a8433360745f69edddce19a606659163The Android Open Source Project if( !TI_GetShortRetry( g_id_adapter, &data) ) 300564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("ShortRetry=%d\n", data ); 300664064216a8433360745f69edddce19a606659163The Android Open Source Project } 300764064216a8433360745f69edddce19a606659163The Android Open Source Project else 300864064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetShortRetry(g_id_adapter, parm[0].value); 300964064216a8433360745f69edddce19a606659163The Android Open Source Project} 301064064216a8433360745f69edddce19a606659163The Android Open Source Project 301164064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_modify_long_retry(ConParm_t parm[], U16 nParms) 301264064216a8433360745f69edddce19a606659163The Android Open Source Project{ 301364064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms == 0 ) 301464064216a8433360745f69edddce19a606659163The Android Open Source Project { 301564064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 data = 0xfefefefe; 301664064216a8433360745f69edddce19a606659163The Android Open Source Project if( !TI_GetLongRetry( g_id_adapter, &data) ) 301764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("LongRetry=%d\n", data ); 301864064216a8433360745f69edddce19a606659163The Android Open Source Project } 301964064216a8433360745f69edddce19a606659163The Android Open Source Project else 302064064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetLongRetry(g_id_adapter, parm[0].value); 302164064216a8433360745f69edddce19a606659163The Android Open Source Project} 302264064216a8433360745f69edddce19a606659163The Android Open Source Project 302364064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_start_driver(ConParm_t parm[], U16 nParms) 302464064216a8433360745f69edddce19a606659163The Android Open Source Project{ 302564064216a8433360745f69edddce19a606659163The Android Open Source Project TI_Start( g_id_adapter ); 302664064216a8433360745f69edddce19a606659163The Android Open Source Project} 302764064216a8433360745f69edddce19a606659163The Android Open Source Project 302864064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_stop_driver(ConParm_t parm[], U16 nParms) 302964064216a8433360745f69edddce19a606659163The Android Open Source Project{ 303064064216a8433360745f69edddce19a606659163The Android Open Source Project UNUSED(nParms); 303164064216a8433360745f69edddce19a606659163The Android Open Source Project UNUSED(parm); 303264064216a8433360745f69edddce19a606659163The Android Open Source Project TI_Stop(g_id_adapter); 303364064216a8433360745f69edddce19a606659163The Android Open Source Project} 303464064216a8433360745f69edddce19a606659163The Android Open Source Projectstatic TI_HANDLE eventRegistered[IPC_EVENT_MAX]; 303564064216a8433360745f69edddce19a606659163The Android Open Source Project 303664064216a8433360745f69edddce19a606659163The Android Open Source Projectstatic named_value_t event_type[] = { 303764064216a8433360745f69edddce19a606659163The Android Open Source Project { IPC_EVENT_ASSOCIATED, "Associated" }, 303864064216a8433360745f69edddce19a606659163The Android Open Source Project { IPC_EVENT_DISASSOCIATED, "Disassociated" }, 303964064216a8433360745f69edddce19a606659163The Android Open Source Project { IPC_EVENT_LINK_SPEED, "LinkSpeed" }, 304064064216a8433360745f69edddce19a606659163The Android Open Source Project { IPC_EVENT_AUTH_SUCC, "Authentication Success" }, 304164064216a8433360745f69edddce19a606659163The Android Open Source Project { IPC_EVENT_SCAN_COMPLETE, "ScanComplete" }, 304264064216a8433360745f69edddce19a606659163The Android Open Source Project { IPC_EVENT_TIMEOUT, "Timeout" }, 304364064216a8433360745f69edddce19a606659163The Android Open Source Project { IPC_EVENT_CCKM_START, "CCKM_Start" }, 304464064216a8433360745f69edddce19a606659163The Android Open Source Project { IPC_EVENT_MEDIA_SPECIFIC, "Media_Specific" }, 304564064216a8433360745f69edddce19a606659163The Android Open Source Project { IPC_EVENT_EAPOL, "EAPOL" }, 304664064216a8433360745f69edddce19a606659163The Android Open Source Project { IPC_EVENT_BOUND, "Bound" }, 304764064216a8433360745f69edddce19a606659163The Android Open Source Project { IPC_EVENT_UNBOUND, "Unbound" }, 304864064216a8433360745f69edddce19a606659163The Android Open Source Project { IPC_EVENT_PREAUTH_EAPOL, "PreAuth EAPOL"}, 304964064216a8433360745f69edddce19a606659163The Android Open Source Project/* { IPC_EVENT_PER, "PER" },*/ 305064064216a8433360745f69edddce19a606659163The Android Open Source Project { IPC_EVENT_LOW_SNR, "Low SNR" }, 305164064216a8433360745f69edddce19a606659163The Android Open Source Project { IPC_EVENT_LOW_RSSI, "Low RSSI" }, 305264064216a8433360745f69edddce19a606659163The Android Open Source Project { IPC_EVENT_TSPEC_STATUS, "IPC_EVENT_TSPEC_STATUS" }, 305364064216a8433360745f69edddce19a606659163The Android Open Source Project { IPC_EVENT_TSPEC_RATE_STATUS, "IPC_EVENT_TSPEC_RATE_STATUS" }, 305464064216a8433360745f69edddce19a606659163The Android Open Source Project { IPC_EVENT_MEDIUM_TIME_CROSS, "IPC_EVENT_MEDIUM_TIME_CROSS" }, 305564064216a8433360745f69edddce19a606659163The Android Open Source Project { IPC_EVENT_ROAMING_COMPLETE, "ROAMING_COMPLETE"}, 305664064216a8433360745f69edddce19a606659163The Android Open Source Project { IPC_EVENT_EAP_AUTH_FAILURE, "EAP-FAST/LEAP Auth Failed"}, 305764064216a8433360745f69edddce19a606659163The Android Open Source Project { IPC_EVENT_WPA2_PREAUTHENTICATION, "IPC_EVENT_WPA2_PREAUTHENTICATION" }, 305864064216a8433360745f69edddce19a606659163The Android Open Source Project { IPC_EVENT_TRAFFIC_INTENSITY_THRESHOLD_CROSSED, "IPC_EVENT_TRAFFIC_INTENSITY_THRESHOLD_CROSSED" }, 305964064216a8433360745f69edddce19a606659163The Android Open Source Project { IPC_EVENT_BT_COEX_MODE, "IPC_EVENT_BT_COEX_MODE" }, 306064064216a8433360745f69edddce19a606659163The Android Open Source Project 306164064216a8433360745f69edddce19a606659163The Android Open Source Project}; 306264064216a8433360745f69edddce19a606659163The Android Open Source Project 306364064216a8433360745f69edddce19a606659163The Android Open Source Project 306464064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_events_register(ConParm_t parm[], U16 nParms) 306564064216a8433360745f69edddce19a606659163The Android Open Source Project{ 306664064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 event; 306764064216a8433360745f69edddce19a606659163The Android Open Source Project IPC_EVENT_PARAMS pEvent; 306864064216a8433360745f69edddce19a606659163The Android Open Source Project 306964064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms ) 307064064216a8433360745f69edddce19a606659163The Android Open Source Project { 307164064216a8433360745f69edddce19a606659163The Android Open Source Project event = (tiUINT32)parm[0].value; 307264064216a8433360745f69edddce19a606659163The Android Open Source Project 307364064216a8433360745f69edddce19a606659163The Android Open Source Project if (events_mask & (1 << event)) 307464064216a8433360745f69edddce19a606659163The Android Open Source Project { 307564064216a8433360745f69edddce19a606659163The Android Open Source Project#ifndef _WINDOWS 307664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("cmd_events_register, event is already enabled! (%d)\n", events_mask); 307764064216a8433360745f69edddce19a606659163The Android Open Source Project#endif 307864064216a8433360745f69edddce19a606659163The Android Open Source Project } 307964064216a8433360745f69edddce19a606659163The Android Open Source Project else 308064064216a8433360745f69edddce19a606659163The Android Open Source Project { 308164064216a8433360745f69edddce19a606659163The Android Open Source Project pEvent.uEventType = (tiUINT32)parm[0].value; 308264064216a8433360745f69edddce19a606659163The Android Open Source Project pEvent.uDeliveryType = DELIVERY_PUSH; 308364064216a8433360745f69edddce19a606659163The Android Open Source Project pEvent.pfEventCallback = cli_receive_ev; 308464064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef _WINDOWS 308564064216a8433360745f69edddce19a606659163The Android Open Source Project#endif 308664064216a8433360745f69edddce19a606659163The Android Open Source Project if( !TI_RegisterEvent(g_id_adapter, &pEvent) ) 308764064216a8433360745f69edddce19a606659163The Android Open Source Project { 308864064216a8433360745f69edddce19a606659163The Android Open Source Project eventRegistered[pEvent.uEventType] = pEvent.uEventID; 308964064216a8433360745f69edddce19a606659163The Android Open Source Project 309064064216a8433360745f69edddce19a606659163The Android Open Source Project events_mask |= (1 << event); 309164064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef _WINDOWS 309264064216a8433360745f69edddce19a606659163The Android Open Source Project#endif 309364064216a8433360745f69edddce19a606659163The Android Open Source Project } 309464064216a8433360745f69edddce19a606659163The Android Open Source Project } 309564064216a8433360745f69edddce19a606659163The Android Open Source Project } 309664064216a8433360745f69edddce19a606659163The Android Open Source Project else 309764064216a8433360745f69edddce19a606659163The Android Open Source Project { 309864064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef _WINDOWS 309964064216a8433360745f69edddce19a606659163The Android Open Source Project#else 310064064216a8433360745f69edddce19a606659163The Android Open Source Project print_available_values(event_type); 310164064216a8433360745f69edddce19a606659163The Android Open Source Project#endif 310264064216a8433360745f69edddce19a606659163The Android Open Source Project } 310364064216a8433360745f69edddce19a606659163The Android Open Source Project 310464064216a8433360745f69edddce19a606659163The Android Open Source Project } 310564064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_events_unregister(ConParm_t parm[], U16 nParms) 310664064216a8433360745f69edddce19a606659163The Android Open Source Project{ 310764064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 event; 310864064216a8433360745f69edddce19a606659163The Android Open Source Project IPC_EVENT_PARAMS pEvent; 310964064216a8433360745f69edddce19a606659163The Android Open Source Project 311064064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms ) 311164064216a8433360745f69edddce19a606659163The Android Open Source Project { 311264064216a8433360745f69edddce19a606659163The Android Open Source Project event = (tiUINT32)parm[0].value; 311364064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef _WINDOWS 311464064216a8433360745f69edddce19a606659163The Android Open Source Project#else 311564064216a8433360745f69edddce19a606659163The Android Open Source Project pEvent.uEventType = event; 311664064216a8433360745f69edddce19a606659163The Android Open Source Project pEvent.uEventID = eventRegistered[pEvent.uEventType]; 311764064216a8433360745f69edddce19a606659163The Android Open Source Project TI_UnRegisterEvent(g_id_adapter, &pEvent); 311864064216a8433360745f69edddce19a606659163The Android Open Source Project 311964064216a8433360745f69edddce19a606659163The Android Open Source Project events_mask &= ~(1 << event); 312064064216a8433360745f69edddce19a606659163The Android Open Source Project#endif 312164064216a8433360745f69edddce19a606659163The Android Open Source Project } 312264064216a8433360745f69edddce19a606659163The Android Open Source Project else 312364064216a8433360745f69edddce19a606659163The Android Open Source Project { 312464064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef _WINDOWS 312564064216a8433360745f69edddce19a606659163The Android Open Source Project#else 312664064216a8433360745f69edddce19a606659163The Android Open Source Project print_available_values(event_type); 312764064216a8433360745f69edddce19a606659163The Android Open Source Project#endif 312864064216a8433360745f69edddce19a606659163The Android Open Source Project } 312964064216a8433360745f69edddce19a606659163The Android Open Source Project} 313064064216a8433360745f69edddce19a606659163The Android Open Source Project 313164064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_get_selected_bssid_info(ConParm_t parm[], U16 nParms) 313264064216a8433360745f69edddce19a606659163The Android Open Source Project{ 313364064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_BSSID_EX myInfo; 313464064216a8433360745f69edddce19a606659163The Android Open Source Project TI_GetSelectedBSSIDInfo(g_id_adapter, &myInfo); 313564064216a8433360745f69edddce19a606659163The Android Open Source Project 313664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Selected BSSID Info:\n"); 313764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("--------------------\n"); 313864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("SSID: %s\n", get_ssid_string(&myInfo.Ssid)); 313964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("BSSID: %02x.%02x.%02x.%02x.%02x.%02x\n", 314064064216a8433360745f69edddce19a606659163The Android Open Source Project myInfo.MacAddress[0], myInfo.MacAddress[1], myInfo.MacAddress[2], myInfo.MacAddress[3], myInfo.MacAddress[4], myInfo.MacAddress[5] ); 314164064216a8433360745f69edddce19a606659163The Android Open Source Project} 314264064216a8433360745f69edddce19a606659163The Android Open Source Project 314364064216a8433360745f69edddce19a606659163The Android Open Source Projectint parseBssidIe(OS_802_11_BSSID_EX * bssid) 314464064216a8433360745f69edddce19a606659163The Android Open Source Project{ 314564064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_VARIABLE_IEs *pData; 314664064216a8433360745f69edddce19a606659163The Android Open Source Project dot11_WME_PARAM_t * qosParams; 314764064216a8433360745f69edddce19a606659163The Android Open Source Project 314864064216a8433360745f69edddce19a606659163The Android Open Source Project int length; 314964064216a8433360745f69edddce19a606659163The Android Open Source Project int retval = 0; 315064064216a8433360745f69edddce19a606659163The Android Open Source Project /* console_printf_terminal("parseBssidIe,IElength=%d \n",bssid->IELength);*/ 315164064216a8433360745f69edddce19a606659163The Android Open Source Project for ( 315264064216a8433360745f69edddce19a606659163The Android Open Source Project length =sizeof(OS_802_11_FIXED_IEs) , pData = (OS_802_11_VARIABLE_IEs*) ((char*)bssid->IEs + sizeof(OS_802_11_FIXED_IEs)); 315364064216a8433360745f69edddce19a606659163The Android Open Source Project length < (int)(bssid->IELength-3); 315464064216a8433360745f69edddce19a606659163The Android Open Source Project length += (pData->Length +2),pData = (OS_802_11_VARIABLE_IEs*)((char*)bssid->IEs + length) 315564064216a8433360745f69edddce19a606659163The Android Open Source Project ) 315664064216a8433360745f69edddce19a606659163The Android Open Source Project { 315764064216a8433360745f69edddce19a606659163The Android Open Source Project /* console_printf_terminal("ElementID=%d pData=%x length=%d length1=%d\n",pData->ElementID,pData,pData->Length,length);*/ 315864064216a8433360745f69edddce19a606659163The Android Open Source Project if (pData->ElementID == DOT11_WME_ELE_ID) 315964064216a8433360745f69edddce19a606659163The Android Open Source Project { 316064064216a8433360745f69edddce19a606659163The Android Open Source Project qosParams = (dot11_WME_PARAM_t *)pData; 316164064216a8433360745f69edddce19a606659163The Android Open Source Project /* console_printf_terminal("OUIType=%x OUI =%x %x %x \n",qosParams->OUIType,qosParams->OUI[0],qosParams->OUI[1],qosParams->OUI[2]);*/ 316264064216a8433360745f69edddce19a606659163The Android Open Source Project if (qosParams->OUIType == dot11_WME_OUI_TYPE) 316364064216a8433360745f69edddce19a606659163The Android Open Source Project { 316464064216a8433360745f69edddce19a606659163The Android Open Source Project retval |= dot11_WME_OUI_TYPE; 316564064216a8433360745f69edddce19a606659163The Android Open Source Project } 316664064216a8433360745f69edddce19a606659163The Android Open Source Project 316764064216a8433360745f69edddce19a606659163The Android Open Source Project 316864064216a8433360745f69edddce19a606659163The Android Open Source Project } 316964064216a8433360745f69edddce19a606659163The Android Open Source Project } 317064064216a8433360745f69edddce19a606659163The Android Open Source Project 317164064216a8433360745f69edddce19a606659163The Android Open Source Project 317264064216a8433360745f69edddce19a606659163The Android Open Source Project return retval; 317364064216a8433360745f69edddce19a606659163The Android Open Source Project} 317464064216a8433360745f69edddce19a606659163The Android Open Source Project 317564064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_bssid_list(ConParm_t parm[], U16 nParms) 317664064216a8433360745f69edddce19a606659163The Android Open Source Project{ 317764064216a8433360745f69edddce19a606659163The Android Open Source Project 317864064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_BSSID_EX BssIdInfo; 317964064216a8433360745f69edddce19a606659163The Android Open Source Project TI_GetSelectedBSSIDInfo(g_id_adapter, &BssIdInfo); 318064064216a8433360745f69edddce19a606659163The Android Open Source Project get_bssid_list(parm, nParms, FALSE , &BssIdInfo ); 318164064216a8433360745f69edddce19a606659163The Android Open Source Project} 318264064216a8433360745f69edddce19a606659163The Android Open Source Project 318364064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Full_bssid_list(ConParm_t parm[], U16 nParms) 318464064216a8433360745f69edddce19a606659163The Android Open Source Project{ 318564064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_BSSID_EX BssIdInfo; 318664064216a8433360745f69edddce19a606659163The Android Open Source Project TI_GetSelectedBSSIDInfo(g_id_adapter, &BssIdInfo); 318764064216a8433360745f69edddce19a606659163The Android Open Source Project get_bssid_list(parm, nParms, TRUE , &BssIdInfo); 318864064216a8433360745f69edddce19a606659163The Android Open Source Project} 318964064216a8433360745f69edddce19a606659163The Android Open Source Project 319064064216a8433360745f69edddce19a606659163The Android Open Source Project/*When beacon filter is activated, the current RSSI of the connection with the AP will be displayed despite no beacons are 319164064216a8433360745f69edddce19a606659163The Android Open Source Project *passed up to the driver*/ 319264064216a8433360745f69edddce19a606659163The Android Open Source Projectstatic void get_bssid_list(ConParm_t parm[], U16 nParms, BOOL fullBssidList , OS_802_11_BSSID_EX *pBssid) 319364064216a8433360745f69edddce19a606659163The Android Open Source Project{ 319464064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_BSSID_LIST_EX *list;/* = (OS_802_11_BSSID_LIST_EX *) data; */ 319564064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_BSSID_EX *bssid; 319664064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 number_items, index; 319764064216a8433360745f69edddce19a606659163The Android Open Source Project char buffer[8] ; 319864064216a8433360745f69edddce19a606659163The Android Open Source Project int Qos = 0; 319964064216a8433360745f69edddce19a606659163The Android Open Source Project BOOL isConnectedAp = FALSE ; //TRS:MEB move this line earlier to avoid compile error 320064064216a8433360745f69edddce19a606659163The Android Open Source Project buffer[0] ='\0'; 320164064216a8433360745f69edddce19a606659163The Android Open Source Project 320264064216a8433360745f69edddce19a606659163The Android Open Source Project UNUSED(nParms); 320364064216a8433360745f69edddce19a606659163The Android Open Source Project UNUSED(parm); 320464064216a8433360745f69edddce19a606659163The Android Open Source Project 320564064216a8433360745f69edddce19a606659163The Android Open Source Project if (fullBssidList) 320664064216a8433360745f69edddce19a606659163The Android Open Source Project { 320764064216a8433360745f69edddce19a606659163The Android Open Source Project if( TI_GetFullBSSIDList(g_id_adapter, &list) || !list ) 320864064216a8433360745f69edddce19a606659163The Android Open Source Project return ; 320964064216a8433360745f69edddce19a606659163The Android Open Source Project } 321064064216a8433360745f69edddce19a606659163The Android Open Source Project else 321164064216a8433360745f69edddce19a606659163The Android Open Source Project { 321264064216a8433360745f69edddce19a606659163The Android Open Source Project if( TI_GetBSSIDList(g_id_adapter, &list) || !list ) 321364064216a8433360745f69edddce19a606659163The Android Open Source Project return ; 321464064216a8433360745f69edddce19a606659163The Android Open Source Project } 321564064216a8433360745f69edddce19a606659163The Android Open Source Project 321664064216a8433360745f69edddce19a606659163The Android Open Source Project 321764064216a8433360745f69edddce19a606659163The Android Open Source Project bssid = &list->Bssid[0]; 321864064216a8433360745f69edddce19a606659163The Android Open Source Project number_items = list->NumberOfItems; 321964064216a8433360745f69edddce19a606659163The Android Open Source Project 322064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("BssId List: Num=%u\n", number_items ); 322164064216a8433360745f69edddce19a606659163The Android Open Source Project 322264064216a8433360745f69edddce19a606659163The Android Open Source Project if( number_items ) 322364064216a8433360745f69edddce19a606659163The Android Open Source Project { 322464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("%17s %7s %4s %5s %7s %10s %s\n", "MAC", "Privacy", "Rssi", "Infra", "Channel","Qos ", "SSID"); 322564064216a8433360745f69edddce19a606659163The Android Open Source Project while (number_items) 322664064216a8433360745f69edddce19a606659163The Android Open Source Project { 322764064216a8433360745f69edddce19a606659163The Android Open Source Project Qos = parseBssidIe(bssid); 322864064216a8433360745f69edddce19a606659163The Android Open Source Project 322964064216a8433360745f69edddce19a606659163The Android Open Source Project/* console_printf_terminal("Qos=%d\n",Qos);*/ 323064064216a8433360745f69edddce19a606659163The Android Open Source Project if (Qos & dot11_WME_OUI_TYPE) 323164064216a8433360745f69edddce19a606659163The Android Open Source Project { 323264064216a8433360745f69edddce19a606659163The Android Open Source Project strcpy(buffer, "WME "); 323364064216a8433360745f69edddce19a606659163The Android Open Source Project } 323464064216a8433360745f69edddce19a606659163The Android Open Source Project 323564064216a8433360745f69edddce19a606659163The Android Open Source Project if (Qos == 0) 323664064216a8433360745f69edddce19a606659163The Android Open Source Project { 323764064216a8433360745f69edddce19a606659163The Android Open Source Project strcpy(buffer, "NONE "); 323864064216a8433360745f69edddce19a606659163The Android Open Source Project } 323964064216a8433360745f69edddce19a606659163The Android Open Source Project 324064064216a8433360745f69edddce19a606659163The Android Open Source Project if (( 0 == memcmp(pBssid->MacAddress ,bssid->MacAddress,sizeof(OS_802_11_MAC_ADDRESS)) ) && 324164064216a8433360745f69edddce19a606659163The Android Open Source Project (pBssid->NetworkTypeInUse == bssid->NetworkTypeInUse)) 324264064216a8433360745f69edddce19a606659163The Android Open Source Project { 324364064216a8433360745f69edddce19a606659163The Android Open Source Project /*bssid->Rssi = staRssi ;*/ 324464064216a8433360745f69edddce19a606659163The Android Open Source Project isConnectedAp = TRUE ; 324564064216a8433360745f69edddce19a606659163The Android Open Source Project } 324664064216a8433360745f69edddce19a606659163The Android Open Source Project else 324764064216a8433360745f69edddce19a606659163The Android Open Source Project { 324864064216a8433360745f69edddce19a606659163The Android Open Source Project isConnectedAp = FALSE ; 324964064216a8433360745f69edddce19a606659163The Android Open Source Project } 325064064216a8433360745f69edddce19a606659163The Android Open Source Project 325164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("%s %s %7u %4d %5d %7d %10s %s\n", 325264064216a8433360745f69edddce19a606659163The Android Open Source Project ( TRUE == isConnectedAp)?"*":" " , 325364064216a8433360745f69edddce19a606659163The Android Open Source Project print_mac_2_str(bssid->MacAddress), 325464064216a8433360745f69edddce19a606659163The Android Open Source Project bssid->Privacy, bssid->Rssi, 325564064216a8433360745f69edddce19a606659163The Android Open Source Project bssid->InfrastructureMode, Freq2Chan(bssid->Configuration.Union.channel), 325664064216a8433360745f69edddce19a606659163The Android Open Source Project buffer, 325764064216a8433360745f69edddce19a606659163The Android Open Source Project get_ssid_string(&bssid->Ssid) ); 325864064216a8433360745f69edddce19a606659163The Android Open Source Project 325964064216a8433360745f69edddce19a606659163The Android Open Source Project if (fullBssidList) 326064064216a8433360745f69edddce19a606659163The Android Open Source Project { 326164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" TSF 0x%02x-0x%02x-0x%02x-0x%02x-0x%02x-0x%02x-0x%02x-0x%02x\n", 326264064216a8433360745f69edddce19a606659163The Android Open Source Project bssid->IEs[0], bssid->IEs[1], bssid->IEs[2], bssid->IEs[3], 326364064216a8433360745f69edddce19a606659163The Android Open Source Project bssid->IEs[4], bssid->IEs[5], bssid->IEs[6], bssid->IEs[7]); 326464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" BeaconInterval 0x%02x%02x\n", bssid->IEs[9], bssid->IEs[8]); 326564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" Capabilities 0x%02x%02x\n", bssid->IEs[10], bssid->IEs[11]); 326664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" Variable IEs:\n"); 326764064216a8433360745f69edddce19a606659163The Android Open Source Project for (index=12; index<bssid->IELength; index++) 326864064216a8433360745f69edddce19a606659163The Android Open Source Project { 326964064216a8433360745f69edddce19a606659163The Android Open Source Project if ((index-12)%8 == 0) 327064064216a8433360745f69edddce19a606659163The Android Open Source Project { 327164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("\n "); 327264064216a8433360745f69edddce19a606659163The Android Open Source Project } 327364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("0x%02x ",bssid->IEs[index]); 327464064216a8433360745f69edddce19a606659163The Android Open Source Project 327564064216a8433360745f69edddce19a606659163The Android Open Source Project } 327664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("\n"); 327764064216a8433360745f69edddce19a606659163The Android Open Source Project } 327864064216a8433360745f69edddce19a606659163The Android Open Source Project bssid = (OS_802_11_BSSID_EX *) (((char *) bssid) + bssid->Length); 327964064216a8433360745f69edddce19a606659163The Android Open Source Project number_items--; 328064064216a8433360745f69edddce19a606659163The Android Open Source Project } 328164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Infra.mode:"); 328264064216a8433360745f69edddce19a606659163The Android Open Source Project print_available_values(BSS_type); 328364064216a8433360745f69edddce19a606659163The Android Open Source Project } 328464064216a8433360745f69edddce19a606659163The Android Open Source Project 328564064216a8433360745f69edddce19a606659163The Android Open Source Project free(list); 328664064216a8433360745f69edddce19a606659163The Android Open Source Project} 328764064216a8433360745f69edddce19a606659163The Android Open Source Project 328864064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef _WINDOWS 328964064216a8433360745f69edddce19a606659163The Android Open Source Project#else 329064064216a8433360745f69edddce19a606659163The Android Open Source ProjectPACKED_STRUCT( OS_802_11_BSSID_EX_TEMP, 329164064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 Length; 329264064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_MAC_ADDRESS MacAddress; 329364064216a8433360745f69edddce19a606659163The Android Open Source Project PACKED_UNION(Union, 329464064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT8 Reserved[2]; 329564064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT16 Capabilities; 329664064216a8433360745f69edddce19a606659163The Android Open Source Project ); 329764064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_SSID Ssid; 329864064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 Privacy; 329964064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_RSSI Rssi; 330064064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_NETWORK_TYPE NetworkTypeInUse; 330164064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_CONFIGURATION Configuration; 330264064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_NETWORK_MODE InfrastructureMode; 330364064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_RATES_EX SupportedRates; 330464064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 IELength; 330564064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT8 IEs[MAX_BEACON_BODY_LENGTH+sizeof(OS_802_11_FIXED_IEs)]; 330664064216a8433360745f69edddce19a606659163The Android Open Source Project); 330764064216a8433360745f69edddce19a606659163The Android Open Source Project#endif 330864064216a8433360745f69edddce19a606659163The Android Open Source Project 330964064216a8433360745f69edddce19a606659163The Android Open Source Project 331064064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_FullPrimaryBbssid(ConParm_t parm[], U16 nParms) 331164064216a8433360745f69edddce19a606659163The Android Open Source Project{ 331264064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_BSSID_EX_TEMP bssid; 331364064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_BSSID_EX_TEMP *pBssid = &bssid; 331464064216a8433360745f69edddce19a606659163The Android Open Source Project UINT32 index; 331564064216a8433360745f69edddce19a606659163The Android Open Source Project char buffer[8] ; 331664064216a8433360745f69edddce19a606659163The Android Open Source Project int Qos = 0; 331764064216a8433360745f69edddce19a606659163The Android Open Source Project buffer[0] ='\0'; 331864064216a8433360745f69edddce19a606659163The Android Open Source Project 331964064216a8433360745f69edddce19a606659163The Android Open Source Project UNUSED(nParms); 332064064216a8433360745f69edddce19a606659163The Android Open Source Project UNUSED(parm); 332164064216a8433360745f69edddce19a606659163The Android Open Source Project 332264064216a8433360745f69edddce19a606659163The Android Open Source Project memset(pBssid, 0, sizeof(OS_802_11_BSSID_EX)); 332364064216a8433360745f69edddce19a606659163The Android Open Source Project pBssid->Length = sizeof(OS_802_11_BSSID_EX) + sizeof(OS_802_11_FIXED_IEs) + MAX_BEACON_BODY_LENGTH; 332464064216a8433360745f69edddce19a606659163The Android Open Source Project if( TI_GetPrimaryBSSIDInfo(g_id_adapter, (OS_802_11_BSSID_EX*)pBssid)) 332564064216a8433360745f69edddce19a606659163The Android Open Source Project return ; 332664064216a8433360745f69edddce19a606659163The Android Open Source Project 332764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Primary BssId: Length = %d, IELength=%d \n" , pBssid->Length, pBssid->IELength); 332864064216a8433360745f69edddce19a606659163The Android Open Source Project 332964064216a8433360745f69edddce19a606659163The Android Open Source Project if (pBssid->Length > sizeof(OS_802_11_BSSID_EX) + sizeof(OS_802_11_FIXED_IEs) + MAX_BEACON_BODY_LENGTH) 333064064216a8433360745f69edddce19a606659163The Android Open Source Project { 333164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Error - Length = %d is too long!!\n", pBssid->Length); 333264064216a8433360745f69edddce19a606659163The Android Open Source Project return; 333364064216a8433360745f69edddce19a606659163The Android Open Source Project } 333464064216a8433360745f69edddce19a606659163The Android Open Source Project if (pBssid->Length < pBssid->IELength) 333564064216a8433360745f69edddce19a606659163The Android Open Source Project { 333664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Error - IELength = %d is too long!!\n", pBssid->IELength); 333764064216a8433360745f69edddce19a606659163The Android Open Source Project pBssid->IELength = 50; 333864064216a8433360745f69edddce19a606659163The Android Open Source Project print_mac_2_str(pBssid->MacAddress), 333964064216a8433360745f69edddce19a606659163The Android Open Source Project 334064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("SSID len=%d\n", pBssid->Ssid.SsidLength); 334164064216a8433360745f69edddce19a606659163The Android Open Source Project 334264064216a8433360745f69edddce19a606659163The Android Open Source Project return; 334364064216a8433360745f69edddce19a606659163The Android Open Source Project } 334464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("%17s %7s %4s %5s %7s %10s %s\n", "MAC", "Privacy", "Rssi", "Infra", "Channel","Qos ", "SSID"); 334564064216a8433360745f69edddce19a606659163The Android Open Source Project Qos = parseBssidIe((OS_802_11_BSSID_EX*)pBssid); 334664064216a8433360745f69edddce19a606659163The Android Open Source Project 334764064216a8433360745f69edddce19a606659163The Android Open Source Project if (Qos & dot11_WME_OUI_TYPE) 334864064216a8433360745f69edddce19a606659163The Android Open Source Project { 334964064216a8433360745f69edddce19a606659163The Android Open Source Project strcpy(buffer, "WME "); 335064064216a8433360745f69edddce19a606659163The Android Open Source Project } 335164064216a8433360745f69edddce19a606659163The Android Open Source Project 335264064216a8433360745f69edddce19a606659163The Android Open Source Project if (Qos == 0) 335364064216a8433360745f69edddce19a606659163The Android Open Source Project { 335464064216a8433360745f69edddce19a606659163The Android Open Source Project strcpy(buffer, "NONE "); 335564064216a8433360745f69edddce19a606659163The Android Open Source Project } 335664064216a8433360745f69edddce19a606659163The Android Open Source Project 335764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("%s %7u %4d %5d %7d %10s %s\n", 335864064216a8433360745f69edddce19a606659163The Android Open Source Project print_mac_2_str(pBssid->MacAddress), 335964064216a8433360745f69edddce19a606659163The Android Open Source Project pBssid->Privacy, pBssid->Rssi, 336064064216a8433360745f69edddce19a606659163The Android Open Source Project pBssid->InfrastructureMode, Freq2Chan(pBssid->Configuration.Union.channel), 336164064216a8433360745f69edddce19a606659163The Android Open Source Project buffer, 336264064216a8433360745f69edddce19a606659163The Android Open Source Project get_ssid_string(&pBssid->Ssid) ); 336364064216a8433360745f69edddce19a606659163The Android Open Source Project 336464064216a8433360745f69edddce19a606659163The Android Open Source Project { 336564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" TSF 0x%02x-0x%02x-0x%02x-0x%02x-0x%02x-0x%02x-0x%02x-0x%02x\n", 336664064216a8433360745f69edddce19a606659163The Android Open Source Project pBssid->IEs[0], pBssid->IEs[1], pBssid->IEs[2], pBssid->IEs[3], 336764064216a8433360745f69edddce19a606659163The Android Open Source Project pBssid->IEs[4], pBssid->IEs[5], pBssid->IEs[6], pBssid->IEs[7]); 336864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" BeaconInterval 0x%02x%02x\n", pBssid->IEs[9], pBssid->IEs[8]); 336964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" Capabilities 0x%02x%02x\n", pBssid->IEs[10], pBssid->IEs[11]); 337064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" Variable IEs:\n"); 337164064216a8433360745f69edddce19a606659163The Android Open Source Project for (index=12; index<pBssid->IELength; index++) 337264064216a8433360745f69edddce19a606659163The Android Open Source Project { 337364064216a8433360745f69edddce19a606659163The Android Open Source Project if ((index-12)%8 == 0) 337464064216a8433360745f69edddce19a606659163The Android Open Source Project { 337564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("\n "); 337664064216a8433360745f69edddce19a606659163The Android Open Source Project } 337764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("0x%02x ",pBssid->IEs[index]); 337864064216a8433360745f69edddce19a606659163The Android Open Source Project 337964064216a8433360745f69edddce19a606659163The Android Open Source Project } 338064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("\n"); 338164064216a8433360745f69edddce19a606659163The Android Open Source Project } 338264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("\nInfra.mode:"); 338364064216a8433360745f69edddce19a606659163The Android Open Source Project print_available_values(BSS_type); 338464064216a8433360745f69edddce19a606659163The Android Open Source Project} 338564064216a8433360745f69edddce19a606659163The Android Open Source Project 338664064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_file_load(ConParm_t parm[], U16 nParms) 338764064216a8433360745f69edddce19a606659163The Android Open Source Project{ 338864064216a8433360745f69edddce19a606659163The Android Open Source Project consoleRunScript((char *) parm[0].value); 338964064216a8433360745f69edddce19a606659163The Android Open Source Project} 339064064216a8433360745f69edddce19a606659163The Android Open Source Project 339164064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef TI_DBG 339264064216a8433360745f69edddce19a606659163The Android Open Source Project 339364064216a8433360745f69edddce19a606659163The Android Open Source Projectstruct report_bit_desc_t 339464064216a8433360745f69edddce19a606659163The Android Open Source Project{ 339564064216a8433360745f69edddce19a606659163The Android Open Source Project int index; 339664064216a8433360745f69edddce19a606659163The Android Open Source Project char *desc; 339764064216a8433360745f69edddce19a606659163The Android Open Source Project}; 339864064216a8433360745f69edddce19a606659163The Android Open Source Project 339964064216a8433360745f69edddce19a606659163The Android Open Source Projectstruct report_bit_desc_t report[] = 340064064216a8433360745f69edddce19a606659163The Android Open Source Project{ 340164064216a8433360745f69edddce19a606659163The Android Open Source Project 340264064216a8433360745f69edddce19a606659163The Android Open Source Project /* Set 0 */ 340364064216a8433360745f69edddce19a606659163The Android Open Source Project { CONFIG_MGR_MODULE_LOG, "CONFIG_MGR" }, 340464064216a8433360745f69edddce19a606659163The Android Open Source Project { SME_SM_MODULE_LOG, "SME_SM" }, 340564064216a8433360745f69edddce19a606659163The Android Open Source Project { SITE_MGR_MODULE_LOG, "SITE_MGR" }, 340664064216a8433360745f69edddce19a606659163The Android Open Source Project { CONN_MODULE_LOG, "CONN" }, 340764064216a8433360745f69edddce19a606659163The Android Open Source Project { MLME_SM_MODULE_LOG, "MLMEE" }, 340864064216a8433360745f69edddce19a606659163The Android Open Source Project { AUTH_MODULE_LOG, "AUTH" }, 340964064216a8433360745f69edddce19a606659163The Android Open Source Project { ASSOC_MODULE_LOG, "ASSOC" }, 341064064216a8433360745f69edddce19a606659163The Android Open Source Project { RX_DATA_MODULE_LOG, "RX_DATA" }, 341164064216a8433360745f69edddce19a606659163The Android Open Source Project { TX_DATA_MODULE_LOG, "TX_DATA" }, 341264064216a8433360745f69edddce19a606659163The Android Open Source Project { CTRL_DATA_MODULE_LOG, "CTRL_DATA" }, 341364064216a8433360745f69edddce19a606659163The Android Open Source Project { RSN_MODULE_LOG, "RSN" }, 341464064216a8433360745f69edddce19a606659163The Android Open Source Project { HAL_RX_MODULE_LOG, "HAL_RX" }, 341564064216a8433360745f69edddce19a606659163The Android Open Source Project { HAL_TX_MODULE_LOG, "HAL_TX" }, 341664064216a8433360745f69edddce19a606659163The Android Open Source Project { HAL_CTRL_MODULE_LOG, "HAL_CTRL" }, 341764064216a8433360745f69edddce19a606659163The Android Open Source Project { HAL_SECURITY_MODULE_LOG, "HAL_SECUR" }, 341864064216a8433360745f69edddce19a606659163The Android Open Source Project { MEM_MGR_MODULE_LOG, "MEM_MGR" }, 341964064216a8433360745f69edddce19a606659163The Android Open Source Project { REPORT_MODULE_LOG, "REPORT" }, 342064064216a8433360745f69edddce19a606659163The Android Open Source Project { SITE_UPDATE_MODULE_LOG, "SITE_UPDATE" }, 342164064216a8433360745f69edddce19a606659163The Android Open Source Project { REGULATORY_DOMAIN_MODULE_LOG, "REG_DOMAIN" }, 342264064216a8433360745f69edddce19a606659163The Android Open Source Project { MEASUREMENT_MNGR_MODULE_LOG, "MEASUREMENT_MNGR" }, 342364064216a8433360745f69edddce19a606659163The Android Open Source Project { MEASUREMENT_SRV_MODULE_LOG, "MEASUREMENT_SRV" }, 342464064216a8433360745f69edddce19a606659163The Android Open Source Project { SOFT_GEMINI_MODULE_LOG, "SOFT_GEMINI" }, 342564064216a8433360745f69edddce19a606659163The Android Open Source Project { SC_MODULE_LOG, "SC (Switch Channel)" }, 342664064216a8433360745f69edddce19a606659163The Android Open Source Project { EXC_MANAGER_MODULE_LOG, "EXC_MANAGER" }, 342764064216a8433360745f69edddce19a606659163The Android Open Source Project { ROAMING_MANAGER_MODULE_LOG, "ROAMING_MANAGER" }, 342864064216a8433360745f69edddce19a606659163The Android Open Source Project { QOS_MANAGER_MODULE_LOG, "QOS_MANAGER" }, 342964064216a8433360745f69edddce19a606659163The Android Open Source Project { TRAFFIC_ADM_CTRL_MODULE_LOG, "TRAFFIC_ADM_CTRL" }, 343064064216a8433360745f69edddce19a606659163The Android Open Source Project { POWER_MANAGER_MODULE_LOG, "POWER_MANAGER" }, 343164064216a8433360745f69edddce19a606659163The Android Open Source Project { POWER_CONTROL_MODULE_LOG, "POWER_CONTROL" }, 343264064216a8433360745f69edddce19a606659163The Android Open Source Project { POWER_SERVER_MODULE_LOG, "POWER_SERVER" }, 343364064216a8433360745f69edddce19a606659163The Android Open Source Project { ELP_MODULE_LOG, "ELP" }, 343464064216a8433360745f69edddce19a606659163The Android Open Source Project { SCR_MODULE_LOG, "SCR" }, 343564064216a8433360745f69edddce19a606659163The Android Open Source Project { SCAN_SRV_MODULE_LOG, "SCAN_SRV" }, 343664064216a8433360745f69edddce19a606659163The Android Open Source Project { SCAN_CNCN_MODULE_LOG, "SCAN_CNCN" }, 343764064216a8433360745f69edddce19a606659163The Android Open Source Project { SCAN_MNGR_MODULE_LOG, "SCAN_MNGR" }, 343864064216a8433360745f69edddce19a606659163The Android Open Source Project { GWSI_ADAPT_MODULE_LOG, "GWSI_ADAPT" }, 343964064216a8433360745f69edddce19a606659163The Android Open Source Project { GWSI_ADAPT_CB_MODULE_LOG, "GWSI_ADAPT_CB" }, 344064064216a8433360745f69edddce19a606659163The Android Open Source Project { CORE_ADAPT_MODULE_LOG, "CORE_ADAPT" }, 344164064216a8433360745f69edddce19a606659163The Android Open Source Project { TX_HW_QUEUE_MODULE_LOG, "TX HW QUEUE" }, 344264064216a8433360745f69edddce19a606659163The Android Open Source Project { TX_CTRL_BLK_MODULE_LOG, "TX CTRL BLK" }, 344364064216a8433360745f69edddce19a606659163The Android Open Source Project { TX_RESULT_MODULE_LOG, "TX RESULT" }, 344464064216a8433360745f69edddce19a606659163The Android Open Source Project { TNETW_IF_MODULE_LOG, "TNETW IF" }, 344564064216a8433360745f69edddce19a606659163The Android Open Source Project { TNETW_ARBITER_MODULE_LOG, "TNETW ARBITER" }, 344664064216a8433360745f69edddce19a606659163The Android Open Source Project { CURR_BSS_MODULE_LOG, "CURR_BSS" }, 344764064216a8433360745f69edddce19a606659163The Android Open Source Project { FW_EVENT_MODULE_LOG, "FW_EVENT" }, 344864064216a8433360745f69edddce19a606659163The Android Open Source Project { CMD_MBOX_MODULE_LOG, "CMD_MBOX" }, 344964064216a8433360745f69edddce19a606659163The Android Open Source Project { CMDQUEUE_MODULE_LOG, "CMD_QUEUE" }, 345064064216a8433360745f69edddce19a606659163The Android Open Source Project { EVENT_MBOX_MODULE_LOG, "EVENT_MBOX"}, 345164064216a8433360745f69edddce19a606659163The Android Open Source Project { TNETW_DRV_MODULE_LOG, "TNETW DRV" }, 345264064216a8433360745f69edddce19a606659163The Android Open Source Project { TNETW_XFER_MODULE_LOG, "TX XFER" }, 345364064216a8433360745f69edddce19a606659163The Android Open Source Project { RECOVERY_MGR_MODULE_LOG, "RECOVERY MGR" }, 345464064216a8433360745f69edddce19a606659163The Android Open Source Project { RECOVERY_CTRL_MODULE_LOG, "RECOVERY CTRL" }, 345564064216a8433360745f69edddce19a606659163The Android Open Source Project { HW_INIT_MODULE_LOG, "HW INIT" } 345664064216a8433360745f69edddce19a606659163The Android Open Source Project 345764064216a8433360745f69edddce19a606659163The Android Open Source Project}; 345864064216a8433360745f69edddce19a606659163The Android Open Source Project 345964064216a8433360745f69edddce19a606659163The Android Open Source Project 346064064216a8433360745f69edddce19a606659163The Android Open Source Projectstruct rep_severity_level_t { 346164064216a8433360745f69edddce19a606659163The Android Open Source Project U8 level; 346264064216a8433360745f69edddce19a606659163The Android Open Source Project char *desc; 346364064216a8433360745f69edddce19a606659163The Android Open Source Project}; 346464064216a8433360745f69edddce19a606659163The Android Open Source Project 346564064216a8433360745f69edddce19a606659163The Android Open Source Projectstatic struct rep_severity_level_t report_severity_level[] = { 346664064216a8433360745f69edddce19a606659163The Android Open Source Project { 0, "----" }, 346764064216a8433360745f69edddce19a606659163The Android Open Source Project { WLAN_SEVERITY_INIT, "INIT", }, 346864064216a8433360745f69edddce19a606659163The Android Open Source Project { WLAN_SEVERITY_INFORMATION, "INFORMATION", }, 346964064216a8433360745f69edddce19a606659163The Android Open Source Project { WLAN_SEVERITY_WARNING, "WARNING", }, 347064064216a8433360745f69edddce19a606659163The Android Open Source Project { WLAN_SEVERITY_ERROR, "ERROR", }, 347164064216a8433360745f69edddce19a606659163The Android Open Source Project { WLAN_SEVERITY_FATAL_ERROR, "FATAL_ERROR", }, 347264064216a8433360745f69edddce19a606659163The Android Open Source Project { WLAN_SEVERITY_SM, "SM", }, 347364064216a8433360745f69edddce19a606659163The Android Open Source Project { WLAN_SEVERITY_CONSOLE, "CONSOLE", }, 347464064216a8433360745f69edddce19a606659163The Android Open Source Project { WLAN_SEVERITY_DEBUG_RX, "DEBUG RX", }, 347564064216a8433360745f69edddce19a606659163The Android Open Source Project { WLAN_SEVERITY_DEBUG_TX, "DEBUG TX", }, 347664064216a8433360745f69edddce19a606659163The Android Open Source Project { WLAN_SEVERITY_DEBUG_CONTROL,"DEBUG CONTROL", }, 347764064216a8433360745f69edddce19a606659163The Android Open Source Project { WLAN_SEVERITY_GWSI_RECORDING,"GWSI RECORDING"} 347864064216a8433360745f69edddce19a606659163The Android Open Source Project}; 347964064216a8433360745f69edddce19a606659163The Android Open Source Project 348064064216a8433360745f69edddce19a606659163The Android Open Source Projectstatic void print_report_module_desc(void) 348164064216a8433360745f69edddce19a606659163The Android Open Source Project{ 348264064216a8433360745f69edddce19a606659163The Android Open Source Project int i; 348364064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT8 module_table[WLAN_MAX_LOG_MODULES]; 348464064216a8433360745f69edddce19a606659163The Android Open Source Project 348564064216a8433360745f69edddce19a606659163The Android Open Source Project if (!TI_GetReportModule(g_id_adapter, module_table)) 348664064216a8433360745f69edddce19a606659163The Android Open Source Project { 348764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("-------------------------------\n"); 348864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("%.5s\tState\t %s\n", "Index", "Desc"); 348964064216a8433360745f69edddce19a606659163The Android Open Source Project 349064064216a8433360745f69edddce19a606659163The Android Open Source Project for( i = 0; i < SIZE_ARR(report); i++) 349164064216a8433360745f69edddce19a606659163The Android Open Source Project { 349264064216a8433360745f69edddce19a606659163The Android Open Source Project /* Check if there is string content (the first character is not ZERO) */ 349364064216a8433360745f69edddce19a606659163The Android Open Source Project if( report[i].desc[0] ) 349464064216a8433360745f69edddce19a606659163The Android Open Source Project { 349564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("%3d\t%c\t%s\n", report[i].index, (module_table[i] == '1') ? '+' : ' ', report[i].desc ); 349664064216a8433360745f69edddce19a606659163The Android Open Source Project } 349764064216a8433360745f69edddce19a606659163The Android Open Source Project } 349864064216a8433360745f69edddce19a606659163The Android Open Source Project } 349964064216a8433360745f69edddce19a606659163The Android Open Source Project else 350064064216a8433360745f69edddce19a606659163The Android Open Source Project { 350164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Error reading the report table form the driver\n"); 350264064216a8433360745f69edddce19a606659163The Android Open Source Project } 350364064216a8433360745f69edddce19a606659163The Android Open Source Project} 350464064216a8433360745f69edddce19a606659163The Android Open Source Project 350564064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_report_add(ConParm_t parm[], U16 nParms) 350664064216a8433360745f69edddce19a606659163The Android Open Source Project{ 350764064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT8 module_table[WLAN_MAX_LOG_MODULES]; 350864064216a8433360745f69edddce19a606659163The Android Open Source Project 350964064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms != 1) 351064064216a8433360745f69edddce19a606659163The Android Open Source Project { 351164064216a8433360745f69edddce19a606659163The Android Open Source Project print_report_module_desc(); 351264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal( "* Use '%d' (max index) to set all table.\n", WLAN_MAX_LOG_MODULES); 351364064216a8433360745f69edddce19a606659163The Android Open Source Project } 351464064216a8433360745f69edddce19a606659163The Android Open Source Project else if(!TI_GetReportModule(g_id_adapter, module_table)) 351564064216a8433360745f69edddce19a606659163The Android Open Source Project { 351664064216a8433360745f69edddce19a606659163The Android Open Source Project if (parm[0].value == WLAN_MAX_LOG_MODULES) 351764064216a8433360745f69edddce19a606659163The Android Open Source Project { 351864064216a8433360745f69edddce19a606659163The Android Open Source Project memset(module_table, '1', sizeof(module_table)); 351964064216a8433360745f69edddce19a606659163The Android Open Source Project } 352064064216a8433360745f69edddce19a606659163The Android Open Source Project else if(parm[0].value < WLAN_MAX_LOG_MODULES) 352164064216a8433360745f69edddce19a606659163The Android Open Source Project { 352264064216a8433360745f69edddce19a606659163The Android Open Source Project module_table[parm[0].value] = '1'; 352364064216a8433360745f69edddce19a606659163The Android Open Source Project } 352464064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetReportModule(g_id_adapter, module_table); 352564064216a8433360745f69edddce19a606659163The Android Open Source Project } 352664064216a8433360745f69edddce19a606659163The Android Open Source Project} 352764064216a8433360745f69edddce19a606659163The Android Open Source Project 352864064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_report_clear(ConParm_t parm[], U16 nParms) 352964064216a8433360745f69edddce19a606659163The Android Open Source Project{ 353064064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT8 module_table[WLAN_MAX_LOG_MODULES + 1]; 353164064216a8433360745f69edddce19a606659163The Android Open Source Project 353264064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms != 1) 353364064216a8433360745f69edddce19a606659163The Android Open Source Project { 353464064216a8433360745f69edddce19a606659163The Android Open Source Project print_report_module_desc(); 353564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal( "* Use '%d' (max index) to clear all table.\n", WLAN_MAX_LOG_MODULES); 353664064216a8433360745f69edddce19a606659163The Android Open Source Project } 353764064216a8433360745f69edddce19a606659163The Android Open Source Project else if(!TI_GetReportModule(g_id_adapter, module_table)) 353864064216a8433360745f69edddce19a606659163The Android Open Source Project { 353964064216a8433360745f69edddce19a606659163The Android Open Source Project if (parm[0].value == WLAN_MAX_LOG_MODULES) 354064064216a8433360745f69edddce19a606659163The Android Open Source Project { 354164064216a8433360745f69edddce19a606659163The Android Open Source Project memset(module_table, '0', WLAN_MAX_LOG_MODULES); 354264064216a8433360745f69edddce19a606659163The Android Open Source Project } 354364064216a8433360745f69edddce19a606659163The Android Open Source Project else if (parm[0].value < WLAN_MAX_LOG_MODULES) 354464064216a8433360745f69edddce19a606659163The Android Open Source Project { 354564064216a8433360745f69edddce19a606659163The Android Open Source Project module_table[parm[0].value] = '0'; 354664064216a8433360745f69edddce19a606659163The Android Open Source Project } 354764064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetReportModule(g_id_adapter, module_table); 354864064216a8433360745f69edddce19a606659163The Android Open Source Project } 354964064216a8433360745f69edddce19a606659163The Android Open Source Project} 355064064216a8433360745f69edddce19a606659163The Android Open Source Project 355164064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_report_set(ConParm_t parm[], U16 nParms) 355264064216a8433360745f69edddce19a606659163The Android Open Source Project{ 355364064216a8433360745f69edddce19a606659163The Android Open Source Project U8 *ModuleTable = (U8 *)parm[0].value; 355464064216a8433360745f69edddce19a606659163The Android Open Source Project 355564064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms != 1) 355664064216a8433360745f69edddce19a606659163The Android Open Source Project { 355764064216a8433360745f69edddce19a606659163The Android Open Source Project print_report_module_desc(); 355864064216a8433360745f69edddce19a606659163The Android Open Source Project } 355964064216a8433360745f69edddce19a606659163The Android Open Source Project else 356064064216a8433360745f69edddce19a606659163The Android Open Source Project { 356164064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef _WINDOWS 356264064216a8433360745f69edddce19a606659163The Android Open Source Project#endif /* _WINDOWS */ 356364064216a8433360745f69edddce19a606659163The Android Open Source Project 356464064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetReportModule(g_id_adapter, ModuleTable); 356564064216a8433360745f69edddce19a606659163The Android Open Source Project } 356664064216a8433360745f69edddce19a606659163The Android Open Source Project} 356764064216a8433360745f69edddce19a606659163The Android Open Source Project 356864064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_hw_register(ConParm_t parm[], U16 nParms) 356964064216a8433360745f69edddce19a606659163The Android Open Source Project{ 357064064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 data; 357164064216a8433360745f69edddce19a606659163The Android Open Source Project 357264064216a8433360745f69edddce19a606659163The Android Open Source Project#ifndef _WINDOWS 357364064216a8433360745f69edddce19a606659163The Android Open Source Project usleep(10 * 1000); 357464064216a8433360745f69edddce19a606659163The Android Open Source Project#elif defined (_WINDOWS) 357564064216a8433360745f69edddce19a606659163The Android Open Source Project#endif 357664064216a8433360745f69edddce19a606659163The Android Open Source Project 357764064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms == 1 ) 357864064216a8433360745f69edddce19a606659163The Android Open Source Project { 357964064216a8433360745f69edddce19a606659163The Android Open Source Project if( !TI_hwReadRegister(g_id_adapter, parm[0].value, &data ) ) 358064064216a8433360745f69edddce19a606659163The Android Open Source Project { 358164064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef _WINDOWS 358264064216a8433360745f69edddce19a606659163The Android Open Source Project#endif 358364064216a8433360745f69edddce19a606659163The Android Open Source Project } 358464064216a8433360745f69edddce19a606659163The Android Open Source Project } 358564064216a8433360745f69edddce19a606659163The Android Open Source Project else 358664064216a8433360745f69edddce19a606659163The Android Open Source Project { 358764064216a8433360745f69edddce19a606659163The Android Open Source Project TI_hwWriteRegister(g_id_adapter, parm[0].value, parm[1].value ); 358864064216a8433360745f69edddce19a606659163The Android Open Source Project } 358964064216a8433360745f69edddce19a606659163The Android Open Source Project} 359064064216a8433360745f69edddce19a606659163The Android Open Source Project 359164064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_debug_driver_print(ConParm_t parm[], U16 nParms) 359264064216a8433360745f69edddce19a606659163The Android Open Source Project { 359364064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 func_id = ( nParms > 0 ) ? parm[0].value : 0; 359464064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 opt_param = ( nParms > 1 ) ? parm[1].value : 0; 359564064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 buf[2] = { func_id, opt_param }; 359664064216a8433360745f69edddce19a606659163The Android Open Source Project 359764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("DRV_PRINT: FUNC:%u, PARAM:%u\n", func_id, opt_param); 359864064216a8433360745f69edddce19a606659163The Android Open Source Project TI_DisplayStats(g_id_adapter, (tiUINT8 *) buf, sizeof(buf) ); 359964064216a8433360745f69edddce19a606659163The Android Open Source Project /* tiwlan_driver_debug_print( g_drv_name, func_id, opt_param ); */ 360064064216a8433360745f69edddce19a606659163The Android Open Source Project} 360164064216a8433360745f69edddce19a606659163The Android Open Source Project 360264064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_debug_buffer_put(ConParm_t parm[], U16 nParms) 360364064216a8433360745f69edddce19a606659163The Android Open Source Project { 360464064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 func_id = ( nParms > 0 ) ? parm[0].value : 0; 360564064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 opt_param = ( nParms > 1 ) ? parm[1].value : 0; 360664064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT8 buf[260]; /* no more then 256 + func id */ 360764064216a8433360745f69edddce19a606659163The Android Open Source Project 360864064216a8433360745f69edddce19a606659163The Android Open Source Project if (opt_param == 0) 360964064216a8433360745f69edddce19a606659163The Android Open Source Project return; 361064064216a8433360745f69edddce19a606659163The Android Open Source Project *(tiUINT32*) buf = func_id; 361164064216a8433360745f69edddce19a606659163The Android Open Source Project memcpy (buf + sizeof(func_id),(char *)opt_param,strlen((char *)opt_param)); 361264064216a8433360745f69edddce19a606659163The Android Open Source Project 361364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("cmd_debug_buffer_put: FUNC:%u, PARAM:%u\n", func_id, opt_param); 361464064216a8433360745f69edddce19a606659163The Android Open Source Project TI_DisplayStats(g_id_adapter, (tiUINT8 *) buf, strlen((char *)opt_param) + sizeof(func_id)); 361564064216a8433360745f69edddce19a606659163The Android Open Source Project /* tiwlan_driver_debug_print( g_drv_name, func_id, opt_param ); */ 361664064216a8433360745f69edddce19a606659163The Android Open Source Project} 361764064216a8433360745f69edddce19a606659163The Android Open Source Project 361864064216a8433360745f69edddce19a606659163The Android Open Source Projectstatic void print_severity_table(tiUINT8 *pTable) 361964064216a8433360745f69edddce19a606659163The Android Open Source Project{ 362064064216a8433360745f69edddce19a606659163The Android Open Source Project int i; 362164064216a8433360745f69edddce19a606659163The Android Open Source Project 362264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Severity:\n"); 362364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("-------------------------------\n"); 362464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("%14s\tState\t%s\n", "Severity level", "Desc"); 362564064216a8433360745f69edddce19a606659163The Android Open Source Project 362664064216a8433360745f69edddce19a606659163The Android Open Source Project for( i=1; i<SIZE_ARR(report_severity_level); i++ ) 362764064216a8433360745f69edddce19a606659163The Android Open Source Project { 362864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("%d\t%c\t%s\n", report_severity_level[i].level, (pTable[i] == '1') ? '+' : ' ',report_severity_level[i].desc ); 362964064216a8433360745f69edddce19a606659163The Android Open Source Project } 363064064216a8433360745f69edddce19a606659163The Android Open Source Project 363164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal( "* Use '0' to clear all table.\n"); 363264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal( "* Use '%d' (max index) to set all table.\n", SIZE_ARR(report_severity_level)); 363364064216a8433360745f69edddce19a606659163The Android Open Source Project} 363464064216a8433360745f69edddce19a606659163The Android Open Source Project 363564064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_report_severity_table(ConParm_t parm[], U16 nParms) 363664064216a8433360745f69edddce19a606659163The Android Open Source Project{ 363764064216a8433360745f69edddce19a606659163The Android Open Source Project U8 *pSeverityTable = (U8 *)parm[0].value; 363864064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT8 SeverityTable[WLAN_MAX_SEVERITIES]; 363964064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef _WINDOWS 364064064216a8433360745f69edddce19a606659163The Android Open Source Project#endif /* _WINDOWS */ 364164064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms != 1) 364264064216a8433360745f69edddce19a606659163The Android Open Source Project { 364364064216a8433360745f69edddce19a606659163The Android Open Source Project if (!TI_GetReportSeverity( g_id_adapter, &SeverityTable[0])) 364464064216a8433360745f69edddce19a606659163The Android Open Source Project { 364564064216a8433360745f69edddce19a606659163The Android Open Source Project print_severity_table(SeverityTable); 364664064216a8433360745f69edddce19a606659163The Android Open Source Project } 364764064216a8433360745f69edddce19a606659163The Android Open Source Project } 364864064216a8433360745f69edddce19a606659163The Android Open Source Project else 364964064216a8433360745f69edddce19a606659163The Android Open Source Project { 365064064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetReportSeverity(g_id_adapter, pSeverityTable); 365164064216a8433360745f69edddce19a606659163The Android Open Source Project } 365264064216a8433360745f69edddce19a606659163The Android Open Source Project} 365364064216a8433360745f69edddce19a606659163The Android Open Source Project 365464064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_report_severity_level(ConParm_t parm[], U16 nParms) 365564064216a8433360745f69edddce19a606659163The Android Open Source Project{ 365664064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT8 SeverityTable[WLAN_MAX_SEVERITIES]; 365764064216a8433360745f69edddce19a606659163The Android Open Source Project 365864064216a8433360745f69edddce19a606659163The Android Open Source Project /* Get the current report severity */ 365964064216a8433360745f69edddce19a606659163The Android Open Source Project if (!TI_GetReportSeverity( g_id_adapter, &SeverityTable[0])) 366064064216a8433360745f69edddce19a606659163The Android Open Source Project { 366164064216a8433360745f69edddce19a606659163The Android Open Source Project if(nParms == 0) 366264064216a8433360745f69edddce19a606659163The Android Open Source Project { 366364064216a8433360745f69edddce19a606659163The Android Open Source Project /* Parameters error - print the current table values */ 366464064216a8433360745f69edddce19a606659163The Android Open Source Project print_severity_table(SeverityTable); 366564064216a8433360745f69edddce19a606659163The Android Open Source Project } 366664064216a8433360745f69edddce19a606659163The Android Open Source Project else 366764064216a8433360745f69edddce19a606659163The Android Open Source Project { 366864064216a8433360745f69edddce19a606659163The Android Open Source Project if (parm[0].value == 0) 366964064216a8433360745f69edddce19a606659163The Android Open Source Project { 367064064216a8433360745f69edddce19a606659163The Android Open Source Project /* Disable all severity levels */ 367164064216a8433360745f69edddce19a606659163The Android Open Source Project 367264064216a8433360745f69edddce19a606659163The Android Open Source Project memset(SeverityTable, (int)('0'), sizeof(SeverityTable)); 367364064216a8433360745f69edddce19a606659163The Android Open Source Project 367464064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetReportSeverity(g_id_adapter, SeverityTable); 367564064216a8433360745f69edddce19a606659163The Android Open Source Project } 367664064216a8433360745f69edddce19a606659163The Android Open Source Project else if (parm[0].value == SIZE_ARR(report_severity_level)) 367764064216a8433360745f69edddce19a606659163The Android Open Source Project { 367864064216a8433360745f69edddce19a606659163The Android Open Source Project /* Enable all severity levels */ 367964064216a8433360745f69edddce19a606659163The Android Open Source Project 368064064216a8433360745f69edddce19a606659163The Android Open Source Project memset(SeverityTable, (int)('1'), sizeof(SeverityTable)); 368164064216a8433360745f69edddce19a606659163The Android Open Source Project 368264064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetReportSeverity(g_id_adapter, SeverityTable); 368364064216a8433360745f69edddce19a606659163The Android Open Source Project } 368464064216a8433360745f69edddce19a606659163The Android Open Source Project else if (parm[0].value < SIZE_ARR(report_severity_level)) 368564064216a8433360745f69edddce19a606659163The Android Open Source Project { 368664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Toggle severity level %#lx\n", parm[0].value); 368764064216a8433360745f69edddce19a606659163The Android Open Source Project 368864064216a8433360745f69edddce19a606659163The Android Open Source Project if (SeverityTable[parm[0].value] == '1') 368964064216a8433360745f69edddce19a606659163The Android Open Source Project { 369064064216a8433360745f69edddce19a606659163The Android Open Source Project /* The level is enabled - Disable it */ 369164064216a8433360745f69edddce19a606659163The Android Open Source Project SeverityTable[parm[0].value] = '0'; 369264064216a8433360745f69edddce19a606659163The Android Open Source Project } 369364064216a8433360745f69edddce19a606659163The Android Open Source Project else 369464064216a8433360745f69edddce19a606659163The Android Open Source Project { 369564064216a8433360745f69edddce19a606659163The Android Open Source Project /* The bit is disabled - Enable it */ 369664064216a8433360745f69edddce19a606659163The Android Open Source Project SeverityTable[parm[0].value] = '1'; 369764064216a8433360745f69edddce19a606659163The Android Open Source Project } 369864064216a8433360745f69edddce19a606659163The Android Open Source Project 369964064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetReportSeverity(g_id_adapter, SeverityTable); 370064064216a8433360745f69edddce19a606659163The Android Open Source Project } 370164064216a8433360745f69edddce19a606659163The Android Open Source Project else 370264064216a8433360745f69edddce19a606659163The Android Open Source Project { 370364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("invalid level value: %#lx\n", parm[0].value ); 370464064216a8433360745f69edddce19a606659163The Android Open Source Project } 370564064216a8433360745f69edddce19a606659163The Android Open Source Project } 370664064216a8433360745f69edddce19a606659163The Android Open Source Project } 370764064216a8433360745f69edddce19a606659163The Android Open Source Project else 370864064216a8433360745f69edddce19a606659163The Android Open Source Project { 370964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Error retriving the severity table from the driver\n"); 371064064216a8433360745f69edddce19a606659163The Android Open Source Project } 371164064216a8433360745f69edddce19a606659163The Android Open Source Project} 371264064216a8433360745f69edddce19a606659163The Android Open Source Project 371364064216a8433360745f69edddce19a606659163The Android Open Source Project 371464064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef DRIVER_PROFILING 371564064216a8433360745f69edddce19a606659163The Android Open Source Project 371664064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_profile_report(ConParm_t parm[], U16 nParms) 371764064216a8433360745f69edddce19a606659163The Android Open Source Project{ 371864064216a8433360745f69edddce19a606659163The Android Open Source Project TI_ProfileReport( g_id_adapter ); 371964064216a8433360745f69edddce19a606659163The Android Open Source Project} 372064064216a8433360745f69edddce19a606659163The Android Open Source Project 372164064216a8433360745f69edddce19a606659163The Android Open Source Project 372264064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_profile_cpu_estimator_command(ConParm_t parm[], U16 nParms) 372364064216a8433360745f69edddce19a606659163The Android Open Source Project{ 372464064216a8433360745f69edddce19a606659163The Android Open Source Project /* reset or stop command */ 372564064216a8433360745f69edddce19a606659163The Android Open Source Project if (nParms == 1) { 372664064216a8433360745f69edddce19a606659163The Android Open Source Project //printf("cpu_profile_cpu_estimator: param[0] = %d\n", (tiUINT8)parm[0].value); 372764064216a8433360745f69edddce19a606659163The Android Open Source Project TI_CpuEstimatorCommand(g_id_adapter, (tiUINT8)parm[0].value, 0); 372864064216a8433360745f69edddce19a606659163The Android Open Source Project } 372964064216a8433360745f69edddce19a606659163The Android Open Source Project else /* start command */ 373064064216a8433360745f69edddce19a606659163The Android Open Source Project { 373164064216a8433360745f69edddce19a606659163The Android Open Source Project //printf("cpu_profile_cpu_estimator: param[0] = %d, param[1] = %d\n",(tiUINT8)parm[0].value,(tiUINT32)parm[1].value); 373264064216a8433360745f69edddce19a606659163The Android Open Source Project TI_CpuEstimatorCommand(g_id_adapter, (tiUINT8)parm[0].value,(tiUINT32)parm[1].value); 373364064216a8433360745f69edddce19a606659163The Android Open Source Project } 373464064216a8433360745f69edddce19a606659163The Android Open Source Project} 373564064216a8433360745f69edddce19a606659163The Android Open Source Project 373664064216a8433360745f69edddce19a606659163The Android Open Source Project#endif 373764064216a8433360745f69edddce19a606659163The Android Open Source Project 373864064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_report_os_dbg_state(ConParm_t parm[], U16 nParms) 373964064216a8433360745f69edddce19a606659163The Android Open Source Project{ 374064064216a8433360745f69edddce19a606659163The Android Open Source Project UINT32 dwOsDbgState; 374164064216a8433360745f69edddce19a606659163The Android Open Source Project 374264064216a8433360745f69edddce19a606659163The Android Open Source Project if(nParms == 0) { 374364064216a8433360745f69edddce19a606659163The Android Open Source Project if (TI_GetOsDbgState( g_id_adapter, &dwOsDbgState) == TI_RESULT_OK) { 374464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("OsDbgState %d (0x%08X)\n", dwOsDbgState, dwOsDbgState); 374564064216a8433360745f69edddce19a606659163The Android Open Source Project } 374664064216a8433360745f69edddce19a606659163The Android Open Source Project else { 374764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Error retriving the OsDbgState from the driver\n"); 374864064216a8433360745f69edddce19a606659163The Android Open Source Project } 374964064216a8433360745f69edddce19a606659163The Android Open Source Project } 375064064216a8433360745f69edddce19a606659163The Android Open Source Project else { 375164064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetOsDbgState(g_id_adapter, parm[0].value); 375264064216a8433360745f69edddce19a606659163The Android Open Source Project } 375364064216a8433360745f69edddce19a606659163The Android Open Source Project} 375464064216a8433360745f69edddce19a606659163The Android Open Source Project 375564064216a8433360745f69edddce19a606659163The Android Open Source Project#endif /* define TI_DBG */ 375664064216a8433360745f69edddce19a606659163The Android Open Source Project 375764064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_privacy_auth(ConParm_t parm[], U16 nParms) 375864064216a8433360745f69edddce19a606659163The Android Open Source Project{ 375964064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms ) 376064064216a8433360745f69edddce19a606659163The Android Open Source Project { 376164064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetAuthenticationMode( g_id_adapter, (tiUINT32)parm[0].value ); 376264064216a8433360745f69edddce19a606659163The Android Open Source Project /*console_printf_terminal("CLI-AuthenticationMode: - %x",(tiUINT32)parm[0].value);*/ 376364064216a8433360745f69edddce19a606659163The Android Open Source Project } 376464064216a8433360745f69edddce19a606659163The Android Open Source Project else 376564064216a8433360745f69edddce19a606659163The Android Open Source Project { 376664064216a8433360745f69edddce19a606659163The Android Open Source Project static named_value_t auth_mode_type[] = { 376764064216a8433360745f69edddce19a606659163The Android Open Source Project { os802_11AuthModeOpen, "Open" }, 376864064216a8433360745f69edddce19a606659163The Android Open Source Project { os802_11AuthModeShared, "Shared" }, 376964064216a8433360745f69edddce19a606659163The Android Open Source Project { os802_11AuthModeAutoSwitch, "AutoSwitch"}, 377064064216a8433360745f69edddce19a606659163The Android Open Source Project { os802_11AuthModeWPA, "WPA" }, 377164064216a8433360745f69edddce19a606659163The Android Open Source Project { os802_11AuthModeWPAPSK, "WPAPSK" }, 377264064216a8433360745f69edddce19a606659163The Android Open Source Project { os802_11AuthModeWPANone, "WPANone" }, 377364064216a8433360745f69edddce19a606659163The Android Open Source Project { os802_11AuthModeWPA2, "WPA2" }, 377464064216a8433360745f69edddce19a606659163The Android Open Source Project { os802_11AuthModeWPA2PSK, "WPA2PSK" }, 377564064216a8433360745f69edddce19a606659163The Android Open Source Project 377664064216a8433360745f69edddce19a606659163The Android Open Source Project /*{ os802_11AuthModeMax, "Max" }*/ 377764064216a8433360745f69edddce19a606659163The Android Open Source Project }; 377864064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_AUTHENTICATION_MODE data; 377964064216a8433360745f69edddce19a606659163The Android Open Source Project 378064064216a8433360745f69edddce19a606659163The Android Open Source Project if( !TI_GetAuthenticationMode( g_id_adapter, &data ) ) 378164064216a8433360745f69edddce19a606659163The Android Open Source Project { 378264064216a8433360745f69edddce19a606659163The Android Open Source Project print_available_values(auth_mode_type); 378364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("AuthenticationMode=%d\n", data ); 378464064216a8433360745f69edddce19a606659163The Android Open Source Project } 378564064216a8433360745f69edddce19a606659163The Android Open Source Project } 378664064216a8433360745f69edddce19a606659163The Android Open Source Project} 378764064216a8433360745f69edddce19a606659163The Android Open Source Project 378864064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_privacy_eap(ConParm_t parm[], U16 nParms) 378964064216a8433360745f69edddce19a606659163The Android Open Source Project{ 379064064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms ) 379164064216a8433360745f69edddce19a606659163The Android Open Source Project { 379264064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetEAPType( g_id_adapter, (OS_802_11_EAP_TYPES) parm[0].value ); 379364064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetEAPTypeDriver( g_id_adapter, (OS_802_11_EAP_TYPES) parm[0].value ); 379464064216a8433360745f69edddce19a606659163The Android Open Source Project } 379564064216a8433360745f69edddce19a606659163The Android Open Source Project else 379664064216a8433360745f69edddce19a606659163The Android Open Source Project { 379764064216a8433360745f69edddce19a606659163The Android Open Source Project static named_value_t eap_type[] = { 379864064216a8433360745f69edddce19a606659163The Android Open Source Project { OS_EAP_TYPE_GENERIC_TOKEN_CARD, "TOKEN" }, 379964064216a8433360745f69edddce19a606659163The Android Open Source Project { OS_EAP_TYPE_TLS, "TLS" }, 380064064216a8433360745f69edddce19a606659163The Android Open Source Project INCLUDE_EXC_TYPE_NAMES 380164064216a8433360745f69edddce19a606659163The Android Open Source Project { OS_EAP_TYPE_TTLS, "TTLS" }, 380264064216a8433360745f69edddce19a606659163The Android Open Source Project { OS_EAP_TYPE_PEAP, "PEAP" }, 380364064216a8433360745f69edddce19a606659163The Android Open Source Project {OS_EAP_TYPE_MS_CHAP_V2, "CHAP" } 380464064216a8433360745f69edddce19a606659163The Android Open Source Project }; 380564064216a8433360745f69edddce19a606659163The Android Open Source Project/*temp_closed 380664064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_EAP_TYPES data; 380764064216a8433360745f69edddce19a606659163The Android Open Source Project 380864064216a8433360745f69edddce19a606659163The Android Open Source Project if( !TI_GetEAPType( g_id_adapter, &data ) ) 380964064216a8433360745f69edddce19a606659163The Android Open Source Project { 381064064216a8433360745f69edddce19a606659163The Android Open Source Project print_available_values(eap_type); 381164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("EAP Type = %d\n", data ); 381264064216a8433360745f69edddce19a606659163The Android Open Source Project } 381364064216a8433360745f69edddce19a606659163The Android Open Source Project*/ 381464064216a8433360745f69edddce19a606659163The Android Open Source Project print_available_values(eap_type); 381564064216a8433360745f69edddce19a606659163The Android Open Source Project } 381664064216a8433360745f69edddce19a606659163The Android Open Source Project 381764064216a8433360745f69edddce19a606659163The Android Open Source Project} 381864064216a8433360745f69edddce19a606659163The Android Open Source Project 381964064216a8433360745f69edddce19a606659163The Android Open Source Project 382064064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_privacy_encrypt(ConParm_t parm[], U16 nParms) 382164064216a8433360745f69edddce19a606659163The Android Open Source Project{ 382264064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_ENCRYPTION_TYPES data; 382364064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms ) 382464064216a8433360745f69edddce19a606659163The Android Open Source Project { 382564064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetEncryptionType( g_id_adapter, (OS_802_11_ENCRYPTION_TYPES) parm[0].value ); 382664064216a8433360745f69edddce19a606659163The Android Open Source Project } 382764064216a8433360745f69edddce19a606659163The Android Open Source Project else 382864064216a8433360745f69edddce19a606659163The Android Open Source Project { 382964064216a8433360745f69edddce19a606659163The Android Open Source Project print_available_values(encrypt_type); 383064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Encryption=%d\n", !TI_GetEncryptionType( g_id_adapter, &data ) ? data : -1 ); 383164064216a8433360745f69edddce19a606659163The Android Open Source Project } 383264064216a8433360745f69edddce19a606659163The Android Open Source Project 383364064216a8433360745f69edddce19a606659163The Android Open Source Project} 383464064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_privacy_credent(ConParm_t parm[], U16 nParms) 383564064216a8433360745f69edddce19a606659163The Android Open Source Project{ 383664064216a8433360745f69edddce19a606659163The Android Open Source Project 383764064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms == 2 ) 383864064216a8433360745f69edddce19a606659163The Android Open Source Project { 383964064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetCredentials(g_id_adapter,(tiCHAR *) parm[0].value, (tiCHAR *) parm[1].value); 384064064216a8433360745f69edddce19a606659163The Android Open Source Project } 384164064216a8433360745f69edddce19a606659163The Android Open Source Project else if( nParms == 1 ) 384264064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetCredentials(g_id_adapter,(tiCHAR *) parm[0].value, NULL); 384364064216a8433360745f69edddce19a606659163The Android Open Source Project else 384464064216a8433360745f69edddce19a606659163The Android Open Source Project return; 384564064216a8433360745f69edddce19a606659163The Android Open Source Project 384664064216a8433360745f69edddce19a606659163The Android Open Source Project} 384764064216a8433360745f69edddce19a606659163The Android Open Source Project 384864064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_privacy_PSKPassphrase(ConParm_t parm[], U16 nParms) 384964064216a8433360745f69edddce19a606659163The Android Open Source Project{ 385064064216a8433360745f69edddce19a606659163The Android Open Source Project char buf[PSK_BUFF_LEN], *pPassphrase; 385164064216a8433360745f69edddce19a606659163The Android Open Source Project unsigned int len, is_hex_key = 0; 385264064216a8433360745f69edddce19a606659163The Android Open Source Project 385364064216a8433360745f69edddce19a606659163The Android Open Source Project 385464064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms == 0 ) 385564064216a8433360745f69edddce19a606659163The Android Open Source Project return; 385664064216a8433360745f69edddce19a606659163The Android Open Source Project 385764064216a8433360745f69edddce19a606659163The Android Open Source Project len = strlen((char*)(parm[0].value)); 385864064216a8433360745f69edddce19a606659163The Android Open Source Project 385964064216a8433360745f69edddce19a606659163The Android Open Source Project pPassphrase = (char*)(parm[0].value); 386064064216a8433360745f69edddce19a606659163The Android Open Source Project 386164064216a8433360745f69edddce19a606659163The Android Open Source Project memset(buf,0,PSK_BUFF_LEN); 386264064216a8433360745f69edddce19a606659163The Android Open Source Project 386364064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms >= 2 ) 386464064216a8433360745f69edddce19a606659163The Android Open Source Project { 386564064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef _WINDOWS 386664064216a8433360745f69edddce19a606659163The Android Open Source Project#else 386764064216a8433360745f69edddce19a606659163The Android Open Source Project if( !stricmp((char *) parm[1].value, "hex") ) 386864064216a8433360745f69edddce19a606659163The Android Open Source Project is_hex_key = 1; 386964064216a8433360745f69edddce19a606659163The Android Open Source Project else if(!stricmp((char *) parm[1].value, "text")) 387064064216a8433360745f69edddce19a606659163The Android Open Source Project is_hex_key = 0; 387164064216a8433360745f69edddce19a606659163The Android Open Source Project#endif 387264064216a8433360745f69edddce19a606659163The Android Open Source Project } 387364064216a8433360745f69edddce19a606659163The Android Open Source Project 387464064216a8433360745f69edddce19a606659163The Android Open Source Project if( is_hex_key ) 387564064216a8433360745f69edddce19a606659163The Android Open Source Project { 387664064216a8433360745f69edddce19a606659163The Android Open Source Project if( len != PSK_HEXA_LENGTH ) 387764064216a8433360745f69edddce19a606659163The Android Open Source Project { 387864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("The hexa PSKPassphrase must be at length of %d hexa digits \n",PSK_HEXA_LENGTH); 387964064216a8433360745f69edddce19a606659163The Android Open Source Project return ; 388064064216a8433360745f69edddce19a606659163The Android Open Source Project } 388164064216a8433360745f69edddce19a606659163The Android Open Source Project } 388264064216a8433360745f69edddce19a606659163The Android Open Source Project else 388364064216a8433360745f69edddce19a606659163The Android Open Source Project { 388464064216a8433360745f69edddce19a606659163The Android Open Source Project if (len > MAX_PSK_STRING_LENGTH || len < MIN_PSK_STRING_LENGTH) 388564064216a8433360745f69edddce19a606659163The Android Open Source Project { 388664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("The PSKPassphrase must be between %d to %d chars \n", MIN_PSK_STRING_LENGTH, MAX_PSK_STRING_LENGTH); 388764064216a8433360745f69edddce19a606659163The Android Open Source Project return ; 388864064216a8433360745f69edddce19a606659163The Android Open Source Project } 388964064216a8433360745f69edddce19a606659163The Android Open Source Project } 389064064216a8433360745f69edddce19a606659163The Android Open Source Project 389164064216a8433360745f69edddce19a606659163The Android Open Source Project memcpy(buf, (char*)(parm[0].value), len); 389264064216a8433360745f69edddce19a606659163The Android Open Source Project 389364064216a8433360745f69edddce19a606659163The Android Open Source Project /*TI_SetPSKPassPhrase*/ 389464064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetPSK(g_id_adapter, (tiCHAR *)buf); 389564064216a8433360745f69edddce19a606659163The Android Open Source Project} 389664064216a8433360745f69edddce19a606659163The Android Open Source Project 389764064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_privacy_certificate(ConParm_t parm[], U16 nParms) 389864064216a8433360745f69edddce19a606659163The Android Open Source Project{ 389964064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef _WINDOWS // TRS:HLC 390064064216a8433360745f69edddce19a606659163The Android Open Source Project#else 390164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Set sertificate file : %s\n", (char*)parm[0].value); 390264064216a8433360745f69edddce19a606659163The Android Open Source Project if(nParms == 1 ) 390364064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetCertificateParameters(g_id_adapter, (void*)parm[0].value, 0); 390464064216a8433360745f69edddce19a606659163The Android Open Source Project else if(nParms == 2 ) 390564064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetCertificateParameters(g_id_adapter, (void*)parm[0].value, 390664064216a8433360745f69edddce19a606659163The Android Open Source Project (unsigned int)parm[1].value); 390764064216a8433360745f69edddce19a606659163The Android Open Source Project else return; 390864064216a8433360745f69edddce19a606659163The Android Open Source Project#endif 390964064216a8433360745f69edddce19a606659163The Android Open Source Project//TRS end 391064064216a8433360745f69edddce19a606659163The Android Open Source Project} 391164064216a8433360745f69edddce19a606659163The Android Open Source Project 391264064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_privacy_wpa_options(ConParm_t parm[], U16 nParms) 391364064216a8433360745f69edddce19a606659163The Android Open Source Project{ 391464064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms ) 391564064216a8433360745f69edddce19a606659163The Android Open Source Project { 391664064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetWpaOptions(g_id_adapter, parm[0].value ); 391764064216a8433360745f69edddce19a606659163The Android Open Source Project } 391864064216a8433360745f69edddce19a606659163The Android Open Source Project else 391964064216a8433360745f69edddce19a606659163The Android Open Source Project { 392064064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 data; 392164064216a8433360745f69edddce19a606659163The Android Open Source Project static named_value_t wpa_options[] = { 392264064216a8433360745f69edddce19a606659163The Android Open Source Project { OS_802_11_OPTION_ENABLE_PROMOTE_MODE, "PROMOTE_MODE" }, 392364064216a8433360745f69edddce19a606659163The Android Open Source Project { OS_802_11_OPTION_ENABLE_PROMOTE_CIPHER, "PROMOTE_CIPHER" }, 392464064216a8433360745f69edddce19a606659163The Android Open Source Project { OS_802_11_OPTION_ENABLE_ALL, "All" } 392564064216a8433360745f69edddce19a606659163The Android Open Source Project }; 392664064216a8433360745f69edddce19a606659163The Android Open Source Project 392764064216a8433360745f69edddce19a606659163The Android Open Source Project print_available_values(wpa_options); 392864064216a8433360745f69edddce19a606659163The Android Open Source Project if( !TI_GetWpaOptions(g_id_adapter, &data ) ) 392964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("WPA option=%d\n", data ); 393064064216a8433360745f69edddce19a606659163The Android Open Source Project } 393164064216a8433360745f69edddce19a606659163The Android Open Source Project} 393264064216a8433360745f69edddce19a606659163The Android Open Source Project 393364064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_privacy_getdefaultkey(ConParm_t parm[], U16 nParms) 393464064216a8433360745f69edddce19a606659163The Android Open Source Project{ 393564064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 DefaultKeyId; 393664064216a8433360745f69edddce19a606659163The Android Open Source Project if (OK == TI_GetDefaultWepKey(g_id_adapter, &DefaultKeyId)) 393764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("WEP default key ID = %d\n", DefaultKeyId ); 393864064216a8433360745f69edddce19a606659163The Android Open Source Project 393964064216a8433360745f69edddce19a606659163The Android Open Source Project} 394064064216a8433360745f69edddce19a606659163The Android Open Source Projectunsigned int char_2_hexa( char c ) 394164064216a8433360745f69edddce19a606659163The Android Open Source Project{ 394264064216a8433360745f69edddce19a606659163The Android Open Source Project if( c >= '0' && c <= '9' ) 394364064216a8433360745f69edddce19a606659163The Android Open Source Project return c - '0'; 394464064216a8433360745f69edddce19a606659163The Android Open Source Project else if( tolower(c) >= 'a' && tolower(c) <= 'f' ) 394564064216a8433360745f69edddce19a606659163The Android Open Source Project return tolower(c) - 'a' + 0x0a; 394664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("invalid symbol '%c'\n", c ); 394764064216a8433360745f69edddce19a606659163The Android Open Source Project return (unsigned int) -1; 394864064216a8433360745f69edddce19a606659163The Android Open Source Project} 394964064216a8433360745f69edddce19a606659163The Android Open Source Project 395064064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_privacy_addkey(ConParm_t parm[], U16 nParms) 395164064216a8433360745f69edddce19a606659163The Android Open Source Project{ 395264064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_WEP data; 395364064216a8433360745f69edddce19a606659163The Android Open Source Project char *buf; 395464064216a8433360745f69edddce19a606659163The Android Open Source Project unsigned int i, len, is_hex_key = 1; 395564064216a8433360745f69edddce19a606659163The Android Open Source Project U32 val, val_l; 395664064216a8433360745f69edddce19a606659163The Android Open Source Project unsigned int key_id = 0; 395764064216a8433360745f69edddce19a606659163The Android Open Source Project unsigned int def_flag = 0; 395864064216a8433360745f69edddce19a606659163The Android Open Source Project 395964064216a8433360745f69edddce19a606659163The Android Open Source Project buf = (char *) parm[0].value; 396064064216a8433360745f69edddce19a606659163The Android Open Source Project 396164064216a8433360745f69edddce19a606659163The Android Open Source Project key_id = (unsigned int)parm[1].value; 396264064216a8433360745f69edddce19a606659163The Android Open Source Project 396364064216a8433360745f69edddce19a606659163The Android Open Source Project if( parm[2].value ) 396464064216a8433360745f69edddce19a606659163The Android Open Source Project def_flag = 0x80000000; 396564064216a8433360745f69edddce19a606659163The Android Open Source Project 396664064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms >= 4 ) 396764064216a8433360745f69edddce19a606659163The Android Open Source Project { 396864064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef _WINDOWS 396964064216a8433360745f69edddce19a606659163The Android Open Source Project#else 397064064216a8433360745f69edddce19a606659163The Android Open Source Project if( !stricmp((char *) parm[3].value, "hex") ) 397164064216a8433360745f69edddce19a606659163The Android Open Source Project is_hex_key = 1; 397264064216a8433360745f69edddce19a606659163The Android Open Source Project else if(!stricmp((char *) parm[3].value, "text")) 397364064216a8433360745f69edddce19a606659163The Android Open Source Project is_hex_key = 0; 397464064216a8433360745f69edddce19a606659163The Android Open Source Project#endif 397564064216a8433360745f69edddce19a606659163The Android Open Source Project } 397664064216a8433360745f69edddce19a606659163The Android Open Source Project 397764064216a8433360745f69edddce19a606659163The Android Open Source Project memset(data.KeyMaterial,0,sizeof(data.KeyMaterial)); 397864064216a8433360745f69edddce19a606659163The Android Open Source Project 397964064216a8433360745f69edddce19a606659163The Android Open Source Project len = strlen(buf); 398064064216a8433360745f69edddce19a606659163The Android Open Source Project 398164064216a8433360745f69edddce19a606659163The Android Open Source Project if( is_hex_key ) 398264064216a8433360745f69edddce19a606659163The Android Open Source Project { 398364064216a8433360745f69edddce19a606659163The Android Open Source Project if( len % 2 ) 398464064216a8433360745f69edddce19a606659163The Android Open Source Project { 398564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("The hexa key should be even length\n"); 398664064216a8433360745f69edddce19a606659163The Android Open Source Project return ; 398764064216a8433360745f69edddce19a606659163The Android Open Source Project } 398864064216a8433360745f69edddce19a606659163The Android Open Source Project if(len <= 10) /*10 is number of character for key length 40 bit*/ 398964064216a8433360745f69edddce19a606659163The Android Open Source Project data.KeyLength = 5; 399064064216a8433360745f69edddce19a606659163The Android Open Source Project else if(len <= 26) /*26 is number of character for key length 128 bit*/ 399164064216a8433360745f69edddce19a606659163The Android Open Source Project data.KeyLength = 13; 399264064216a8433360745f69edddce19a606659163The Android Open Source Project else if(len <= 58) /*58 is number of character for key length 256 bit*/ 399364064216a8433360745f69edddce19a606659163The Android Open Source Project data.KeyLength = 29; 399464064216a8433360745f69edddce19a606659163The Android Open Source Project else { 399564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("**Error key length\n" ); 399664064216a8433360745f69edddce19a606659163The Android Open Source Project return; 399764064216a8433360745f69edddce19a606659163The Android Open Source Project } 399864064216a8433360745f69edddce19a606659163The Android Open Source Project 399964064216a8433360745f69edddce19a606659163The Android Open Source Project for( i=0; *buf && i < data.KeyLength; i++ ) 400064064216a8433360745f69edddce19a606659163The Android Open Source Project { 400164064216a8433360745f69edddce19a606659163The Android Open Source Project val = char_2_hexa(*buf); 400264064216a8433360745f69edddce19a606659163The Android Open Source Project if( val == (U32) -1 ) 400364064216a8433360745f69edddce19a606659163The Android Open Source Project return; 400464064216a8433360745f69edddce19a606659163The Android Open Source Project 400564064216a8433360745f69edddce19a606659163The Android Open Source Project val_l = char_2_hexa(*(++buf)); 400664064216a8433360745f69edddce19a606659163The Android Open Source Project if( val_l == (U32) -1 ) 400764064216a8433360745f69edddce19a606659163The Android Open Source Project return; 400864064216a8433360745f69edddce19a606659163The Android Open Source Project 400964064216a8433360745f69edddce19a606659163The Android Open Source Project data.KeyMaterial[i] = (tiUINT8)((val << 4) | val_l); 401064064216a8433360745f69edddce19a606659163The Android Open Source Project buf++; 401164064216a8433360745f69edddce19a606659163The Android Open Source Project } 401264064216a8433360745f69edddce19a606659163The Android Open Source Project } 401364064216a8433360745f69edddce19a606659163The Android Open Source Project else /* for ascii key */ 401464064216a8433360745f69edddce19a606659163The Android Open Source Project { 401564064216a8433360745f69edddce19a606659163The Android Open Source Project if(len <= 5) /*10 is number of character for key length 40 bit*/ 401664064216a8433360745f69edddce19a606659163The Android Open Source Project data.KeyLength = 5; 401764064216a8433360745f69edddce19a606659163The Android Open Source Project else if(len <= 13) /*26 is number of character for key length 128 bit*/ 401864064216a8433360745f69edddce19a606659163The Android Open Source Project data.KeyLength = 13; 401964064216a8433360745f69edddce19a606659163The Android Open Source Project else if(len <= 29) /*58 is number of character for key length 256 bit*/ 402064064216a8433360745f69edddce19a606659163The Android Open Source Project data.KeyLength = 29; 402164064216a8433360745f69edddce19a606659163The Android Open Source Project else { 402264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("**Error key length\n" ); 402364064216a8433360745f69edddce19a606659163The Android Open Source Project return; 402464064216a8433360745f69edddce19a606659163The Android Open Source Project } 402564064216a8433360745f69edddce19a606659163The Android Open Source Project memcpy(data.KeyMaterial, buf, len ); 402664064216a8433360745f69edddce19a606659163The Android Open Source Project } 402764064216a8433360745f69edddce19a606659163The Android Open Source Project 402864064216a8433360745f69edddce19a606659163The Android Open Source Project data.KeyIndex = def_flag | key_id; 402964064216a8433360745f69edddce19a606659163The Android Open Source Project data.Length = sizeof(OS_802_11_WEP); 403064064216a8433360745f69edddce19a606659163The Android Open Source Project 403164064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef DEBUG_MESSAGES 403264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("cmd_privacy_addkey len = %d, type: %s\nkey:", data.KeyLength, is_hex_key ? "hex" : "text"); 403364064216a8433360745f69edddce19a606659163The Android Open Source Project for(i=0; i<SIZE_ARR(data.KeyMaterial); i++ ) 403464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("%02x", (U32) data.KeyMaterial[i]); 403564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("\n"); 403664064216a8433360745f69edddce19a606659163The Android Open Source Project#endif /*DEBUG_MESSAGES */ 403764064216a8433360745f69edddce19a606659163The Android Open Source Project TI_AddWEPKey(g_id_adapter, &data); 403864064216a8433360745f69edddce19a606659163The Android Open Source Project} 403964064216a8433360745f69edddce19a606659163The Android Open Source Project 404064064216a8433360745f69edddce19a606659163The Android Open Source Project 404164064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_privacy_removekey(ConParm_t parm[], U16 nParms) 404264064216a8433360745f69edddce19a606659163The Android Open Source Project{ 404364064216a8433360745f69edddce19a606659163The Android Open Source Project TI_RemoveWEPKey(g_id_adapter, (U32) parm[0].value ); 404464064216a8433360745f69edddce19a606659163The Android Open Source Project} 404564064216a8433360745f69edddce19a606659163The Android Open Source Project 404664064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_privacy_key_type(ConParm_t parm[], U16 nParms) 404764064216a8433360745f69edddce19a606659163The Android Open Source Project{ 404864064216a8433360745f69edddce19a606659163The Android Open Source Project 404964064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms ) 405064064216a8433360745f69edddce19a606659163The Android Open Source Project { 405164064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetKeyType( g_id_adapter, (OS_802_11_KEY_TYPES)parm[0].value ); 405264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("CLI-: KeyType - %x\n",(tiUINT32)parm[0].value); 405364064216a8433360745f69edddce19a606659163The Android Open Source Project } 405464064216a8433360745f69edddce19a606659163The Android Open Source Project else 405564064216a8433360745f69edddce19a606659163The Android Open Source Project { 405664064216a8433360745f69edddce19a606659163The Android Open Source Project static named_value_t key_type[] = { 405764064216a8433360745f69edddce19a606659163The Android Open Source Project { OS_KEY_TYPE_STATIC, "STATIC" }, 405864064216a8433360745f69edddce19a606659163The Android Open Source Project { OS_KEY_TYPE_DYNAMIC, "DYNAMIC"} 405964064216a8433360745f69edddce19a606659163The Android Open Source Project }; 406064064216a8433360745f69edddce19a606659163The Android Open Source Project 406164064216a8433360745f69edddce19a606659163The Android Open Source Project print_available_values(key_type); 406264064216a8433360745f69edddce19a606659163The Android Open Source Project } 406364064216a8433360745f69edddce19a606659163The Android Open Source Project 406464064216a8433360745f69edddce19a606659163The Android Open Source Project} 406564064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_privacy_mixed_mode(ConParm_t parm[], U16 nParms) 406664064216a8433360745f69edddce19a606659163The Android Open Source Project{ 406764064216a8433360745f69edddce19a606659163The Android Open Source Project tiBOOL data; 406864064216a8433360745f69edddce19a606659163The Android Open Source Project 406964064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms == 0 ) 407064064216a8433360745f69edddce19a606659163The Android Open Source Project { 407164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Mixed Mode: 0 - FALSE, 1 - TRUE\n"); 407264064216a8433360745f69edddce19a606659163The Android Open Source Project data = FALSE; 407364064216a8433360745f69edddce19a606659163The Android Open Source Project if( !TI_GetMixedMode(g_id_adapter, &data ) ); 407464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Mixed Mode =%s\n", data ? "True" : "False" ); 407564064216a8433360745f69edddce19a606659163The Android Open Source Project 407664064216a8433360745f69edddce19a606659163The Android Open Source Project } 407764064216a8433360745f69edddce19a606659163The Android Open Source Project else /* param <read-only!!> */ 407864064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetMixedMode(g_id_adapter, (BOOL) parm[0].value); 407964064216a8433360745f69edddce19a606659163The Android Open Source Project} 408064064216a8433360745f69edddce19a606659163The Android Open Source Project 408164064216a8433360745f69edddce19a606659163The Android Open Source Project 408264064216a8433360745f69edddce19a606659163The Android Open Source Project/************** Roaming Manager functions ******************/ 408364064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Roaming_enable(ConParm_t parm[], U16 nParms) 408464064216a8433360745f69edddce19a606659163The Android Open Source Project{ 408564064216a8433360745f69edddce19a606659163The Android Open Source Project TI_GetRoamingConfiguration (g_id_adapter, (UINT8*)&roamingMngrConfigParams, sizeof(roamingMngrConfigParams_t)); 408664064216a8433360745f69edddce19a606659163The Android Open Source Project roamingMngrConfigParams.roamingMngrConfig.enableDisable = ROAMING_ENABLED; 408764064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetRoamingConfiguration (g_id_adapter, (UINT8*)&roamingMngrConfigParams, sizeof(roamingMngrConfigParams_t)); 408864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Roaming is enabled \n"); 408964064216a8433360745f69edddce19a606659163The Android Open Source Project} 409064064216a8433360745f69edddce19a606659163The Android Open Source Project 409164064216a8433360745f69edddce19a606659163The Android Open Source Project 409264064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Roaming_disable(ConParm_t parm[], U16 nParms) 409364064216a8433360745f69edddce19a606659163The Android Open Source Project{ 409464064216a8433360745f69edddce19a606659163The Android Open Source Project TI_GetRoamingConfiguration (g_id_adapter, (UINT8*)&roamingMngrConfigParams, sizeof(roamingMngrConfigParams_t)); 409564064216a8433360745f69edddce19a606659163The Android Open Source Project roamingMngrConfigParams.roamingMngrConfig.enableDisable = ROAMING_DISABLED; 409664064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetRoamingConfiguration (g_id_adapter, (UINT8*)&roamingMngrConfigParams, sizeof(roamingMngrConfigParams_t)); 409764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Roaming is disabled \n"); 409864064216a8433360745f69edddce19a606659163The Android Open Source Project} 409964064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Roaming_lowPassFilter(ConParm_t parm[], U16 nParms) 410064064216a8433360745f69edddce19a606659163The Android Open Source Project{ 410164064216a8433360745f69edddce19a606659163The Android Open Source Project TI_GetRoamingConfiguration (g_id_adapter, (UINT8*)&roamingMngrConfigParams, sizeof(roamingMngrConfigParams_t)); 410264064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms != 0 ) 410364064216a8433360745f69edddce19a606659163The Android Open Source Project { 410464064216a8433360745f69edddce19a606659163The Android Open Source Project roamingMngrConfigParams.roamingMngrConfig.lowPassFilterRoamingAttempt = (UINT16) parm[0].value; 410564064216a8433360745f69edddce19a606659163The Android Open Source Project } 410664064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetRoamingConfiguration (g_id_adapter, (UINT8*)&roamingMngrConfigParams, sizeof(roamingMngrConfigParams_t)); 410764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Time in sec to wait before low quality Roaming Triggers, \n lowPassFilterRoamingAttempt = %d sec\n", 410864064216a8433360745f69edddce19a606659163The Android Open Source Project roamingMngrConfigParams.roamingMngrConfig.lowPassFilterRoamingAttempt); 410964064216a8433360745f69edddce19a606659163The Android Open Source Project} 411064064216a8433360745f69edddce19a606659163The Android Open Source Project 411164064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Roaming_qualityIndicator(ConParm_t parm[], U16 nParms) 411264064216a8433360745f69edddce19a606659163The Android Open Source Project{ 411364064216a8433360745f69edddce19a606659163The Android Open Source Project TI_GetRoamingConfiguration (g_id_adapter, (UINT8*)&roamingMngrConfigParams, sizeof(roamingMngrConfigParams_t)); 411464064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms != 0 ) 411564064216a8433360745f69edddce19a606659163The Android Open Source Project { 411664064216a8433360745f69edddce19a606659163The Android Open Source Project roamingMngrConfigParams.roamingMngrConfig.apQualityThreshold = (S8) parm[0].value; 411764064216a8433360745f69edddce19a606659163The Android Open Source Project } 411864064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetRoamingConfiguration (g_id_adapter, (UINT8*)&roamingMngrConfigParams, sizeof(roamingMngrConfigParams_t)); 411964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Quality indicator (RSSI) to be used when comparing AP List matching quality, \n apQualityThreshold = %d \n", 412064064216a8433360745f69edddce19a606659163The Android Open Source Project (roamingMngrConfigParams.roamingMngrConfig.apQualityThreshold)); 412164064216a8433360745f69edddce19a606659163The Android Open Source Project} 412264064216a8433360745f69edddce19a606659163The Android Open Source Project 412364064216a8433360745f69edddce19a606659163The Android Open Source Project 412464064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Roaming_dataRetryThreshold(ConParm_t parm[], U16 nParms) 412564064216a8433360745f69edddce19a606659163The Android Open Source Project{ 412664064216a8433360745f69edddce19a606659163The Android Open Source Project TI_GetRoamingConfiguration (g_id_adapter, (UINT8*)&roamingMngrConfigParams, sizeof(roamingMngrConfigParams_t)); 412764064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms != 0 ) 412864064216a8433360745f69edddce19a606659163The Android Open Source Project { 412964064216a8433360745f69edddce19a606659163The Android Open Source Project roamingMngrConfigParams.roamingMngrThresholdsConfig.dataRetryThreshold = (UINT8) parm[0].value; 413064064216a8433360745f69edddce19a606659163The Android Open Source Project 413164064216a8433360745f69edddce19a606659163The Android Open Source Project } 413264064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetRoamingConfiguration (g_id_adapter, (UINT8*)&roamingMngrConfigParams, sizeof(roamingMngrConfigParams_t)); 413364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("dataRetryThreshold = %d \n", 413464064216a8433360745f69edddce19a606659163The Android Open Source Project roamingMngrConfigParams.roamingMngrThresholdsConfig.dataRetryThreshold); 413564064216a8433360745f69edddce19a606659163The Android Open Source Project 413664064216a8433360745f69edddce19a606659163The Android Open Source Project} 413764064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Roaming_numExpectedTbttForBSSLoss(ConParm_t parm[], U16 nParms) 413864064216a8433360745f69edddce19a606659163The Android Open Source Project{ 413964064216a8433360745f69edddce19a606659163The Android Open Source Project TI_GetRoamingConfiguration (g_id_adapter, (UINT8*)&roamingMngrConfigParams, sizeof(roamingMngrConfigParams_t)); 414064064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms != 0 ) 414164064216a8433360745f69edddce19a606659163The Android Open Source Project { 414264064216a8433360745f69edddce19a606659163The Android Open Source Project roamingMngrConfigParams.roamingMngrThresholdsConfig.numExpectedTbttForBSSLoss = (UINT8) parm[0].value; 414364064216a8433360745f69edddce19a606659163The Android Open Source Project 414464064216a8433360745f69edddce19a606659163The Android Open Source Project } 414564064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetRoamingConfiguration (g_id_adapter, (UINT8*)&roamingMngrConfigParams, sizeof(roamingMngrConfigParams_t)); 414664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Number of expected TBTTs for BSS Loss event, \n numExpectedTbttForBSSLoss = %d \n", 414764064216a8433360745f69edddce19a606659163The Android Open Source Project roamingMngrConfigParams.roamingMngrThresholdsConfig.numExpectedTbttForBSSLoss); 414864064216a8433360745f69edddce19a606659163The Android Open Source Project 414964064216a8433360745f69edddce19a606659163The Android Open Source Project} 415064064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Roaming_txRateThreshold(ConParm_t parm[], U16 nParms) 415164064216a8433360745f69edddce19a606659163The Android Open Source Project{ 415264064216a8433360745f69edddce19a606659163The Android Open Source Project TI_GetRoamingConfiguration (g_id_adapter, (UINT8*)&roamingMngrConfigParams, sizeof(roamingMngrConfigParams_t)); 415364064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms != 0 ) 415464064216a8433360745f69edddce19a606659163The Android Open Source Project { 415564064216a8433360745f69edddce19a606659163The Android Open Source Project roamingMngrConfigParams.roamingMngrThresholdsConfig.txRateThreshold = (UINT8) parm[0].value; 415664064216a8433360745f69edddce19a606659163The Android Open Source Project 415764064216a8433360745f69edddce19a606659163The Android Open Source Project } 415864064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetRoamingConfiguration (g_id_adapter, (UINT8*)&roamingMngrConfigParams, sizeof(roamingMngrConfigParams_t)); 415964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("txRateThreshold = %d \n", 416064064216a8433360745f69edddce19a606659163The Android Open Source Project roamingMngrConfigParams.roamingMngrThresholdsConfig.txRateThreshold); 416164064216a8433360745f69edddce19a606659163The Android Open Source Project 416264064216a8433360745f69edddce19a606659163The Android Open Source Project} 416364064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Roaming_lowRssiThreshold(ConParm_t parm[], U16 nParms) 416464064216a8433360745f69edddce19a606659163The Android Open Source Project{ 416564064216a8433360745f69edddce19a606659163The Android Open Source Project TI_GetRoamingConfiguration (g_id_adapter, (UINT8*)&roamingMngrConfigParams, sizeof(roamingMngrConfigParams_t)); 416664064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms != 0 ) 416764064216a8433360745f69edddce19a606659163The Android Open Source Project { 416864064216a8433360745f69edddce19a606659163The Android Open Source Project roamingMngrConfigParams.roamingMngrThresholdsConfig.lowRssiThreshold = (S8) parm[0].value; 416964064216a8433360745f69edddce19a606659163The Android Open Source Project 417064064216a8433360745f69edddce19a606659163The Android Open Source Project } 417164064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetRoamingConfiguration (g_id_adapter, (UINT8*)&roamingMngrConfigParams, sizeof(roamingMngrConfigParams_t)); 417264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("lowRssiThreshold = %d \n", 417364064216a8433360745f69edddce19a606659163The Android Open Source Project (roamingMngrConfigParams.roamingMngrThresholdsConfig.lowRssiThreshold)); 417464064216a8433360745f69edddce19a606659163The Android Open Source Project 417564064216a8433360745f69edddce19a606659163The Android Open Source Project} 417664064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Roaming_lowSnrThreshold(ConParm_t parm[], U16 nParms) 417764064216a8433360745f69edddce19a606659163The Android Open Source Project{ 417864064216a8433360745f69edddce19a606659163The Android Open Source Project TI_GetRoamingConfiguration (g_id_adapter, (UINT8*)&roamingMngrConfigParams, sizeof(roamingMngrConfigParams_t)); 417964064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms != 0 ) 418064064216a8433360745f69edddce19a606659163The Android Open Source Project { 418164064216a8433360745f69edddce19a606659163The Android Open Source Project roamingMngrConfigParams.roamingMngrThresholdsConfig.lowSnrThreshold = (S8)parm[0].value; 418264064216a8433360745f69edddce19a606659163The Android Open Source Project 418364064216a8433360745f69edddce19a606659163The Android Open Source Project } 418464064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetRoamingConfiguration (g_id_adapter, (UINT8*)&roamingMngrConfigParams, sizeof(roamingMngrConfigParams_t)); 418564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("lowSnrThreshold = %d \n", roamingMngrConfigParams.roamingMngrThresholdsConfig.lowSnrThreshold); 418664064216a8433360745f69edddce19a606659163The Android Open Source Project} 418764064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Roaming_lowQualityForBackgroungScanCondition(ConParm_t parm[], U16 nParms) 418864064216a8433360745f69edddce19a606659163The Android Open Source Project{ 418964064216a8433360745f69edddce19a606659163The Android Open Source Project TI_GetRoamingConfiguration (g_id_adapter, (UINT8*)&roamingMngrConfigParams, sizeof(roamingMngrConfigParams_t)); 419064064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms != 0 ) 419164064216a8433360745f69edddce19a606659163The Android Open Source Project { 419264064216a8433360745f69edddce19a606659163The Android Open Source Project roamingMngrConfigParams.roamingMngrThresholdsConfig.lowQualityForBackgroungScanCondition = (S8) parm[0].value; 419364064216a8433360745f69edddce19a606659163The Android Open Source Project 419464064216a8433360745f69edddce19a606659163The Android Open Source Project } 419564064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetRoamingConfiguration (g_id_adapter, (UINT8*)&roamingMngrConfigParams, sizeof(roamingMngrConfigParams_t)); 419664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Indicator used to increase the background scan period when quality is low, \n lowQualityForBackgroungScanCondition = %d \n", 419764064216a8433360745f69edddce19a606659163The Android Open Source Project (roamingMngrConfigParams.roamingMngrThresholdsConfig.lowQualityForBackgroungScanCondition)); 419864064216a8433360745f69edddce19a606659163The Android Open Source Project 419964064216a8433360745f69edddce19a606659163The Android Open Source Project} 420064064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Roaming_normalQualityForBackgroungScanCondition(ConParm_t parm[], U16 nParms) 420164064216a8433360745f69edddce19a606659163The Android Open Source Project{ 420264064216a8433360745f69edddce19a606659163The Android Open Source Project TI_GetRoamingConfiguration (g_id_adapter, (UINT8*)&roamingMngrConfigParams, sizeof(roamingMngrConfigParams_t)); 420364064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms != 0 ) 420464064216a8433360745f69edddce19a606659163The Android Open Source Project { 420564064216a8433360745f69edddce19a606659163The Android Open Source Project roamingMngrConfigParams.roamingMngrThresholdsConfig.normalQualityForBackgroungScanCondition = (S8) parm[0].value; 420664064216a8433360745f69edddce19a606659163The Android Open Source Project 420764064216a8433360745f69edddce19a606659163The Android Open Source Project } 420864064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetRoamingConfiguration (g_id_adapter, (UINT8*)&roamingMngrConfigParams, sizeof(roamingMngrConfigParams_t)); 420964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Indicator used to reduce the background scan period when quality is normal, \n normalQualityForBackgroungScanCondition = %d \n", 421064064216a8433360745f69edddce19a606659163The Android Open Source Project (roamingMngrConfigParams.roamingMngrThresholdsConfig.normalQualityForBackgroungScanCondition)); 421164064216a8433360745f69edddce19a606659163The Android Open Source Project 421264064216a8433360745f69edddce19a606659163The Android Open Source Project} 421364064216a8433360745f69edddce19a606659163The Android Open Source Project 421464064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Roaming_rssiFilterWeight(ConParm_t parm[], U16 nParms) 421564064216a8433360745f69edddce19a606659163The Android Open Source Project{ 421664064216a8433360745f69edddce19a606659163The Android Open Source Project TI_GetRoamingConfiguration (g_id_adapter, (UINT8*)&roamingMngrConfigParams, sizeof(roamingMngrConfigParams_t)); 421764064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms != 0 ) 421864064216a8433360745f69edddce19a606659163The Android Open Source Project { 421964064216a8433360745f69edddce19a606659163The Android Open Source Project roamingMngrConfigParams.roamingMngrThresholdsConfig.rssiFilterWeight = (UINT8) parm[0].value; 422064064216a8433360745f69edddce19a606659163The Android Open Source Project 422164064216a8433360745f69edddce19a606659163The Android Open Source Project } 422264064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetRoamingConfiguration (g_id_adapter, (UINT8*)&roamingMngrConfigParams, sizeof(roamingMngrConfigParams_t)); 422364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Rssi Filter Weight = %d \n", 422464064216a8433360745f69edddce19a606659163The Android Open Source Project (roamingMngrConfigParams.roamingMngrThresholdsConfig.rssiFilterWeight)); 422564064216a8433360745f69edddce19a606659163The Android Open Source Project} 422664064216a8433360745f69edddce19a606659163The Android Open Source Project 422764064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Roaming_snrFilterWeight(ConParm_t parm[], U16 nParms) 422864064216a8433360745f69edddce19a606659163The Android Open Source Project{ 422964064216a8433360745f69edddce19a606659163The Android Open Source Project TI_GetRoamingConfiguration (g_id_adapter, (UINT8*)&roamingMngrConfigParams, sizeof(roamingMngrConfigParams_t)); 423064064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms != 0 ) 423164064216a8433360745f69edddce19a606659163The Android Open Source Project { 423264064216a8433360745f69edddce19a606659163The Android Open Source Project roamingMngrConfigParams.roamingMngrThresholdsConfig.snrFilterWeight = (UINT8) parm[0].value; 423364064216a8433360745f69edddce19a606659163The Android Open Source Project 423464064216a8433360745f69edddce19a606659163The Android Open Source Project } 423564064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetRoamingConfiguration (g_id_adapter, (UINT8*)&roamingMngrConfigParams, sizeof(roamingMngrConfigParams_t)); 423664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Snr FIlter Weight = %d \n", 423764064216a8433360745f69edddce19a606659163The Android Open Source Project (roamingMngrConfigParams.roamingMngrThresholdsConfig.snrFilterWeight)); 423864064216a8433360745f69edddce19a606659163The Android Open Source Project} 423964064216a8433360745f69edddce19a606659163The Android Open Source Project 424064064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_Roaming_getConfParams(ConParm_t parm[], U16 nParms) 424164064216a8433360745f69edddce19a606659163The Android Open Source Project{ 424264064216a8433360745f69edddce19a606659163The Android Open Source Project TI_GetRoamingConfiguration (g_id_adapter, (UINT8*)&roamingMngrConfigParams, sizeof(roamingMngrConfigParams_t)); 424364064216a8433360745f69edddce19a606659163The Android Open Source Project 424464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Roaming is: %s \n", roamingMngrConfigParams.roamingMngrConfig.enableDisable ? "Enabled" : "Disabled"); 424564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("lowPassFilterRoamingAttempt = %d sec, apQualityThreshold = %d\n", 424664064216a8433360745f69edddce19a606659163The Android Open Source Project roamingMngrConfigParams.roamingMngrConfig.lowPassFilterRoamingAttempt, 424764064216a8433360745f69edddce19a606659163The Android Open Source Project roamingMngrConfigParams.roamingMngrConfig.apQualityThreshold); 424864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Roaming Triggers' thresholds are: \n"); 424964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("dataRetryThreshold = %d, lowQualityForBackgroungScanCondition = %d, \ 425064064216a8433360745f69edddce19a606659163The Android Open Source ProjectlowRssiThreshold = %d, lowSnrThreshold = %d, normalQualityForBackgroungScanCondition = %d, \ 425164064216a8433360745f69edddce19a606659163The Android Open Source ProjectnumExpectedTbttForBSSLoss = %d, txRateThreshold = %d \n", 425264064216a8433360745f69edddce19a606659163The Android Open Source Project roamingMngrConfigParams.roamingMngrThresholdsConfig.dataRetryThreshold, 425364064216a8433360745f69edddce19a606659163The Android Open Source Project roamingMngrConfigParams.roamingMngrThresholdsConfig.lowQualityForBackgroungScanCondition, 425464064216a8433360745f69edddce19a606659163The Android Open Source Project roamingMngrConfigParams.roamingMngrThresholdsConfig.lowRssiThreshold, 425564064216a8433360745f69edddce19a606659163The Android Open Source Project roamingMngrConfigParams.roamingMngrThresholdsConfig.lowSnrThreshold, 425664064216a8433360745f69edddce19a606659163The Android Open Source Project roamingMngrConfigParams.roamingMngrThresholdsConfig.normalQualityForBackgroungScanCondition, 425764064216a8433360745f69edddce19a606659163The Android Open Source Project roamingMngrConfigParams.roamingMngrThresholdsConfig.numExpectedTbttForBSSLoss, 425864064216a8433360745f69edddce19a606659163The Android Open Source Project roamingMngrConfigParams.roamingMngrThresholdsConfig.txRateThreshold); 425964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("RSSI / SNR filter weights are: \n"); 426064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("RSSI filter weight = %d, SNR filter weight = %d\n ", 426164064216a8433360745f69edddce19a606659163The Android Open Source Project roamingMngrConfigParams.roamingMngrThresholdsConfig.rssiFilterWeight, 426264064216a8433360745f69edddce19a606659163The Android Open Source Project roamingMngrConfigParams.roamingMngrThresholdsConfig.snrFilterWeight); 426364064216a8433360745f69edddce19a606659163The Android Open Source Project} 426464064216a8433360745f69edddce19a606659163The Android Open Source Project 426564064216a8433360745f69edddce19a606659163The Android Open Source Project 426664064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_bt_coe_enable(ConParm_t parm[], U16 nParms) 426764064216a8433360745f69edddce19a606659163The Android Open Source Project{ 426864064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms == 0 ) 426964064216a8433360745f69edddce19a606659163The Android Open Source Project { 427064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Please enter enable value:\n"); 427164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("0 - Enable\n"); 427264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("1 - Disable\n"); 427364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("2 - Auto\n"); 427464064216a8433360745f69edddce19a606659163The Android Open Source Project } 427564064216a8433360745f69edddce19a606659163The Android Open Source Project else 427664064216a8433360745f69edddce19a606659163The Android Open Source Project { 427764064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetBtCoeEnable(g_id_adapter, parm[0].value); 427864064216a8433360745f69edddce19a606659163The Android Open Source Project } 427964064216a8433360745f69edddce19a606659163The Android Open Source Project} 428064064216a8433360745f69edddce19a606659163The Android Open Source Project 428164064216a8433360745f69edddce19a606659163The Android Open Source Project 428264064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_bt_coe_rate(ConParm_t parm[], U16 nParms) 428364064216a8433360745f69edddce19a606659163The Android Open Source Project{ 428464064216a8433360745f69edddce19a606659163The Android Open Source Project U8 Values[NUM_OF_RATES_IN_SG]; 428564064216a8433360745f69edddce19a606659163The Android Open Source Project U8 Index; 428664064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms != NUM_OF_RATES_IN_SG ) 428764064216a8433360745f69edddce19a606659163The Android Open Source Project { 428864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("0 - 1Mbps (not recommended)\n"); 428964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("1 - 2Mbps (not recommended)\n"); 429064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("2 - 5.5Mbps\n"); 429164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("3 - 6Mbps\n"); 429264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("4 - 9Mbps\n"); 429364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("5 - 11Mbps\n"); 429464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("6 - 12Mbps\n"); 429564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("7 - 18Mbps\n"); 429664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("8 - 22Mbps (not in use)\n"); 429764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("9 - 24Mbps\n"); 429864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("10 - 36Mbps\n"); 429964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("11 - 48Mbps\n"); 430064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("12 - 54Mbps\n"); 430164064216a8433360745f69edddce19a606659163The Android Open Source Project } 430264064216a8433360745f69edddce19a606659163The Android Open Source Project else 430364064216a8433360745f69edddce19a606659163The Android Open Source Project { 430464064216a8433360745f69edddce19a606659163The Android Open Source Project for (Index = 0; Index < NUM_OF_RATES_IN_SG; Index++ ) 430564064216a8433360745f69edddce19a606659163The Android Open Source Project { 430664064216a8433360745f69edddce19a606659163The Android Open Source Project Values[Index] = (U8)parm[Index].value; //TRS:MEB use cast to fix compile warning 430764064216a8433360745f69edddce19a606659163The Android Open Source Project } 430864064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetBtCoeRate(g_id_adapter, Values); 430964064216a8433360745f69edddce19a606659163The Android Open Source Project } 431064064216a8433360745f69edddce19a606659163The Android Open Source Project} 431164064216a8433360745f69edddce19a606659163The Android Open Source Project 431264064216a8433360745f69edddce19a606659163The Android Open Source Project 431364064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_bt_coe_config(ConParm_t parm[], U16 nParms) 431464064216a8433360745f69edddce19a606659163The Android Open Source Project{ 431564064216a8433360745f69edddce19a606659163The Android Open Source Project U32 Values[NUM_OF_CONFIG_PARAMS_IN_SG]; 431664064216a8433360745f69edddce19a606659163The Android Open Source Project U8 Index = 0; 431764064216a8433360745f69edddce19a606659163The Android Open Source Project 431864064216a8433360745f69edddce19a606659163The Android Open Source Project if( nParms != NUM_OF_CONFIG_PARAMS_IN_SG ) 431964064216a8433360745f69edddce19a606659163The Android Open Source Project { 432064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Please enter valid config values:\n"); 432164064216a8433360745f69edddce19a606659163The Android Open Source Project 432264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param %d - wlanRxMinRateToRespectBtHp (0 - all,2,5,6,9,11,12,18,22,24,36,48,54) \n",Index++); 432364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param %d - btHpMaxTime (100 - 15000)\n",Index++); 432464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param %d - wlanHpMaxTime (100 - 15000)\n",Index++); 432564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param %d - senseDisableTimer (100 - 15000)\n",Index++); 432664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param %d - protectiveRxTimeBeforeBtHp (10 - 2300)\n",Index++); 432764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param %d - protectiveTxTimeBeforeBtHp (10 - 2300)\n",Index++); 432864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param %d - protectiveRxTimeBeforeBtHpFastAp (10 - 20000)\n",Index++); 432964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param %d - protectiveTxTimeBeforeBtHpFastAp (10 - 20000)\n",Index++); 433064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param %d - protectiveWlanCycleTimeForFastAp (2000 - 65535)\n",Index++); 433164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param %d - btAntiStarvationPeriod (0 - 15000) \n",Index++); 433264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param %d - timeoutNextBtLpPacket (400 - 10000)\n",Index++); 433364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param %d - wakeUpTimeBeforeBeacon (0 - 20000) \n",Index++); 433464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param %d - hpdmMaxGuardTime (0 - 50000) \n",Index++); 433564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param %d - timeoutNextWlanPacket (100 - 50000) \n",Index++); 433664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param %d - sgAntennaType (0 - Single | 1 - Dual | 2 - Single+ )\n",Index++); 433764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param %d - signalingType (0 - Legacy | 1 - Palau | 2 - Other)\n",Index++); 433864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param %d - afhLeverageOn (0 - OFF | 1 - GPIO | 2 - ON)\n",Index++); 433964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param %d - numberQuietCycle (0 - 10)\n",Index++); 434064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param %d - maxNumCts (0 - 10)\n",Index++); 434164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param %d - numberOfWlanPackets (1 - 10)\n",Index++); 434264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param %d - numberOfBtPackets (2 - 10)\n",Index++); 434364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param %d - numberOfMissedRxForAvalancheTrigger (1 - 255)\n",Index++); 434464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param %d - wlanElpHpSupport (0 - 1)\n",Index++); 434564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param %d - btAntiStarvationNumberOfCyclesWithinThePeriod (0 - 15) \n",Index++); 434664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param %d - ackModeDuringBtLpInDualAnt (0 - 1) \n",Index++); 434764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param %d - allowPaSdToggleDuringBtActivityEnable (0 - 1) \n",Index++); 434864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param %d - sgAutoModeNoCts (0 - 1) \n",Index++); 434964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param %d - numOfBtHpRespectedReq (0 - 20) \n",Index++); 435064064216a8433360745f69edddce19a606659163The Android Open Source Project } 435164064216a8433360745f69edddce19a606659163The Android Open Source Project else 435264064216a8433360745f69edddce19a606659163The Android Open Source Project { 435364064216a8433360745f69edddce19a606659163The Android Open Source Project for (Index = 0; Index < NUM_OF_CONFIG_PARAMS_IN_SG; Index++ ) 435464064216a8433360745f69edddce19a606659163The Android Open Source Project { 435564064216a8433360745f69edddce19a606659163The Android Open Source Project Values[Index] = parm[Index].value; 435664064216a8433360745f69edddce19a606659163The Android Open Source Project } 435764064216a8433360745f69edddce19a606659163The Android Open Source Project 435864064216a8433360745f69edddce19a606659163The Android Open Source Project if ( ( (is_value_rate(Values[0])) && (Values[0] != 1) ) || (Values[0] == 0) ) 435964064216a8433360745f69edddce19a606659163The Android Open Source Project { 436064064216a8433360745f69edddce19a606659163The Android Open Source Project TI_SetBtCoeConfig(g_id_adapter, (tiUINT32 *)Values); 436164064216a8433360745f69edddce19a606659163The Android Open Source Project } 436264064216a8433360745f69edddce19a606659163The Android Open Source Project else 436364064216a8433360745f69edddce19a606659163The Android Open Source Project { 436464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Error: Param 26 - wlanRxMinRateToRespectBtHp (0 - all,2,5,6,9,11,12,18,22,24,36,48,54) \n"); 436564064216a8433360745f69edddce19a606659163The Android Open Source Project } 436664064216a8433360745f69edddce19a606659163The Android Open Source Project } 436764064216a8433360745f69edddce19a606659163The Android Open Source Project} 436864064216a8433360745f69edddce19a606659163The Android Open Source Project 436964064216a8433360745f69edddce19a606659163The Android Open Source Project 437064064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_bt_coe_get_status(ConParm_t parm[], U16 nParms) 437164064216a8433360745f69edddce19a606659163The Android Open Source Project{ 437264064216a8433360745f69edddce19a606659163The Android Open Source Project U32 Values[NUM_OF_STATUS_PARAMS_IN_SG]; 437364064216a8433360745f69edddce19a606659163The Android Open Source Project /* The print is done inside the module */ 437464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Done by driver - "); 437564064216a8433360745f69edddce19a606659163The Android Open Source Project if( TI_SetBtCoeGetStatus(g_id_adapter,(tiUINT32 *) Values) == OK ) { 437664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Ok\n"); 437764064216a8433360745f69edddce19a606659163The Android Open Source Project/* console_printf_terminal("BT Coxistence status: \n\n"); 437864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Enable: %d\n", Values[0]); 437964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Rate: %d\n", Values[1]); 438064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("BtSignaling: %d\n", Values[2]); 438164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("BtHPMaxTime: %d\n", Values[3]); 438264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("WlanHPMaxTime: %d\n", Values[4]); 438364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("WlanEOSMaxPacket: %d\n", Values[5]); 438464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("WlanEOSMaxPacketTimeOut: %d\n", Values[6]); 438564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("BtPTAMaxPacket: %d\n", Values[7]); 438664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("BtPTAMaxPacketTimeOut: %d\n", Values[8]); 438764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("WlanSlowAPSocial: %d\n", Values[9]); 438864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("WlanSlowAPMaxCTS: %d\n", Values[10]); 438964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("WlanSlowAPMaxTimeToCTS: %d\n", Values[11]); 439064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("T8_temporary: %d\n", Values[12]); 439164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("BTtoWLANSwitchTime: %d\n", Values[13]); */ 439264064216a8433360745f69edddce19a606659163The Android Open Source Project } 439364064216a8433360745f69edddce19a606659163The Android Open Source Project else 439464064216a8433360745f69edddce19a606659163The Android Open Source Project { 439564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Fail\n"); 439664064216a8433360745f69edddce19a606659163The Android Open Source Project/* console_printf_terminal("Error reading status!\n"); */ 439764064216a8433360745f69edddce19a606659163The Android Open Source Project } 439864064216a8433360745f69edddce19a606659163The Android Open Source Project} 439964064216a8433360745f69edddce19a606659163The Android Open Source Project 440064064216a8433360745f69edddce19a606659163The Android Open Source Project 440164064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_PLT_RxPerStart(ConParm_t parm[], U16 nParms) 440264064216a8433360745f69edddce19a606659163The Android Open Source Project{ 440364064216a8433360745f69edddce19a606659163The Android Open Source Project UINT32 Status = TI_PLT_RxPerStart(g_id_adapter); 440464064216a8433360745f69edddce19a606659163The Android Open Source Project if (Status == OK) 440564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Plt RX counters started\n"); 440664064216a8433360745f69edddce19a606659163The Android Open Source Project else 440764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Plt RX counters start failed\n"); 440864064216a8433360745f69edddce19a606659163The Android Open Source Project} 440964064216a8433360745f69edddce19a606659163The Android Open Source Project 441064064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_PLT_RxPerStop(ConParm_t parm[], U16 nParms) 441164064216a8433360745f69edddce19a606659163The Android Open Source Project{ 441264064216a8433360745f69edddce19a606659163The Android Open Source Project UINT32 Status = TI_PLT_RxPerStop(g_id_adapter); 441364064216a8433360745f69edddce19a606659163The Android Open Source Project if (Status == OK) 441464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Plt RX counters stoped\n"); 441564064216a8433360745f69edddce19a606659163The Android Open Source Project else 441664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Plt RX counters stop failed\n"); 441764064216a8433360745f69edddce19a606659163The Android Open Source Project} 441864064216a8433360745f69edddce19a606659163The Android Open Source Project 441964064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_PLT_RxPerClear(ConParm_t parm[], U16 nParms) 442064064216a8433360745f69edddce19a606659163The Android Open Source Project{ 442164064216a8433360745f69edddce19a606659163The Android Open Source Project UINT32 Status = TI_PLT_RxPerClear(g_id_adapter); 442264064216a8433360745f69edddce19a606659163The Android Open Source Project if (Status == OK) 442364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Plt RX counters cleard\n"); 442464064216a8433360745f69edddce19a606659163The Android Open Source Project else 442564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Plt RX counters clear failed\n"); 442664064216a8433360745f69edddce19a606659163The Android Open Source Project} 442764064216a8433360745f69edddce19a606659163The Android Open Source Project 442864064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_PLT_RxPerGet(ConParm_t parm[], U16 nParms) 442964064216a8433360745f69edddce19a606659163The Android Open Source Project{ 443064064216a8433360745f69edddce19a606659163The Android Open Source Project PltRxPer_t PltRxPer; 443164064216a8433360745f69edddce19a606659163The Android Open Source Project UINT32 Status = TI_PLT_RxPerGetResults(g_id_adapter, &PltRxPer); 443264064216a8433360745f69edddce19a606659163The Android Open Source Project 443364064216a8433360745f69edddce19a606659163The Android Open Source Project if (Status == OK) 443464064216a8433360745f69edddce19a606659163The Android Open Source Project { 443564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("FCSErrorCount = %d\n", PltRxPer.FCSErrorCount); 443664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("PLCPErrorCount = %d\n", PltRxPer.PLCPErrorCount); 443764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("SeqNumMissCount = %d\n", PltRxPer.SeqNumMissCount); 443864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("TotalFrameCount = %d\n", PltRxPer.TotalFrameCount); 443964064216a8433360745f69edddce19a606659163The Android Open Source Project } 444064064216a8433360745f69edddce19a606659163The Android Open Source Project else 444164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Plt RX counters Get results failed\n"); 444264064216a8433360745f69edddce19a606659163The Android Open Source Project} 444364064216a8433360745f69edddce19a606659163The Android Open Source Project 444464064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_PLT_RegisterRead(ConParm_t parm[], U16 nParms) 444564064216a8433360745f69edddce19a606659163The Android Open Source Project{ 444664064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 RegAddress; 444764064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 RegValue; 444864064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 Status; 444964064216a8433360745f69edddce19a606659163The Android Open Source Project char* pTmp; 445064064216a8433360745f69edddce19a606659163The Android Open Source Project 445164064216a8433360745f69edddce19a606659163The Android Open Source Project /* Converting hex string to tiUINT32*/ 445264064216a8433360745f69edddce19a606659163The Android Open Source Project pTmp = (char*)parm[0].value; 445364064216a8433360745f69edddce19a606659163The Android Open Source Project sscanf(pTmp , "%x", &RegAddress); 445464064216a8433360745f69edddce19a606659163The Android Open Source Project 445564064216a8433360745f69edddce19a606659163The Android Open Source Project /*Call the API function */ 445664064216a8433360745f69edddce19a606659163The Android Open Source Project Status = TI_PLT_ReadRegister(g_id_adapter, RegAddress, &RegValue); 445764064216a8433360745f69edddce19a606659163The Android Open Source Project if( Status == OK ) 445864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Reg. %#lx = %#x (%d)\n", RegAddress, RegValue, RegValue ); 445964064216a8433360745f69edddce19a606659163The Android Open Source Project} 446064064216a8433360745f69edddce19a606659163The Android Open Source Project 446164064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_PLT_RegisterWrite(ConParm_t parm[], U16 nParms) 446264064216a8433360745f69edddce19a606659163The Android Open Source Project{ 446364064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 RegAddress; 446464064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 RegValue = 0; 446564064216a8433360745f69edddce19a606659163The Android Open Source Project tiUINT32 Status; 446664064216a8433360745f69edddce19a606659163The Android Open Source Project char* pTmp; 446764064216a8433360745f69edddce19a606659163The Android Open Source Project 446864064216a8433360745f69edddce19a606659163The Android Open Source Project /* Converting hex string to tiUINT32*/ 446964064216a8433360745f69edddce19a606659163The Android Open Source Project printf("cmd_PLT_RegisterWrite\n"); 447064064216a8433360745f69edddce19a606659163The Android Open Source Project pTmp = (char*)parm[0].value; 447164064216a8433360745f69edddce19a606659163The Android Open Source Project sscanf(pTmp, "%x", &RegAddress); 447264064216a8433360745f69edddce19a606659163The Android Open Source Project pTmp = (char*)parm[1].value; 447364064216a8433360745f69edddce19a606659163The Android Open Source Project sscanf(pTmp , "%x", &RegValue); 447464064216a8433360745f69edddce19a606659163The Android Open Source Project printf("cmd_PLT_RegisterWrite %x %x\n", RegAddress, RegValue); 447564064216a8433360745f69edddce19a606659163The Android Open Source Project 447664064216a8433360745f69edddce19a606659163The Android Open Source Project /*Call the API function */ 447764064216a8433360745f69edddce19a606659163The Android Open Source Project Status = TI_PLT_WriteRegister(g_id_adapter, RegAddress, RegValue ); 447864064216a8433360745f69edddce19a606659163The Android Open Source Project if (Status == OK) 447964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Plt register 0x%x is set to 0x%x OK.\n", RegAddress, RegValue); 448064064216a8433360745f69edddce19a606659163The Android Open Source Project else 448164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Plt register 0x%x is set to 0x%x NOK.\n", RegAddress, RegValue); 448264064216a8433360745f69edddce19a606659163The Android Open Source Project 448364064216a8433360745f69edddce19a606659163The Android Open Source Project} 448464064216a8433360745f69edddce19a606659163The Android Open Source Project 448564064216a8433360745f69edddce19a606659163The Android Open Source Project 448664064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_PLT_TxContinues(ConParm_t parm[], U16 nParms) 448764064216a8433360745f69edddce19a606659163The Android Open Source Project{ 448864064216a8433360745f69edddce19a606659163The Android Open Source Project UINT32 Status; 448964064216a8433360745f69edddce19a606659163The Android Open Source Project PltTxContinues_t PltTxContinues; 449064064216a8433360745f69edddce19a606659163The Android Open Source Project if ((nParms == 0) || (nParms > 10)) 449164064216a8433360745f69edddce19a606659163The Android Open Source Project { 449264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("\n"); 449364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param 0 - Band (0 - 2.4Ghz(B/G), 1 - 5Ghz(A), 2 - Japan(4.9Ghz))\n"); 449464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param 1 - Channel: (1..14(2.4Ghz), 1..180(5Ghz)) \n"); 449564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param 2 - Rate: \n"); 449664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" 1 - 1Mbps\n"); 449764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" 2 - 2Mbps\n"); 449864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" 3 - 5.5Mbps\n"); 449964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" 4 - 11Mbps\n"); 450064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" 6 - 6Mbps\n"); 450164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" 7 - 9Mbps\n"); 450264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" 8 - 12Mbps\n"); 450364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" 9 - 18Mbps\n"); 450464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" 10 - 24Mbps\n"); 450564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" 11 - 36Mbps\n"); 450664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" 12 - 48Mbps\n"); 450764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal(" 13 - 54Mbps \n"); 450864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param 3 - preamble (0-long, 1-short)\n"); 450964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param 4 - Delay between packets (uSec)\n"); 451064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param 5 - Number of TX frames (0 - endless)\n"); 451164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param 6 - Test mode (5-Random data, 9-ZOZO(0,1,0,1,...))\n"); 451264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param 7 - Sequance number mode(0 - fixed, 1 - incremented)\n"); 451364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param 8 - packet Data legth [bytes] (0 - 2284)\n"); 451464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param 9 - peer mac address: [xx:xx:xx:xx:xx:xx]\n"); 451564064216a8433360745f69edddce19a606659163The Android Open Source Project 451664064216a8433360745f69edddce19a606659163The Android Open Source Project } 451764064216a8433360745f69edddce19a606659163The Android Open Source Project else 451864064216a8433360745f69edddce19a606659163The Android Open Source Project { 451964064216a8433360745f69edddce19a606659163The Android Open Source Project PltTxContinues.band = (UINT8) parm[0].value; 452064064216a8433360745f69edddce19a606659163The Android Open Source Project PltTxContinues.chID = parm[1].value; 452164064216a8433360745f69edddce19a606659163The Android Open Source Project PltTxContinues.rate = parm[2].value; 452264064216a8433360745f69edddce19a606659163The Android Open Source Project PltTxContinues.preamble = (UINT8) parm[3].value; 452364064216a8433360745f69edddce19a606659163The Android Open Source Project PltTxContinues.InterPacketDelay = parm[4].value; 452464064216a8433360745f69edddce19a606659163The Android Open Source Project PltTxContinues.NumOfFrames = parm[5].value; 452564064216a8433360745f69edddce19a606659163The Android Open Source Project PltTxContinues.mode = (UINT8) parm[6].value; 452664064216a8433360745f69edddce19a606659163The Android Open Source Project PltTxContinues.aSeqNumMode = parm[7].value; 452764064216a8433360745f69edddce19a606659163The Android Open Source Project PltTxContinues.aPacketLength = parm[8].value; 452864064216a8433360745f69edddce19a606659163The Android Open Source Project hexStr2MACAddr( (char*)parm[9].value, &(PltTxContinues.aPeerMacAddr) ); 452964064216a8433360745f69edddce19a606659163The Android Open Source Project 453064064216a8433360745f69edddce19a606659163The Android Open Source Project 453164064216a8433360745f69edddce19a606659163The Android Open Source Project Status = TI_PLT_TxContiues(g_id_adapter, &PltTxContinues); 453264064216a8433360745f69edddce19a606659163The Android Open Source Project if (Status == OK) 453364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("OK\n"); 453464064216a8433360745f69edddce19a606659163The Android Open Source Project else 453564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("NOK\n"); 453664064216a8433360745f69edddce19a606659163The Android Open Source Project 453764064216a8433360745f69edddce19a606659163The Android Open Source Project } 453864064216a8433360745f69edddce19a606659163The Android Open Source Project} 453964064216a8433360745f69edddce19a606659163The Android Open Source Project 454064064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_PLT_TxCW(ConParm_t parm[], U16 nParms) 454164064216a8433360745f69edddce19a606659163The Android Open Source Project{ 454264064216a8433360745f69edddce19a606659163The Android Open Source Project UINT32 Status; 454364064216a8433360745f69edddce19a606659163The Android Open Source Project TestCmdChannelBand_t PltTxCW; 454464064216a8433360745f69edddce19a606659163The Android Open Source Project 454564064216a8433360745f69edddce19a606659163The Android Open Source Project if ((nParms == 0) || (nParms > 2)) 454664064216a8433360745f69edddce19a606659163The Android Open Source Project { 454764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param 0 - Band (0 - 2.4Ghz(B/G), 1 - 5Ghz(A), 2 - Japan(4.9Ghz))\n"); 454864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param 1 - Channel(1..14(2.4Ghz), 1..180(5Ghz))\n"); 454964064216a8433360745f69edddce19a606659163The Android Open Source Project } 455064064216a8433360745f69edddce19a606659163The Android Open Source Project else 455164064216a8433360745f69edddce19a606659163The Android Open Source Project { 455264064216a8433360745f69edddce19a606659163The Android Open Source Project PltTxCW.band = (RadioBand_e) parm[0].value; 455364064216a8433360745f69edddce19a606659163The Android Open Source Project PltTxCW.channel = (Channel_e) parm[1].value; 455464064216a8433360745f69edddce19a606659163The Android Open Source Project 455564064216a8433360745f69edddce19a606659163The Android Open Source Project Status = TI_PLT_TxCW(g_id_adapter, &PltTxCW); 455664064216a8433360745f69edddce19a606659163The Android Open Source Project if (Status == OK) 455764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("OK\n"); 455864064216a8433360745f69edddce19a606659163The Android Open Source Project else 455964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("NOK\n"); 456064064216a8433360745f69edddce19a606659163The Android Open Source Project 456164064216a8433360745f69edddce19a606659163The Android Open Source Project } 456264064216a8433360745f69edddce19a606659163The Android Open Source Project} 456364064216a8433360745f69edddce19a606659163The Android Open Source Project 456464064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_PLT_TxStop(ConParm_t parm[], U16 nParms) 456564064216a8433360745f69edddce19a606659163The Android Open Source Project{ 456664064216a8433360745f69edddce19a606659163The Android Open Source Project UINT32 Status = TI_PLT_TxStop(g_id_adapter); 456764064216a8433360745f69edddce19a606659163The Android Open Source Project if (Status == OK) 456864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("OK\n"); 456964064216a8433360745f69edddce19a606659163The Android Open Source Project else 457064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("NOK\n"); 457164064216a8433360745f69edddce19a606659163The Android Open Source Project} 457264064216a8433360745f69edddce19a606659163The Android Open Source Project 457364064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_PLT_MIB_CounterTable(ConParm_t parm[], U16 nParms) 457464064216a8433360745f69edddce19a606659163The Android Open Source Project{ 457564064216a8433360745f69edddce19a606659163The Android Open Source Project PLT_MIB_t Mib; 457664064216a8433360745f69edddce19a606659163The Android Open Source Project UINT32 Status; 457764064216a8433360745f69edddce19a606659163The Android Open Source Project memset(&Mib, 0, sizeof(Mib)); 457864064216a8433360745f69edddce19a606659163The Android Open Source Project Mib.aMib = PLT_MIB_countersTable; 457964064216a8433360745f69edddce19a606659163The Android Open Source Project 458064064216a8433360745f69edddce19a606659163The Android Open Source Project Status = TI_PLT_ReadMIB(g_id_adapter, &Mib); 458164064216a8433360745f69edddce19a606659163The Android Open Source Project if (Status == OK) 458264064216a8433360745f69edddce19a606659163The Android Open Source Project { 458364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("FCS error count= %d \nPLCP error count = %d\n", 458464064216a8433360745f69edddce19a606659163The Android Open Source Project Mib.aData.CounterTable.FCSErrorCount, 458564064216a8433360745f69edddce19a606659163The Android Open Source Project Mib.aData.CounterTable.PLCPErrorCount); 458664064216a8433360745f69edddce19a606659163The Android Open Source Project } 458764064216a8433360745f69edddce19a606659163The Android Open Source Project else 458864064216a8433360745f69edddce19a606659163The Android Open Source Project { 458964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("NOK\n"); 459064064216a8433360745f69edddce19a606659163The Android Open Source Project } 459164064216a8433360745f69edddce19a606659163The Android Open Source Project} 459264064216a8433360745f69edddce19a606659163The Android Open Source Project 459364064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_PLT_MIB_StationID(ConParm_t parm[], U16 nParms) 459464064216a8433360745f69edddce19a606659163The Android Open Source Project{ 459564064216a8433360745f69edddce19a606659163The Android Open Source Project PLT_MIB_t Mib; 459664064216a8433360745f69edddce19a606659163The Android Open Source Project UINT32 Status; 459764064216a8433360745f69edddce19a606659163The Android Open Source Project memset(&Mib, 0, sizeof(Mib)); 459864064216a8433360745f69edddce19a606659163The Android Open Source Project Mib.aMib = PLT_MIB_dot11StationId; 459964064216a8433360745f69edddce19a606659163The Android Open Source Project 460064064216a8433360745f69edddce19a606659163The Android Open Source Project Status = TI_PLT_ReadMIB(g_id_adapter, &Mib); 460164064216a8433360745f69edddce19a606659163The Android Open Source Project if (Status == OK) 460264064216a8433360745f69edddce19a606659163The Android Open Source Project { 460364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("MIB_StationID = %02x:%02x:%02x:%02x:%02x:%02x\n", 460464064216a8433360745f69edddce19a606659163The Android Open Source Project Mib.aData.StationId.addr[5], 460564064216a8433360745f69edddce19a606659163The Android Open Source Project Mib.aData.StationId.addr[4], 460664064216a8433360745f69edddce19a606659163The Android Open Source Project Mib.aData.StationId.addr[3], 460764064216a8433360745f69edddce19a606659163The Android Open Source Project Mib.aData.StationId.addr[2], 460864064216a8433360745f69edddce19a606659163The Android Open Source Project Mib.aData.StationId.addr[1], 460964064216a8433360745f69edddce19a606659163The Android Open Source Project Mib.aData.StationId.addr[0]); 461064064216a8433360745f69edddce19a606659163The Android Open Source Project } 461164064216a8433360745f69edddce19a606659163The Android Open Source Project else 461264064216a8433360745f69edddce19a606659163The Android Open Source Project { 461364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("NOK\n"); 461464064216a8433360745f69edddce19a606659163The Android Open Source Project } 461564064216a8433360745f69edddce19a606659163The Android Open Source Project 461664064216a8433360745f69edddce19a606659163The Android Open Source Project 461764064216a8433360745f69edddce19a606659163The Android Open Source Project} 461864064216a8433360745f69edddce19a606659163The Android Open Source Project 461964064216a8433360745f69edddce19a606659163The Android Open Source Project 462064064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_modify_ctsToSelf(ConParm_t parm[], U16 nParms) 462164064216a8433360745f69edddce19a606659163The Android Open Source Project{ 462264064216a8433360745f69edddce19a606659163The Android Open Source Project PLT_MIB_t Mib; 462364064216a8433360745f69edddce19a606659163The Android Open Source Project UINT32 Status; 462464064216a8433360745f69edddce19a606659163The Android Open Source Project memset(&Mib, 0, sizeof(Mib)); 462564064216a8433360745f69edddce19a606659163The Android Open Source Project Mib.aMib = PLT_MIB_ctsToSelf; 462664064216a8433360745f69edddce19a606659163The Android Open Source Project 462764064216a8433360745f69edddce19a606659163The Android Open Source Project if (nParms != 1) 462864064216a8433360745f69edddce19a606659163The Android Open Source Project { 462964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("CTS to self: [0 - Disable, 1 - Enable]\n"); 463064064216a8433360745f69edddce19a606659163The Android Open Source Project } 463164064216a8433360745f69edddce19a606659163The Android Open Source Project 463264064216a8433360745f69edddce19a606659163The Android Open Source Project if (nParms == 0) /*Get ctsToSelf */ 463364064216a8433360745f69edddce19a606659163The Android Open Source Project { 463464064216a8433360745f69edddce19a606659163The Android Open Source Project Status = TI_PLT_ReadMIB(g_id_adapter, &Mib); 463564064216a8433360745f69edddce19a606659163The Android Open Source Project if (OK == Status) 463664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("ctsToSelf = %s (%d)\n", 463764064216a8433360745f69edddce19a606659163The Android Open Source Project Mib.aData.CTSToSelfEnable?"Enable":"Disable", 463864064216a8433360745f69edddce19a606659163The Android Open Source Project Mib.aData.CTSToSelfEnable); 463964064216a8433360745f69edddce19a606659163The Android Open Source Project } 464064064216a8433360745f69edddce19a606659163The Android Open Source Project else if (nParms == 1) 464164064216a8433360745f69edddce19a606659163The Android Open Source Project { 464264064216a8433360745f69edddce19a606659163The Android Open Source Project Mib.Length = sizeof(Mib.aData.CTSToSelfEnable); 464364064216a8433360745f69edddce19a606659163The Android Open Source Project Mib.aData.CTSToSelfEnable = parm[0].value; 464464064216a8433360745f69edddce19a606659163The Android Open Source Project if (OK != TI_PLT_WriteMIB(g_id_adapter, &Mib)) 464564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("TI_PLT_WriteMIB failed\n"); 464664064216a8433360745f69edddce19a606659163The Android Open Source Project } 464764064216a8433360745f69edddce19a606659163The Android Open Source Project} 464864064216a8433360745f69edddce19a606659163The Android Open Source Project 464964064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_get_arpIpTable(ConParm_t parm[], U16 nParms) 465064064216a8433360745f69edddce19a606659163The Android Open Source Project{ 465164064216a8433360745f69edddce19a606659163The Android Open Source Project PLT_MIB_t Mib; 465264064216a8433360745f69edddce19a606659163The Android Open Source Project UINT32 Status; 465364064216a8433360745f69edddce19a606659163The Android Open Source Project memset(&Mib, 0, sizeof(Mib)); 465464064216a8433360745f69edddce19a606659163The Android Open Source Project Mib.aMib = PLT_MIB_arpIpAddressesTable; 465564064216a8433360745f69edddce19a606659163The Android Open Source Project Status = TI_PLT_ReadMIB(g_id_adapter, &Mib); 465664064216a8433360745f69edddce19a606659163The Android Open Source Project if (OK == Status) 465764064216a8433360745f69edddce19a606659163The Android Open Source Project { 465864064216a8433360745f69edddce19a606659163The Android Open Source Project int FilteringEnable = Mib.aData.ArpIpAddressesTable.FilteringEnable; 465964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("ARP IP Table:\n"); 466064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("FilteringEnable: %s (%d)\n", 466164064216a8433360745f69edddce19a606659163The Android Open Source Project FilteringEnable?"Enable":"Disable", 466264064216a8433360745f69edddce19a606659163The Android Open Source Project FilteringEnable); 466364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("ArpIpAddress: %d.%d.%d.%d\n", 466464064216a8433360745f69edddce19a606659163The Android Open Source Project Mib.aData.ArpIpAddressesTable.addr[0], 466564064216a8433360745f69edddce19a606659163The Android Open Source Project Mib.aData.ArpIpAddressesTable.addr[1], 466664064216a8433360745f69edddce19a606659163The Android Open Source Project Mib.aData.ArpIpAddressesTable.addr[2], 466764064216a8433360745f69edddce19a606659163The Android Open Source Project Mib.aData.ArpIpAddressesTable.addr[3] 466864064216a8433360745f69edddce19a606659163The Android Open Source Project ); 466964064216a8433360745f69edddce19a606659163The Android Open Source Project } 467064064216a8433360745f69edddce19a606659163The Android Open Source Project} 467164064216a8433360745f69edddce19a606659163The Android Open Source Project 467264064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_get_GroupAddressTable(ConParm_t parm[], U16 nParms) 467364064216a8433360745f69edddce19a606659163The Android Open Source Project{ 467464064216a8433360745f69edddce19a606659163The Android Open Source Project PLT_MIB_t Mib; 467564064216a8433360745f69edddce19a606659163The Android Open Source Project UINT32 Status; 467664064216a8433360745f69edddce19a606659163The Android Open Source Project memset(&Mib, 0, sizeof(Mib)); 467764064216a8433360745f69edddce19a606659163The Android Open Source Project Mib.aMib = PLT_MIB_dot11GroupAddressesTable; 467864064216a8433360745f69edddce19a606659163The Android Open Source Project Status = TI_PLT_ReadMIB(g_id_adapter, &Mib); 467964064216a8433360745f69edddce19a606659163The Android Open Source Project if (OK == Status) 468064064216a8433360745f69edddce19a606659163The Android Open Source Project { 468164064216a8433360745f69edddce19a606659163The Android Open Source Project int FilteringEnable = Mib.aData.GroupAddressTable.bFilteringEnable; 468264064216a8433360745f69edddce19a606659163The Android Open Source Project int i; 468364064216a8433360745f69edddce19a606659163The Android Open Source Project 468464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Group addresses Table:\n"); 468564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("FilteringEnable: %s (%d)\n", 468664064216a8433360745f69edddce19a606659163The Android Open Source Project FilteringEnable?"Enable":"Disable", 468764064216a8433360745f69edddce19a606659163The Android Open Source Project FilteringEnable); 468864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("nNumberOfAddresses: %d\n", Mib.aData.GroupAddressTable.nNumberOfAddresses); 468964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Group addresses: \n"); 469064064216a8433360745f69edddce19a606659163The Android Open Source Project 469164064216a8433360745f69edddce19a606659163The Android Open Source Project for (i=0; i<Mib.aData.GroupAddressTable.nNumberOfAddresses; i++) 469264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("%x:%x:%x:%x:%x:%x\n", 469364064216a8433360745f69edddce19a606659163The Android Open Source Project Mib.aData.GroupAddressTable.GroupTable[i].addr[0], 469464064216a8433360745f69edddce19a606659163The Android Open Source Project Mib.aData.GroupAddressTable.GroupTable[i].addr[1], 469564064216a8433360745f69edddce19a606659163The Android Open Source Project Mib.aData.GroupAddressTable.GroupTable[i].addr[2], 469664064216a8433360745f69edddce19a606659163The Android Open Source Project Mib.aData.GroupAddressTable.GroupTable[i].addr[3], 469764064216a8433360745f69edddce19a606659163The Android Open Source Project Mib.aData.GroupAddressTable.GroupTable[i].addr[4], 469864064216a8433360745f69edddce19a606659163The Android Open Source Project Mib.aData.GroupAddressTable.GroupTable[i].addr[5] 469964064216a8433360745f69edddce19a606659163The Android Open Source Project ); 470064064216a8433360745f69edddce19a606659163The Android Open Source Project } 470164064216a8433360745f69edddce19a606659163The Android Open Source Project} 470264064216a8433360745f69edddce19a606659163The Android Open Source Project 470364064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_PLT_TxCalGainGet(ConParm_t parm[], U16 nParms) 470464064216a8433360745f69edddce19a606659163The Android Open Source Project{ 470564064216a8433360745f69edddce19a606659163The Android Open Source Project UINT32 Status; 470664064216a8433360745f69edddce19a606659163The Android Open Source Project PltGainGet_t PLTGainGet; 470764064216a8433360745f69edddce19a606659163The Android Open Source Project 470864064216a8433360745f69edddce19a606659163The Android Open Source Project Status = TI_PLT_TxCalGainGet(g_id_adapter, &PLTGainGet); 470964064216a8433360745f69edddce19a606659163The Android Open Source Project if (Status == OK) 471064064216a8433360745f69edddce19a606659163The Android Open Source Project { 471164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("\n"); 471264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("TxGain: %d(0x%x)\n", PLTGainGet.TxGain, PLTGainGet.TxGain); 471364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("TxUpperBound: %d(0x%x)\n", PLTGainGet.TxUpperBound, PLTGainGet.TxUpperBound); 471464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("TxLowerBound: %d(0x%x)\n", PLTGainGet.TxLowerBound, PLTGainGet.TxLowerBound); 471564064216a8433360745f69edddce19a606659163The Android Open Source Project } 471664064216a8433360745f69edddce19a606659163The Android Open Source Project else 471764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("NOK\n"); 471864064216a8433360745f69edddce19a606659163The Android Open Source Project} 471964064216a8433360745f69edddce19a606659163The Android Open Source Project 472064064216a8433360745f69edddce19a606659163The Android Open Source Project 472164064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_PLT_TxCalGainAdjust(ConParm_t parm[], U16 nParms) 472264064216a8433360745f69edddce19a606659163The Android Open Source Project{ 472364064216a8433360745f69edddce19a606659163The Android Open Source Project UINT32 Status; 472464064216a8433360745f69edddce19a606659163The Android Open Source Project UINT32 GainChange; 472564064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_POWER_LEVELS mode; 472664064216a8433360745f69edddce19a606659163The Android Open Source Project 472764064216a8433360745f69edddce19a606659163The Android Open Source Project 472864064216a8433360745f69edddce19a606659163The Android Open Source Project if ((nParms == 0) || (nParms > 1)) 472964064216a8433360745f69edddce19a606659163The Android Open Source Project { 473064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("\n"); 473164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param 0 - Gain change (db)\n"); 473264064216a8433360745f69edddce19a606659163The Android Open Source Project } 473364064216a8433360745f69edddce19a606659163The Android Open Source Project else 473464064216a8433360745f69edddce19a606659163The Android Open Source Project { 473564064216a8433360745f69edddce19a606659163The Android Open Source Project GainChange = parm[0].value; 473664064216a8433360745f69edddce19a606659163The Android Open Source Project 473764064216a8433360745f69edddce19a606659163The Android Open Source Project /* Check Power mode (works only in "awake" mode !!!) */ 473864064216a8433360745f69edddce19a606659163The Android Open Source Project TI_GetPowerLevelDefault(g_id_adapter, &mode ); 473964064216a8433360745f69edddce19a606659163The Android Open Source Project if(mode == OS_POWER_LEVEL_AWAKE) 474064064216a8433360745f69edddce19a606659163The Android Open Source Project { 474164064216a8433360745f69edddce19a606659163The Android Open Source Project Status = TI_PLT_TxCalGainAdjust(g_id_adapter, GainChange); 474264064216a8433360745f69edddce19a606659163The Android Open Source Project if (Status == OK) 474364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("OK\n"); 474464064216a8433360745f69edddce19a606659163The Android Open Source Project else 474564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("NOK\n"); 474664064216a8433360745f69edddce19a606659163The Android Open Source Project } 474764064216a8433360745f69edddce19a606659163The Android Open Source Project else 474864064216a8433360745f69edddce19a606659163The Android Open Source Project { 474964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Gain Adjust was not performed becouse Default power-mode is not AWAKE\n"); 475064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Please change defaultPowerLevel parametr in tiwlan.ini file first\n"); 475164064216a8433360745f69edddce19a606659163The Android Open Source Project } 475264064216a8433360745f69edddce19a606659163The Android Open Source Project } 475364064216a8433360745f69edddce19a606659163The Android Open Source Project} 475464064216a8433360745f69edddce19a606659163The Android Open Source Project 475564064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_PLT_TxCalStart(ConParm_t parm[], U16 nParms) 475664064216a8433360745f69edddce19a606659163The Android Open Source Project{ 475764064216a8433360745f69edddce19a606659163The Android Open Source Project UINT32 Status; 475864064216a8433360745f69edddce19a606659163The Android Open Source Project PltTxCalibrationRequest_t tTxStart; 475964064216a8433360745f69edddce19a606659163The Android Open Source Project 476064064216a8433360745f69edddce19a606659163The Android Open Source Project if (nParms != 1) 476164064216a8433360745f69edddce19a606659163The Android Open Source Project { 476264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("\nParam 0 - Tx Power [0-255]\n"); 476364064216a8433360745f69edddce19a606659163The Android Open Source Project } 476464064216a8433360745f69edddce19a606659163The Android Open Source Project else 476564064216a8433360745f69edddce19a606659163The Android Open Source Project { 476664064216a8433360745f69edddce19a606659163The Android Open Source Project /* use U8 cast to fix compile warning */ 476764064216a8433360745f69edddce19a606659163The Android Open Source Project tTxStart.refTxPower = (U8)parm[0].value; 476864064216a8433360745f69edddce19a606659163The Android Open Source Project Status = TI_PLT_TxCalStart(g_id_adapter,&tTxStart); 476964064216a8433360745f69edddce19a606659163The Android Open Source Project if (Status == OK) 477064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("OK\n"); 477164064216a8433360745f69edddce19a606659163The Android Open Source Project else 477264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("NOK\n"); 477364064216a8433360745f69edddce19a606659163The Android Open Source Project } 477464064216a8433360745f69edddce19a606659163The Android Open Source Project} 477564064216a8433360745f69edddce19a606659163The Android Open Source Project 477664064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_PLT_TxCalStop(ConParm_t parm[], U16 nParms) 477764064216a8433360745f69edddce19a606659163The Android Open Source Project{ 477864064216a8433360745f69edddce19a606659163The Android Open Source Project UINT32 Status; 477964064216a8433360745f69edddce19a606659163The Android Open Source Project 478064064216a8433360745f69edddce19a606659163The Android Open Source Project Status = TI_PLT_TxCalStop(g_id_adapter); 478164064216a8433360745f69edddce19a606659163The Android Open Source Project if (Status == OK) 478264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("OK\n"); 478364064216a8433360745f69edddce19a606659163The Android Open Source Project else 478464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("NOK\n"); 478564064216a8433360745f69edddce19a606659163The Android Open Source Project} 478664064216a8433360745f69edddce19a606659163The Android Open Source Project 478764064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_PLT_RxTxCalNVSUpdateBuffer(ConParm_t parm[], U16 nParms) 478864064216a8433360745f69edddce19a606659163The Android Open Source Project{ 478964064216a8433360745f69edddce19a606659163The Android Open Source Project UINT32 Status; 479064064216a8433360745f69edddce19a606659163The Android Open Source Project PltNvsResultsBuffer_t PltNvsResultsBuffer; 479164064216a8433360745f69edddce19a606659163The Android Open Source Project int i; 479264064216a8433360745f69edddce19a606659163The Android Open Source Project 479364064216a8433360745f69edddce19a606659163The Android Open Source Project memset(&PltNvsResultsBuffer, 0, sizeof(PltNvsResultsBuffer)); 479464064216a8433360745f69edddce19a606659163The Android Open Source Project Status = TI_PLT_RxTxCalNVSUpdateBuffer(g_id_adapter, &PltNvsResultsBuffer); 479564064216a8433360745f69edddce19a606659163The Android Open Source Project if (Status == OK) 479664064216a8433360745f69edddce19a606659163The Android Open Source Project { 479764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("NVSUpdateBuffer - number of tables:%d\n", PltNvsResultsBuffer.numOfTables); 479864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("# \t Offset\t Size\t Data\n"); 479964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("###################################################################\n"); 480064064216a8433360745f69edddce19a606659163The Android Open Source Project for (i=0; (i<PltNvsResultsBuffer.numOfTables) && (i<NVS_RESULTS_MAX_NUM_OF_TABLES); i++) 480164064216a8433360745f69edddce19a606659163The Android Open Source Project { 480264064216a8433360745f69edddce19a606659163The Android Open Source Project int j; 480364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("#%d\t %p\t %.4d\t ", 480464064216a8433360745f69edddce19a606659163The Android Open Source Project i, 480564064216a8433360745f69edddce19a606659163The Android Open Source Project PltNvsResultsBuffer.tables[i].offset, 480664064216a8433360745f69edddce19a606659163The Android Open Source Project PltNvsResultsBuffer.tables[i].size); 480764064216a8433360745f69edddce19a606659163The Android Open Source Project for (j=0; (j<PltNvsResultsBuffer.tables[i].size) && (j<NVS_RESULTS_MAX_UPDATE_TABLE_SIZE); j++) 480864064216a8433360745f69edddce19a606659163The Android Open Source Project { 480964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("%.2x ", PltNvsResultsBuffer.tables[i].data[j]); 481064064216a8433360745f69edddce19a606659163The Android Open Source Project } 481164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("\n"); 481264064216a8433360745f69edddce19a606659163The Android Open Source Project } 481364064216a8433360745f69edddce19a606659163The Android Open Source Project } 481464064216a8433360745f69edddce19a606659163The Android Open Source Project else 481564064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("NOK\n"); 481664064216a8433360745f69edddce19a606659163The Android Open Source Project} 481764064216a8433360745f69edddce19a606659163The Android Open Source Project 481864064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_PLT_RxCal(ConParm_t parm[], U16 nParms) 481964064216a8433360745f69edddce19a606659163The Android Open Source Project{ 482064064216a8433360745f69edddce19a606659163The Android Open Source Project UINT32 Status; 482164064216a8433360745f69edddce19a606659163The Android Open Source Project PltRxCalibrationRequest_t PltRxCalibrationRequest; 482264064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_POWER_LEVELS mode; 482364064216a8433360745f69edddce19a606659163The Android Open Source Project 482464064216a8433360745f69edddce19a606659163The Android Open Source Project if ((nParms == 0) || (nParms > 5)) 482564064216a8433360745f69edddce19a606659163The Android Open Source Project { 482664064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("\n"); 482764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param 0 - Expected Rssi (db)\n"); 482864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param 1 - Channel\n"); 482964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param 2 - Band (0 - 2.4Ghz(B/G), 1 - 5Ghz(A), 2 - Japan(4.9Ghz)\n"); 483064064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param 3 - Interval between samples(uSec) [100]\n"); 483164064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param 4 - Number of samples [1000]\n"); 483264064216a8433360745f69edddce19a606659163The Android Open Source Project } 483364064216a8433360745f69edddce19a606659163The Android Open Source Project else 483464064216a8433360745f69edddce19a606659163The Android Open Source Project { 483564064216a8433360745f69edddce19a606659163The Android Open Source Project PltRxCalibrationRequest.expectedRssi = parm[0].value; 483664064216a8433360745f69edddce19a606659163The Android Open Source Project PltRxCalibrationRequest.channel = (UINT8)parm[1].value; 483764064216a8433360745f69edddce19a606659163The Android Open Source Project PltRxCalibrationRequest.band = (UINT8)parm[2].value; 483864064216a8433360745f69edddce19a606659163The Android Open Source Project PltRxCalibrationRequest.intervalBetweenSamplesUsec = parm[3].value; 483964064216a8433360745f69edddce19a606659163The Android Open Source Project PltRxCalibrationRequest.numOfSamples = (UINT16)parm[4].value; 484064064216a8433360745f69edddce19a606659163The Android Open Source Project 484164064216a8433360745f69edddce19a606659163The Android Open Source Project /* Check Power mode (works only in "awake" mode !!!) */ 484264064216a8433360745f69edddce19a606659163The Android Open Source Project TI_GetPowerLevelDefault(g_id_adapter, &mode ); 484364064216a8433360745f69edddce19a606659163The Android Open Source Project if(mode == OS_POWER_LEVEL_AWAKE) 484464064216a8433360745f69edddce19a606659163The Android Open Source Project { 484564064216a8433360745f69edddce19a606659163The Android Open Source Project Status = TI_PLT_RxCal(g_id_adapter, &PltRxCalibrationRequest); 484664064216a8433360745f69edddce19a606659163The Android Open Source Project if (Status == OK) 484764064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("OK\n"); 484864064216a8433360745f69edddce19a606659163The Android Open Source Project else 484964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("NOK\n"); 485064064216a8433360745f69edddce19a606659163The Android Open Source Project } 485164064216a8433360745f69edddce19a606659163The Android Open Source Project else 485264064216a8433360745f69edddce19a606659163The Android Open Source Project { 485364064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Rx calibration was not performed becouse Default power-mode is not AWAKE\n"); 485464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Please change defaultPowerLevel parametr in tiwlan.ini file first\n"); 485564064216a8433360745f69edddce19a606659163The Android Open Source Project } 485664064216a8433360745f69edddce19a606659163The Android Open Source Project } 485764064216a8433360745f69edddce19a606659163The Android Open Source Project} 485864064216a8433360745f69edddce19a606659163The Android Open Source Project 485964064216a8433360745f69edddce19a606659163The Android Open Source Projectvoid cmd_PLT_RadioTune(ConParm_t parm[], U16 nParms) 486064064216a8433360745f69edddce19a606659163The Android Open Source Project{ 486164064216a8433360745f69edddce19a606659163The Android Open Source Project UINT32 Status; 486264064216a8433360745f69edddce19a606659163The Android Open Source Project TestCmdChannelBand_t ChannelBand; 486364064216a8433360745f69edddce19a606659163The Android Open Source Project OS_802_11_POWER_LEVELS mode; 486464064216a8433360745f69edddce19a606659163The Android Open Source Project 486564064216a8433360745f69edddce19a606659163The Android Open Source Project 486664064216a8433360745f69edddce19a606659163The Android Open Source Project if ((nParms == 0) || (nParms > 2)) 486764064216a8433360745f69edddce19a606659163The Android Open Source Project { 486864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param 0 - Band (0-2.4Ghz, 1-5Ghz, 2-4.9Ghz)\n"); 486964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Param 1 - Channel\n"); 487064064216a8433360745f69edddce19a606659163The Android Open Source Project } 487164064216a8433360745f69edddce19a606659163The Android Open Source Project else 487264064216a8433360745f69edddce19a606659163The Android Open Source Project { 487364064216a8433360745f69edddce19a606659163The Android Open Source Project ChannelBand.band = (RadioBand_e) parm[0].value; 487464064216a8433360745f69edddce19a606659163The Android Open Source Project ChannelBand.channel = (Channel_e) parm[1].value; 487564064216a8433360745f69edddce19a606659163The Android Open Source Project 487664064216a8433360745f69edddce19a606659163The Android Open Source Project /* Check Power mode (works only in "awake" mode !!!) */ 487764064216a8433360745f69edddce19a606659163The Android Open Source Project TI_GetPowerLevelDefault(g_id_adapter, &mode ); 487864064216a8433360745f69edddce19a606659163The Android Open Source Project if(mode == OS_POWER_LEVEL_AWAKE) 487964064216a8433360745f69edddce19a606659163The Android Open Source Project { 488064064216a8433360745f69edddce19a606659163The Android Open Source Project Status = TI_PLT_RadioTune(g_id_adapter, &ChannelBand); 488164064216a8433360745f69edddce19a606659163The Android Open Source Project if (Status == OK) 488264064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("OK\n"); 488364064216a8433360745f69edddce19a606659163The Android Open Source Project else 488464064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("NOK\n"); 488564064216a8433360745f69edddce19a606659163The Android Open Source Project } 488664064216a8433360745f69edddce19a606659163The Android Open Source Project else 488764064216a8433360745f69edddce19a606659163The Android Open Source Project { 488864064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Radio tune was not performed becouse Default power-mode is not AWAKE\n"); 488964064216a8433360745f69edddce19a606659163The Android Open Source Project console_printf_terminal("Please change defaultPowerLevel parametr in tiwlan.ini file first\n"); 489064064216a8433360745f69edddce19a606659163The Android Open Source Project } 489164064216a8433360745f69edddce19a606659163The Android Open Source Project } 489264064216a8433360745f69edddce19a606659163The Android Open Source Project} 489364064216a8433360745f69edddce19a606659163The Android Open Source Project 489464064216a8433360745f69edddce19a606659163The Android Open Source Project 489564064216a8433360745f69edddce19a606659163The Android Open Source Project#ifdef _WINDOWS 489664064216a8433360745f69edddce19a606659163The Android Open Source Project#endif /* ifdef _WINDOWS */ 4897