1a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* 2a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * rsnDbg.c 3a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 4a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * Copyright(c) 1998 - 2009 Texas Instruments. All rights reserved. 5a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * All rights reserved. 6a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 7a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * Redistribution and use in source and binary forms, with or without 8a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * modification, are permitted provided that the following conditions 9a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * are met: 10a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 11a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * * Redistributions of source code must retain the above copyright 12a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * notice, this list of conditions and the following disclaimer. 13a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * * Redistributions in binary form must reproduce the above copyright 14a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * notice, this list of conditions and the following disclaimer in 15a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * the documentation and/or other materials provided with the 16a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * distribution. 17a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * * Neither the name Texas Instruments nor the names of its 18a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * contributors may be used to endorse or promote products derived 19a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * from this software without specific prior written permission. 20a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * 21a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt */ 33a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 34a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 35a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/****************************************************************************/ 36a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* */ 37a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* MODULE: */ 38a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* PURPOSE: */ 39a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* */ 40a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/****************************************************************************/ 41a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/* #include "osTITypes.h" */ 42a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "osApi.h" 43a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "rsnApi.h" 44a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "rsn.h" 45a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "report.h" 46a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "paramOut.h" 47a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "rsnDbg.h" 48a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#ifdef XCC_MODULE_INCLUDED 49a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#include "XCCMngr.h" 50a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#endif 51a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 52a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid printRsnDbgFunctions(void); 53a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid printRogueApTable(TI_HANDLE hRogueAp); 54a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 55a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtstatic TI_UINT8 infoBuf[480]; 56a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 57a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt/************************************************************************* 58a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt * * 59a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt ************************************************************************* 60a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtDESCRIPTION: 61a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 62a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtINPUT: 63a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 64a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtOUTPUT: 65a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 66a615fb1650af6e111053506f1b764b28a5b4631dDmitry ShmidtRETURN: 67a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 68a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt************************************************************************/ 69a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid rsnDebugFunction(TI_HANDLE hRsn, TI_UINT32 funcType, void *pParam) 70a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 71a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt paramInfo_t param, *pRsnParam; 72a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_UINT32 value; 73a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt rsnAuthEncrCapability_t rsnAuthEncrCap; 74a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 75a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt switch (funcType) 76a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt { 77a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt case DBG_RSN_PRINT_HELP: 78a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt printRsnDbgFunctions(); 79a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt break; 80a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 81a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt case DBG_RSN_SET_DESIRED_AUTH: 82a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt WLAN_OS_REPORT(("RSN DBG - Set desired Authentication suite \n")); 83a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt value = *(TI_UINT32*)pParam; 84a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 85a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt param.paramType = RSN_EXT_AUTHENTICATION_MODE; 86a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt param.content.rsnDesiredAuthType = (EAuthSuite)value; 87a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 88a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt rsn_setParam(hRsn, ¶m); 89a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt break; 90a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 91a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt case DBG_RSN_SET_DESIRED_CIPHER: 92a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt WLAN_OS_REPORT(("RSN DBG - Set desired cipher suite \n")); 93a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt value = *(TI_UINT32*)pParam; 94a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 95a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt param.paramType = RSN_ENCRYPTION_STATUS_PARAM; 96a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt param.content.rsnEncryptionStatus = (ECipherSuite)value; 97a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 98a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt rsn_setParam(hRsn, ¶m); 99a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt break; 100a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 101a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 102a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt case DBG_RSN_GEN_MIC_FAILURE_REPORT: 103a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt value = *(TI_UINT32*)pParam; 104a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /* generate unicast mic failure report to the OS and to the RSN module */ 105a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt rsn_reportMicFailure(hRsn, (TI_UINT8*)&value,1); 106a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt break; 107a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 108a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt case DBG_RSN_GET_PARAM_802_11_CAPABILITY: 109a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 110a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt param.paramType = RSN_AUTH_ENCR_CAPABILITY; 111a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt param.content.pRsnAuthEncrCapability = &rsnAuthEncrCap; 112a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 113a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /* Get 802_11 capability info */ 114a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt rsn_getParam(hRsn, ¶m); 115a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt break; 116a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 117a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt case DBG_RSN_GET_PMKID_CACHE: 118a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 119a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt pRsnParam = (paramInfo_t *)&infoBuf; 120a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt pRsnParam->paramType = RSN_PMKID_LIST; 121a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt pRsnParam->paramLength = 480; 122a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 123a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt /* Get PMKID list */ 124a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt rsn_getParam(hRsn, pRsnParam); 125a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt break; 126a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 127a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt case DBG_RSN_RESET_PMKID_CACHE: 128a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 129a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt rsn_resetPMKIDList(hRsn); 130a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 131a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt break; 132a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#ifdef XCC_MODULE_INCLUDED 133a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt case DBG_RSN_PRINT_ROGUE_AP_TABLE: 134a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt printRogueApTable(((XCCMngr_t*)((rsn_t*)hRsn)->hXCCMngr)->hRogueAp); 135a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt break; 136a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt#endif 137a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 138a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt case DBG_RSN_SET_PORT_STATUS: 139a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt WLAN_OS_REPORT(("Setting PORT STATUS to open\n")); 140a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt rsn_setPortStatus(hRsn,TI_TRUE); 141a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt break; 142a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 143a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt case DBG_RSN_PRINT_PORT_STATUS: 144a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt { 145a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt TI_BOOL portStatus = TI_FALSE; 146a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt portStatus = rsn_getPortStatus(((rsn_t*)hRsn)); 147a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt WLAN_OS_REPORT(("\n\nPORT is %s !!\n",(portStatus)?"OPEN":"CLOSE")); 148a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt } 149a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 150a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt break; 151a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt default: 152a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt WLAN_OS_REPORT(("Invalid function type in RSN Function Command: %d\n", funcType)); 153a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt break; 154a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt } 155a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 156a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 157a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 158a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 159a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidtvoid printRsnDbgFunctions(void) 160a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt{ 161a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt WLAN_OS_REPORT((" Rsn Debug Functions \n")); 162a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt WLAN_OS_REPORT(("-------------------------\n")); 163a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 164a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt WLAN_OS_REPORT(("702 - Set default key id \n")); 165a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt WLAN_OS_REPORT(("703 - Set desired Authentication suite \n")); 166a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt WLAN_OS_REPORT(("704 - Set desired cipher suite \n")); 167a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 168a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt WLAN_OS_REPORT(("706 - Generate MIC FAILURE report (after 2 clicks less then 1 minute - disassociate)\n")); 169a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt WLAN_OS_REPORT(("707 - Get 802.11 authentication/encryption capability\n")); 170a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt WLAN_OS_REPORT(("708 - Get PMKID cache \n")); 171a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt WLAN_OS_REPORT(("709 - ReSet PMKID cache \n")); 172a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt WLAN_OS_REPORT(("710 - Print Rogue AP table\n")); 173a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 174a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt 175a615fb1650af6e111053506f1b764b28a5b4631dDmitry Shmidt} 176