diff options
Diffstat (limited to 'wl1271/Test/fwdriverdebug.c')
-rw-r--r-- | wl1271/Test/fwdriverdebug.c | 398 |
1 files changed, 0 insertions, 398 deletions
diff --git a/wl1271/Test/fwdriverdebug.c b/wl1271/Test/fwdriverdebug.c deleted file mode 100644 index c7f1ba3..0000000 --- a/wl1271/Test/fwdriverdebug.c +++ /dev/null @@ -1,398 +0,0 @@ -/* - * fwdriverdebug.c - * - * Copyright(c) 1998 - 2009 Texas Instruments. All rights reserved. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * * Neither the name Texas Instruments nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - - -/***************************************************************************/ -/* */ -/* MODULE: FW_debug.c */ -/* PURPOSE: FW debug implementation */ -/* */ -/***************************************************************************/ -#include "tidef.h" -#include "DrvMain.h" -#include "CmdQueue_api.h" -#include "debug.h" -#include "connDebug.h" -#include "siteMgrDebug.h" -#include "dataCtrlDbg.h" -#include "rsnDbg.h" -#include "osApi.h" -#include "report.h" -#include "qosMngrDbg.h" -#include "PowerMgrDebug.h" -#include "roamingMgrDebug.h" -#include "scanCncnDbg.h" -#include "ScanMngrDbg.h" -#include "scrDbg.h" -#include "SoftGeminiDbg.h" -#include "HealthMonitorDbg.h" -#include "smeDebug.h" -#include "TWDriver.h" -#include "CmdBld.h" -#include "commonTypes.h" -#include "siteHash.h" -#include "txCtrl.h" -#include "802_11Defs.h" -#include "fwdriverdebug.h" -#include "mlmeBuilder.h" -#include "Ethernet.h" - -static TI_HANDLE dTimer; -static TI_HANDLE tmp_hMlme; -static TI_HANDLE tmp_hTWD; -static TI_HANDLE tmp_hTxCtrl; -static TI_BOOL SendFlag = 0; -static TI_BOOL bSendDataPkt; -static volatile TI_UINT32 numOfPackets; -static volatile TI_UINT8 infinitLoopFl = 0; -static TI_UINT32 packetsNum; -static TI_UINT32 packetLength; - -typedef TI_STATUS (*TCmdCfgFuncB) (TI_HANDLE); - -extern TI_STATUS cmdBld_CmdJoinBss (TI_HANDLE hCmdBld, TJoinBss *pJoinBssParams, void *fCb, TI_HANDLE hCb); -void sendMgmtPacket (TI_HANDLE hOs); -void sendDataPacket (TI_HANDLE hOs); - -void FWDebugFunction(TI_HANDLE hDrvMain, - TI_HANDLE hOs, - TI_HANDLE hTWD, - TI_HANDLE hMlme, - TI_HANDLE hTxMgmtQ, - TI_HANDLE hTxCtrl, - unsigned long funcType, - void *pParam) -{ - tmp_hMlme = hMlme; - tmp_hTWD = hTWD; - tmp_hTxCtrl = hTxCtrl; - - switch (funcType) - { - case DBG_FW_PRINT_HELP: - printFWDbgFunctions(); - break; - case DBG_FW_SEND_GENERAL_TEST_CMD: - FW_debugSendGeneralTestCmd(hTWD, pParam); - break; - case DBG_FW_IBSS_CONNECTION: - FW_DebugSendJoinCommand(hTWD, hTxMgmtQ); - break; - case DBG_FW_SEND_MGMT_PACKET: - bSendDataPkt = TI_FALSE; - FW_DebugSendPacket(hDrvMain, hOs, hTxMgmtQ, pParam); - break; - case DBG_FW_SEND_DATA_PACKET: - bSendDataPkt = TI_TRUE; - FW_DebugSendPacket(hDrvMain, hOs, hTxMgmtQ, pParam); - break; - case DBG_FW_START_LOOPBACK: - FW_DebugStartLoopBack (hDrvMain, hTWD); - break; - case DBG_FW_STOP_LOOPBACK: - FW_DebugStopLoopBack (hDrvMain, hTWD); - break; - case DBG_FW_INFINIT_SEND: - FW_DebugInfinitSendPacket (hDrvMain, hTWD); - break; - - case DBG_FW_GENERAL: - FW_DebugGeneral (hTWD, pParam); - break; - default: - break; - - - } -} - -void printFWDbgFunctions(void) -{ - WLAN_OS_REPORT((" FW Debug Functions \n")); - WLAN_OS_REPORT(("---------------------------------------------------\n")); - WLAN_OS_REPORT(("2200 - Print the FW Debug Help \n")); - WLAN_OS_REPORT(("2201 - Send General Test Command \n")); - WLAN_OS_REPORT(("2202 - create IBSS connection \n")); - WLAN_OS_REPORT(("2203[n] - Send n<=999 Packets \n")); - WLAN_OS_REPORT(("2205 - Start LoopBack \n")); - WLAN_OS_REPORT(("2206 - Stop LoopBack \n")); -} - - -void FW_debugSendGeneralTestCmd(TI_HANDLE hTWD, void *pParam) -{ - TTwd *pTWD = (TTwd *)hTWD; - FWDebugTestCmdParamter_t Cfg; - unsigned char Len; - Len = *(unsigned char *)pParam; - - os_memoryCopy(pTWD->hOs, Cfg.buf,(unsigned long*)pParam + sizeof(TI_UINT8),Len * 4 ); - - Cfg.len = Len; - - /* Set information element header */ - Cfg.EleHdr.id = CMD_TEST; - Cfg.EleHdr.len = sizeof(Cfg) - sizeof(EleHdrStruct); - - cmdQueue_SendCommand (pTWD->hCmdQueue, CMD_CONFIGURE, (void*)&Cfg, sizeof(Cfg), NULL, NULL, NULL); -} - -void FW_DebugSendJoinCommand(TI_HANDLE hTWD, TI_HANDLE hTxMgmtQ) -{ - TTwd *pTWD = (TTwd *)hTWD; - TCmdBld *pCmdBld = (TCmdBld *)(pTWD->hCmdBld); - TI_STATUS res; - TJoinBss JoinBss; - char ssid[10]; - unsigned char Bssid[6] = {0x0,0x12,0x43,0xad,0xe5,0x10}; - - os_memoryCopy(pTWD->hOs,ssid,"ronit",5); - - JoinBss.basicRateSet = DRV_RATE_2M; - JoinBss.radioBand = RADIO_BAND_2_4_GHZ; - JoinBss.pBSSID = Bssid; - - JoinBss.bssType = BSS_INDEPENDENT; - JoinBss.pSSID =ssid; - JoinBss.ssidLength = 5; - JoinBss.channel = 1; - JoinBss.beaconInterval = 100; - JoinBss.dtimInterval = 2; - - pCmdBld->hReport = pTWD->hReport; - pCmdBld->tDb.bss.BssId[0] = 0x0; - pCmdBld->tDb.bss.BssId[1] = 0x12; - pCmdBld->tDb.bss.BssId[2] = 0x43; - pCmdBld->tDb.bss.BssId[3] = 0xad; - pCmdBld->tDb.bss.BssId[4] = 0xe5; - pCmdBld->tDb.bss.BssId[5] = 0x10; - pCmdBld->tDb.bss.RadioChannel = 1; - - txMgmtQ_SetConnState(hTxMgmtQ,TX_CONN_STATE_MGMT); - - res = cmdBld_CmdJoinBss (pCmdBld, - &JoinBss, - NULL,//cmdBld_ConfigSeq, - NULL);//pTWD->hCmdBld - - if (res) - { - os_printf("\n failed to make IBSS connection\n"); - } - - os_printf("\n res = %d\n", res); - - txMgmtQ_SetConnState(hTxMgmtQ, TX_CONN_STATE_MGMT); - -} - - -void sendDataPacket (TI_HANDLE hOs) -{ - TI_UINT32 i; - TTxCtrlBlk * pPktCtrlBlk; - TI_UINT8 * pPktBuf; - TEthernetHeader tEthHeader; - char SrcBssid[6] = {0x88,0x88,0x88,0x88,0x88,0x88}; - char DesBssid[6] = {0x22,0x22,0x22,0x22,0x22,0x22}; - - /* Allocate a TxCtrlBlk for the Tx packet and save timestamp, length and packet handle */ - pPktCtrlBlk = TWD_txCtrlBlk_Alloc (tmp_hTWD); - pPktCtrlBlk->tTxDescriptor.startTime = os_timeStampMs (hOs); - pPktCtrlBlk->tTxDescriptor.length = (TI_UINT16)packetLength + ETHERNET_HDR_LEN; - pPktCtrlBlk->tTxDescriptor.tid = 0; - pPktCtrlBlk->tTxPktParams.uPktType = TX_PKT_TYPE_ETHER; - - /* Allocate buffer with headroom for getting the IP header in a 4-byte aligned address */ - pPktBuf = txCtrl_AllocPacketBuffer (tmp_hTxCtrl, pPktCtrlBlk, packetLength + ETHERNET_HDR_LEN + 2); - - /* Prepare Ethernet header */ - tEthHeader.type = HTOWLANS(ETHERTYPE_IP); - MAC_COPY (tEthHeader.src, SrcBssid); - MAC_COPY (tEthHeader.dst, DesBssid); - os_memoryCopy (hOs, pPktBuf + 2, &tEthHeader, ETHERNET_HDR_LEN); - - /* Build BDL */ - BUILD_TX_TWO_BUF_PKT_BDL (pPktCtrlBlk, - pPktBuf + 2, - ETHERNET_HDR_LEN, - pPktBuf + 2 + ETHERNET_HDR_LEN, - packetLength) - - /* Fill data buffer with incremented numbers */ - for (i = 0; i < packetLength; i++) - { - *(pPktBuf + 2 + ETHERNET_HDR_LEN + i) = i; - } - - /* Send Ether packet to TxCtrl */ - txCtrl_XmitData (tmp_hTxCtrl, pPktCtrlBlk); -} - - - -void sendMgmtPacket(TI_HANDLE hOs) -{ - static TI_UINT8 aMsg[2000]; - TI_UINT32 i; - dot11MgmtSubType_e eMsgType = DE_AUTH; - - for (i = 0; i < packetLength; i++) - { - aMsg[i] = i; - } - - mlmeBuilder_sendFrame(tmp_hMlme, eMsgType, aMsg, packetLength, 0); - - numOfPackets++; - if ((infinitLoopFl == 0) && (numOfPackets > packetsNum)) - { - os_timerStop(hOs, dTimer); - os_printf("\n *********** Last Packet was sent **********"); - os_timerDestroy(hOs, dTimer); - } - else - { - os_timerStart(hOs, dTimer, 1000); - } -} - -void FW_DebugSendPacket(TI_HANDLE hDrvMain ,TI_HANDLE hOs, TI_HANDLE hTxMgmtQ, void *pParam) -{ - void *fSendPkt; - - if ( pParam == NULL ) - { - os_printf("\nFW_DebugSendPacket Error: received NULL parameter\n"); - return; - } - - /* Open Tx path for all packet types */ - txMgmtQ_SetConnState (hTxMgmtQ, TX_CONN_STATE_MGMT); - txMgmtQ_SetConnState (hTxMgmtQ, TX_CONN_STATE_EAPOL); - txMgmtQ_SetConnState (hTxMgmtQ, TX_CONN_STATE_OPEN); - - infinitLoopFl = 0; - numOfPackets = 1; - packetsNum = 1; - packetLength = *(TI_UINT32*)pParam; - os_printf("\nFW_DebugSendPacket: packetsNum = %d, packetLength = %d\n",packetsNum, packetLength); - fSendPkt = bSendDataPkt ? sendDataPacket : sendMgmtPacket; - dTimer = os_timerCreate(hOs, fSendPkt, hDrvMain); - os_timerStart(hOs, dTimer, 1000); - - SendFlag = TI_TRUE; -} - -void FW_DebugInfinitSendPacket(TI_HANDLE hDrvMain ,TI_HANDLE hOs) -{ - infinitLoopFl = 1; - numOfPackets = 1; - - dTimer = os_timerCreate(hOs, sendMgmtPacket, hDrvMain); - os_timerStart(hOs, dTimer, 1000); - SendFlag = TI_TRUE; -} - -void FW_DebugStartLoopBack (TI_HANDLE hDrvMain, TI_HANDLE hTWD) -{ - TTwd *pTWD = (TTwd *)hTWD; - TTestCmd Plt; - - Plt.testCmdId = TEST_CMD_LOOPBACK_START; - os_printf("\n send loopback start command"); - cmdQueue_SendCommand (pTWD->hCmdQueue, CMD_TEST, (char*)&Plt, sizeof(Plt), NULL, NULL, NULL); -} - - -void FW_DebugStopLoopBack (TI_HANDLE hDrvMain, TI_HANDLE hTWD) -{ - TTwd *pTWD = (TTwd *)hTWD; - TTestCmd Plt; - - Plt.testCmdId = TEST_CMD_LOOPBACK_STOP; - os_printf("\n send loopback stop command"); - cmdQueue_SendCommand (pTWD->hCmdQueue, CMD_TEST, (char*)&Plt, sizeof(Plt), NULL, NULL, NULL); -} - - -void FW_DebugGeneral(TI_HANDLE hTWD, void *pParam) -{ - TTwd *pTWD = (TTwd *)hTWD; - TI_UINT32 size = *((TI_UINT32*) pParam) + sizeof(TI_UINT32); - - cmdQueue_SendCommand (pTWD->hCmdQueue, CMD_DEBUG, (char*)pParam, size, NULL, NULL, NULL); -} - - -/* -void FW_ComparePacket (char *buf) - { - char *ptemp; - int i; - - if (SendFlag) - { - ptemp = CompBuf; - os_printf("\n print before compare save buf"); - os_printf("\n"); - for (i=0;i<Len;i++) { - os_printf(" 0x%02x ",*ptemp++); - if (i %5 == 0) { os_printf("\n"); - } - - } - - os_printf("\n print before compare recived packet"); - ptemp = buf; - os_printf("\n"); - for (i=0;i<Len;i++) { - os_printf(" 0x%02x ",*ptemp++); - if (i %5 == 0) { - } - - } - - - if(memcmp(CompBuf,buf,Len)) - os_printf("\n LoopBack Packet failed"); - else - os_printf("\n LoopBack Packet success"); - - SendFlag = TI_FALSE; - } - - } -*/ - - |