1981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* 2981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * MibDbg.c 3981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 4981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Copyright(c) 1998 - 2009 Texas Instruments. All rights reserved. 5981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * All rights reserved. 6981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 7981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Redistribution and use in source and binary forms, with or without 8981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * modification, are permitted provided that the following conditions 9981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * are met: 10981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 11981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * * Redistributions of source code must retain the above copyright 12981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * notice, this list of conditions and the following disclaimer. 13981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * * Redistributions in binary form must reproduce the above copyright 14981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * notice, this list of conditions and the following disclaimer in 15981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * the documentation and/or other materials provided with the 16981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * distribution. 17981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * * Neither the name Texas Instruments nor the names of its 18981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * contributors may be used to endorse or promote products derived 19981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * from this software without specific prior written permission. 20981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * 21981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */ 33981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 34981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/***************************************************************************/ 35981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* */ 36981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* MODULE: MibDbg.c */ 37981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* PURPOSE: MIB debug implementation */ 38981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* */ 39981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/***************************************************************************/ 40981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 41981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "MibDbg.h" 42981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "TWDriver.h" 43981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "report.h" 44981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt#include "osApi.h" 45981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 46981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* 47981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *********************************************************************** 48981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * Internal functions definitions 49981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *********************************************************************** 50981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */ 51981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 52981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtstatic void mibDbgGetArpIpTable(TI_HANDLE hTWD) 53981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ 54981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt TI_STATUS status = TI_OK; 55981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt TMib mib; 56981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt TI_INT32 i; 57981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 58981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt /* init */ 59981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aMib = MIB_arpIpAddressesTable; 60981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aData.ArpIpAddressesTable.FilteringEnable = 0; 61981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt for ( i = 0 ; i < IP_V4_ADDR_LEN ; i++ ) 62981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt { 63981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aData.ArpIpAddressesTable.addr[i] = 0; 64981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt } 65981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 66981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt status = TWD_ReadMib(hTWD,NULL,NULL,(void*)&mib); 67981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt if (status != TI_OK) 68981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt { 69981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt WLAN_OS_REPORT(("Get ARP Table failed\n")); 70981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt return; 71981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt } 72981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 73981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt /* print ARP Table */ 74981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt WLAN_OS_REPORT(("ARP IP Table:\n")); 75981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt WLAN_OS_REPORT(("FilteringEnable: %s (%d)\n", 76981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt (mib.aData.ArpIpAddressesTable.FilteringEnable)?"Enable":"Disable", 77981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aData.ArpIpAddressesTable.FilteringEnable)); 78981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt WLAN_OS_REPORT(("ArpIpAddress: %d.%d.%d.%d\n", 79981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aData.ArpIpAddressesTable.addr[0], 80981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aData.ArpIpAddressesTable.addr[1], 81981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aData.ArpIpAddressesTable.addr[2], 82981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aData.ArpIpAddressesTable.addr[3])); 83981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} 84981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 85981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtstatic void mibDbgGetGroupAddressTable(TI_HANDLE hTWD) 86981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ 87981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt TI_STATUS status = TI_OK; 88981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt TMib mib; 89981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt TI_INT32 i,j; 90981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 91981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt /* init */ 92981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aMib = MIB_dot11GroupAddressesTable; 93981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aData.GroupAddressTable.bFilteringEnable = 0; 94981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aData.GroupAddressTable.nNumberOfAddresses = 0; 95981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt for ( i = 0 ; i < MIB_MAX_MULTICAST_GROUP_ADDRS ; i++ ) 96981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt { 97981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt for ( j = 0 ; j < MAC_ADDR_LEN ; j++ ) 98981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt { 99981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aData.GroupAddressTable.aGroupTable[i][j] = 0; 100981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt } 101981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt } 102981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 103981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt status = TWD_ReadMib(hTWD,NULL,NULL,(void*)&mib); 104981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt if (status != TI_OK) 105981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt { 106981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt WLAN_OS_REPORT(("Get Group Address Table failed\n")); 107981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt return; 108981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt } 109981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 110981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt /* print Group Address Table */ 111981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt WLAN_OS_REPORT(("Group addresses Table:\n")); 112981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt WLAN_OS_REPORT(("FilteringEnable: %s (%d)\n", 113981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt (mib.aData.GroupAddressTable.bFilteringEnable)?"Enable":"Disable", 114981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aData.GroupAddressTable.bFilteringEnable)); 115981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt WLAN_OS_REPORT(("nNumberOfAddresses: %d\n", 116981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aData.GroupAddressTable.nNumberOfAddresses)); 117981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 118981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt WLAN_OS_REPORT(("Group addresses: \n")); 119981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt for ( i = 0 ; i < MIB_MAX_MULTICAST_GROUP_ADDRS ; i++ ) 120981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt WLAN_OS_REPORT(("%x:%x:%x:%x:%x:%x\n", 121981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aData.GroupAddressTable.aGroupTable[i][0], 122981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aData.GroupAddressTable.aGroupTable[i][1], 123981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aData.GroupAddressTable.aGroupTable[i][2], 124981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aData.GroupAddressTable.aGroupTable[i][3], 125981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aData.GroupAddressTable.aGroupTable[i][4], 126981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aData.GroupAddressTable.aGroupTable[i][5])); 127981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} 128981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 129981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtstatic void mibDbgGetCounterTable(TI_HANDLE hTWD) 130981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ 131981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt TI_STATUS status = TI_OK; 132981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt TMib mib; 133981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 134981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt /* init */ 135981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aMib = MIB_countersTable; 136981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aData.CounterTable.FCSErrorCount = 0; 137981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aData.CounterTable.PLCPErrorCount = 0; 138981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aData.CounterTable.SeqNumMissCount = 0; 139981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 140981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt status = TWD_ReadMib(hTWD,NULL,NULL,(void*)&mib); 141981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt if (status != TI_OK) 142981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt { 143981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt WLAN_OS_REPORT(("Get Counter Table failed\n")); 144981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt return; 145981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt } 146981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 147981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt /* print Counter Table */ 148981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt WLAN_OS_REPORT(("FCS error count= %d \nPLCP error count = %d \nSeq error count= %d\n", 149981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aData.CounterTable.FCSErrorCount, 150981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aData.CounterTable.PLCPErrorCount, 151981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aData.CounterTable.SeqNumMissCount)); 152981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 153981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} 154981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 155981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtstatic void mibDbgModifyCtsToSelf(TI_HANDLE hTWD, void* pParam) 156981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ 157981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt TI_STATUS status = TI_OK; 158981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt TMib mib; 159981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 160981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt if (pParam == NULL) 161981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt { 162981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt WLAN_OS_REPORT(("Modify CTS To Self failed: No Parameter received\n")); 163981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt return; 164981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt } 165981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 166981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt /* init */ 167981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aMib = MIB_ctsToSelf; 168981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aData.CTSToSelfEnable = 0; 169981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aData.CTSToSelfEnable = *(TI_UINT32*)pParam; 170981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 171981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt status = TWD_WriteMib(hTWD, &mib); 172981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt if (status != TI_OK) 173981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt { 174981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt WLAN_OS_REPORT(("Modify CTS To Self failed\n")); 175981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt return; 176981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt } 177981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt WLAN_OS_REPORT(("Modify CTS To Self OK\n")); 178981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 179981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt WLAN_OS_REPORT(("CtsToSelf = %s (%d)\n", 180981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aData.CTSToSelfEnable?"Enable":"Disable", 181981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aData.CTSToSelfEnable)); 182981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt WLAN_OS_REPORT(("CTS to self: [0 - Disable, 1 - Enable]\n")); 183981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} 184981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 185981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtstatic void mibDbgGetCtsToSelf(TI_HANDLE hTWD) 186981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ 187981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt TI_STATUS status = TI_OK; 188981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt TMib mib; 189981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 190981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt /* init */ 191981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aMib = MIB_ctsToSelf; 192981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aData.CTSToSelfEnable = 0; 193981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 194981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt status = TWD_ReadMib(hTWD,NULL,NULL,(void*)&mib); 195981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt if (status != TI_OK) 196981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt { 197981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt WLAN_OS_REPORT(("Get CTS To Self failed\n")); 198981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt return; 199981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt } 200981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 201981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt WLAN_OS_REPORT(("CtsToSelf = %s (%d)\n", 202981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aData.CTSToSelfEnable?"Enable":"Disable", 203981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aData.CTSToSelfEnable)); 204981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt WLAN_OS_REPORT(("CTS to self: [0 - Disable, 1 - Enable]\n")); 205981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} 206981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 207981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtstatic void mibDbgSetMaxRxLifetime(TI_HANDLE hTWD, void* pParam) 208981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ 209981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt TI_STATUS status = TI_OK; 210981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt TMib mib; 211981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 212981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt if (pParam == NULL) 213981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt { 214981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt WLAN_OS_REPORT(("Set Maximum Rx Life Time failed: No Parameter received\n")); 215981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt return; 216981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt } 217981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 218981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt /* init */ 219981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aMib = MIB_dot11MaxReceiveLifetime; 220981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mib.aData.MaxReceiveLifeTime = *(TI_UINT32*)pParam; 221981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 222981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt status = TWD_WriteMib(hTWD, &mib); 223981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt if (status != TI_OK) 224981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt { 225981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt WLAN_OS_REPORT(("Set Maximum Rx Life Time failed\n")); 226981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt return; 227981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt } 228981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} 229981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 230981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt/* 231981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *********************************************************************** 232981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt * External functions definitions 233981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt *********************************************************************** 234981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt */ 235981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtvoid mibDbgPrintFunctions(void) 236981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ 237981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt WLAN_OS_REPORT(("\n MIB Dbg Functions \n")); 238981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt WLAN_OS_REPORT(("--------------------------------------\n")); 239981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 240981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt WLAN_OS_REPORT(("2101 - Print ARP Table\n")); 241981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt WLAN_OS_REPORT(("2102 - Print Group Address Table\n")); 242981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt WLAN_OS_REPORT(("2103 - Print Counter Table\n")); 243981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt WLAN_OS_REPORT(("2104 - Print Modify CTS to Self\n")); 244981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt WLAN_OS_REPORT(("2105 - Print Max RX Life Time\n")); 245981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} 246981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 247981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidtvoid MibDebugFunction(TI_HANDLE hTWD ,TI_UINT32 funcType, void* pParam) 248981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt{ 249981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt if (hTWD == NULL) 250981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt { 251981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt return; 252981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt } 253981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt 254981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt switch (funcType) 255981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt { 256981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt case DBG_MIB_PRINT_HELP: 257981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mibDbgPrintFunctions(); 258981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt break; 259981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt case DBG_MIB_GET_ARP_TABLE: 260981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mibDbgGetArpIpTable(hTWD); 261981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt break; 262981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt case DBG_MIB_GET_GROUP_ADDRESS_TABLE: 263981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mibDbgGetGroupAddressTable(hTWD); 264981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt break; 265981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt case DBG_MIB_GET_COUNTER_TABLE: 266981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mibDbgGetCounterTable(hTWD); 267981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt break; 268981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt case DBG_MIB_MODIFY_CTS_TO_SELF: 269981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mibDbgModifyCtsToSelf(hTWD, pParam); 270981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt break; 271981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt case DBG_MIB_GET_CTS_TO_SELF: 272981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mibDbgGetCtsToSelf(hTWD); 273981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt break; 274981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt case DBG_MIB_SET_MAX_RX_LIFE_TIME: 275981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt mibDbgSetMaxRxLifetime(hTWD, pParam); 276981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt break; 277981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt default: 278981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt WLAN_OS_REPORT(("MIB Debug: Invalid function type in MIB Debug function: %d\n", funcType)); 279981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt break; 280981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt } 281981801b95b81e6d1c7a2085967406e86af0f08fcDmitry Shmidt} 282