亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rtmp_main.c

?? r73模塊的無線網卡在Linux下的驅動程序
?? C
?? 第 1 頁 / 共 5 頁
字號:
				    else if(Antenna == 1)					    pAd->Antenna.field.RxDefaultAntenna = 2;    // ant-B				    else					    pAd->Antenna.field.RxDefaultAntenna = 0;    // diversity			    pAd->PortCfg.BandState = UNKNOWN_BAND;			    AsicAntennaSelect(pAd, pAd->LatchRfRegs.Channel);			    DBGPRINT(RT_DEBUG_TRACE, "CMDHandler::OID_802_11_RX_ANTENNA_SELECTED (=%d)\n", Antenna);            }		    break;			case OID_802_11_TX_ANTENNA_SELECTED:		    {			    NDIS_802_11_ANTENNA	Antenna = *(NDIS_802_11_ANTENNA *)pData;			    if (Antenna == 0)				    pAd->Antenna.field.TxDefaultAntenna = 1;    // ant-A			    else if(Antenna == 1)				    pAd->Antenna.field.TxDefaultAntenna = 2;    // ant-B			    else				    pAd->Antenna.field.TxDefaultAntenna = 0;    // diversity			    pAd->PortCfg.BandState = UNKNOWN_BAND;			    AsicAntennaSelect(pAd, pAd->LatchRfRegs.Channel);			    DBGPRINT(RT_DEBUG_TRACE, "CMDHandler::OID_802_11_TX_ANTENNA_SELECTED (=%d)\n", Antenna);            }		    break;#if 0	        case RT_OID_802_11_QUERY_HARDWARE_REGISTER:		        NdisStatus = RTUSBQueryHardWareRegister(pAd, pData);		    break;		    case RT_OID_802_11_SET_HARDWARE_REGISTER:		        NdisStatus = RTUSBSetHardWareRegister(pAd, pData);			break;#endif			case RT_OID_MULTI_READ_MAC:	        {			    USHORT	Offset = *((PUSHORT)pData);			    USHORT	Length = *((PUSHORT)(pData + 2));		        RTUSBMultiRead(pAd, Offset, pData + 4, Length);		    }		    break;			case RT_OID_MULTI_WRITE_MAC:	        {		        USHORT	Offset = *((PUSHORT)pData);			    USHORT	Length = *((PUSHORT)(pData + 2));			    RTUSBMultiWrite(pAd, Offset, pData + 4, Length);		    }		    break;			case RT_OID_USB_VENDOR_EEPROM_READ:			{				USHORT	Offset = *((PUSHORT)pData);				USHORT	Length = *((PUSHORT)(pData + 2));				RTUSBReadEEPROM(pAd, Offset, pData + 4, Length);			}			break;			case RT_OID_USB_VENDOR_EEPROM_WRITE:			{				USHORT	Offset = *((PUSHORT)pData);#if 0				USHORT	Length = *((PUSHORT)(pData + 2));				RTUSBWriteEEPROM(pAd, Offset, pData + 4, Length);#else//F/W restricts the max EEPROM write size to 62 bytes.				USHORT	Residual = *((PUSHORT)(pData + 2));				pData += 4;				while (Residual > 62)				{				RTUSBWriteEEPROM(pAd, Offset, pData, 62);				Offset += 62;				Residual -= 62;				pData += 62;				}				RTUSBWriteEEPROM(pAd, Offset, pData, Residual);#endif			}			break;			case RT_OID_USB_VENDOR_ENTER_TESTMODE:			    RTUSB_VendorRequest(pAd,					0,					DEVICE_VENDOR_REQUEST_OUT,					0x1,					0x4,					0x1,					NULL,					0);					break;			case RT_OID_USB_VENDOR_EXIT_TESTMODE:				RTUSB_VendorRequest(pAd,					0,					DEVICE_VENDOR_REQUEST_OUT,					0x1,					0x4,					0x0,					NULL,					0);			break;			case RT_OID_USB_RESET_BULK_OUT:			{				INT 	Index;		        DBGPRINT(RT_DEBUG_INFO, "RT_OID_USB_RESET_BULK_OUT\n");				RTMP_SET_FLAG(pAd, fRTMP_ADAPTER_RESET_PIPE_IN_PROGRESS);				RTUSBRejectPendingPackets(pAd); //reject all NDIS packets waiting in TX queue				RTUSBCancelPendingBulkOutIRP(pAd);				RTUSBCleanUpDataBulkOutQueue(pAd);				NICInitializeAsic(pAd);				//ReleaseAdapter(pAd, FALSE, TRUE);   // unlink urb releated tx context				//NICInitTransmit(pAd);				RTMP_CLEAR_FLAG(pAd, fRTMP_ADAPTER_RESET_PIPE_IN_PROGRESS);				if (RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_BULKOUT_RESET))				{					RTMP_CLEAR_FLAG(pAd, fRTMP_ADAPTER_BULKOUT_RESET);				}				if (!RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RADIO_OFF))				{					for (Index = 0; Index < 4; Index++)					{						if(!skb_queue_empty(&pAd->SendTxWaitQueue[Index]))						{							RTMPDeQueuePacket(pAd, Index);						}					}					RTUSBKickBulkOut(pAd);				}			}    	    break;			case RT_OID_USB_RESET_BULK_IN:		    {			    int	i;				DBGPRINT(RT_DEBUG_INFO, "!!!!!RT_OID_USB_RESET_BULK_IN\n");				RTMP_SET_FLAG(pAd, fRTMP_ADAPTER_RESET_PIPE_IN_PROGRESS);				NICInitializeAsic(pAd);				//RTUSBWriteMACRegister(pAd, TXRX_CSR0, 0x025eb032); // ??				for (i = 0; i < RX_RING_SIZE; i++)				{					PRX_CONTEXT  pRxContext = &(pAd->RxContext[i]);					if (pRxContext->pUrb != NULL)					{						RTUSB_UNLINK_URB(pRxContext->pUrb);						usb_free_urb(pRxContext->pUrb);						pRxContext->pUrb = NULL;					}					if (pRxContext->TransferBuffer != NULL)					{						kfree(pRxContext->TransferBuffer);						pRxContext->TransferBuffer = NULL;					}				}				NICInitRecv(pAd);				RTMP_CLEAR_FLAG(pAd, fRTMP_ADAPTER_RESET_PIPE_IN_PROGRESS);				if (RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_BULKIN_RESET))				{					RTMP_CLEAR_FLAG(pAd, fRTMP_ADAPTER_BULKIN_RESET);				}				if (!RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RADIO_OFF))				{					RTUSBBulkReceive(pAd);					RTUSBWriteMACRegister(pAd, TXRX_CSR0, 0x0276b032);  // enable RX of MAC block				}		    }			break;			case RT_OID_802_11_STA_CONFIG:			{				RT_802_11_STA_CONFIG *pStaConfig = (RT_802_11_STA_CONFIG *)pData;				if (pStaConfig->EnableTxBurst != pAd->PortCfg.bEnableTxBurst)				{					pAd->PortCfg.bEnableTxBurst = (pStaConfig->EnableTxBurst == 1);					//Currently Tx burst mode is only implemented in infrastructure mode.					if (INFRA_ON(pAd))					{						if (pAd->PortCfg.bEnableTxBurst)						{							//Extend slot time if any encryption method is used to give ASIC more time to do encryption/decryption during Tx burst mode.							if (pAd->PortCfg.WepStatus != Ndis802_11EncryptionDisabled)							{							// Nemo  RT2573USBWriteMACRegister_old(pAd, MAC_CSR10, 0x20);							}							//Set CWmin/CWmax to 0.							// Nemo 2004    RT2573USBWriteMACRegister_old(pAd, MAC_CSR22, 0x100);						}						else						{							if (pAd->PortCfg.WepStatus != Ndis802_11EncryptionDisabled)								AsicSetSlotTime(pAd, (BOOLEAN)pAd->PortCfg.UseShortSlotTime);						// Nemo 2004    RT2573USBWriteMACRegister_old(pAd, MAC_CSR22, 0x53);						}					}				}				//pAd->PortCfg.EnableTurboRate = pStaConfig->EnableTurboRate;				pAd->PortCfg.UseBGProtection = pStaConfig->UseBGProtection;				//pAd->PortCfg.UseShortSlotTime = pStaConfig->UseShortSlotTime;				pAd->PortCfg.UseShortSlotTime = 1; // 2003-10-30 always SHORT SLOT capable				if (pAd->PortCfg.AdhocMode != pStaConfig->AdhocMode)				{					// allow dynamic change of "USE OFDM rate or not" in ADHOC mode					// if setting changed, need to reset current TX rate as well as BEACON frame format					pAd->PortCfg.AdhocMode = pStaConfig->AdhocMode;					if (pAd->PortCfg.BssType == BSS_ADHOC)					{						MlmeUpdateTxRates(pAd, FALSE);						MakeIbssBeacon(pAd);						AsicEnableIbssSync(pAd);					}				}				DBGPRINT(RT_DEBUG_TRACE, "CmdThread::RT_OID_802_11_SET_STA_CONFIG (Burst=%d,BGprot=%d,ShortSlot=%d,Adhoc=%d,Protection=%d\n",					pStaConfig->EnableTxBurst,					pStaConfig->UseBGProtection,					pStaConfig->UseShortSlotTime,					pStaConfig->AdhocMode,					pAd->PortCfg.UseBGProtection);			}		    break;			case RT_OID_SET_PSM_BIT_SAVE:				MlmeSetPsmBit(pAd, PWR_SAVE);				RTMPSendNullFrame(pAd, pAd->PortCfg.TxRate);		    break;		    case RT_OID_SET_RADIO:			    if (pAd->PortCfg.bRadio == TRUE)                {				    MlmeRadioOn(pAd);				    // Update extra information				    pAd->ExtraInfo = EXTRA_INFO_CLEAR;			    }			    else                {					disassocSTA(pAd);			        MlmeRadioOff(pAd);				    // Update extra information    			    pAd->ExtraInfo = SW_RADIO_OFF;    		    }		    break;			case RT_OID_RESET_FROM_ERROR:			case RT_OID_RESET_FROM_NDIS:			{				UINT	i = 0;				DBGPRINT(RT_DEBUG_TRACE, "- (%s)::RT_OID_RESET_FROM_ERROR\n",						__FUNCTION__);				RTUSBRejectPendingPackets(pAd);//reject all NDIS packets waiting in TX queue				RTUSBCleanUpDataBulkOutQueue(pAd);				MlmeSuspend(pAd, FALSE);				//Add code to access necessary registers here.				//disable Rx				RTUSBWriteMACRegister(pAd, TXRX_CSR2, 1);				//Ask our device to complete any pending bulk in IRP.				while ((atomic_read(&pAd->PendingRx) > 0) ||                       (pAd->BulkOutPending[0] == TRUE) ||					   (pAd->BulkOutPending[1] == TRUE) ||					   (pAd->BulkOutPending[2] == TRUE) ||					   (pAd->BulkOutPending[3] == TRUE))				{				    if (atomic_read(&pAd->PendingRx) > 0)					{						DBGPRINT(RT_DEBUG_TRACE,								"- (%s) BulkIn IRP Pending!!!\n", __FUNCTION__);						RTUSB_VendorRequest(pAd,											0,											DEVICE_VENDOR_REQUEST_OUT,											0x0C,											0x0,											0x0,											NULL,											0);					}					if ((pAd->BulkOutPending[0] == TRUE) ||						(pAd->BulkOutPending[1] == TRUE) ||						(pAd->BulkOutPending[2] == TRUE) ||						(pAd->BulkOutPending[3] == TRUE))					{						DBGPRINT(RT_DEBUG_TRACE,							"- (%s) BulkOut IRP Pending!!!\n", __FUNCTION__);						if (i == 0)						{							RTUSBCancelPendingBulkOutIRP(pAd);							i++;						}					}					RTMPusecDelay(500000);				}				NICResetFromError(pAd);				if (RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_HARDWARE_ERROR))				{					RTMP_CLEAR_FLAG(pAd, fRTMP_ADAPTER_HARDWARE_ERROR);				}				if (RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_BULKIN_RESET))				{					RTMP_CLEAR_FLAG(pAd, fRTMP_ADAPTER_BULKIN_RESET);				}				if (RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_BULKOUT_RESET))				{					RTMP_CLEAR_FLAG(pAd, fRTMP_ADAPTER_BULKOUT_RESET);				}				RTMP_CLEAR_FLAG(pAd, fRTMP_ADAPTER_RESET_IN_PROGRESS);				if ((!RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_RADIO_OFF)) &&					(!RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_HALT_IN_PROGRESS)) &&					(!RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_NIC_NOT_EXIST)))				{					MlmeResume(pAd);					RTUSBBulkReceive(pAd);					RTUSBWriteMACRegister(pAd, TXRX_CSR2, 0x7e);				}			}			break;			case RT_OID_LINK_DOWN:				DBGPRINT(RT_DEBUG_INFO, "LinkDown(RT_OID_LINK_DOWN)\n");				LinkDown(pAd, TRUE);			break;			case RT_OID_VENDOR_WRITE_BBP:			{				UCHAR	Offset, Value;				Offset = *((PUCHAR)pData);				Value = *((PUCHAR)(pData + 1));				DBGPRINT(RT_DEBUG_INFO, "offset = 0x%02x	value = 0x%02x\n", Offset, Value);				RTUSBWriteBBPRegister(pAd, Offset, Value);			}			break;			case RT_OID_VENDOR_READ_BBP:			{				UCHAR	Offset = *((PUCHAR)pData);				PUCHAR	pValue = (PUCHAR)(pData + 1);				DBGPRINT(RT_DEBUG_INFO, "offset = 0x%02x\n", Offset);				RTUSBReadBBPRegister(pAd, Offset, pValue);				DBGPRINT(RT_DEBUG_INFO, "value = 0x%02x\n", *pValue);			}			break;			case RT_OID_VENDOR_WRITE_RF:			{				ULONG	Value = *((PULONG)pData);				DBGPRINT(RT_DEBUG_INFO, "value = 0x%08x\n", Value);				RTUSBWriteRFRegister(pAd, Value);			}			break;			case RT_OID_802_11_RESET_COUNTERS:			{				UCHAR	Value[22];				RTUSBMultiRead(pAd, STA_CSR0, Value, 24);			}			break;			case RT_OID_USB_VENDOR_RESET:				RTUSB_VendorRequest(pAd,									0,									DEVICE_VENDOR_REQUEST_OUT,									1,									1,									0,									NULL,									0);			break;			case RT_OID_USB_VENDOR_UNPLUG:				RTUSB_VendorRequest(pAd,									0,									DEVICE_VENDOR_REQUEST_OUT,									1,									2,									0,									NULL,									0);			break;#if 0			case RT_OID_USB_VENDOR_SWITCH_FUNCTION:				RTUSBWriteMACRegister(pAd, MAC_CSR13, 0x2121);				RTUSBWriteMACRegister(pAd, MAC_CSR14, 0x1e1e);				RTUSBWriteMACRegister(pAd, MAC_CSR1, 3);				RTUSBWriteMACRegister(pAd, PHY_CSR4, 0xf);				RTUSB_VendorRequest(pAd,									0,									DEVICE_VENDOR_REQUEST_OUT,									1,									3,									0,									NULL,									0);			break;#endif			case RT_OID_VENDOR_FLIP_IQ:			{				ULONG	Value1, Value2;				RTUSBReadMACRegister(pAd, PHY_CSR5, &Value1);				RTUSBReadMACRegister(pAd, PHY_CSR6, &Value2);				if (*pData == 1)				{					DBGPRINT(RT_DEBUG_INFO, "I/Q Flip\n");					Value1 = Value1 | 0x0004;					Value2 = Value2 | 0x0004;				}				else				{					DBGPRINT(RT_DEBUG_INFO, "I/Q Not Flip\n");					Value1 = Value1 & 0xFFFB;					Value2 = Value2 & 0xFFFB;				}				RTUSBWriteMACRegister(pAd, PHY_CSR5, Value1);				RTUSBWriteMACRegister(pAd, PHY_CSR6, Value2);			}			break;			case RT_OID_UPDATE_TX_RATE:				MlmeUpdateTxRates(pAd, FALSE);				if (ADHOC_ON(pAd))					MakeIbssBeacon(pAd);			break;			case RT_OID_802_11_PREAMBLE:			{				ULONG	Preamble = *((PULONG)(cmdqelmt->buffer));				if (Preamble == Rt802_11PreambleShort)				{					pAd->PortCfg.TxPreamble = Preamble;					MlmeSetTxPreamble(pAd, Rt802_11PreambleShort);				}				else if ((Preamble == Rt802_11PreambleLong) || (Preamble == Rt802_11PreambleAuto))				{					// if user wants AUTO, initialize to LONG here, then change according to AP's					// capability upon association.					pAd->PortCfg.TxPreamble = Preamble;					MlmeSetTxPreamble(pAd, Rt802_11PreambleLong);				}				else					NdisStatus = NDIS_STATUS_FAILURE;				DBGPRINT(RT_DEBUG_ERROR, "CMDHandler::RT_OID_802_11_SET_PREAMBLE (=%d)\n", Preamble);			}			break;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
视频一区在线播放| 一区二区不卡在线视频 午夜欧美不卡在| 国产一区高清在线| 日韩精品乱码免费| 亚洲午夜电影网| 亚洲猫色日本管| 亚洲欧洲精品一区二区精品久久久| 欧美日韩日日夜夜| 色婷婷久久久久swag精品| 成人av电影在线观看| 国产综合色视频| 国产精品一区一区三区| 蜜臀av性久久久久蜜臀aⅴ| 偷拍与自拍一区| 爽爽淫人综合网网站| 亚洲第一福利一区| 午夜不卡av在线| 久久黄色级2电影| 国产 日韩 欧美大片| 国产一区二区导航在线播放| 精久久久久久久久久久| 韩国三级中文字幕hd久久精品| 久久精品国产精品亚洲综合| 91女神在线视频| 在线观看国产91| 欧美精品日韩精品| 日韩欧美一级片| 国产亚洲综合性久久久影院| 国产精品美女久久久久av爽李琼| 日本一区二区三区四区| 伊人色综合久久天天人手人婷| 亚洲精品第一国产综合野| 亚洲mv在线观看| 黄一区二区三区| 欧洲av一区二区嗯嗯嗯啊| 欧美一区二区人人喊爽| 久久综合网色—综合色88| 综合精品久久久| 青青草国产精品97视觉盛宴| 国产一区二区三区在线观看免费视频 | 日韩av一级电影| www.66久久| 日韩亚洲欧美综合| 专区另类欧美日韩| 精品无码三级在线观看视频| 99久久综合国产精品| 日韩精品一区二区三区在线观看 | 成人免费观看视频| 这里只有精品视频在线观看| 国产精品久久二区二区| 久久成人免费网| 欧美久久免费观看| 亚洲综合无码一区二区| 国产成人亚洲综合a∨猫咪 | 亚洲永久精品国产| 国产精品99久久久久久有的能看| 欧美日韩国产综合一区二区| 国产精品国产a| 高清不卡一二三区| 日本一区二区电影| 国产精品一区二区男女羞羞无遮挡 | 最近中文字幕一区二区三区| 激情成人综合网| 国产亚洲欧美日韩俺去了| 久久精品99国产精品日本| 欧美一区三区四区| 日韩不卡在线观看日韩不卡视频| 精品视频999| 日本成人中文字幕在线视频 | 欧美大尺度电影在线| 日韩 欧美一区二区三区| 欧美在线观看一二区| 亚洲va韩国va欧美va| 日韩精品专区在线| 国产美女在线观看一区| 国产午夜精品久久久久久免费视| 国产99久久久久久免费看农村| 日韩欧美国产综合| 精品一区二区影视| 国产精品无码永久免费888| 99久久99精品久久久久久| 一区二区三区不卡在线观看 | 99国产精品久久久久久久久久久| 日本一区二区三区高清不卡| 欧美在线视频全部完| 麻豆国产精品官网| 亚洲欧洲av一区二区三区久久| 欧美亚洲动漫制服丝袜| 美女精品一区二区| 亚洲欧美日韩人成在线播放| 一区二区欧美国产| 欧美日韩精品专区| 国产精品亚洲人在线观看| 亚洲精选视频在线| 2020国产精品自拍| 欧美日韩五月天| 成人一级片网址| 精品一区二区三区香蕉蜜桃| 中文字幕亚洲精品在线观看| 欧美欧美欧美欧美首页| 国产aⅴ综合色| 极品美女销魂一区二区三区免费| 亚洲色图都市小说| 国产欧美日韩精品a在线观看| 欧美婷婷六月丁香综合色| 成人小视频免费在线观看| 蜜臀国产一区二区三区在线播放| 亚洲情趣在线观看| 亚洲日本韩国一区| 国产欧美一区二区三区鸳鸯浴| 欧美精三区欧美精三区| 色婷婷av一区| 在线影视一区二区三区| 99re成人精品视频| 色综合久久88色综合天天6 | caoporn国产一区二区| 国产a级毛片一区| 国产成人午夜视频| 欧美一级久久久| 欧美大胆一级视频| 国产亚洲成av人在线观看导航| 欧美一级高清大全免费观看| 日韩免费电影网站| 精品久久一区二区三区| 久久九九久久九九| 国产精品国模大尺度视频| 国产精品国产三级国产普通话蜜臀 | 亚洲一区二区欧美| 亚洲国产cao| 轻轻草成人在线| 国产老肥熟一区二区三区| 国产成人aaaa| 欧美伊人精品成人久久综合97| 欧美一区二区三区免费在线看| 精品久久国产老人久久综合| 国产精品美女久久久久久久久久久| 国产精品天干天干在观线| 亚洲一区二区欧美激情| 老司机精品视频一区二区三区| 国产不卡在线视频| 欧美日本国产一区| 久久久蜜桃精品| 亚洲h动漫在线| www.欧美日韩国产在线| 欧美写真视频网站| 国产视频一区不卡| 免费三级欧美电影| 在线欧美日韩精品| 国产婷婷一区二区| 久久99蜜桃精品| 色婷婷久久久综合中文字幕| 久久中文字幕电影| 日韩国产欧美在线视频| 波多野结衣一区二区三区 | 久久亚洲私人国产精品va媚药| 亚洲乱码中文字幕| 欧美大度的电影原声| 日韩理论电影院| 福利一区福利二区| 国产视频一区二区三区在线观看| 日韩国产在线观看一区| 在线视频一区二区三区| 中文字幕成人av| 国产精品456露脸| 国产日产欧美一区| 国产成人在线免费| 国产欧美日韩在线| 国产精品亚洲一区二区三区在线 | 欧美狂野另类xxxxoooo| 亚洲黄色免费网站| 在线看国产一区二区| 亚洲视频一区二区在线| 欧美大片一区二区| 国产成人av资源| 日韩伦理免费电影| 在线亚洲精品福利网址导航| 一区二区三区欧美亚洲| 欧美色网站导航| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美一区二区二区| 国产aⅴ综合色| 夜夜嗨av一区二区三区四季av | 欧美色大人视频| 人人超碰91尤物精品国产| 久久久久久麻豆| 91美女在线看| 日韩综合一区二区| 久久久久久久久久久久久久久99 | 欧美mv日韩mv国产网站app| 国内精品久久久久影院色| 日本一区二区免费在线观看视频 | 91日韩精品一区| 日韩精品福利网| 日本一区二区三区高清不卡 | 久久99深爱久久99精品| 日韩伦理免费电影| 精品国产免费一区二区三区四区| 成人美女视频在线观看18| 奇米色777欧美一区二区| 国产精品无遮挡|