/*********************************************************************** * 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, ¶m); 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, ¶m); 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, ¶m); 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, ¶m); 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, ¶m); 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, ¶m); 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, ¶m); break; case GET_SUPPORTED_RATE_SET_DBG: param.paramType = SITE_MGR_DESIRED_SUPPORTED_RATE_SET_PARAM; cmdDispatch_GetParam(pStadHandles->hCmdDispatch, ¶m); 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, ¶m); 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, ¶m); 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, ¶m); break; default: WLAN_OS_REPORT(("Invalid function type in Debug Site Manager Function Command: %d\n\n", funcType)); break; } }