示例#1
0
/***********************************************************************
 *                        healthMonitor_SetParam									
 ***********************************************************************
DESCRIPTION: Set module parameters from the external command interface	
                                                                                                   
INPUT:      hHealthMonitor	-	module handle.
			pParam	        -	Pointer to the parameter		

OUTPUT:		

RETURN:     TI_OK on success, TI_NOK otherwise
************************************************************************/
TI_STATUS healthMonitor_SetParam (TI_HANDLE hHealthMonitor, paramInfo_t *pParam)
{
    THealthMonitor *pHealthMonitor = (THealthMonitor*)hHealthMonitor;
	TI_STATUS eStatus = TI_OK;
	
	switch(pParam->paramType)
	{

	case HEALTH_MONITOR_CHECK_DEVICE:
        /* Send health check command to FW if we are not disconnceted */
        if (pHealthMonitor->state != HEALTH_MONITOR_STATE_DISCONNECTED) 
        {
            healthMonitor_PerformTest (hHealthMonitor, TI_FALSE);
        }
		break;

	default:{}
	}

	return eStatus;
}
/***********************************************************************
 *                        healthMonitor_SetParam
 ***********************************************************************
DESCRIPTION: Set module parameters from the external command interface

INPUT:      hHealthMonitor	-	module handle.
			pParam	        -	Pointer to the parameter

OUTPUT:

RETURN:     TI_OK on success, TI_NOK otherwise
************************************************************************/
TI_STATUS healthMonitor_SetParam (TI_HANDLE hHealthMonitor, paramInfo_t *pParam)
{
	THealthMonitor *pHealthMonitor = (THealthMonitor*)hHealthMonitor;
	TI_STATUS eStatus = TI_OK;

	TRACE1(pHealthMonitor->hReport, REPORT_SEVERITY_INFORMATION, "healthMonitor_SetParam() - %d\n", pParam->paramType);

	switch (pParam->paramType) {

	case HEALTH_MONITOR_CHECK_DEVICE:
		/* Send health check command to FW if we are not disconnceted */
		if (pHealthMonitor->state != HEALTH_MONITOR_STATE_DISCONNECTED) {
			healthMonitor_PerformTest (hHealthMonitor, TI_FALSE);
		}
		break;

	default:
		TRACE1(pHealthMonitor->hReport, REPORT_SEVERITY_ERROR, "healthMonitor_SetParam(): Params is not supported, %d\n", pParam->paramType);
	}

	return eStatus;
}
/*	Function implementation */
void siteMgrDebugFunction (TI_HANDLE         hSiteMgr, 
                           TStadHandlesList *pStadHandles,
                           TI_UINT32         funcType, 
                           void             *pParam)
{
	siteMgr_t *pSiteMgr = (siteMgr_t *)hSiteMgr;
	paramInfo_t		param;
	TSsid			newDesiredSsid;
	TI_UINT8		value;
	TI_UINT8		i;
	OS_802_11_BSSID primarySiteDesc;
	TRates			ratesSet;


	newDesiredSsid.len = 5;
	os_memoryCopy(pSiteMgr->hOs, (void *)newDesiredSsid.str, "yaeli", 5);

	
	switch (funcType)
	{
	case SITE_MGR_DEBUG_HELP_MENU:
		printSiteMgrHelpMenu();
		break;

	case PRIMARY_SITE_DBG:
		printPrimarySite(pSiteMgr);
		break;

	case SITE_TABLE_DBG:
		printSiteTable(pSiteMgr, NULL);
		break;

	case DESIRED_PARAMS_DBG:
		printDesiredParams(pSiteMgr, pStadHandles->hCmdDispatch);
		break;

	case GET_PRIMARY_SITE_DESC_DBG:
		param.paramType = SITE_MGR_GET_SELECTED_BSSID_INFO;
		param.content.pSiteMgrPrimarySiteDesc = &primarySiteDesc;
		cmdDispatch_GetParam(pStadHandles->hCmdDispatch, &param);
		printPrimarySiteDesc(pSiteMgr, &primarySiteDesc);
		break;

	case SET_RSN_DESIRED_CIPHER_SUITE_DBG:
		param.paramType = RSN_ENCRYPTION_STATUS_PARAM;
		value = *((TI_UINT32 *)pParam);
		param.content.rsnEncryptionStatus = (ECipherSuite)value;
		cmdDispatch_SetParam(pStadHandles->hCmdDispatch, &param); 
		WLAN_OS_REPORT(("\nSetting RSN_DESIRED_CIPHER_SUITE_PARAM : %d\n", value));
		break;

	case GET_RSN_DESIRED_CIPHER_SUITE_DBG:
		param.paramType = RSN_ENCRYPTION_STATUS_PARAM;
		cmdDispatch_GetParam(pStadHandles->hCmdDispatch, &param);
		WLAN_OS_REPORT(("\nGetting RSN_DESIRED_CIPHER_SUITE_PARAM: %d\n", param.content.rsnEncryptionStatus));
		break;
 
	case SET_RSN_DESIRED_AUTH_TYPE_DBG:
		param.paramType = RSN_EXT_AUTHENTICATION_MODE;
		value = *((TI_UINT32 *)pParam);
		param.content.rsnDesiredAuthType = (EAuthSuite)value;
		cmdDispatch_SetParam(pStadHandles->hCmdDispatch, &param); 
		if (value == RSN_AUTH_OPEN)
			WLAN_OS_REPORT(("\nSetting RSN_DESIRED_AUTH_TYPE_PARAM:	RSN_AUTH_OPEN\n"));
		else if (value == RSN_AUTH_SHARED_KEY)
			WLAN_OS_REPORT(("\nSetting RSN_DESIRED_AUTH_TYPE_PARAM:	RSN_AUTH_SHARED_KEY\n"));
		else if (value == RSN_AUTH_AUTO_SWITCH)
			WLAN_OS_REPORT(("\nSetting RSN_DESIRED_AUTH_TYPE_PARAM:	RSN_AUTH_AUTO_SWITCH\n"));
		else 
			WLAN_OS_REPORT(("\nSetting RSN_DESIRED_AUTH_TYPE_PARAM:	Invalid: %d\n", value));
		break;

	case GET_RSN_DESIRED_AUTH_TYPE_DBG:
		param.paramType = RSN_EXT_AUTHENTICATION_MODE;
		cmdDispatch_GetParam(pStadHandles->hCmdDispatch, &param);
		if (param.content.rsnDesiredAuthType == RSN_AUTH_OPEN)
			WLAN_OS_REPORT(("\nGetting RSN_DESIRED_AUTH_TYPE_PARAM:	RSN_AUTH_OPEN\n"));
		else if (param.content.rsnDesiredAuthType == RSN_AUTH_SHARED_KEY)
			WLAN_OS_REPORT(("\nGetting RSN_DESIRED_AUTH_TYPE_PARAM:	RSN_AUTH_SHARED_KEY\n"));
		else if (param.content.rsnDesiredAuthType == RSN_AUTH_AUTO_SWITCH)
			WLAN_OS_REPORT(("\nGetting RSN_DESIRED_AUTH_TYPE_PARAM:	RSN_AUTH_AUTO_SWITCH\n"));
		else 
			WLAN_OS_REPORT(("\nGetting RSN_DESIRED_AUTH_TYPE_PARAM:	Invalid: %d\n", param.content.rsnDesiredAuthType));

		break;

	case GET_CONNECTION_STATUS_DBG:
		param.paramType = SME_CONNECTION_STATUS_PARAM;
		cmdDispatch_GetParam(pStadHandles->hCmdDispatch, &param);
		if (param.content.smeSmConnectionStatus == eDot11Idle)
			WLAN_OS_REPORT(("\nGetting SITE_MGR_CONNECTION_STATUS_PARAM:	STATUS_IDLE\n"));
		else if (param.content.smeSmConnectionStatus == eDot11Scaning)
			WLAN_OS_REPORT(("\nGetting SITE_MGR_CONNECTION_STATUS_PARAM:	STATUS_SCANNING\n"));
		else if (param.content.smeSmConnectionStatus == eDot11Connecting)
			WLAN_OS_REPORT(("\nGetting SITE_MGR_CONNECTION_STATUS_PARAM:	STATUS_CONNECTING\n"));
		else if (param.content.smeSmConnectionStatus == eDot11Associated)
			WLAN_OS_REPORT(("\nGetting SITE_MGR_CONNECTION_STATUS_PARAM:	STATUS_ASSOCIATED\n"));
		else if (param.content.smeSmConnectionStatus == eDot11Disassociated)
			WLAN_OS_REPORT(("\nGetting SITE_MGR_CONNECTION_STATUS_PARAM:	STATUS_DIS_ASSOCIATED\n"));
        else if (param.content.smeSmConnectionStatus == eDot11RadioDisabled)
            WLAN_OS_REPORT(("\nGetting SITE_MGR_CONNECTION_STATUS_PARAM:	STATUS_RADIO_DISABLED\n"));
        else 
			WLAN_OS_REPORT(("\nGetting SITE_MGR_CONNECTION_STATUS_PARAM:	STATUS_ERROR\n"));
		break;

	case SET_SUPPORTED_RATE_SET_DBG:
		param.paramType = SITE_MGR_DESIRED_SUPPORTED_RATE_SET_PARAM;
		value = *((TI_UINT32 *)pParam);
		setRateSet(value, &ratesSet);
		os_memoryCopy(pSiteMgr->hOs, &(param.content.siteMgrDesiredSupportedRateSet), &(ratesSet), sizeof(TRates));
		WLAN_OS_REPORT(("\nSetting SET_SUPPORTED_RATE_SET_DBG\n"));
		cmdDispatch_SetParam(pStadHandles->hCmdDispatch, &param);
		break;

	case GET_SUPPORTED_RATE_SET_DBG:
		param.paramType = SITE_MGR_DESIRED_SUPPORTED_RATE_SET_PARAM;
		cmdDispatch_GetParam(pStadHandles->hCmdDispatch, &param);
		WLAN_OS_REPORT(("\nGetting SITE_MGR_DESIRED_SUPPORTED_RATE_SET_PARAM\n"));
		if(param.content.siteMgrDesiredSupportedRateSet.len == 0)
			WLAN_OS_REPORT(("\nNo rates defined\n"));
		else 
		{	
			/* It looks like it never happens. Anyway decided to check */
            if ( param.content.siteMgrDesiredSupportedRateSet.len > DOT11_MAX_SUPPORTED_RATES )
            {
                WLAN_OS_REPORT(("siteMgrDebugFunction. param.content.siteMgrDesiredSupportedRateSet.len=%d exceeds the limit %d\n",
                         param.content.siteMgrDesiredSupportedRateSet.len, DOT11_MAX_SUPPORTED_RATES));
                handleRunProblem(PROBLEM_BUF_SIZE_VIOLATION);
                param.content.siteMgrDesiredSupportedRateSet.len = DOT11_MAX_SUPPORTED_RATES;
            }
			for (i = 0; i < param.content.siteMgrDesiredSupportedRateSet.len; i++)
				WLAN_OS_REPORT(("\nRate %d is 0x%X\n", i +1, param.content.siteMgrDesiredSupportedRateSet.ratesString[i]));
		}
		break;

	case SET_MLME_LEGACY_AUTH_TYPE_DBG:
		param.paramType = MLME_LEGACY_TYPE_PARAM;
		value = *((TI_UINT32 *)pParam);
		param.content.mlmeLegacyAuthType = (legacyAuthType_e)value;
		cmdDispatch_SetParam(pStadHandles->hCmdDispatch, &param); 
		if (value == AUTH_LEGACY_OPEN_SYSTEM)
			WLAN_OS_REPORT(("\nSetting MLME_LEGACY_TYPE_PARAM:	AUTH_LEGACY_OPEN_SYSTEM\n"));
		else if (value == AUTH_LEGACY_SHARED_KEY)
			WLAN_OS_REPORT(("\nSetting MLME_LEGACY_TYPE_PARAM:	AUTH_LEGACY_SHARED_KEY\n"));
		else if (value == AUTH_LEGACY_AUTO_SWITCH)
			WLAN_OS_REPORT(("\nSetting MLME_LEGACY_TYPE_PARAM:	AUTH_LEGACY_AUTO_SWITCH\n"));
		else 
			WLAN_OS_REPORT(("\nSetting MLME_LEGACY_TYPE_PARAM:	Invalid: %d\n", value));
		break;

	case GET_MLME_LEGACY_AUTH_TYPE_DBG:
		param.paramType = MLME_LEGACY_TYPE_PARAM;
		cmdDispatch_GetParam(pStadHandles->hCmdDispatch, &param);
		if (param.content.mlmeLegacyAuthType == AUTH_LEGACY_OPEN_SYSTEM)
			WLAN_OS_REPORT(("\nGetting MLME_LEGACY_TYPE_PARAM:	AUTH_LEGACY_OPEN_SYSTEM\n"));
		else if (param.content.rsnDesiredAuthType == AUTH_LEGACY_SHARED_KEY)
			WLAN_OS_REPORT(("\nGetting MLME_LEGACY_TYPE_PARAM:	AUTH_LEGACY_SHARED_KEY\n"));
		else if (param.content.rsnDesiredAuthType == AUTH_LEGACY_AUTO_SWITCH)
			WLAN_OS_REPORT(("\nGetting MLME_LEGACY_TYPE_PARAM:	AUTH_AUTO_SWITCH\n"));
		else 
			WLAN_OS_REPORT(("\nGetting MLME_LEGACY_TYPE_PARAM:	Invalid: %d\n", param.content.rsnDesiredAuthType));

		break;


	case RADIO_STAND_BY_CHANGE_STATE:
		WLAN_OS_REPORT(("\nChange GPIO-13 State...\n"));
		break;
		

    case PRINT_FAILURE_EVENTS:
        {

	WLAN_OS_REPORT(("\n PRINT HEALTH MONITOR LOG\n"));
	healthMonitor_printFailureEvents (pStadHandles->hHealthMonitor);
	apConn_printStatistics(pStadHandles->hAPConnection);
#ifdef REPORT_LOG		
        conn_ibssPrintStatistics(pStadHandles->hConn);
#endif
        if (((conn_t*)pStadHandles->hConn)->currentConnType==CONNECTION_INFRA)
        {
            switch (((conn_t*)pStadHandles->hConn)->state)
            {
            case   0:  WLAN_OS_REPORT((" CONN state is IDLE\n")); 
                break;       
             case   1:  WLAN_OS_REPORT((" CONN state is SCR_WAIT\n")); 
                break;             
             case   2:  WLAN_OS_REPORT((" CONN state is WAIT_JOIN_CMPLT\n")); 
                break;            
             case   3:  WLAN_OS_REPORT((" CONN state is MLME_WAIT\n")); 
                break;           
             case   4:  WLAN_OS_REPORT((" CONN state is RSN_WAIT\n")); 
                break;            
             case   5:  WLAN_OS_REPORT((" CONN state is CONFIG_HW\n")); 
                break;        
             case   6:  WLAN_OS_REPORT((" CONN state is CONNECTED\n")); 
                break; 
            case   7:  WLAN_OS_REPORT((" CONN state is DISASSOCC\n")); 
               break; 
            default:
                break;
            }
        }
        }
        break;

	case FORCE_HW_RESET_RECOVERY:
		WLAN_OS_REPORT(("\n Currently not supported!\n"));
		break;

	case FORCE_SOFT_RECOVERY:
		WLAN_OS_REPORT(("\n FORCE Full Recovery (Soft)\n"));
		break;


	case PERFORM_HEALTH_TEST:
		WLAN_OS_REPORT(("\n PERFORM_HEALTH_TEST \n"));
		healthMonitor_PerformTest(pStadHandles->hHealthMonitor, TI_FALSE);	
		break;

	case PRINT_SITE_TABLE_PER_SSID:
		printSiteTable(pSiteMgr, (char*)pParam);
		break;

	case SET_DESIRED_CHANNEL:
		param.paramType = SITE_MGR_DESIRED_CHANNEL_PARAM;
		param.content.siteMgrDesiredChannel = *(TI_UINT8*)pParam;
		siteMgr_setParam(pStadHandles->hSiteMgr, &param);
		break;

	default:
		WLAN_OS_REPORT(("Invalid function type in Debug Site Manager Function Command: %d\n\n", funcType));
		break;
	}
}