📄 cmm_profile.c
字号:
DBGPRINT(RT_DEBUG_TRACE, ("HT: RDG = %s\n", (Value==0) ? "Disable" : "Enable(+HTC)")); } // Tx A-MSUD ? if (RTMPGetKeyParameter("HT_AMSDU", pValueStr, 25, pInput, TRUE)) { Value = simple_strtol(pValueStr, 0, 10); if (Value == 0) { pAd->CommonCfg.BACapability.field.AmsduEnable = FALSE; } else { pAd->CommonCfg.BACapability.field.AmsduEnable = TRUE; } DBGPRINT(RT_DEBUG_TRACE, ("HT: Tx A-MSDU = %s\n", (Value==0) ? "Disable" : "Enable")); } // MPDU Density if (RTMPGetKeyParameter("HT_MpduDensity", pValueStr, 25, pInput, TRUE)) { Value = simple_strtol(pValueStr, 0, 10); if (Value <=7 && Value >= 0) { pAd->CommonCfg.BACapability.field.MpduDensity = Value; DBGPRINT(RT_DEBUG_TRACE, ("HT: MPDU Density = %d\n", (INT) Value)); } else { pAd->CommonCfg.BACapability.field.MpduDensity = 4; DBGPRINT(RT_DEBUG_TRACE, ("HT: MPDU Density = %d (Default)\n", 4)); } } // Max Rx BA Window Size if (RTMPGetKeyParameter("HT_BAWinSize", pValueStr, 25, pInput, TRUE)) { Value = simple_strtol(pValueStr, 0, 10); if (Value >=1 && Value <= 64) { pAd->CommonCfg.REGBACapability.field.RxBAWinLimit = Value; pAd->CommonCfg.BACapability.field.RxBAWinLimit = Value; DBGPRINT(RT_DEBUG_TRACE, ("HT: BA Windw Size = %d\n", (INT) Value)); } else { pAd->CommonCfg.REGBACapability.field.RxBAWinLimit = 64; pAd->CommonCfg.BACapability.field.RxBAWinLimit = 64; DBGPRINT(RT_DEBUG_TRACE, ("HT: BA Windw Size = 64 (Defualt)\n")); } } // Guard Interval if (RTMPGetKeyParameter("HT_GI", pValueStr, 25, pInput, TRUE)) { Value = simple_strtol(pValueStr, 0, 10); if (Value == GI_400) { pAd->CommonCfg.RegTransmitSetting.field.ShortGI = GI_400; } else { pAd->CommonCfg.RegTransmitSetting.field.ShortGI = GI_800; } DBGPRINT(RT_DEBUG_TRACE, ("HT: Guard Interval = %s\n", (Value==GI_400) ? "400" : "800" )); } // HT Operation Mode : Mixed Mode , Green Field if (RTMPGetKeyParameter("HT_OpMode", pValueStr, 25, pInput, TRUE)) { Value = simple_strtol(pValueStr, 0, 10); if (Value == HTMODE_GF) { pAd->CommonCfg.RegTransmitSetting.field.HTMODE = HTMODE_GF; } else { pAd->CommonCfg.RegTransmitSetting.field.HTMODE = HTMODE_MM; } DBGPRINT(RT_DEBUG_TRACE, ("HT: Operate Mode = %s\n", (Value==HTMODE_GF) ? "Green Field" : "Mixed Mode" )); } // Fixed Tx mode : CCK, OFDM if (RTMPGetKeyParameter("FixedTxMode", pValueStr, 25, pInput, TRUE)) { UCHAR fix_tx_mode; #ifdef CONFIG_STA_SUPPORT IF_DEV_CONFIG_OPMODE_ON_STA(pAd) { fix_tx_mode = FIXED_TXMODE_HT; if (strcmp(pValueStr, "OFDM") == 0 || strcmp(pValueStr, "ofdm") == 0) { fix_tx_mode = FIXED_TXMODE_OFDM; } else if (strcmp(pValueStr, "CCK") == 0 || strcmp(pValueStr, "cck") == 0) { fix_tx_mode = FIXED_TXMODE_CCK; } else if (strcmp(pValueStr, "HT") == 0 || strcmp(pValueStr, "ht") == 0) { fix_tx_mode = FIXED_TXMODE_HT; } else { Value = simple_strtol(pValueStr, 0, 10); // 1 : CCK // 2 : OFDM // otherwise : HT if (Value == FIXED_TXMODE_CCK || Value == FIXED_TXMODE_OFDM) fix_tx_mode = Value; else fix_tx_mode = FIXED_TXMODE_HT; } pAd->StaCfg.DesiredTransmitSetting.field.FixedTxMode = fix_tx_mode; DBGPRINT(RT_DEBUG_TRACE, ("Fixed Tx Mode = %d\n", fix_tx_mode)); }#endif // CONFIG_STA_SUPPORT // } // Channel Width if (RTMPGetKeyParameter("HT_BW", pValueStr, 25, pInput, TRUE)) { Value = simple_strtol(pValueStr, 0, 10); if (Value == BW_40) { pAd->CommonCfg.RegTransmitSetting.field.BW = BW_40; } else { pAd->CommonCfg.RegTransmitSetting.field.BW = BW_20; } #ifdef MCAST_RATE_SPECIFIC pAd->CommonCfg.MCastPhyMode.field.BW = pAd->CommonCfg.RegTransmitSetting.field.BW;#endif // MCAST_RATE_SPECIFIC // DBGPRINT(RT_DEBUG_TRACE, ("HT: Channel Width = %s\n", (Value==BW_40) ? "40 MHz" : "20 MHz" )); } if (RTMPGetKeyParameter("HT_EXTCHA", pValueStr, 25, pInput, TRUE)) { Value = simple_strtol(pValueStr, 0, 10); if (Value == 0) { pAd->CommonCfg.RegTransmitSetting.field.EXTCHA = EXTCHA_BELOW; } else { pAd->CommonCfg.RegTransmitSetting.field.EXTCHA = EXTCHA_ABOVE; } DBGPRINT(RT_DEBUG_TRACE, ("HT: Ext Channel = %s\n", (Value==0) ? "BELOW" : "ABOVE" )); } // MSC if (RTMPGetKeyParameter("HT_MCS", pValueStr, 50, pInput, TRUE)) {#ifdef CONFIG_STA_SUPPORT IF_DEV_CONFIG_OPMODE_ON_STA(pAd) { Value = simple_strtol(pValueStr, 0, 10);// if ((Value >= 0 && Value <= 15) || (Value == 32)) if ((Value >= 0 && Value <= 23) || (Value == 32)) // 3*3 { pAd->StaCfg.DesiredTransmitSetting.field.MCS = Value; pAd->StaCfg.bAutoTxRateSwitch = FALSE; DBGPRINT(RT_DEBUG_TRACE, ("HT: MCS = %d\n", pAd->StaCfg.DesiredTransmitSetting.field.MCS)); } else { pAd->StaCfg.DesiredTransmitSetting.field.MCS = MCS_AUTO; pAd->StaCfg.bAutoTxRateSwitch = TRUE; DBGPRINT(RT_DEBUG_TRACE, ("HT: MCS = AUTO\n")); } }#endif // CONFIG_STA_SUPPORT // } // STBC if (RTMPGetKeyParameter("HT_STBC", pValueStr, 25, pInput, TRUE)) { Value = simple_strtol(pValueStr, 0, 10); if (Value == STBC_USE) { pAd->CommonCfg.RegTransmitSetting.field.STBC = STBC_USE; } else { pAd->CommonCfg.RegTransmitSetting.field.STBC = STBC_NONE; } DBGPRINT(RT_DEBUG_TRACE, ("HT: STBC = %d\n", pAd->CommonCfg.RegTransmitSetting.field.STBC)); } // 40_Mhz_Intolerant if (RTMPGetKeyParameter("HT_40MHZ_INTOLERANT", pValueStr, 25, pInput, TRUE)) { Value = simple_strtol(pValueStr, 0, 10); if (Value == 0) { pAd->CommonCfg.bForty_Mhz_Intolerant = FALSE; } else { pAd->CommonCfg.bForty_Mhz_Intolerant = TRUE; } DBGPRINT(RT_DEBUG_TRACE, ("HT: 40MHZ INTOLERANT = %d\n", pAd->CommonCfg.bForty_Mhz_Intolerant)); } //HT_TxStream if(RTMPGetKeyParameter("HT_TxStream", pValueStr, 10, pInput, TRUE)) { switch (simple_strtol(pValueStr, 0, 10)) { case 1: pAd->CommonCfg.TxStream = 1; break; case 2: pAd->CommonCfg.TxStream = 2; break; case 3: // 3*3 default: pAd->CommonCfg.TxStream = 3; if (pAd->MACVersion < RALINK_2883_VERSION) pAd->CommonCfg.TxStream = 2; // only 2 tx streams for RT2860 series break; } DBGPRINT(RT_DEBUG_TRACE, ("HT: Tx Stream = %d\n", pAd->CommonCfg.TxStream)); } //HT_RxStream if(RTMPGetKeyParameter("HT_RxStream", pValueStr, 10, pInput, TRUE)) { switch (simple_strtol(pValueStr, 0, 10)) { case 1: pAd->CommonCfg.RxStream = 1; break; case 2: pAd->CommonCfg.RxStream = 2; break; case 3: default: pAd->CommonCfg.RxStream = 3; if (pAd->MACVersion < RALINK_2883_VERSION) pAd->CommonCfg.RxStream = 2; // only 2 rx streams for RT2860 series break; } DBGPRINT(RT_DEBUG_TRACE, ("HT: Rx Stream = %d\n", pAd->CommonCfg.RxStream)); } //2008/11/05: KH add to support Antenna power-saving of AP<-- //Green AP if(RTMPGetKeyParameter("GreenAP", pValueStr, 10, pInput, TRUE)) { Value = simple_strtol(pValueStr, 0, 10); if (Value == 0) { pAd->CommonCfg.bGreenAPEnable = FALSE; } else { pAd->CommonCfg.bGreenAPEnable = TRUE; } DBGPRINT(RT_DEBUG_TRACE, ("HT: Green AP= %d\n", pAd->CommonCfg.bGreenAPEnable)); } // HT_DisallowTKIP if (RTMPGetKeyParameter("HT_DisallowTKIP", pValueStr, 25, pInput, TRUE)) { Value = simple_strtol(pValueStr, 0, 10); if (Value == 1) { pAd->CommonCfg.HT_DisallowTKIP = TRUE; } else { pAd->CommonCfg.HT_DisallowTKIP = FALSE; } DBGPRINT(RT_DEBUG_TRACE, ("HT: Disallow TKIP mode = %s\n", (pAd->CommonCfg.HT_DisallowTKIP == TRUE) ? "ON" : "OFF" )); } //2008/11/05:KH add to support Antenna power-saving of AP-->}#endif // DOT11_N_SUPPORT //NDIS_STATUS RTMPSetProfileParameters( IN RTMP_ADAPTER *pAd, IN PSTRING pBuffer){ PSTRING tmpbuf; ULONG RtsThresh; ULONG FragThresh; PSTRING macptr; INT i = 0, retval; tmpbuf = kmalloc(MAX_PARAM_BUFFER_SIZE, MEM_ALLOC_FLAG); if(tmpbuf == NULL) return NDIS_STATUS_FAILURE; do { // set file parameter to portcfg //CountryRegion if(RTMPGetKeyParameter("CountryRegion", tmpbuf, 25, pBuffer, TRUE)) { retval = RT_CfgSetCountryRegion(pAd, tmpbuf, BAND_24G); DBGPRINT(RT_DEBUG_TRACE, ("CountryRegion=%d\n", pAd->CommonCfg.CountryRegion)); } //CountryRegionABand if(RTMPGetKeyParameter("CountryRegionABand", tmpbuf, 25, pBuffer, TRUE)) { retval = RT_CfgSetCountryRegion(pAd, tmpbuf, BAND_5G); DBGPRINT(RT_DEBUG_TRACE, ("CountryRegionABand=%d\n", pAd->CommonCfg.CountryRegionForABand)); }#ifdef RTMP_EFUSE_SUPPORT#endif // RTMP_EFUSE_SUPPORT // //CountryCode if(RTMPGetKeyParameter("CountryCode", tmpbuf, 25, pBuffer, TRUE)) { NdisMoveMemory(pAd->CommonCfg.CountryCode, tmpbuf , 2);#ifdef CONFIG_STA_SUPPORT#ifdef EXT_BUILD_CHANNEL_LIST IF_DEV_CONFIG_OPMODE_ON_STA(pAd) NdisMoveMemory(pAd->StaCfg.StaOriCountryCode, tmpbuf , 2);#endif // EXT_BUILD_CHANNEL_LIST //#endif // CONFIG_STA_SUPPORT // if (strlen((PSTRING) pAd->CommonCfg.CountryCode) != 0) { pAd->CommonCfg.bCountryFlag = TRUE; } DBGPRINT(RT_DEBUG_TRACE, ("CountryCode=%s\n", pAd->CommonCfg.CountryCode)); } //ChannelGeography if(RTMPGetKeyParameter("ChannelGeography", tmpbuf, 25, pBuffer, TRUE)) { UCHAR Geography = (UCHAR) simple_strtol(tmpbuf, 0, 10); if (Geography <= BOTH) { pAd->CommonCfg.Geography = Geography; pAd->CommonCfg.CountryCode[2] = (pAd->CommonCfg.Geography == BOTH) ? ' ' : ((pAd->CommonCfg.Geography == IDOR) ? 'I' : 'O');#ifdef CONFIG_STA_SUPPORT#ifdef EXT_BUILD_CHANNEL_LIST IF_DEV_CONFIG_OPMODE_ON_STA(pAd) pAd->StaCfg.StaOriGeography = pAd->CommonCfg.Geography;#endif // EXT_BUILD_CHANNEL_LIST //#endif // CONFIG_STA_SUPPORT // DBGPRINT(RT_DEBUG_TRACE, ("ChannelGeography=%d\n", pAd->CommonCfg.Geography)); } } else { pAd->CommonCfg.Geography = BOTH; pAd->CommonCfg.CountryCode[2] = ' '; }#ifdef CONFIG_STA_SUPPORT IF_DEV_CONFIG_OPMODE_ON_STA(pAd) { //SSID if (RTMPGetKeyParameter("SSID", tmpbuf, 256, pBuffer, FALSE)) { if (strlen(tmpbuf) <= 32) { pAd->CommonCfg.SsidLen = (UCHAR) strlen(tmpbuf); NdisZeroMemory(pAd->CommonCfg.Ssid, NDIS_802_11_LENGTH_SSID); NdisMoveMemory(pAd->CommonCfg.Ssid, tmpbuf, pAd->CommonCfg.SsidLen); pAd->MlmeAux.AutoReconnectSsidLen = pAd->CommonCfg.SsidLen; NdisZeroMemory(pAd->MlmeAux.AutoReconnectSsid, NDIS_802_11_LENGTH_SSID); NdisMoveMemory(pAd->MlmeAux.AutoReconnectSsid, tmpbuf, pAd->MlmeAux.AutoReconnectSsidLen); pAd->MlmeAux.SsidLen = pAd->CommonCfg.SsidLen; NdisZeroMemory(pAd->MlmeAux.Ssid, NDIS_802_11_LENGTH_SSID); NdisMoveMemory(pAd->MlmeAux.Ssid, tmpbuf, pAd->MlmeAux.SsidLen); DBGPRINT(RT_DEBUG_TRACE, ("%s::(SSID=%s)\n", __FUNCTION__, tmpbuf)); } } }#endif // CONFIG_STA_SUPPORT //#ifdef CONFIG_STA_SUPPORT IF_DEV_CONFIG_OPMODE_ON_STA(pAd) { //NetworkType if (RTMPGetKeyParameter("NetworkType", tmpbuf, 25, pBuffer, TRUE)) { pAd->bConfigChanged = TRUE; if (strcmp(tmpbuf, "Adhoc") == 0) pAd->StaCfg.BssType = BSS_ADHOC; else //Default Infrastructure mode pAd->StaCfg.BssType = BSS_INFRA; // Reset Ralink supplicant to not use, it will be set to start when UI set PMK key pAd->StaCfg.WpaState = SS_NOTUSE; DBGPRINT(RT_DEBUG_TRACE, ("%s::(NetworkType=%d)\n", __FUNCTION__, pAd->StaCfg.BssType)); } }#endif // CONFIG_STA_SUPPORT // //Channel if(RTMPGetKeyParameter("Channel", tmpbuf, 10, pBuffer, TRUE)) { pAd->CommonCfg.Channel = (UCHAR) simple_strtol(tmpbuf, 0, 10); DBGPRINT(RT_DEBUG_TRACE, ("Channel=%d\n", pAd->CommonCfg.Channel)); } //WirelessMode if(RTMPGetKeyParameter("WirelessMode", tmpbuf, 10, pBuffer, TRUE)) { RT_CfgSetWirelessMode(pAd, tmpbuf); DBGPRINT(RT_DEBUG_TRACE, ("PhyMode=%d\n", pAd->CommonCfg.PhyMode)); } //BasicRate if(RTMPGetKeyParameter("BasicRate", tmpbuf, 10, pBuffer, TRUE)) { pAd->CommonCfg.BasicRateBitmap = (ULONG) simple_strtol(tmpbuf, 0, 10); DBGPRINT(RT_DEBUG_TRACE, ("BasicRate=%ld\n", pAd->CommonCfg.BasicRateBitmap)); } //BeaconPeriod if(RTMPGetKeyParameter("BeaconPeriod", tmpbuf, 10, pBuffer, TRUE)) { pAd->CommonCfg.BeaconPeriod = (USHORT) simple_strtol(tmpbuf, 0, 10); DBGPRINT(RT_DEBUG_TRACE, ("BeaconPeriod=%d\n", pAd->CommonCfg.BeaconPeriod)); } //TxPower if(RTMPGetKeyParameter("TxPower", tmpbuf, 10, pBuffer, TRUE)) { pAd->CommonCfg.TxPowerPercentage = (ULONG) simple_strtol(tmpbuf, 0, 10);#ifdef CONFIG_STA_SUPPORT IF_DEV_CONFIG_OPMODE_ON_STA(pAd)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -