⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cmm_info.c

📁 Linux下的RT系列无线网卡驱动,可以直接在x86平台上编译
💻 C
📖 第 1 页 / 共 4 页
字号:
		DBGPRINT(RT_DEBUG_TRACE, ("Set_HtOpMode_Proc::(HtOpMode=%d)\n",pAd->CommonCfg.RegTransmitSetting.field.HTMODE));	return TRUE;}	INT	Set_HtStbc_Proc(	IN	PRTMP_ADAPTER	pAd, 	IN	PUCHAR			arg){	ULONG Value;		Value = simple_strtol(arg, 0, 10);		if (Value == STBC_USE)		pAd->CommonCfg.RegTransmitSetting.field.STBC = STBC_USE;	else if ( Value == STBC_NONE )		pAd->CommonCfg.RegTransmitSetting.field.STBC = STBC_NONE;	else 		return FALSE; //Invalid argument 		SetCommonHT(pAd);		DBGPRINT(RT_DEBUG_TRACE, ("Set_Stbc_Proc::(HtStbc=%d)\n",pAd->CommonCfg.RegTransmitSetting.field.STBC));	return TRUE;											}INT	Set_HtHtc_Proc(	IN	PRTMP_ADAPTER	pAd, 	IN	PUCHAR			arg){	ULONG Value;		Value = simple_strtol(arg, 0, 10);	if (Value == 0)		pAd->HTCEnable = FALSE;	else if ( Value ==1 )        pAd->HTCEnable = TRUE;	else 		return FALSE; //Invalid argument 			DBGPRINT(RT_DEBUG_TRACE, ("Set_HtHtc_Proc::(HtHtc=%d)\n",pAd->HTCEnable));	return TRUE;		}			INT	Set_HtExtcha_Proc(	IN	PRTMP_ADAPTER	pAd, 	IN	PUCHAR			arg){	ULONG Value;		Value = simple_strtol(arg, 0, 10);		if (Value == 0)					pAd->CommonCfg.RegTransmitSetting.field.EXTCHA  = EXTCHA_BELOW;	else if ( Value ==1 )        pAd->CommonCfg.RegTransmitSetting.field.EXTCHA = EXTCHA_ABOVE;	else 		return FALSE; //Invalid argument 			SetCommonHT(pAd);	DBGPRINT(RT_DEBUG_TRACE, ("Set_HtExtcha_Proc::(HtExtcha=%d)\n",pAd->CommonCfg.RegTransmitSetting.field.EXTCHA));	return TRUE;			}INT	Set_HtMpduDensity_Proc(	IN	PRTMP_ADAPTER	pAd, 	IN	PUCHAR			arg){	ULONG Value;		Value = simple_strtol(arg, 0, 10);		if (Value <=7 && Value >= 0)		pAd->CommonCfg.BACapability.field.MpduDensity = Value;	else		pAd->CommonCfg.BACapability.field.MpduDensity = 4;	SetCommonHT(pAd);	DBGPRINT(RT_DEBUG_TRACE, ("Set_HtMpduDensity_Proc::(HtMpduDensity=%d)\n",pAd->CommonCfg.BACapability.field.MpduDensity));	return TRUE;																																	}INT	Set_HtBaWinSize_Proc(	IN	PRTMP_ADAPTER	pAd, 	IN	PUCHAR			arg){	ULONG Value;		Value = simple_strtol(arg, 0, 10);	Value = 64;	if (Value >=1 && Value <= 64)	{		pAd->CommonCfg.REGBACapability.field.RxBAWinLimit = Value;		pAd->CommonCfg.BACapability.field.RxBAWinLimit = Value;	}	else	{        pAd->CommonCfg.REGBACapability.field.RxBAWinLimit = 64;		pAd->CommonCfg.BACapability.field.RxBAWinLimit = 64;	}		SetCommonHT(pAd);	DBGPRINT(RT_DEBUG_TRACE, ("Set_HtBaWinSize_Proc::(HtBaWinSize=%d)\n",pAd->CommonCfg.BACapability.field.RxBAWinLimit));	return TRUE;																																	}		INT	Set_HtRdg_Proc(	IN	PRTMP_ADAPTER	pAd, 	IN	PUCHAR			arg){	ULONG Value;		Value = simple_strtol(arg, 0, 10);		if (Value == 0)					pAd->CommonCfg.bRdg = FALSE;	else if ( Value ==1 )	{		pAd->HTCEnable = TRUE;        pAd->CommonCfg.bRdg = TRUE;	}	else 		return FALSE; //Invalid argument		SetCommonHT(pAd);				DBGPRINT(RT_DEBUG_TRACE, ("Set_HtRdg_Proc::(HtRdg=%d)\n",pAd->CommonCfg.bRdg));	return TRUE;																																	}		INT	Set_HtLinkAdapt_Proc(																																																																																																																																																																																																																																																																																																																				IN	PRTMP_ADAPTER	pAd, 	IN	PUCHAR			arg){	ULONG Value;		Value = simple_strtol(arg, 0, 10);	if (Value == 0)		pAd->bLinkAdapt = FALSE;	else if ( Value ==1 )	{			pAd->HTCEnable = TRUE;			pAd->bLinkAdapt = TRUE;	}	else		return FALSE; //Invalid argument		DBGPRINT(RT_DEBUG_TRACE, ("Set_HtLinkAdapt_Proc::(HtLinkAdapt=%d)\n",pAd->bLinkAdapt));	return TRUE;																																	}		INT	Set_HtAmsdu_Proc(																																																																																																																																																																																																																																																																																																																				IN	PRTMP_ADAPTER	pAd, 	IN	PUCHAR			arg){	ULONG Value;		Value = simple_strtol(arg, 0, 10);	if (Value == 0)		pAd->CommonCfg.BACapability.field.AmsduEnable = FALSE;	else if ( Value == 1 )        pAd->CommonCfg.BACapability.field.AmsduEnable = TRUE;	else		return FALSE; //Invalid argument		SetCommonHT(pAd);				DBGPRINT(RT_DEBUG_TRACE, ("Set_HtAmsdu_Proc::(HtAmsdu=%d)\n",pAd->CommonCfg.BACapability.field.AmsduEnable));	return TRUE;																																	}			INT	Set_HtAutoBa_Proc(	IN	PRTMP_ADAPTER	pAd, 	IN	PUCHAR			arg){	ULONG Value;		Value = simple_strtol(arg, 0, 10);	if (Value == 0)		pAd->CommonCfg.BACapability.field.AutoBA = FALSE;    else if (Value == 1)			pAd->CommonCfg.BACapability.field.AutoBA = TRUE;	else		return FALSE; //Invalid argument	    pAd->CommonCfg.REGBACapability.field.AutoBA = pAd->CommonCfg.BACapability.field.AutoBA;	SetCommonHT(pAd);				DBGPRINT(RT_DEBUG_TRACE, ("Set_HtAutoBa_Proc::(HtAutoBa=%d)\n",pAd->CommonCfg.BACapability.field.AutoBA));	return TRUE;						}																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																								INT	Set_HtProtect_Proc(	IN	PRTMP_ADAPTER	pAd, 	IN	PUCHAR			arg){	ULONG Value;	Value = simple_strtol(arg, 0, 10);	if (Value == 0)		pAd->CommonCfg.bHTProtect = FALSE;    else if (Value == 1)			pAd->CommonCfg.bHTProtect = TRUE;	else		return FALSE; //Invalid argument	DBGPRINT(RT_DEBUG_TRACE, ("Set_HtProtect_Proc::(HtProtect=%d)\n",pAd->CommonCfg.bHTProtect));	return TRUE;}INT	Set_SendPSMPAction_Proc(	IN	PRTMP_ADAPTER	pAd, 	IN	PUCHAR			arg){    UCHAR mac[6], mode;	char *token, sepValue[] = ":", DASH = '-';	INT i;    MAC_TABLE_ENTRY *pEntry;    //printk("\n%s\n", arg);/*	The BARecTearDown inupt string format should be xx:xx:xx:xx:xx:xx-d, 		=>The six 2 digit hex-decimal number previous are the Mac address, 		=>The seventh decimal number is the mode value.*/    if(strlen(arg) < 19)  //Mac address acceptable format 01:02:03:04:05:06 length 17 plus the "-" and mode value in decimal format.		return FALSE;   	token = strchr(arg, DASH);	if ((token != NULL) && (strlen(token)>1))	{		mode = simple_strtol((token+1), 0, 10);		if (mode > MMPS_ENABLE)			return FALSE;				*token = '\0';		for (i = 0, token = rstrtok(arg, &sepValue[0]); token; token = rstrtok(NULL, &sepValue[0]), i++)		{			if((strlen(token) != 2) || (!isxdigit(*token)) || (!isxdigit(*(token+1))))				return FALSE;			AtoH(token, (PUCHAR)(&mac[i]), 1);		}		if(i != 6)			return FALSE;		printk("\n%02x:%02x:%02x:%02x:%02x:%02x-%02x", mac[0], mac[1],		       mac[2], mac[3], mac[4], mac[5], mode);		pEntry = MacTableLookup(pAd, mac);		if (pEntry) {		    printk("\nSendPSMPAction MIPS mode = %d\n", mode);		    SendPSMPAction(pAd, pEntry->Aid, mode);		}		return TRUE;	}	return FALSE;}INT	Set_HtMIMOPSmode_Proc(	IN	PRTMP_ADAPTER	pAd, 	IN	PUCHAR			arg){	ULONG Value;		Value = simple_strtol(arg, 0, 10);		if (Value <=3 && Value >= 0)		pAd->CommonCfg.BACapability.field.MMPSmode = Value;	else		pAd->CommonCfg.BACapability.field.MMPSmode = 3;	SetCommonHT(pAd);	DBGPRINT(RT_DEBUG_TRACE, ("Set_HtMIMOPSmode_Proc::(MIMOPS mode=%d)\n",pAd->CommonCfg.BACapability.field.MMPSmode));	return TRUE;																																	}INT	Set_ForceShortGI_Proc(	IN	PRTMP_ADAPTER	pAd, 	IN	PUCHAR			arg){	ULONG Value;	Value = simple_strtol(arg, 0, 10);	if (Value == 0)		pAd->WIFItestbed.bShortGI = FALSE;    else if (Value == 1)				pAd->WIFItestbed.bShortGI = TRUE;	else		return FALSE; //Invalid argument	SetCommonHT(pAd);	DBGPRINT(RT_DEBUG_TRACE, ("Set_ForceShortGI_Proc::(ForceShortGI=%d)\n", pAd->WIFItestbed.bShortGI));	return TRUE;}INT	Set_ForceGF_Proc(	IN	PRTMP_ADAPTER	pAd, 	IN	PUCHAR			arg){	ULONG Value;	Value = simple_strtol(arg, 0, 10);	if (Value == 0)		pAd->WIFItestbed.bGreenField = FALSE;    else if (Value == 1)				pAd->WIFItestbed.bGreenField = TRUE;	else		return FALSE; //Invalid argument	SetCommonHT(pAd);	DBGPRINT(RT_DEBUG_TRACE, ("Set_ForceGF_Proc::(ForceGF=%d)\n", pAd->WIFItestbed.bGreenField));	return TRUE;}INT	Set_HtMimoPs_Proc(	IN	PRTMP_ADAPTER	pAd, 	IN	PUCHAR			arg){	ULONG Value;	Value = simple_strtol(arg, 0, 10);	if (Value == 0)		pAd->CommonCfg.bMIMOPSEnable = FALSE;    else if (Value == 1)			pAd->CommonCfg.bMIMOPSEnable = TRUE;	else		return FALSE; //Invalid argument	DBGPRINT(RT_DEBUG_TRACE, ("Set_HtMimoPs_Proc::(HtMimoPs=%d)\n",pAd->CommonCfg.bMIMOPSEnable));	return TRUE;}#endif // UCOS //INT	SetCommonHT(	IN	PRTMP_ADAPTER	pAd){    OID_SET_HT_PHYMODE		SetHT;			SetHT.PhyMode = pAd->CommonCfg.PhyMode;	SetHT.TransmitNo = ((UCHAR)pAd->Antenna.field.TxPath);	SetHT.HtMode = (UCHAR)pAd->CommonCfg.RegTransmitSetting.field.HTMODE;	SetHT.ExtOffset = (UCHAR)pAd->CommonCfg.RegTransmitSetting.field.EXTCHA;	SetHT.MCS = (UCHAR)pAd->CommonCfg.RegTransmitSetting.field.MCS;	SetHT.BW = (UCHAR)pAd->CommonCfg.RegTransmitSetting.field.BW;	SetHT.STBC = (UCHAR)pAd->CommonCfg.RegTransmitSetting.field.STBC;	SetHT.SHORTGI = (UCHAR)pAd->CommonCfg.RegTransmitSetting.field.ShortGI;			if ((pAd->CommonCfg.PhyMode >= PHY_11ABGN_MIXED))	{		// Check the MCS validity in 1S		if ((SetHT.TransmitNo == 1) && ((SetHT.MCS >= MCS_8) && (SetHT.MCS <= MCS_15)))		{			DBGPRINT(RT_DEBUG_TRACE, ("SetCommonHT: MCS(%d) is invalid in 1S, reset it as MCS_7\n", SetHT.MCS));			pAd->CommonCfg.RegTransmitSetting.field.MCS = MCS_7;			SetHT.MCS = (UCHAR)pAd->CommonCfg.RegTransmitSetting.field.MCS;		}		if ((SetHT.BW == BW_40) && (SetHT.MCS == MCS_32))		{			DBGPRINT(RT_DEBUG_TRACE, ("SetCommonHT: MCS_32 is only supported in 40-MHz, reset it as MCS_0\n"));			pAd->CommonCfg.RegTransmitSetting.field.MCS = MCS_0;			SetHT.MCS = (UCHAR)pAd->CommonCfg.RegTransmitSetting.field.MCS;		}		RTMPSetHT(pAd, &SetHT);	}		return TRUE;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -