📄 cmm_profile.c
字号:
pAd->CommonCfg.TxPowerDefault = pAd->CommonCfg.TxPowerPercentage;#endif // CONFIG_STA_SUPPORT // DBGPRINT(RT_DEBUG_TRACE, ("TxPower=%ld\n", pAd->CommonCfg.TxPowerPercentage)); } //BGProtection if(RTMPGetKeyParameter("BGProtection", tmpbuf, 10, pBuffer, TRUE)) { //#if 0 //#ifndef WIFI_TEST // pAd->CommonCfg.UseBGProtection = 2;// disable b/g protection for throughput test //#else switch (simple_strtol(tmpbuf, 0, 10)) { case 1: //Always On pAd->CommonCfg.UseBGProtection = 1; break; case 2: //Always OFF pAd->CommonCfg.UseBGProtection = 2; break; case 0: //AUTO default: pAd->CommonCfg.UseBGProtection = 0; break; } //#endif DBGPRINT(RT_DEBUG_TRACE, ("BGProtection=%ld\n", pAd->CommonCfg.UseBGProtection)); } //OLBCDetection if(RTMPGetKeyParameter("DisableOLBC", tmpbuf, 10, pBuffer, TRUE)) { switch (simple_strtol(tmpbuf, 0, 10)) { case 1: //disable OLBC Detection pAd->CommonCfg.DisableOLBCDetect = 1; break; case 0: //enable OLBC Detection pAd->CommonCfg.DisableOLBCDetect = 0; break; default: pAd->CommonCfg.DisableOLBCDetect= 0; break; } DBGPRINT(RT_DEBUG_TRACE, ("OLBCDetection=%ld\n", pAd->CommonCfg.DisableOLBCDetect)); } //TxPreamble if(RTMPGetKeyParameter("TxPreamble", tmpbuf, 10, pBuffer, TRUE)) { switch (simple_strtol(tmpbuf, 0, 10)) { case Rt802_11PreambleShort: pAd->CommonCfg.TxPreamble = Rt802_11PreambleShort; break; case Rt802_11PreambleLong: default: pAd->CommonCfg.TxPreamble = Rt802_11PreambleLong; break; } DBGPRINT(RT_DEBUG_TRACE, ("TxPreamble=%ld\n", pAd->CommonCfg.TxPreamble)); } //RTSThreshold if(RTMPGetKeyParameter("RTSThreshold", tmpbuf, 10, pBuffer, TRUE)) { RtsThresh = simple_strtol(tmpbuf, 0, 10); if( (RtsThresh >= 1) && (RtsThresh <= MAX_RTS_THRESHOLD) ) pAd->CommonCfg.RtsThreshold = (USHORT)RtsThresh; else pAd->CommonCfg.RtsThreshold = MAX_RTS_THRESHOLD; DBGPRINT(RT_DEBUG_TRACE, ("RTSThreshold=%d\n", pAd->CommonCfg.RtsThreshold)); } //FragThreshold if(RTMPGetKeyParameter("FragThreshold", tmpbuf, 10, pBuffer, TRUE)) { FragThresh = simple_strtol(tmpbuf, 0, 10); pAd->CommonCfg.bUseZeroToDisableFragment = FALSE; if (FragThresh > MAX_FRAG_THRESHOLD || FragThresh < MIN_FRAG_THRESHOLD) { //illegal FragThresh so we set it to default pAd->CommonCfg.FragmentThreshold = MAX_FRAG_THRESHOLD; pAd->CommonCfg.bUseZeroToDisableFragment = TRUE; } else if (FragThresh % 2 == 1) { // The length of each fragment shall always be an even number of octets, except for the last fragment // of an MSDU or MMPDU, which may be either an even or an odd number of octets. pAd->CommonCfg.FragmentThreshold = (USHORT)(FragThresh - 1); } else { pAd->CommonCfg.FragmentThreshold = (USHORT)FragThresh; } //pAd->CommonCfg.AllowFragSize = (pAd->CommonCfg.FragmentThreshold) - LENGTH_802_11 - LENGTH_CRC; DBGPRINT(RT_DEBUG_TRACE, ("FragThreshold=%d\n", pAd->CommonCfg.FragmentThreshold)); } //TxBurst if(RTMPGetKeyParameter("TxBurst", tmpbuf, 10, pBuffer, TRUE)) { //#ifdef WIFI_TEST // pAd->CommonCfg.bEnableTxBurst = FALSE; //#else if(simple_strtol(tmpbuf, 0, 10) != 0) //Enable pAd->CommonCfg.bEnableTxBurst = TRUE; else //Disable pAd->CommonCfg.bEnableTxBurst = FALSE; //#endif DBGPRINT(RT_DEBUG_TRACE, ("TxBurst=%d\n", pAd->CommonCfg.bEnableTxBurst)); }#ifdef AGGREGATION_SUPPORT //PktAggregate if(RTMPGetKeyParameter("PktAggregate", tmpbuf, 10, pBuffer, TRUE)) { if(simple_strtol(tmpbuf, 0, 10) != 0) //Enable pAd->CommonCfg.bAggregationCapable = TRUE; else //Disable pAd->CommonCfg.bAggregationCapable = FALSE;#ifdef PIGGYBACK_SUPPORT pAd->CommonCfg.bPiggyBackCapable = pAd->CommonCfg.bAggregationCapable;#endif // PIGGYBACK_SUPPORT // DBGPRINT(RT_DEBUG_TRACE, ("PktAggregate=%d\n", pAd->CommonCfg.bAggregationCapable)); }#else pAd->CommonCfg.bAggregationCapable = FALSE; pAd->CommonCfg.bPiggyBackCapable = FALSE;#endif // AGGREGATION_SUPPORT // // WmmCapable#ifdef CONFIG_STA_SUPPORT IF_DEV_CONFIG_OPMODE_ON_STA(pAd) rtmp_read_sta_wmm_parms_from_file(pAd, tmpbuf, pBuffer);#endif // CONFIG_STA_SUPPORT // //ShortSlot if(RTMPGetKeyParameter("ShortSlot", tmpbuf, 10, pBuffer, TRUE)) { RT_CfgSetShortSlot(pAd, tmpbuf); DBGPRINT(RT_DEBUG_TRACE, ("ShortSlot=%d\n", pAd->CommonCfg.bUseShortSlotTime)); } //IEEE80211H if(RTMPGetKeyParameter("IEEE80211H", tmpbuf, 10, pBuffer, TRUE)) { for (i = 0, macptr = rstrtok(tmpbuf,";"); macptr; macptr = rstrtok(NULL,";"), i++) { if(simple_strtol(macptr, 0, 10) != 0) //Enable pAd->CommonCfg.bIEEE80211H = TRUE; else //Disable pAd->CommonCfg.bIEEE80211H = FALSE; DBGPRINT(RT_DEBUG_TRACE, ("IEEE80211H=%d\n", pAd->CommonCfg.bIEEE80211H)); } } //CSPeriod if(RTMPGetKeyParameter("CSPeriod", tmpbuf, 10, pBuffer, TRUE)) { if(simple_strtol(tmpbuf, 0, 10) != 0) pAd->CommonCfg.RadarDetect.CSPeriod = simple_strtol(tmpbuf, 0, 10); else pAd->CommonCfg.RadarDetect.CSPeriod = 0; DBGPRINT(RT_DEBUG_TRACE, ("CSPeriod=%d\n", pAd->CommonCfg.RadarDetect.CSPeriod)); }#ifdef MERGE_ARCH_TEAM // DfsLowerLimit if(RTMPGetKeyParameter("DfsLowerLimit", tmpbuf, 10, pBuffer, TRUE)) { if(simple_strtol(tmpbuf, 0, 10) != 0) pAd->CommonCfg.RadarDetect.DfsLowerLimit = simple_strtol(tmpbuf, 0, 10); DBGPRINT(RT_DEBUG_TRACE, ("DfsLowerLimit=%ld\n", pAd->CommonCfg.RadarDetect.DfsLowerLimit)); } // DfsUpperLimit if(RTMPGetKeyParameter("DfsUpperLimit", tmpbuf, 10, pBuffer, TRUE)) { if(simple_strtol(tmpbuf, 0, 10) != 0) pAd->CommonCfg.RadarDetect.DfsUpperLimit = simple_strtol(tmpbuf, 0, 10); DBGPRINT(RT_DEBUG_TRACE, ("DfsUpperLimit=%ld\n", pAd->CommonCfg.RadarDetect.DfsUpperLimit)); } // FixDfsLimit if(RTMPGetKeyParameter("FixDfsLimit", tmpbuf, 10, pBuffer, TRUE)) { if(simple_strtol(tmpbuf, 0, 10) != 0) pAd->CommonCfg.RadarDetect.FixDfsLimit = TRUE; else pAd->CommonCfg.RadarDetect.FixDfsLimit = FALSE; DBGPRINT(RT_DEBUG_TRACE, ("FixDfsLimit=%d\n", pAd->CommonCfg.RadarDetect.FixDfsLimit)); } // LongPulseRadarTh if(RTMPGetKeyParameter("LongPulseRadarTh", tmpbuf, 10, pBuffer, TRUE)) { if(simple_strtol(tmpbuf, 0, 10) != 0) pAd->CommonCfg.RadarDetect.LongPulseRadarTh = simple_strtol(tmpbuf, 0, 10); DBGPRINT(RT_DEBUG_TRACE, ("LongPulseRadarTh=%d\n", pAd->CommonCfg.RadarDetect.LongPulseRadarTh)); } // AvgRssiReq if(RTMPGetKeyParameter("AvgRssiReq", tmpbuf, 10, pBuffer, TRUE)) { if(simple_strtol(tmpbuf, 0, 10) != 0) pAd->CommonCfg.RadarDetect.AvgRssiReq = simple_strtol(tmpbuf, 0, 10); DBGPRINT(RT_DEBUG_TRACE, ("AvgRssiReq=%d\n", pAd->CommonCfg.RadarDetect.AvgRssiReq)); }#endif // MERGE_ARCH_TEAM // //RDRegion if(RTMPGetKeyParameter("RDRegion", tmpbuf, 128, pBuffer, TRUE)) { RADAR_DETECT_STRUCT *pRadarDetect = &pAd->CommonCfg.RadarDetect; if ((strncmp(tmpbuf, "JAP_W53", 7) == 0) || (strncmp(tmpbuf, "jap_w53", 7) == 0)) { pRadarDetect->RDDurRegion = JAP_W53; pRadarDetect->DfsSessionTime = 15; } else if ((strncmp(tmpbuf, "JAP_W56", 7) == 0) || (strncmp(tmpbuf, "jap_w56", 7) == 0)) { pRadarDetect->RDDurRegion = JAP_W56; pRadarDetect->DfsSessionTime = 13; } else if ((strncmp(tmpbuf, "JAP", 3) == 0) || (strncmp(tmpbuf, "jap", 3) == 0)) { pRadarDetect->RDDurRegion = JAP; pRadarDetect->DfsSessionTime = 5; } else if ((strncmp(tmpbuf, "FCC", 3) == 0) || (strncmp(tmpbuf, "fcc", 3) == 0)) { pRadarDetect->RDDurRegion = FCC; pRadarDetect->DfsSessionTime = 5;#ifdef DFS_FCC_BW40_FIX pRadarDetect->DfsSessionFccOff = 0;#endif // DFS_FCC_BW40_FIX // } else if ((strncmp(tmpbuf, "CE", 2) == 0) || (strncmp(tmpbuf, "ce", 2) == 0)) { pRadarDetect->RDDurRegion = CE; pRadarDetect->DfsSessionTime = 13; } else { pRadarDetect->RDDurRegion = CE; pRadarDetect->DfsSessionTime = 13; } DBGPRINT(RT_DEBUG_TRACE, ("RDRegion=%d\n", pRadarDetect->RDDurRegion)); } else { pAd->CommonCfg.RadarDetect.RDDurRegion = CE; pAd->CommonCfg.RadarDetect.DfsSessionTime = 13; } //WirelessEvent if(RTMPGetKeyParameter("WirelessEvent", tmpbuf, 10, pBuffer, TRUE)) { #if WIRELESS_EXT >= 15 if(simple_strtol(tmpbuf, 0, 10) != 0) pAd->CommonCfg.bWirelessEvent = simple_strtol(tmpbuf, 0, 10); else pAd->CommonCfg.bWirelessEvent = 0; // disable#else pAd->CommonCfg.bWirelessEvent = 0; // disable#endif DBGPRINT(RT_DEBUG_TRACE, ("WirelessEvent=%d\n", pAd->CommonCfg.bWirelessEvent)); } if(RTMPGetKeyParameter("WiFiTest", tmpbuf, 10, pBuffer, TRUE)) { if(simple_strtol(tmpbuf, 0, 10) != 0) pAd->CommonCfg.bWiFiTest= simple_strtol(tmpbuf, 0, 10); else pAd->CommonCfg.bWiFiTest = 0; // disable DBGPRINT(RT_DEBUG_TRACE, ("WiFiTest=%d\n", pAd->CommonCfg.bWiFiTest)); } //AuthMode if(RTMPGetKeyParameter("AuthMode", tmpbuf, 128, pBuffer, TRUE)) {#ifdef CONFIG_STA_SUPPORT IF_DEV_CONFIG_OPMODE_ON_STA(pAd) { if ((strcmp(tmpbuf, "WEPAUTO") == 0) || (strcmp(tmpbuf, "wepauto") == 0)) pAd->StaCfg.AuthMode = Ndis802_11AuthModeAutoSwitch; else if ((strcmp(tmpbuf, "SHARED") == 0) || (strcmp(tmpbuf, "shared") == 0)) pAd->StaCfg.AuthMode = Ndis802_11AuthModeShared; else if ((strcmp(tmpbuf, "WPAPSK") == 0) || (strcmp(tmpbuf, "wpapsk") == 0)) pAd->StaCfg.AuthMode = Ndis802_11AuthModeWPAPSK; else if ((strcmp(tmpbuf, "WPANONE") == 0) || (strcmp(tmpbuf, "wpanone") == 0)) pAd->StaCfg.AuthMode = Ndis802_11AuthModeWPANone; else if ((strcmp(tmpbuf, "WPA2PSK") == 0) || (strcmp(tmpbuf, "wpa2psk") == 0)) pAd->StaCfg.AuthMode = Ndis802_11AuthModeWPA2PSK;#ifdef WPA_SUPPLICANT_SUPPORT else if ((strcmp(tmpbuf, "WPA") == 0) || (strcmp(tmpbuf, "wpa") == 0)) pAd->StaCfg.AuthMode = Ndis802_11AuthModeWPA; else if ((strcmp(tmpbuf, "WPA2") == 0) || (strcmp(tmpbuf, "wpa2") == 0)) pAd->StaCfg.AuthMode = Ndis802_11AuthModeWPA2; #endif // WPA_SUPPLICANT_SUPPORT // else pAd->StaCfg.AuthMode = Ndis802_11AuthModeOpen; pAd->StaCfg.PortSecured = WPA_802_1X_PORT_NOT_SECURED; DBGPRINT(RT_DEBUG_TRACE, ("%s::(EncrypType=%d)\n", __FUNCTION__, pAd->StaCfg.WepStatus)); }#endif // CONFIG_STA_SUPPORT // } //EncrypType if(RTMPGetKeyParameter("EncrypType", tmpbuf, 128, pBuffer, TRUE)) {#ifdef CONFIG_STA_SUPPORT IF_DEV_CONFIG_OPMODE_ON_STA(pAd) { if ((strcmp(tmpbuf, "WEP") == 0) || (strcmp(tmpbuf, "wep") == 0)) pAd->StaCfg.WepStatus = Ndis802_11WEPEnabled; else if ((strcmp(tmpbuf, "TKIP") == 0) || (strcmp(tmpbuf, "tkip") == 0)) pAd->StaCfg.WepStatus = Ndis802_11Encryption2Enabled; else if ((strcmp(tmpbuf, "AES") == 0) || (strcmp(tmpbuf, "aes") == 0)) pAd->StaCfg.WepStatus = Ndis802_11Encryption3Enabled; else pAd->StaCfg.WepStatus = Ndis802_11WEPDisabled; // Update all wepstatus related pAd->StaCfg.PairCipher = pAd->StaCfg.WepStatus; pAd->StaCfg.GroupCipher = pAd->StaCfg.WepStatus; pAd->StaCfg.OrigWepStatus = pAd->StaCfg.WepStatus; pAd->StaCfg.bMixCipher = FALSE; //RTMPMakeRSNIE(pAd, pAd->StaCfg.AuthMode, pAd->StaCfg.WepStatus, 0); DBGPRINT(RT_DEBUG_TRACE, ("%s::(EncrypType=%d)\n", __FUNCTION__, pAd->StaCfg.WepStatus)); }#endif // CONFIG_STA_SUPPORT // }#ifdef CONFIG_STA_SUPPORT IF_DEV_CONFIG_OPMODE_ON_STA(pAd) { if(RTMPGetKeyParameter("WPAPSK", tmpbuf, 512, pBuffer, FALSE)) { int ret = TRUE; tmpbuf[strlen(tmpbuf)] = '\0'; // make STA can process .$^& for WPAPSK input if ((pAd->StaCfg.AuthMode != Ndis802_11AuthModeWPAPSK) && (pAd->StaCfg.AuthMode != Ndis802_11AuthModeWPA2PSK) && (pAd->StaCfg.AuthMode != Ndis802_11AuthModeWPANone) ) { ret = FALSE; } else { ret = RT_CfgSetWPAPSKKey(pAd, tmpbuf, (PUCHAR)pAd->CommonCfg.Ssid, pAd->CommonCfg.SsidLen, pAd->StaCfg.PMK); } if (ret == TRUE) { RTMPZeroMemory(pAd->StaCfg.WpaPassPhrase, 64); RTMPMoveMemory(pAd->StaCfg.WpaPassPhrase, tmpbuf, strlen(tmpbuf)); pAd->StaCfg.WpaPassPhraseLen= strlen(tmpbuf); if ((pAd->StaCfg.AuthMode == Ndis802_11AuthModeWPAPSK) || (pAd->StaCfg.AuthMode == Ndis802_11AuthModeWPA2PSK)) { // Start STA supplicant state machine pAd->StaCfg.WpaState = SS_START; } else if (pAd->StaCfg.AuthMode == Ndis802_11AuthModeWPANone) { pAd->StaCfg.WpaState = SS_NOTUSE; } DBGPRINT(RT_DEBUG_TRACE, ("%s::(WPAPSK=%s)\n", __FUNCTION__, tmpbuf)); } } }#endif // CONFIG_STA_SUPPORT // //DefaultKeyID, KeyType, KeyStr rtmp_read_key_parms_from_file(pAd, tmpbuf, pBuffer); //HSCounter /*if(RTMPGetKeyParameter("HSCounter", tmpbuf, 10, pBuffer, TRUE)) { switch (simple_strtol(tmpbuf, 0, 10)) { case 1: //Enable pAd->CommonCfg.bEnableHSCounter = TRUE; break; case 0: //Disable default: pAd->CommonCfg.bEnableHSCounter = FALSE; break; } DBGPRINT(RT_DEBUG_TRACE, "HSCounter=%d\n", pAd->CommonCfg.bEnableHSCounter); }*/#ifdef DOT11_N_SUPPORT HTParametersHook(pAd, tmpbuf, pBuffer);#endif // DOT11_N_SUPPORT //#ifdef CARRIER_DETECTION_SUPPORT //CarrierDetect if(RTMPGetKeyParameter("CarrierDetect", tmpbuf, 128, pBuffer, TRUE)) { if ((strncmp(tmpbuf, "0", 1) == 0)) pAd->CommonCfg.CarrierDetect.Enable = FALSE; else if ((strncmp(tmpbuf, "1", 1) == 0)) pAd->CommonCfg.CarrierDetect.Enable = TRUE; else pAd->CommonCfg.CarrierDetect.Enable = FALSE; DBGPRINT(RT_DEBUG_TRACE, ("CarrierDetect.Enable=%d\n", pAd->CommonCfg.CarrierDetect.Enable)); } else pAd->CommonCfg.CarrierDetect.Enable = FALSE;#endif // CARRIER_DETECTION_SUPPORT //#ifdef CONFIG_STA_SUPPORT IF_DEV_CONFIG_OPMODE_ON_STA(pAd) { //PSMode if (RTMPGetKeyParameter("PSMode", tmpbuf, 10, pBuffer, TRUE)) { if (pAd->StaCfg.BssType == BSS_INFRA) { if ((strcmp(tmpbuf, "MAX_PSP") == 0) || (strcmp(tmpbuf, "max_psp") == 0)) { // do NOT turn on PSM bit here, wait until MlmeCheckForPsmChange() // to exclude certain situations. // MlmeSetPsm(pAd, PWR_SAVE); OPSTATUS_SET_FLAG(pAd, fOP_STATUS_RECEIVE_DTIM); if (pAd->StaCfg.bWindowsACCAMEnable == FALSE) pAd->StaCfg.WindowsPowerMode = Ndis802_11PowerModeMAX_PSP; pAd->StaCfg.WindowsBatteryPowerMode = Ndis802_11PowerModeMAX_PSP; pAd->StaCfg.DefaultListenCount = 5; } else if ((strcmp(tmpbuf, "Fast_PSP") == 0) || (strcmp(tmpbuf, "fast_psp") == 0) || (strcmp(tmpbuf, "FAST_PSP") == 0)) { // do NOT turn on PSM bit here, wait until MlmeCheckForPsmChange() // to exclude certain situations. // RTMP_SET_PSM_BIT(pAd, PWR_SAVE);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -