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

📄 rtmp_init.c

📁 TP Link 321 Linux Driver
💻 C
📖 第 1 页 / 共 5 页
字号:
/* *************************************************************************** * Ralink Tech Inc. * 4F, No. 2 Technology	5th	Rd. * Science-based Industrial	Park * Hsin-chu, Taiwan, R.O.C. * * (c) Copyright 2002-2006, Ralink Technology, Inc. * * All rights reserved.	Ralink's source	code is	an unpublished work	and	the * use of a	copyright notice does not imply	otherwise. This	source code * contains	confidential trade secret material of Ralink Tech. Any attemp * or participation	in deciphering,	decoding, reverse engineering or in	any * way altering	the	source code	is stricitly prohibited, unless	the	prior * written consent of Ralink Technology, Inc. is obtained. ***************************************************************************	Module Name:	rtmp_init.c	Abstract:	Miniport generic portion header file	Revision History:	Who 		When		  What	--------	----------	  ----------------------------------------------	Paul Lin	2002-08-01	  created	John Chang	2004-08-20	  RT2561/2661 use scatter-gather scheme*/#include	"rt_config.h"#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)#define RT_USB_ALLOC_URB(iso)	usb_alloc_urb(iso, GFP_ATOMIC);#else#define RT_USB_ALLOC_URB(iso)	usb_alloc_urb(iso);#endifUCHAR	 BIT8[] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80};ULONG	 BIT32[] = {0x00000001, 0x00000002, 0x00000004, 0x00000008,					0x00000010, 0x00000020, 0x00000040, 0x00000080,					0x00000100, 0x00000200, 0x00000400, 0x00000800,					0x00001000, 0x00002000, 0x00004000, 0x00008000,					0x00010000, 0x00020000, 0x00040000, 0x00080000,					0x00100000, 0x00200000, 0x00400000, 0x00800000,					0x01000000, 0x02000000, 0x04000000, 0x08000000,					0x10000000, 0x20000000, 0x40000000, 0x80000000};char*	CipherName[] = {"none","wep64","wep128","TKIP","AES","CKIP64","CKIP128"};const unsigned short ccitt_16Table[] = {	0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50A5, 0x60C6, 0x70E7,	0x8108, 0x9129, 0xA14A, 0xB16B, 0xC18C, 0xD1AD, 0xE1CE, 0xF1EF,	0x1231, 0x0210, 0x3273, 0x2252, 0x52B5, 0x4294, 0x72F7, 0x62D6,	0x9339, 0x8318, 0xB37B, 0xA35A, 0xD3BD, 0xC39C, 0xF3FF, 0xE3DE,	0x2462, 0x3443, 0x0420, 0x1401, 0x64E6, 0x74C7, 0x44A4, 0x5485,	0xA56A, 0xB54B, 0x8528, 0x9509, 0xE5EE, 0xF5CF, 0xC5AC, 0xD58D,	0x3653, 0x2672, 0x1611, 0x0630, 0x76D7, 0x66F6, 0x5695, 0x46B4,	0xB75B, 0xA77A, 0x9719, 0x8738, 0xF7DF, 0xE7FE, 0xD79D, 0xC7BC,	0x48C4, 0x58E5, 0x6886, 0x78A7, 0x0840, 0x1861, 0x2802, 0x3823,	0xC9CC, 0xD9ED, 0xE98E, 0xF9AF, 0x8948, 0x9969, 0xA90A, 0xB92B,	0x5AF5, 0x4AD4, 0x7AB7, 0x6A96, 0x1A71, 0x0A50, 0x3A33, 0x2A12,	0xDBFD, 0xCBDC, 0xFBBF, 0xEB9E, 0x9B79, 0x8B58, 0xBB3B, 0xAB1A,	0x6CA6, 0x7C87, 0x4CE4, 0x5CC5, 0x2C22, 0x3C03, 0x0C60, 0x1C41,	0xEDAE, 0xFD8F, 0xCDEC, 0xDDCD, 0xAD2A, 0xBD0B, 0x8D68, 0x9D49,	0x7E97, 0x6EB6, 0x5ED5, 0x4EF4, 0x3E13, 0x2E32, 0x1E51, 0x0E70,	0xFF9F, 0xEFBE, 0xDFDD, 0xCFFC, 0xBF1B, 0xAF3A, 0x9F59, 0x8F78,	0x9188, 0x81A9, 0xB1CA, 0xA1EB, 0xD10C, 0xC12D, 0xF14E, 0xE16F,	0x1080, 0x00A1, 0x30C2, 0x20E3, 0x5004, 0x4025, 0x7046, 0x6067,	0x83B9, 0x9398, 0xA3FB, 0xB3DA, 0xC33D, 0xD31C, 0xE37F, 0xF35E,	0x02B1, 0x1290, 0x22F3, 0x32D2, 0x4235, 0x5214, 0x6277, 0x7256,	0xB5EA, 0xA5CB, 0x95A8, 0x8589, 0xF56E, 0xE54F, 0xD52C, 0xC50D,	0x34E2, 0x24C3, 0x14A0, 0x0481, 0x7466, 0x6447, 0x5424, 0x4405,	0xA7DB, 0xB7FA, 0x8799, 0x97B8, 0xE75F, 0xF77E, 0xC71D, 0xD73C,	0x26D3, 0x36F2, 0x0691, 0x16B0, 0x6657, 0x7676, 0x4615, 0x5634,	0xD94C, 0xC96D, 0xF90E, 0xE92F, 0x99C8, 0x89E9, 0xB98A, 0xA9AB,	0x5844, 0x4865, 0x7806, 0x6827, 0x18C0, 0x08E1, 0x3882, 0x28A3,	0xCB7D, 0xDB5C, 0xEB3F, 0xFB1E, 0x8BF9, 0x9BD8, 0xABBB, 0xBB9A,	0x4A75, 0x5A54, 0x6A37, 0x7A16, 0x0AF1, 0x1AD0, 0x2AB3, 0x3A92,	0xFD2E, 0xED0F, 0xDD6C, 0xCD4D, 0xBDAA, 0xAD8B, 0x9DE8, 0x8DC9,	0x7C26, 0x6C07, 0x5C64, 0x4C45, 0x3CA2, 0x2C83, 0x1CE0, 0x0CC1,	0xEF1F, 0xFF3E, 0xCF5D, 0xDF7C, 0xAF9B, 0xBFBA, 0x8FD9, 0x9FF8,	0x6E17, 0x7E36, 0x4E55, 0x5E74, 0x2E93, 0x3EB2, 0x0ED1, 0x1EF0};#define ByteCRC16(v, crc) \	(unsigned short)((crc << 8) ^  ccitt_16Table[((crc >> 8) ^ (v)) & 255])//// BBP register initialization set//BBP_REG_PAIR   BBPRegTable[] = {	{3, 	0x80},	{15,	0x30},	{17,	0x20},	{21,	0xc8},	{22,	0x38},	{23,	0x06},	{24,	0xfe},	{25,	0x0a},	{26,	0x0d},	{32,	0x0b},	{34,	0x12},	{37,	0x07},	{39,	0xf8}, // 2005-09-02 by Gary, Atheros 11b issue 	{41,	0x60}, // 03-09 gary	{53,	0x10}, // 03-09 gary	{54,	0x18}, // 03-09 gary	{60,	0x10},	{61,	0x04},	{62,	0x04},	{75,	0xfe},	{86,	0xfe},	{88,	0xfe},	{90,	0x0f},	{99,	0x00},	{102,	0x16},	{107,	0x04},};#define	NUM_BBP_REG_PARMS	(sizeof(BBPRegTable) / sizeof(BBP_REG_PAIR))//// ASIC register initialization sets//RTMP_REG_PAIR	MACRegTable[] =	{	{TXRX_CSR0, 	0x025fb032}, // 0x3040, RX control, default Disable RX	{TXRX_CSR1, 	0x9eaa9eaf}, // 0x3044, BBP 30:Ant-A RSSI, R51:Ant-B RSSI, R42:OFDM rate, R47:CCK SIGNAL	{TXRX_CSR2, 	0x8a8b8c8d}, // 0x3048, CCK TXD BBP registers	{TXRX_CSR3, 	0x00858687}, // 0x304c, OFDM TXD BBP registers	{TXRX_CSR7, 	0x2E31353B}, // 0x305c, ACK/CTS payload consume time for 18/12/9/6 mbps    	{TXRX_CSR8, 	0x2a2a2a2c}, // 0x3060, ACK/CTS payload consume time for 54/48/36/24 mbps	{TXRX_CSR15,	0x0000000f}, // 0x307c, TKIP MIC priority byte "AND" mask	{MAC_CSR6,		0x00000fff}, // 0x3018, MAX frame length	{MAC_CSR8,		0x016c030a}, // 0x3020, SIFS/EIFS time, set SIFS delay time.		{MAC_CSR10, 	0x00000718}, // 0x3028, ASIC PIN control in various power states	{MAC_CSR12, 	0x00000004}, // 0x3030, power state control, set to AWAKE state	{MAC_CSR13, 	0x00007f00}, // 0x3034, GPIO pin#7 as bHwRadio (input:0), otherwise (output:1)	{SEC_CSR0,		0x00000000}, // 0x30a0, invalidate all shared key entries	{SEC_CSR1,		0x00000000}, // 0x30a4, reset all shared key algorithm to "none"	{SEC_CSR5,		0x00000000}, // 0x30b4, reset all shared key algorithm to "none"	{PHY_CSR1,		0x000023b0}, // 0x3084, BBP Register R/W mode set to "Parallel mode"		{PHY_CSR5,		0x00040a06}, //  0x060a100c	{PHY_CSR6,		0x00080606},	{PHY_CSR7,		0x00000408},	{AIFSN_CSR, 	0x00002273},	{CWMIN_CSR, 	0x00002344},	{CWMAX_CSR, 	0x000034aa},};#define	NUM_MAC_REG_PARMS	(sizeof(MACRegTable) / sizeof(RTMP_REG_PAIR))UCHAR FirmwareImage[] = {	//2005/07/22 Suport LED mode #0,#1,#2	//2005/07/28 add Version control V1.0	//2005/09/14 Update firmware code to prevent buffer not page out while aggregate.	//2005/10/04 Firmware support Windows Power Saving.	//2005/11/03 V1.3 not release, V1.4 improve Aggregation throughput	//			 V1.4 will cause USB1.0 RX Stuck.	//			 V1.5 remove RX checking(Special case, fixed on USB1.X Stuck issue)	//			 V1.6 High throughput & WMM support (base on V1.4) not release	//2005/11/24 V1.7 prevent USB1.0 Stuck issue. (base on V1.5)        //2007/11/01 V2.2 Fix 2 bytes single write command failed issue.    0x02, 0x13, 0x16, 0x12, 0x10, 0xd9, 0x02, 0x12, 0x58, 0x02, 0x13, 0x49, 0x02, 0x13, 0x4b, 0xc0,     0xd0, 0x75, 0xd0, 0x18, 0x12, 0x13, 0x4d, 0xd0, 0xd0, 0x22, 0x02, 0x14, 0x7c, 0x02, 0x15, 0x11,     0xed, 0x4c, 0x70, 0x44, 0x90, 0x01, 0xa8, 0x74, 0x80, 0xf0, 0xef, 0x30, 0xe5, 0x07, 0xe4, 0x90,     0x00, 0x0f, 0xf0, 0x80, 0x2c, 0xe5, 0x40, 0x24, 0xc0, 0x60, 0x13, 0x24, 0xc0, 0x60, 0x16, 0x24,     0xc0, 0x60, 0x19, 0x24, 0xc0, 0x70, 0x1a, 0xe4, 0x90, 0x00, 0x0b, 0xf0, 0x80, 0x13, 0xe4, 0x90,     0x00, 0x13, 0xf0, 0x80, 0x0c, 0xe4, 0x90, 0x00, 0x1b, 0xf0, 0x80, 0x05, 0xe4, 0x90, 0x00, 0x23,     0xf0, 0xe4, 0x90, 0x01, 0xa8, 0xf0, 0xd3, 0x22, 0x90, 0x02, 0x02, 0xed, 0xf0, 0x90, 0x02, 0x01,     0xef, 0xf0, 0xd3, 0x22, 0xef, 0x24, 0xc0, 0x60, 0x1f, 0x24, 0xc0, 0x60, 0x2e, 0x24, 0xc0, 0x60,     0x3d, 0x24, 0xc0, 0x70, 0x53, 0x90, 0x00, 0x0b, 0xe0, 0x30, 0xe1, 0x02, 0xc3, 0x22, 0x90, 0x00,     0x09, 0xe0, 0xfe, 0x90, 0x00, 0x08, 0x80, 0x37, 0x90, 0x00, 0x13, 0xe0, 0x30, 0xe1, 0x02, 0xc3,     0x22, 0x90, 0x00, 0x11, 0xe0, 0xfe, 0x90, 0x00, 0x10, 0x80, 0x24, 0x90, 0x00, 0x1b, 0xe0, 0x30,     0xe1, 0x02, 0xc3, 0x22, 0x90, 0x00, 0x19, 0xe0, 0xfe, 0x90, 0x00, 0x18, 0x80, 0x11, 0x90, 0x00,     0x23, 0xe0, 0x30, 0xe1, 0x02, 0xc3, 0x22, 0x90, 0x00, 0x21, 0xe0, 0xfe, 0x90, 0x00, 0x20, 0xe0,     0xfd, 0xee, 0xf5, 0x37, 0xed, 0xf5, 0x38, 0xd3, 0x22, 0x30, 0x09, 0x20, 0x20, 0x04, 0x0b, 0x90,     0x02, 0x08, 0xe0, 0x54, 0x0f, 0x70, 0x03, 0x02, 0x12, 0x57, 0xc2, 0x09, 0x90, 0x02, 0x00, 0xe0,     0x44, 0x04, 0xf0, 0x74, 0x04, 0x12, 0x0c, 0x3a, 0xc2, 0x04, 0xc2, 0x07, 0x90, 0x02, 0x01, 0xe0,     0x30, 0xe0, 0x03, 0x00, 0x80, 0xf6, 0x90, 0x03, 0x26, 0xe0, 0x20, 0xe2, 0x03, 0x02, 0x12, 0x57,     0x90, 0x02, 0x08, 0xe0, 0x70, 0x1b, 0x20, 0x07, 0x03, 0x02, 0x12, 0x57, 0x90, 0x03, 0x12, 0xe0,     0x64, 0x22, 0x60, 0x03, 0x02, 0x12, 0x57, 0xd2, 0x09, 0xc2, 0x07, 0x74, 0x02, 0x12, 0x0c, 0x3a,     0x22, 0x90, 0x02, 0x03, 0xe0, 0x30, 0xe4, 0x47, 0x20, 0x06, 0x44, 0xe5, 0x3c, 0x60, 0x34, 0xe5,     0x40, 0x24, 0xc0, 0x60, 0x14, 0x24, 0xc0, 0x60, 0x18, 0x24, 0xc0, 0x60, 0x1c, 0x24, 0xc0, 0x70,     0x22, 0x90, 0x00, 0x0b, 0xe0, 0x30, 0xe1, 0x1b, 0x22, 0x90, 0x00, 0x13, 0xe0, 0x30, 0xe1, 0x13,     0x22, 0x90, 0x00, 0x1b, 0xe0, 0x30, 0xe1, 0x0b, 0x22, 0x90, 0x00, 0x23, 0xe0, 0x30, 0xe1, 0x03,     0x02, 0x12, 0x57, 0x90, 0x02, 0x03, 0x74, 0x01, 0xf0, 0x00, 0xe0, 0x54, 0xc0, 0xf5, 0x40, 0xe5,     0x40, 0x24, 0xc0, 0x60, 0x20, 0x24, 0xc0, 0x60, 0x30, 0x24, 0xc0, 0x60, 0x40, 0x24, 0xc0, 0x70,     0x56, 0x90, 0x00, 0x0b, 0xe0, 0x30, 0xe1, 0x03, 0x02, 0x12, 0x57, 0x90, 0x00, 0x09, 0xe0, 0xfe,     0x90, 0x00, 0x08, 0x80, 0x3a, 0x90, 0x00, 0x13, 0xe0, 0x30, 0xe1, 0x03, 0x02, 0x12, 0x57, 0x90,     0x00, 0x11, 0xe0, 0xfe, 0x90, 0x00, 0x10, 0x80, 0x26, 0x90, 0x00, 0x1b, 0xe0, 0x30, 0xe1, 0x03,     0x02, 0x12, 0x57, 0x90, 0x00, 0x19, 0xe0, 0xfe, 0x90, 0x00, 0x18, 0x80, 0x12, 0x90, 0x00, 0x23,     0xe0, 0x30, 0xe1, 0x03, 0x02, 0x12, 0x57, 0x90, 0x00, 0x21, 0xe0, 0xfe, 0x90, 0x00, 0x20, 0xe0,     0xfd, 0xee, 0xf5, 0x37, 0xed, 0xf5, 0x38, 0x90, 0x03, 0x27, 0x74, 0x82, 0xf0, 0x90, 0x02, 0x01,     0xe5, 0x40, 0xf0, 0x90, 0x02, 0x06, 0xe0, 0xf5, 0x3c, 0xc3, 0xe5, 0x38, 0x95, 0x3a, 0xe5, 0x37,     0x95, 0x39, 0x50, 0x21, 0xe5, 0x40, 0x44, 0x05, 0xff, 0xe5, 0x37, 0xa2, 0xe7, 0x13, 0xfc, 0xe5,     0x38, 0x13, 0xfd, 0x12, 0x10, 0x20, 0xe5, 0x3c, 0x30, 0xe2, 0x04, 0xd2, 0x06, 0x80, 0x02, 0xc2,     0x06, 0x53, 0x3c, 0x01, 0x22, 0x30, 0x0b, 0x07, 0xe4, 0x90, 0x02, 0x02, 0xf0, 0x80, 0x06, 0x90,     0x02, 0x02, 0x74, 0x20, 0xf0, 0xe5, 0x40, 0x44, 0x01, 0x90, 0x02, 0x01, 0xf0, 0x90, 0x02, 0x01,     0xe0, 0x30, 0xe0, 0x03, 0x00, 0x80, 0xf6, 0x90, 0x03, 0x27, 0x74, 0x02, 0xf0, 0xaf, 0x40, 0x12,     0x10, 0x74, 0x40, 0xa5, 0x00, 0x80, 0xf6, 0x22, 0x90, 0x02, 0x01, 0xe0, 0x30, 0xe0, 0x03, 0x00,     0x80, 0xf6, 0x90, 0x03, 0x26, 0xe0, 0x20, 0xe1, 0x07, 0xe5, 0x3b, 0x70, 0x03, 0x02, 0x13, 0x15,     0xe5, 0x3b, 0x70, 0x14, 0x90, 0x03, 0x24, 0xe0, 0x75, 0xf0, 0x40, 0xa4, 0xf5, 0x36, 0x85, 0xf0,     0x35, 0x7b, 0x83, 0x75, 0x3b, 0x01, 0x80, 0x02, 0x7b, 0x03, 0xd3, 0xe5, 0x36, 0x95, 0x3a, 0xe5,     0x35, 0x95, 0x39, 0x40, 0x34, 0x90, 0x02, 0x01, 0xe0, 0x30, 0xe0, 0x03, 0x00, 0x80, 0xf6, 0x90,     0x03, 0x27, 0xeb, 0xf0, 0x90, 0x00, 0x0f, 0xe0, 0x30, 0xe1, 0x04, 0x30, 0x0e, 0xf6, 0x22, 0x30,     0x0b, 0x07, 0xe4, 0x90, 0x02, 0x02, 0xf0, 0x80, 0x06, 0x90, 0x02, 0x02, 0x74, 0x20, 0xf0, 0x90,     0x02, 0x01, 0x74, 0x21, 0xf0, 0x7b, 0x03, 0x80, 0x3c, 0xe5, 0x35, 0xa2, 0xe7, 0x13, 0xfe, 0xe5,     0x36, 0x13, 0xfd, 0xac, 0x06, 0x90, 0x02, 0x01, 0xe0, 0x30, 0xe0, 0x03, 0x00, 0x80, 0xf6, 0x90,     0x03, 0x27, 0xeb, 0xf0, 0x90, 0x00, 0x0f, 0xe0, 0x30, 0xe1, 0x04, 0x30, 0x0e, 0xf6, 0x22, 0x7f,     0x25, 0x12, 0x10, 0x20, 0xe5, 0x36, 0xb5, 0x3a, 0x08, 0xe5, 0x35, 0xb5, 0x39, 0x03, 0x00, 0x80,     0x04, 0xe4, 0xf5, 0x3b, 0x22, 0xc3, 0xe5, 0x36, 0x95, 0x3a, 0xf5, 0x36, 0xe5, 0x35, 0x95, 0x39,     0xf5, 0x35, 0x02, 0x12, 0x8a, 0x22, 0x75, 0xa8, 0x0f, 0x90, 0x03, 0x06, 0x74, 0x01, 0xf0, 0x90,     0x03, 0x07, 0xf0, 0x90, 0x03, 0x08, 0x04, 0xf0, 0x90, 0x03, 0x09, 0x74, 0x6c, 0xf0, 0x90, 0x03,     0x0a, 0x74, 0xff, 0xf0, 0x90, 0x03, 0x02, 0x74, 0x1f, 0xf0, 0x90, 0x03, 0x00, 0x74, 0x04, 0xf0,     0x90, 0x03, 0x25, 0x74, 0x31, 0xf0, 0xd2, 0xaf, 0x22, 0x00, 0x22, 0x00, 0x22, 0x90, 0x03, 0x05,     0xe0, 0x30, 0xe0, 0x0b, 0xe0, 0x44, 0x01, 0xf0, 0x30, 0x09, 0x02, 0xd2, 0x04, 0xc2, 0x07, 0x22,     0x8f, 0x24, 0xa9, 0x05, 0x90, 0x7f, 0xfc, 0xe0, 0x75, 0x25, 0x00, 0xf5, 0x26, 0xa3, 0xe0, 0x75,     0x27, 0x00, 0xf5, 0x28, 0xa3, 0xe0, 0xff, 0xa3, 0xe0, 0xfd, 0xe5, 0x24, 0x30, 0xe5, 0x19, 0x54,     0xc0, 0x60, 0x05, 0x43, 0x05, 0x03, 0x80, 0x08, 0xe4, 0x90, 0x7f, 0xf0, 0xf0, 0x53, 0x05, 0xfc,     0xef, 0x54, 0x3f, 0x44, 0x40, 0xff, 0x80, 0x17, 0xe4, 0x90, 0x7f, 0xf0, 0xf0, 0xe9, 0x30, 0xe6,     0x08, 0x43, 0x07, 0xc0, 0x43, 0x05, 0x0f, 0x80, 0x06, 0x53, 0x07, 0x3f, 0x53, 0x05, 0xf0, 0xe9,     0x30, 0xe6, 0x05, 0x43, 0x05, 0x10, 0x80, 0x03, 0x53, 0x05, 0xef, 0x90, 0x7f, 0xfc, 0xe5, 0x26,     0xf0, 0xa3, 0xe5, 0x28, 0xf0, 0xa3, 0xef, 0xf0, 0xa3, 0xed, 0xf0, 0x22, 0x8d, 0x24, 0xa9, 0x07,     0x90, 0x7f, 0xfc, 0xe0, 0x75, 0x25, 0x00, 0xf5, 0x26, 0xa3, 0xe0, 0x75, 0x27, 0x00, 0xf5, 0x28,     0xa3, 0xe0, 0xff, 0xa3, 0xe0, 0xfd, 0xe9, 0x30, 0xe5, 0x05, 0x43, 0x05, 0x0f, 0x80, 0x03, 0x53,     0x05, 0xf0, 0xe9, 0x30, 0xe6, 0x08, 0xef, 0x54, 0x3f, 0x44, 0x40, 0xff, 0x80, 0x03, 0x53, 0x07,     0x3f, 0xe5, 0x24, 0x30, 0xe6, 0x05, 0x43, 0x05, 0x10, 0x80, 0x03, 0x53, 0x05, 0xef, 0x90, 0x7f,     0xfc, 0xe5, 0x26, 0xf0, 0xa3, 0xe5, 0x28, 0xf0, 0xa3, 0xef, 0xf0, 0xa3, 0xed, 0xf0, 0x22, 0xa9,     0x05, 0x90, 0x7f, 0xfc, 0xa3, 0xe0, 0xfd, 0xe9, 0x30, 0xe6, 0x17, 0xef, 0x54, 0xc0, 0x60, 0x0a,     0x7e, 0x46, 0x7d, 0x46, 0x7c, 0x45, 0x7b, 0x01, 0x80, 0x1d, 0x7e, 0xfa, 0x7c, 0x85, 0x7b, 0x12,     0x80, 0x15, 0xef, 0x54, 0xc0, 0x60, 0x0a, 0x7e, 0x46, 0x7d, 0x46, 0x7c, 0x45, 0x7b, 0x11, 0x80,     0x06, 0x7e, 0xfa, 0x7c, 0x85, 0x7b, 0x02, 0xef, 0x20, 0xe5, 0x12, 0xe9, 0x30, 0xe6, 0x08, 0x43,     0x04, 0xc0, 0x43, 0x03, 0x0f, 0x80, 0x06, 0x53, 0x04, 0x3f, 0x53, 0x03, 0xf0, 0x90, 0x7f, 0xfc,     0xee, 0xf0, 0xa3, 0xed, 0xf0, 0xa3, 0xec, 0xf0, 0xa3, 0xeb, 0xf0, 0x22, 0xe5, 0x4b, 0xfd, 0x54,     0x1f, 0x90, 0x7f, 0xf8, 0xf0, 0xe5, 0x4a, 0xf5, 0x09, 0x90, 0x30, 0x38, 0xe0, 0x90, 0x7f, 0xfc,     0xf0, 0x90, 0x30, 0x39, 0xe0, 0x90, 0x7f, 0xfd, 0xf0, 0x90, 0x30, 0x3a, 0xe0, 0x90, 0x7f, 0xfe,     0xf0, 0x90, 0x30, 0x3b, 0xe0, 0x90, 0x7f, 0xff, 0xf0, 0xed, 0x30, 0xe5, 0x0c, 0x54, 0xc0, 0x60,     0x0d, 0x90, 0x7f, 0xf0, 0xe5, 0x47, 0xf0, 0x80, 0x05, 0xe4, 0x90, 0x7f, 0xf0, 0xf0, 0x90, 0x7f,     0xf8, 0xe0, 0x14, 0x60, 0x08, 0x24, 0xfe, 0x60, 0x0d, 0x24, 0x03, 0x80, 0x12, 0xaf, 0x05, 0xad,     0x09, 0x12, 0x13, 0xcc, 0x80, 0x10, 0xaf, 0x05, 0xad, 0x09, 0x12, 0x14, 0x1f, 0x80, 0x07, 0xaf,     0x05, 0xad, 0x09, 0x12, 0x13, 0x60, 0x90, 0x7f, 0xfc, 0xe0, 0x90, 0x30, 0x38, 0xf0, 0x90, 0x7f,     0xfd, 0xe0, 0x90, 0x30, 0x39, 0xf0, 0x90, 0x7f, 0xfe, 0xe0, 0x90, 0x30, 0x3a, 0xf0, 0x90, 0x7f,     0xff, 0xe0, 0x90, 0x30, 0x3b, 0xf0, 0x90, 0x7f, 0xf8, 0xe0, 0xb4, 0x02, 0x03, 0x12, 0x16, 0x09,     0x22, 0xe5, 0x4b, 0x64, 0x01, 0x60, 0x03, 0x02, 0x15, 0x9b, 0xf5, 0x4b, 0xe5, 0x44, 0x45, 0x43,     0x70, 0x03, 0x02, 0x15, 0xca, 0x12, 0x0c, 0x14, 0x12, 0x0b, 0x86, 0x50, 0xfb, 0x90, 0x00, 0x00,     0xe0, 0xf5, 0x25, 0x12, 0x15, 0xde, 0xc2, 0x92, 0xe4, 0xf5, 0x24, 0xe5, 0x24, 0xc3, 0x95, 0x25,     0x50, 0x49, 0x7e, 0x00, 0x7f, 0x4c, 0x74, 0x40, 0x25, 0x24, 0xf5, 0x82, 0xe4, 0x34, 0x01, 0xad,     0x82, 0xfc, 0x75, 0x2b, 0x02, 0x7b, 0x10, 0x12, 0x07, 0x1e, 0xc2, 0x93, 0x12, 0x15, 0xcb, 0x7d,     0xa0, 0x12, 0x15, 0xfa, 0xe5, 0x24, 0x54, 0x0f, 0x24, 0x4c, 0xf8, 0xe6, 0xfd, 0xaf, 0x4b, 0xae,     0x4a, 0x12, 0x16, 0x02, 0x05, 0x4b, 0xe5, 0x4b, 0x70, 0x02, 0x05, 0x4a, 0x12, 0x0a, 0x5f, 0x05,     0x24, 0xe5, 0x24, 0x54, 0x0f, 0x70, 0xd5, 0xd2, 0x93, 0x80, 0xb0, 0xc3, 0xe5, 0x44, 0x95, 0x25,     0xf5, 0x44, 0xe5, 0x43, 0x94, 0x00, 0xf5, 0x43, 0x02, 0x15, 0x1c, 0x12, 0x15, 0xde, 0xc2, 0x93,     0xc2, 0x92, 0x12, 0x15, 0xcb, 0x7d, 0x80, 0x12, 0x15, 0xfa, 0x7d, 0xaa, 0x74, 0x55, 0xff, 0xfe,     0x12, 0x16, 0x02, 0x7d, 0x55, 0x7f, 0xaa, 0x7e, 0x2a, 0x12, 0x16, 0x02, 0x7d, 0x30, 0xaf, 0x4b,     0xae, 0x4a, 0x12, 0x16, 0x02, 0x12, 0x0a, 0x5f, 0xd2, 0x93, 0x22, 0x7d, 0xaa, 0x74, 0x55, 0xff,     0xfe, 0x12, 0x16, 0x02, 0x7d, 0x55, 0x7f, 0xaa, 0x7e, 0x2a, 0x12, 0x16, 0x02, 0x22, 0xad, 0x47,     0x7f, 0x34, 0x7e, 0x30, 0x12, 0x16, 0x02, 0x7d, 0xff, 0x7f, 0x35, 0x7e, 0x30, 0x12, 0x16, 0x02,     0xe4, 0xfd, 0x7f, 0x37, 0x7e, 0x30, 0x12, 0x16, 0x02, 0x22, 0x74, 0x55, 0xff, 0xfe, 0x12, 0x16,     0x02, 0x22, 0x8f, 0x82, 0x8e, 0x83, 0xed, 0xf0, 0x22, 0xe4, 0xfc, 0x90, 0x7f, 0xf0, 0xe0, 0xaf,     0x09, 0x14, 0x60, 0x14, 0x14, 0x60, 0x15, 0x14, 0x60, 0x16, 0x14, 0x60, 0x17, 0x14, 0x60, 0x18,     0x24, 0x05, 0x70, 0x16, 0xe4, 0xfc, 0x80, 0x12, 0x7c, 0x01, 0x80, 0x0e, 0x7c, 0x03, 0x80, 0x0a,     0x7c, 0x07, 0x80, 0x06, 0x7c, 0x0f, 0x80, 0x02, 0x7c, 0x1f, 0xec, 0x6f, 0xf4, 0x54, 0x1f, 0xfc,     0x90, 0x30, 0x34, 0xe0, 0x54, 0xe0, 0x4c, 0xfd, 0xa3, 0xe0, 0xfc, 0x43, 0x04, 0x1f, 0x7f, 0x34,     0x7e, 0x30, 0x12, 0x16, 0x02, 0xad, 0x04, 0x0f, 0x12, 0x16, 0x02, 0xe4, 0xfd, 0x7f, 0x37, 0x02,     0x16, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };#define	FIRMAREIMAGE_LENGTH		(sizeof (FirmwareImage) / sizeof(UCHAR))#define FIRMWARE_MAJOR_VERSION	2#define FIRMWARE_MINOR_VERSION	2VOID CreateThreads( struct net_device *net_dev ){	PRTMP_ADAPTER pAd = (PRTMP_ADAPTER) net_dev->priv;	// Creat MLME Thread	pAd->MLMEThr_pid= -1;	pAd->MLMEThr_pid = kernel_thread(MlmeThread, pAd, CLONE_VM);	if (pAd->MLMEThr_pid < 0) {		printk (KERN_WARNING "%s: unable to start mlme thread\n",pAd->net_dev->name);	}	/* Wait for the thread to start */	wait_for_completion(&(pAd->MlmeThreadNotify));	// Creat Command Thread	pAd->RTUSBCmdThr_pid= -1;	pAd->RTUSBCmdThr_pid = kernel_thread(RTUSBCmdThread, pAd, CLONE_VM);	if (pAd->RTUSBCmdThr_pid < 0) {		printk (KERN_WARNING "%s: unable to start RTUSBCmd thread\n",pAd->net_dev->name);	}	/* Wait for the thread to start */	wait_for_completion(&(pAd->CmdThreadNotify));}NDIS_STATUS NICInitTransmit(	IN	PRTMP_ADAPTER	 pAd ){	UCHAR			i, acidx;	NDIS_STATUS 	Status = NDIS_STATUS_SUCCESS;	PTX_CONTEXT		pPsPollContext = &(pAd->PsPollContext);	PTX_CONTEXT		pNullContext   = &(pAd->NullContext);	PTX_CONTEXT		pRTSContext    = &(pAd->RTSContext);	DBGPRINT(RT_DEBUG_TRACE,"--> NICInitTransmit\n");		// Init 4 set of Tx parameters	for (i = 0; i < 4; i++)	{		// Initialize all Transmit releated queues		InitializeQueueHeader(&pAd->SendTxWaitQueue[i]);				pAd->NextTxIndex[i]			= 0;		// Next Free local Tx ring pointer	

⌨️ 快捷键说明

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