Staging: rt28x0: fix comments in *.h files

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Bartlomiej Zolnierkiewicz 2009-12-11 12:23:15 -08:00 committed by Greg Kroah-Hartman
parent 8281958ba7
commit cc27706961
30 changed files with 2637 additions and 2638 deletions

View file

@ -40,7 +40,7 @@
#ifndef __AP_H__
#define __AP_H__
// ap_wpa.c
/* ap_wpa.c */
VOID WpaStateMachineInit(IN PRTMP_ADAPTER pAd,
IN STATE_MACHINE * Sm, OUT STATE_MACHINE_FUNC Trans[]);
@ -48,7 +48,7 @@ VOID WpaStateMachineInit(IN PRTMP_ADAPTER pAd,
VOID BeaconUpdateExec(IN PVOID SystemSpecific1,
IN PVOID FunctionContext,
IN PVOID SystemSpecific2, IN PVOID SystemSpecific3);
#endif // RTMP_MAC_USB //
#endif /* RTMP_MAC_USB // */
VOID RTMPSetPiggyBack(IN PRTMP_ADAPTER pAd, IN BOOLEAN bPiggyBack);
@ -63,4 +63,4 @@ BOOLEAN MacTableDeleteEntry(IN PRTMP_ADAPTER pAd,
MAC_TABLE_ENTRY *MacTableLookup(IN PRTMP_ADAPTER pAd, IN PUCHAR pAddr);
#endif // __AP_H__
#endif /* __AP_H__ */

View file

@ -178,7 +178,6 @@ typedef union _TX_ATTENUATION_CTRL_STRUC {
#define NEED_QUEUE_BACK_FOR_AGG(pAd, QueIdx, freeNum, _TxFrameType) \
(((freeNum != (TX_RING_SIZE-1)) && (pAd->TxSwQueue[QueIdx].Number == 0)) || (freeNum<3))
//(((freeNum) != (TX_RING_SIZE-1)) && (pAd->TxSwQueue[QueIdx].Number == 1 /*0*/))
#define HAL_KickOutMgmtTx(_pAd, _QueIdx, _pPacket, _pSrcBufVA, _SrcBufLen) \
RtmpPCIMgmtKickOut(_pAd, _QueIdx, _pPacket, _pSrcBufVA, _SrcBufLen)

View file

@ -46,18 +46,18 @@
#define USB_CYC_CFG 0x02a4
#define BEACON_RING_SIZE 2
#define MGMTPIPEIDX 0 // EP6 is highest priority
#define MGMTPIPEIDX 0 /* EP6 is highest priority */
#define RTMP_PKT_TAIL_PADDING 11 // 3(max 4 byte padding) + 4 (last packet padding) + 4 (MaxBulkOutsize align padding)
#define RTMP_PKT_TAIL_PADDING 11 /* 3(max 4 byte padding) + 4 (last packet padding) + 4 (MaxBulkOutsize align padding) */
#define fRTMP_ADAPTER_NEED_STOP_TX \
(fRTMP_ADAPTER_NIC_NOT_EXIST | fRTMP_ADAPTER_HALT_IN_PROGRESS | \
fRTMP_ADAPTER_RESET_IN_PROGRESS | fRTMP_ADAPTER_BULKOUT_RESET | \
fRTMP_ADAPTER_RADIO_OFF | fRTMP_ADAPTER_REMOVE_IN_PROGRESS)
//
// RXINFO appends at the end of each rx packet.
//
/* */
/* RXINFO appends at the end of each rx packet. */
/* */
#define RXINFO_SIZE 4
#define RT2870_RXDMALEN_FIELD_SIZE 4
@ -66,17 +66,17 @@ typedef struct PACKED _RXINFO_STRUC {
UINT32 DATA:1;
UINT32 NULLDATA:1;
UINT32 FRAG:1;
UINT32 U2M:1; // 1: this RX frame is unicast to me
UINT32 Mcast:1; // 1: this is a multicast frame
UINT32 Bcast:1; // 1: this is a broadcast frame
UINT32 MyBss:1; // 1: this frame belongs to the same BSSID
UINT32 Crc:1; // 1: CRC error
UINT32 CipherErr:2; // 0: decryption okay, 1:ICV error, 2:MIC error, 3:KEY not valid
UINT32 AMSDU:1; // rx with 802.3 header, not 802.11 header.
UINT32 U2M:1; /* 1: this RX frame is unicast to me */
UINT32 Mcast:1; /* 1: this is a multicast frame */
UINT32 Bcast:1; /* 1: this is a broadcast frame */
UINT32 MyBss:1; /* 1: this frame belongs to the same BSSID */
UINT32 Crc:1; /* 1: CRC error */
UINT32 CipherErr:2; /* 0: decryption okay, 1:ICV error, 2:MIC error, 3:KEY not valid */
UINT32 AMSDU:1; /* rx with 802.3 header, not 802.11 header. */
UINT32 HTC:1;
UINT32 RSSI:1;
UINT32 L2PAD:1;
UINT32 AMPDU:1; // To be moved
UINT32 AMPDU:1; /* To be moved */
UINT32 Decrypted:1;
UINT32 PlcpRssil:1;
UINT32 CipherAlg:1;
@ -84,35 +84,35 @@ typedef struct PACKED _RXINFO_STRUC {
UINT32 PlcpSignal:12;
} RXINFO_STRUC, *PRXINFO_STRUC, RT28XX_RXD_STRUC, *PRT28XX_RXD_STRUC;
//
// TXINFO
//
/* */
/* TXINFO */
/* */
#define TXINFO_SIZE 4
typedef struct _TXINFO_STRUC {
// Word 0
UINT32 USBDMATxPktLen:16; //used ONLY in USB bulk Aggregation, Total byte counts of all sub-frame.
/* Word 0 */
UINT32 USBDMATxPktLen:16; /*used ONLY in USB bulk Aggregation, Total byte counts of all sub-frame. */
UINT32 rsv:8;
UINT32 WIV:1; // Wireless Info Valid. 1 if Driver already fill WI, o if DMA needs to copy WI to correctposition
UINT32 QSEL:2; // select on-chip FIFO ID for 2nd-stage output scheduler.0:MGMT, 1:HCCA 2:EDCA
UINT32 SwUseLastRound:1; // Software use.
UINT32 rsv2:2; // Software use.
UINT32 USBDMANextVLD:1; //used ONLY in USB bulk Aggregation, NextValid
UINT32 USBDMATxburst:1; //used ONLY in USB bulk Aggre. Force USB DMA transmit frame from current selected endpoint
UINT32 WIV:1; /* Wireless Info Valid. 1 if Driver already fill WI, o if DMA needs to copy WI to correctposition */
UINT32 QSEL:2; /* select on-chip FIFO ID for 2nd-stage output scheduler.0:MGMT, 1:HCCA 2:EDCA */
UINT32 SwUseLastRound:1; /* Software use. */
UINT32 rsv2:2; /* Software use. */
UINT32 USBDMANextVLD:1; /*used ONLY in USB bulk Aggregation, NextValid */
UINT32 USBDMATxburst:1; /*used ONLY in USB bulk Aggre. Force USB DMA transmit frame from current selected endpoint */
} TXINFO_STRUC, *PTXINFO_STRUC;
//
// Management ring buffer format
//
/* */
/* Management ring buffer format */
/* */
typedef struct _MGMT_STRUC {
BOOLEAN Valid;
PUCHAR pBuffer;
ULONG Length;
} MGMT_STRUC, *PMGMT_STRUC;
////////////////////////////////////////////////////////////////////////////
// The TX_BUFFER structure forms the transmitted USB packet to the device
////////////////////////////////////////////////////////////////////////////
/*////////////////////////////////////////////////////////////////////////// */
/* The TX_BUFFER structure forms the transmitted USB packet to the device */
/*////////////////////////////////////////////////////////////////////////// */
typedef struct __TX_BUFFER {
union {
UCHAR WirelessPacket[TX_BUFFER_NORMSIZE];
@ -120,7 +120,7 @@ typedef struct __TX_BUFFER {
PSPOLL_FRAME PsPollPacket;
RTS_FRAME RTSFrame;
} field;
UCHAR Aggregation[4]; //Buffer for save Aggregation size.
UCHAR Aggregation[4]; /*Buffer for save Aggregation size. */
} TX_BUFFER, *PTX_BUFFER;
typedef struct __HTTX_BUFFER {
@ -130,22 +130,22 @@ typedef struct __HTTX_BUFFER {
PSPOLL_FRAME PsPollPacket;
RTS_FRAME RTSFrame;
} field;
UCHAR Aggregation[4]; //Buffer for save Aggregation size.
UCHAR Aggregation[4]; /*Buffer for save Aggregation size. */
} HTTX_BUFFER, *PHTTX_BUFFER;
// used to track driver-generated write irps
/* used to track driver-generated write irps */
typedef struct _TX_CONTEXT {
PVOID pAd; //Initialized in MiniportInitialize
PURB pUrb; //Initialized in MiniportInitialize
PIRP pIrp; //used to cancel pending bulk out.
//Initialized in MiniportInitialize
PTX_BUFFER TransferBuffer; //Initialized in MiniportInitialize
PVOID pAd; /*Initialized in MiniportInitialize */
PURB pUrb; /*Initialized in MiniportInitialize */
PIRP pIrp; /*used to cancel pending bulk out. */
/*Initialized in MiniportInitialize */
PTX_BUFFER TransferBuffer; /*Initialized in MiniportInitialize */
ULONG BulkOutSize;
UCHAR BulkOutPipeId;
UCHAR SelfIdx;
BOOLEAN InUse;
BOOLEAN bWaitingBulkOut; // at least one packet is in this TxContext, ready for making IRP anytime.
BOOLEAN bFullForBulkOut; // all tx buffer are full , so waiting for tx bulkout.
BOOLEAN bWaitingBulkOut; /* at least one packet is in this TxContext, ready for making IRP anytime. */
BOOLEAN bFullForBulkOut; /* all tx buffer are full , so waiting for tx bulkout. */
BOOLEAN IRPPending;
BOOLEAN LastOne;
BOOLEAN bAggregatible;
@ -153,18 +153,18 @@ typedef struct _TX_CONTEXT {
UCHAR Rsv[2];
ULONG DataOffset;
UINT TxRate;
dma_addr_t data_dma; // urb dma on linux
dma_addr_t data_dma; /* urb dma on linux */
} TX_CONTEXT, *PTX_CONTEXT, **PPTX_CONTEXT;
// used to track driver-generated write irps
/* used to track driver-generated write irps */
typedef struct _HT_TX_CONTEXT {
PVOID pAd; //Initialized in MiniportInitialize
PURB pUrb; //Initialized in MiniportInitialize
PIRP pIrp; //used to cancel pending bulk out.
//Initialized in MiniportInitialize
PHTTX_BUFFER TransferBuffer; //Initialized in MiniportInitialize
ULONG BulkOutSize; // Indicate the total bulk-out size in bytes in one bulk-transmission
PVOID pAd; /*Initialized in MiniportInitialize */
PURB pUrb; /*Initialized in MiniportInitialize */
PIRP pIrp; /*used to cancel pending bulk out. */
/*Initialized in MiniportInitialize */
PHTTX_BUFFER TransferBuffer; /*Initialized in MiniportInitialize */
ULONG BulkOutSize; /* Indicate the total bulk-out size in bytes in one bulk-transmission */
UCHAR BulkOutPipeId;
BOOLEAN IRPPending;
BOOLEAN LastOne;
@ -173,33 +173,33 @@ typedef struct _HT_TX_CONTEXT {
BOOLEAN bCopySavePad;
UCHAR SavedPad[8];
UCHAR Header_802_3[LENGTH_802_3];
ULONG CurWritePosition; // Indicate the buffer offset which packet will be inserted start from.
ULONG CurWriteRealPos; // Indicate the buffer offset which packet now are writing to.
ULONG NextBulkOutPosition; // Indicate the buffer start offset of a bulk-transmission
ULONG ENextBulkOutPosition; // Indicate the buffer end offset of a bulk-transmission
ULONG CurWritePosition; /* Indicate the buffer offset which packet will be inserted start from. */
ULONG CurWriteRealPos; /* Indicate the buffer offset which packet now are writing to. */
ULONG NextBulkOutPosition; /* Indicate the buffer start offset of a bulk-transmission */
ULONG ENextBulkOutPosition; /* Indicate the buffer end offset of a bulk-transmission */
UINT TxRate;
dma_addr_t data_dma; // urb dma on linux
dma_addr_t data_dma; /* urb dma on linux */
} HT_TX_CONTEXT, *PHT_TX_CONTEXT, **PPHT_TX_CONTEXT;
//
// Structure to keep track of receive packets and buffers to indicate
// receive data to the protocol.
//
/* */
/* Structure to keep track of receive packets and buffers to indicate */
/* receive data to the protocol. */
/* */
typedef struct _RX_CONTEXT {
PUCHAR TransferBuffer;
PVOID pAd;
PIRP pIrp; //used to cancel pending bulk in.
PIRP pIrp; /*used to cancel pending bulk in. */
PURB pUrb;
//These 2 Boolean shouldn't both be 1 at the same time.
ULONG BulkInOffset; // number of packets waiting for reordering .
// BOOLEAN ReorderInUse; // At least one packet in this buffer are in reordering buffer and wait for receive indication
BOOLEAN bRxHandling; // Notify this packet is being process now.
BOOLEAN InUse; // USB Hardware Occupied. Wait for USB HW to put packet.
BOOLEAN Readable; // Receive Complete back. OK for driver to indicate receiving packet.
BOOLEAN IRPPending; // TODO: To be removed
/*These 2 Boolean shouldn't both be 1 at the same time. */
ULONG BulkInOffset; /* number of packets waiting for reordering . */
/* BOOLEAN ReorderInUse; // At least one packet in this buffer are in reordering buffer and wait for receive indication */
BOOLEAN bRxHandling; /* Notify this packet is being process now. */
BOOLEAN InUse; /* USB Hardware Occupied. Wait for USB HW to put packet. */
BOOLEAN Readable; /* Receive Complete back. OK for driver to indicate receiving packet. */
BOOLEAN IRPPending; /* TODO: To be removed */
atomic_t IrpLock;
NDIS_SPIN_LOCK RxContextLock;
dma_addr_t data_dma; // urb dma on linux
dma_addr_t data_dma; /* urb dma on linux */
} RX_CONTEXT, *PRX_CONTEXT;
/******************************************************************************
@ -207,9 +207,9 @@ typedef struct _RX_CONTEXT {
USB Frimware Related MACRO
******************************************************************************/
// 8051 firmware image for usb - use last-half base address = 0x3000
/* 8051 firmware image for usb - use last-half base address = 0x3000 */
#define FIRMWARE_IMAGE_BASE 0x3000
#define MAX_FIRMWARE_IMAGE_SIZE 0x1000 // 4kbyte
#define MAX_FIRMWARE_IMAGE_SIZE 0x1000 /* 4kbyte */
#define RTMP_WRITE_FIRMWARE(_pAd, _pFwImage, _FwLen) \
RTUSBFirmwareWrite(_pAd, _pFwImage, _FwLen)
@ -278,7 +278,7 @@ typedef struct _RX_CONTEXT {
#define HAL_KickOutNullFrameTx(_pAd, _QueIdx, _pNullFrame, _frameLen) \
RtmpUSBNullFrameKickOut(_pAd, _QueIdx, _pNullFrame, _frameLen)
#define GET_TXRING_FREENO(_pAd, _QueIdx) (_QueIdx) //(_pAd->TxRing[_QueIdx].TxSwFreeIdx)
#define GET_TXRING_FREENO(_pAd, _QueIdx) (_QueIdx) /*(_pAd->TxRing[_QueIdx].TxSwFreeIdx) */
#define GET_MGMTRING_FREENO(_pAd) (_pAd->MgmtRing.TxSwFreeIdx)
/* ----------------- RX Related MACRO ----------------- */
@ -344,4 +344,4 @@ typedef struct _RX_CONTEXT {
#define RTMP_MLME_RADIO_OFF(pAd) \
RT28xxUsbMlmeRadioOFF(pAd);
#endif //__MAC_USB_H__ //
#endif /*__MAC_USB_H__ // */

View file

@ -38,17 +38,17 @@
#error "For RT2880, you should define the compile flag -DRTMP_MAC_PCI"
#endif
//
// Device ID & Vendor ID, these values should match EEPROM value
//
/* */
/* Device ID & Vendor ID, these values should match EEPROM value */
/* */
#define NIC2860_PCI_DEVICE_ID 0x0601
#define NIC2860_PCIe_DEVICE_ID 0x0681
#define NIC2760_PCI_DEVICE_ID 0x0701 // 1T/2R Cardbus ???
#define NIC2790_PCIe_DEVICE_ID 0x0781 // 1T/2R miniCard
#define NIC2760_PCI_DEVICE_ID 0x0701 /* 1T/2R Cardbus ??? */
#define NIC2790_PCIe_DEVICE_ID 0x0781 /* 1T/2R miniCard */
#define VEN_AWT_PCIe_DEVICE_ID 0x1059
#define VEN_AWT_PCI_VENDOR_ID 0x1A3B
#define EDIMAX_PCI_VENDOR_ID 0x1432
#endif //__RT2860_H__ //
#endif /*__RT2860_H__ // */

View file

@ -40,7 +40,7 @@
#include "../rtmp_type.h"
#include "mac_usb.h"
//#define RTMP_CHIP_NAME "RT2870"
/*#define RTMP_CHIP_NAME "RT2870" */
#endif // RT2870 //
#endif //__RT2870_H__ //
#endif /* RT2870 // */
#endif /*__RT2870_H__ // */

View file

@ -58,10 +58,10 @@
#include "mac_usb.h"
#include "rt30xx.h"
//
// Device ID & Vendor ID, these values should match EEPROM value
//
/* */
/* Device ID & Vendor ID, these values should match EEPROM value */
/* */
#endif // RT3070 //
#endif /* RT3070 // */
#endif //__RT3070_H__ //
#endif /*__RT3070_H__ // */

View file

@ -60,13 +60,13 @@
#include "mac_pci.h"
#include "rt30xx.h"
//
// Device ID & Vendor ID, these values should match EEPROM value
//
#define NIC3090_PCIe_DEVICE_ID 0x3090 // 1T/1R miniCard
#define NIC3091_PCIe_DEVICE_ID 0x3091 // 1T/2R miniCard
#define NIC3092_PCIe_DEVICE_ID 0x3092 // 2T/2R miniCard
/* */
/* Device ID & Vendor ID, these values should match EEPROM value */
/* */
#define NIC3090_PCIe_DEVICE_ID 0x3090 /* 1T/1R miniCard */
#define NIC3091_PCIe_DEVICE_ID 0x3091 /* 1T/2R miniCard */
#define NIC3092_PCIe_DEVICE_ID 0x3092 /* 2T/2R miniCard */
#endif // RT3090 //
#endif /* RT3090 // */
#endif //__RT3090_H__ //
#endif /*__RT3090_H__ // */

View file

@ -42,6 +42,6 @@
extern REG_PAIR RT30xx_RFRegTable[];
extern UCHAR NUM_RF_REG_PARMS;
#endif // RT30xx //
#endif /* RT30xx // */
#endif //__RT30XX_H__ //
#endif /*__RT30XX_H__ // */

File diff suppressed because it is too large Load diff

View file

@ -74,30 +74,30 @@
#define RF_R30 30
#define RF_R31 31
// value domain of pAd->RfIcType
#define RFIC_2820 1 // 2.4G 2T3R
#define RFIC_2850 2 // 2.4G/5G 2T3R
#define RFIC_2720 3 // 2.4G 1T2R
#define RFIC_2750 4 // 2.4G/5G 1T2R
#define RFIC_3020 5 // 2.4G 1T1R
#define RFIC_2020 6 // 2.4G B/G
#define RFIC_3021 7 // 2.4G 1T2R
#define RFIC_3022 8 // 2.4G 2T2R
#define RFIC_3052 9 // 2.4G/5G 2T2R
/* value domain of pAd->RfIcType */
#define RFIC_2820 1 /* 2.4G 2T3R */
#define RFIC_2850 2 /* 2.4G/5G 2T3R */
#define RFIC_2720 3 /* 2.4G 1T2R */
#define RFIC_2750 4 /* 2.4G/5G 1T2R */
#define RFIC_3020 5 /* 2.4G 1T1R */
#define RFIC_2020 6 /* 2.4G B/G */
#define RFIC_3021 7 /* 2.4G 1T2R */
#define RFIC_3022 8 /* 2.4G 2T2R */
#define RFIC_3052 9 /* 2.4G/5G 2T2R */
/*
BBP sections
*/
#define BBP_R0 0 // version
#define BBP_R1 1 // TSSI
#define BBP_R2 2 // TX configure
#define BBP_R0 0 /* version */
#define BBP_R1 1 /* TSSI */
#define BBP_R2 2 /* TX configure */
#define BBP_R3 3
#define BBP_R4 4
#define BBP_R5 5
#define BBP_R6 6
#define BBP_R14 14 // RX configure
#define BBP_R14 14 /* RX configure */
#define BBP_R16 16
#define BBP_R17 17 // RX sensibility
#define BBP_R17 17 /* RX sensibility */
#define BBP_R18 18
#define BBP_R21 21
#define BBP_R22 22
@ -106,12 +106,12 @@
#define BBP_R26 26
#define BBP_R27 27
#define BBP_R31 31
#define BBP_R49 49 //TSSI
#define BBP_R49 49 /*TSSI */
#define BBP_R50 50
#define BBP_R51 51
#define BBP_R52 52
#define BBP_R55 55
#define BBP_R62 62 // Rx SQ0 Threshold HIGH
#define BBP_R62 62 /* Rx SQ0 Threshold HIGH */
#define BBP_R63 63
#define BBP_R64 64
#define BBP_R65 65
@ -119,7 +119,7 @@
#define BBP_R67 67
#define BBP_R68 68
#define BBP_R69 69
#define BBP_R70 70 // Rx AGC SQ CCK Xcorr threshold
#define BBP_R70 70 /* Rx AGC SQ CCK Xcorr threshold */
#define BBP_R73 73
#define BBP_R75 75
#define BBP_R77 77
@ -133,7 +133,7 @@
#define BBP_R86 86
#define BBP_R91 91
#define BBP_R92 92
#define BBP_R94 94 // Tx Gain Control
#define BBP_R94 94 /* Tx Gain Control */
#define BBP_R103 103
#define BBP_R105 105
#define BBP_R106 106
@ -149,22 +149,22 @@
#define BBP_R122 122
#define BBP_R123 123
#ifdef RT30xx
#define BBP_R138 138 // add by johnli, RF power sequence setup, ADC dynamic on/off control
#endif // RT30xx //
#define BBP_R138 138 /* add by johnli, RF power sequence setup, ADC dynamic on/off control */
#endif /* RT30xx // */
#define BBPR94_DEFAULT 0x06 // Add 1 value will gain 1db
#define BBPR94_DEFAULT 0x06 /* Add 1 value will gain 1db */
//
// BBP & RF are using indirect access. Before write any value into it.
// We have to make sure there is no outstanding command pending via checking busy bit.
//
#define MAX_BUSY_COUNT 100 // Number of retry before failing access BBP & RF indirect register
/* */
/* BBP & RF are using indirect access. Before write any value into it. */
/* We have to make sure there is no outstanding command pending via checking busy bit. */
/* */
#define MAX_BUSY_COUNT 100 /* Number of retry before failing access BBP & RF indirect register */
//#define PHY_TR_SWITCH_TIME 5 // usec
/*#define PHY_TR_SWITCH_TIME 5 // usec */
//#define BBP_R17_LOW_SENSIBILITY 0x50
//#define BBP_R17_MID_SENSIBILITY 0x41
//#define BBP_R17_DYNAMIC_UP_BOUND 0x40
/*#define BBP_R17_LOW_SENSIBILITY 0x50 */
/*#define BBP_R17_MID_SENSIBILITY 0x41 */
/*#define BBP_R17_DYNAMIC_UP_BOUND 0x40 */
#define RSSI_FOR_VERY_LOW_SENSIBILITY -35
#define RSSI_FOR_LOW_SENSIBILITY -58
@ -194,15 +194,15 @@
} \
} \
}
#endif // RTMP_MAC_PCI //
#endif /* RTMP_MAC_PCI // */
#ifdef RTMP_MAC_USB
#define RTMP_RF_IO_WRITE32(_A, _V) RTUSBWriteRFRegister(_A, _V)
#endif // RTMP_MAC_USB //
#endif /* RTMP_MAC_USB // */
#ifdef RT30xx
#define RTMP_RF_IO_READ8_BY_REG_ID(_A, _I, _pV) RT30xxReadRFRegister(_A, _I, _pV)
#define RTMP_RF_IO_WRITE8_BY_REG_ID(_A, _I, _V) RT30xxWriteRFRegister(_A, _I, _V)
#endif // RT30xx //
#endif /* RT30xx // */
/*****************************************************************************
BBP register Read/Write marco definitions.
@ -276,7 +276,7 @@
But for some chipset which didn't have mcu (e.g., RBUS based chipset), we
will use this function too and didn't access the bbp register via the MCU.
*/
// Read BBP register by register's ID. Generate PER to test BA
/* Read BBP register by register's ID. Generate PER to test BA */
#define RTMP_BBP_IO_READ8_BY_REG_ID(_A, _I, _pV) \
{ \
BBP_CSR_CFG_STRUC BbpCsr; \
@ -425,7 +425,7 @@
But for some chipset which didn't have mcu (e.g., RBUS based chipset), we
will use this function too and didn't access the bbp register via the MCU.
*/
// Write BBP register by register's ID & value
/* Write BBP register by register's ID & value */
#define RTMP_BBP_IO_WRITE8_BY_REG_ID(_A, _I, _V) \
{ \
BBP_CSR_CFG_STRUC BbpCsr; \
@ -510,7 +510,7 @@
DBGPRINT_ERR(("****** BBP_Write_Latch Buffer exceeds max boundry ****** \n")); \
} \
}
#endif // RTMP_MAC_PCI //
#endif /* RTMP_MAC_PCI // */
#ifdef RTMP_MAC_USB
#define RTMP_BBP_IO_READ8_BY_REG_ID(_A, _I, _pV) RTUSBReadBBPRegister(_A, _I, _pV)
@ -518,7 +518,7 @@
#define BBP_IO_WRITE8_BY_REG_ID(_A, _I, _V) RTUSBWriteBBPRegister(_A, _I, _V)
#define BBP_IO_READ8_BY_REG_ID(_A, _I, _pV) RTUSBReadBBPRegister(_A, _I, _pV)
#endif // RTMP_MAC_USB //
#endif /* RTMP_MAC_USB // */
#ifdef RT30xx
#define RTMP_ASIC_MMPS_DISABLE(_pAd) \
@ -551,6 +551,6 @@
RTMP_IO_WRITE32(_pAd, 0x1210, _macData); \
}while(0)
#endif // RT30xx //
#endif /* RT30xx // */
#endif // __RTMP_PHY_H__ //
#endif /* __RTMP_PHY_H__ // */

View file

@ -52,14 +52,14 @@
typedef struct _CH_DESP {
UCHAR FirstChannel;
UCHAR NumOfCh;
CHAR MaxTxPwr; // dBm
UCHAR Geography; // 0:out door, 1:in door, 2:both
BOOLEAN DfsReq; // Dfs require, 0: No, 1: yes.
CHAR MaxTxPwr; /* dBm */
UCHAR Geography; /* 0:out door, 1:in door, 2:both */
BOOLEAN DfsReq; /* Dfs require, 0: No, 1: yes. */
} CH_DESP, *PCH_DESP;
typedef struct _CH_REGION {
UCHAR CountReg[3];
UCHAR DfsType; // 0: CE, 1: FCC, 2: JAP, 3:JAP_W53, JAP_W56
UCHAR DfsType; /* 0: CE, 1: FCC, 2: JAP, 3:JAP_W53, JAP_W56 */
CH_DESP ChDesp[10];
} CH_REGION, *PCH_REGION;
@ -114,4 +114,4 @@ VOID N_SetCenCh(IN PRTMP_ADAPTER pAd);
UINT8 GetCuntryMaxTxPwr(IN PRTMP_ADAPTER pAd, IN UINT8 channel);
#endif // __CHLIST_H__
#endif /* __CHLIST_H__ */

View file

@ -43,25 +43,25 @@
************************************************************************/
int rtmp_ee_prom_read16(IN PRTMP_ADAPTER pAd,
IN USHORT Offset, OUT USHORT * pValue);
#endif // RTMP_PCI_SUPPORT //
#endif /* RTMP_PCI_SUPPORT // */
#ifdef RTMP_USB_SUPPORT
/*************************************************************************
* Public function declarations for usb-based prom chipset
************************************************************************/
NTSTATUS RTUSBReadEEPROM16(IN PRTMP_ADAPTER pAd,
IN USHORT offset, OUT PUSHORT pData);
#endif // RTMP_USB_SUPPORT //
#endif /* RTMP_USB_SUPPORT // */
#ifdef RT30xx
#ifdef RTMP_EFUSE_SUPPORT
int rtmp_ee_efuse_read16(IN RTMP_ADAPTER * pAd,
IN USHORT Offset, OUT USHORT * pValue);
#endif // RTMP_EFUSE_SUPPORT //
#endif // RT30xx //
#endif /* RTMP_EFUSE_SUPPORT // */
#endif /* RT30xx // */
/*************************************************************************
* Public function declarations for prom operation callback functions setting
************************************************************************/
INT RtmpChipOpsEepromHook(IN RTMP_ADAPTER * pAd, IN INT infType);
#endif // __EEPROM_H__ //
#endif /* __EEPROM_H__ // */

File diff suppressed because it is too large Load diff

View file

@ -37,7 +37,7 @@
#ifndef _OID_H_
#define _OID_H_
//#include <linux/wireless.h>
/*#include <linux/wireless.h> */
#ifndef TRUE
#define TRUE 1
@ -45,9 +45,9 @@
#ifndef FALSE
#define FALSE 0
#endif
//
// IEEE 802.11 Structures and definitions
//
/* */
/* IEEE 802.11 Structures and definitions */
/* */
#define MAX_TX_POWER_LEVEL 100 /* mW */
#define MAX_RSSI_TRIGGER -10 /* dBm */
#define MIN_RSSI_TRIGGER -200 /* dBm */
@ -55,19 +55,19 @@
#define MIN_FRAG_THRESHOLD 256 /* byte count */
#define MAX_RTS_THRESHOLD 2347 /* byte count */
// new types for Media Specific Indications
// Extension channel offset
/* new types for Media Specific Indications */
/* Extension channel offset */
#define EXTCHA_NONE 0
#define EXTCHA_ABOVE 0x1
#define EXTCHA_BELOW 0x3
// BW
/* BW */
#define BAND_WIDTH_20 0
#define BAND_WIDTH_40 1
#define BAND_WIDTH_BOTH 2
#define BAND_WIDTH_10 3 // 802.11j has 10MHz. This definition is for internal usage. doesn't fill in the IE or other field.
// SHORTGI
#define GAP_INTERVAL_400 1 // only support in HT mode
#define BAND_WIDTH_10 3 /* 802.11j has 10MHz. This definition is for internal usage. doesn't fill in the IE or other field. */
/* SHORTGI */
#define GAP_INTERVAL_400 1 /* only support in HT mode */
#define GAP_INTERVAL_800 0
#define GAP_INTERVAL_BOTH 2
@ -78,12 +78,12 @@
#define NDIS_802_11_LENGTH_RATES 8
#define NDIS_802_11_LENGTH_RATES_EX 16
#define MAC_ADDR_LENGTH 6
//#define MAX_NUM_OF_CHS 49 // 14 channels @2.4G + 12@UNII + 4 @MMAC + 11 @HiperLAN2 + 7 @Japan + 1 as NULL terminationc
#define MAX_NUM_OF_CHS 54 // 14 channels @2.4G + 12@UNII(lower/middle) + 16@HiperLAN2 + 11@UNII(upper) + 0 @Japan + 1 as NULL termination
#define MAX_NUMBER_OF_EVENT 10 // entry # in EVENT table
#define MAX_NUMBER_OF_MAC 32 // if MAX_MBSSID_NUM is 8, this value can't be larger than 211
/*#define MAX_NUM_OF_CHS 49 // 14 channels @2.4G + 12@UNII + 4 @MMAC + 11 @HiperLAN2 + 7 @Japan + 1 as NULL terminationc */
#define MAX_NUM_OF_CHS 54 /* 14 channels @2.4G + 12@UNII(lower/middle) + 16@HiperLAN2 + 11@UNII(upper) + 0 @Japan + 1 as NULL termination */
#define MAX_NUMBER_OF_EVENT 10 /* entry # in EVENT table */
#define MAX_NUMBER_OF_MAC 32 /* if MAX_MBSSID_NUM is 8, this value can't be larger than 211 */
#define MAX_NUMBER_OF_ACL 64
#define MAX_LENGTH_OF_SUPPORT_RATES 12 // 1, 2, 5.5, 11, 6, 9, 12, 18, 24, 36, 48, 54
#define MAX_LENGTH_OF_SUPPORT_RATES 12 /* 1, 2, 5.5, 11, 6, 9, 12, 18, 24, 36, 48, 54 */
#define MAX_NUMBER_OF_DLS_ENTRY 4
#define RT_QUERY_SIGNAL_CONTEXT 0x0402
@ -91,9 +91,9 @@
#define RT_SET_APD_PID 0x0405
#define RT_SET_DEL_MAC_ENTRY 0x0406
#define RT_QUERY_EVENT_TABLE 0x0407
//
// IEEE 802.11 OIDs
//
/* */
/* IEEE 802.11 OIDs */
/* */
#define OID_GET_SET_TOGGLE 0x8000
#define OID_GET_SET_FROM_UI 0x4000
@ -119,7 +119,7 @@
#define RT_OID_802_11_QUERY_LAST_RX_RATE 0x0613
#define RT_OID_802_11_TX_POWER_LEVEL_1 0x0614
#define RT_OID_802_11_QUERY_PIDVID 0x0615
//for WPA_SUPPLICANT_SUPPORT
/*for WPA_SUPPLICANT_SUPPORT */
#define OID_SET_COUNTERMEASURES 0x0616
#define RT_OID_WPA_SUPPLICANT_SUPPORT 0x0621
#define RT_OID_WE_VERSION_COMPILED 0x0622
@ -132,7 +132,7 @@ typedef enum _NDIS_802_11_STATUS_TYPE {
Ndis802_11StatusType_Authentication,
Ndis802_11StatusType_MediaStreamMode,
Ndis802_11StatusType_PMKID_CandidateList,
Ndis802_11StatusTypeMax // not a real type, defined as an upper bound
Ndis802_11StatusTypeMax /* not a real type, defined as an upper bound */
} NDIS_802_11_STATUS_TYPE, *PNDIS_802_11_STATUS_TYPE;
typedef UCHAR NDIS_802_11_MAC_ADDRESS[6];
@ -141,7 +141,7 @@ typedef struct _NDIS_802_11_STATUS_INDICATION {
NDIS_802_11_STATUS_TYPE StatusType;
} NDIS_802_11_STATUS_INDICATION, *PNDIS_802_11_STATUS_INDICATION;
// mask for authentication/integrity fields
/* mask for authentication/integrity fields */
#define NDIS_802_11_AUTH_REQUEST_AUTH_FIELDS 0x0f
#define NDIS_802_11_AUTH_REQUEST_REAUTH 0x01
@ -150,27 +150,27 @@ typedef struct _NDIS_802_11_STATUS_INDICATION {
#define NDIS_802_11_AUTH_REQUEST_GROUP_ERROR 0x0E
typedef struct _NDIS_802_11_AUTHENTICATION_REQUEST {
ULONG Length; // Length of structure
ULONG Length; /* Length of structure */
NDIS_802_11_MAC_ADDRESS Bssid;
ULONG Flags;
} NDIS_802_11_AUTHENTICATION_REQUEST, *PNDIS_802_11_AUTHENTICATION_REQUEST;
//Added new types for PMKID Candidate lists.
/*Added new types for PMKID Candidate lists. */
typedef struct _PMKID_CANDIDATE {
NDIS_802_11_MAC_ADDRESS BSSID;
ULONG Flags;
} PMKID_CANDIDATE, *PPMKID_CANDIDATE;
typedef struct _NDIS_802_11_PMKID_CANDIDATE_LIST {
ULONG Version; // Version of the structure
ULONG NumCandidates; // No. of pmkid candidates
ULONG Version; /* Version of the structure */
ULONG NumCandidates; /* No. of pmkid candidates */
PMKID_CANDIDATE CandidateList[1];
} NDIS_802_11_PMKID_CANDIDATE_LIST, *PNDIS_802_11_PMKID_CANDIDATE_LIST;
//Flags for PMKID Candidate list structure
/*Flags for PMKID Candidate list structure */
#define NDIS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLED 0x01
// Added new types for OFDM 5G and 2.4G
/* Added new types for OFDM 5G and 2.4G */
typedef enum _NDIS_802_11_NETWORK_TYPE {
Ndis802_11FH,
Ndis802_11DS,
@ -179,11 +179,11 @@ typedef enum _NDIS_802_11_NETWORK_TYPE {
Ndis802_11Automode,
Ndis802_11OFDM5_N,
Ndis802_11OFDM24_N,
Ndis802_11NetworkTypeMax // not a real type, defined as an upper bound
Ndis802_11NetworkTypeMax /* not a real type, defined as an upper bound */
} NDIS_802_11_NETWORK_TYPE, *PNDIS_802_11_NETWORK_TYPE;
typedef struct _NDIS_802_11_NETWORK_TYPE_LIST {
UINT NumberOfItems; // in list below, at least 1
UINT NumberOfItems; /* in list below, at least 1 */
NDIS_802_11_NETWORK_TYPE NetworkType[1];
} NDIS_802_11_NETWORK_TYPE_LIST, *PNDIS_802_11_NETWORK_TYPE_LIST;
@ -192,33 +192,33 @@ typedef enum _NDIS_802_11_POWER_MODE {
Ndis802_11PowerModeMAX_PSP,
Ndis802_11PowerModeFast_PSP,
Ndis802_11PowerModeLegacy_PSP,
Ndis802_11PowerModeMax // not a real mode, defined as an upper bound
Ndis802_11PowerModeMax /* not a real mode, defined as an upper bound */
} NDIS_802_11_POWER_MODE, *PNDIS_802_11_POWER_MODE;
typedef ULONG NDIS_802_11_TX_POWER_LEVEL; // in milliwatts
typedef ULONG NDIS_802_11_TX_POWER_LEVEL; /* in milliwatts */
//
// Received Signal Strength Indication
//
typedef LONG NDIS_802_11_RSSI; // in dBm
/* */
/* Received Signal Strength Indication */
/* */
typedef LONG NDIS_802_11_RSSI; /* in dBm */
typedef struct _NDIS_802_11_CONFIGURATION_FH {
ULONG Length; // Length of structure
ULONG HopPattern; // As defined by 802.11, MSB set
ULONG HopSet; // to one if non-802.11
ULONG DwellTime; // units are Kusec
ULONG Length; /* Length of structure */
ULONG HopPattern; /* As defined by 802.11, MSB set */
ULONG HopSet; /* to one if non-802.11 */
ULONG DwellTime; /* units are Kusec */
} NDIS_802_11_CONFIGURATION_FH, *PNDIS_802_11_CONFIGURATION_FH;
typedef struct _NDIS_802_11_CONFIGURATION {
ULONG Length; // Length of structure
ULONG BeaconPeriod; // units are Kusec
ULONG ATIMWindow; // units are Kusec
ULONG DSConfig; // Frequency, units are kHz
ULONG Length; /* Length of structure */
ULONG BeaconPeriod; /* units are Kusec */
ULONG ATIMWindow; /* units are Kusec */
ULONG DSConfig; /* Frequency, units are kHz */
NDIS_802_11_CONFIGURATION_FH FHConfig;
} NDIS_802_11_CONFIGURATION, *PNDIS_802_11_CONFIGURATION;
typedef struct _NDIS_802_11_STATISTICS {
ULONG Length; // Length of structure
ULONG Length; /* Length of structure */
LARGE_INTEGER TransmittedFragmentCount;
LARGE_INTEGER MulticastTransmittedFrameCount;
LARGE_INTEGER FailedCount;
@ -245,7 +245,7 @@ typedef struct _NDIS_802_11_STATISTICS {
typedef ULONG NDIS_802_11_KEY_INDEX;
typedef ULONGLONG NDIS_802_11_KEY_RSC;
#define MAX_RADIUS_SRV_NUM 2 // 802.1x failover number
#define MAX_RADIUS_SRV_NUM 2 /* 802.1x failover number */
typedef struct PACKED _RADIUS_SRV_INFO {
UINT32 radius_ip;
@ -257,16 +257,16 @@ typedef struct PACKED _RADIUS_SRV_INFO {
typedef struct PACKED _RADIUS_KEY_INFO {
UCHAR radius_srv_num;
RADIUS_SRV_INFO radius_srv_info[MAX_RADIUS_SRV_NUM];
UCHAR ieee8021xWEP; // dynamic WEP
UCHAR ieee8021xWEP; /* dynamic WEP */
UCHAR key_index;
UCHAR key_length; // length of key in bytes
UCHAR key_length; /* length of key in bytes */
UCHAR key_material[13];
} RADIUS_KEY_INFO, *PRADIUS_KEY_INFO;
// It's used by 802.1x daemon to require relative configuration
/* It's used by 802.1x daemon to require relative configuration */
typedef struct PACKED _RADIUS_CONF {
UINT32 Length; // Length of this structure
UCHAR mbss_num; // indicate multiple BSS number
UINT32 Length; /* Length of this structure */
UCHAR mbss_num; /* indicate multiple BSS number */
UINT32 own_ip_addr;
UINT32 retry_interval;
UINT32 session_timeout_interval;
@ -277,34 +277,34 @@ typedef struct PACKED _RADIUS_CONF {
RADIUS_KEY_INFO RadiusInfo[8];
} RADIUS_CONF, *PRADIUS_CONF;
// Key mapping keys require a BSSID
/* Key mapping keys require a BSSID */
typedef struct _NDIS_802_11_KEY {
UINT Length; // Length of this structure
UINT Length; /* Length of this structure */
UINT KeyIndex;
UINT KeyLength; // length of key in bytes
UINT KeyLength; /* length of key in bytes */
NDIS_802_11_MAC_ADDRESS BSSID;
NDIS_802_11_KEY_RSC KeyRSC;
UCHAR KeyMaterial[1]; // variable length depending on above field
UCHAR KeyMaterial[1]; /* variable length depending on above field */
} NDIS_802_11_KEY, *PNDIS_802_11_KEY;
typedef struct _NDIS_802_11_PASSPHRASE {
UINT KeyLength; // length of key in bytes
UINT KeyLength; /* length of key in bytes */
NDIS_802_11_MAC_ADDRESS BSSID;
UCHAR KeyMaterial[1]; // variable length depending on above field
UCHAR KeyMaterial[1]; /* variable length depending on above field */
} NDIS_802_11_PASSPHRASE, *PNDIS_802_11_PASSPHRASE;
typedef struct _NDIS_802_11_REMOVE_KEY {
UINT Length; // Length of this structure
UINT Length; /* Length of this structure */
UINT KeyIndex;
NDIS_802_11_MAC_ADDRESS BSSID;
} NDIS_802_11_REMOVE_KEY, *PNDIS_802_11_REMOVE_KEY;
typedef struct _NDIS_802_11_WEP {
UINT Length; // Length of this structure
UINT KeyIndex; // 0 is the per-client key, 1-N are the
// global keys
UINT KeyLength; // length of key in bytes
UCHAR KeyMaterial[1]; // variable length depending on above field
UINT Length; /* Length of this structure */
UINT KeyIndex; /* 0 is the per-client key, 1-N are the */
/* global keys */
UINT KeyLength; /* length of key in bytes */
UCHAR KeyMaterial[1]; /* variable length depending on above field */
} NDIS_802_11_WEP, *PNDIS_802_11_WEP;
typedef enum _NDIS_802_11_NETWORK_INFRASTRUCTURE {
@ -312,10 +312,10 @@ typedef enum _NDIS_802_11_NETWORK_INFRASTRUCTURE {
Ndis802_11Infrastructure,
Ndis802_11AutoUnknown,
Ndis802_11Monitor,
Ndis802_11InfrastructureMax // Not a real value, defined as upper bound
Ndis802_11InfrastructureMax /* Not a real value, defined as upper bound */
} NDIS_802_11_NETWORK_INFRASTRUCTURE, *PNDIS_802_11_NETWORK_INFRASTRUCTURE;
// Add new authentication modes
/* Add new authentication modes */
typedef enum _NDIS_802_11_AUTHENTICATION_MODE {
Ndis802_11AuthModeOpen,
Ndis802_11AuthModeShared,
@ -327,25 +327,25 @@ typedef enum _NDIS_802_11_AUTHENTICATION_MODE {
Ndis802_11AuthModeWPA2PSK,
Ndis802_11AuthModeWPA1WPA2,
Ndis802_11AuthModeWPA1PSKWPA2PSK,
Ndis802_11AuthModeMax // Not a real mode, defined as upper bound
Ndis802_11AuthModeMax /* Not a real mode, defined as upper bound */
} NDIS_802_11_AUTHENTICATION_MODE, *PNDIS_802_11_AUTHENTICATION_MODE;
typedef UCHAR NDIS_802_11_RATES[NDIS_802_11_LENGTH_RATES]; // Set of 8 data rates
typedef UCHAR NDIS_802_11_RATES_EX[NDIS_802_11_LENGTH_RATES_EX]; // Set of 16 data rates
typedef UCHAR NDIS_802_11_RATES[NDIS_802_11_LENGTH_RATES]; /* Set of 8 data rates */
typedef UCHAR NDIS_802_11_RATES_EX[NDIS_802_11_LENGTH_RATES_EX]; /* Set of 16 data rates */
typedef struct PACKED _NDIS_802_11_SSID {
UINT SsidLength; // length of SSID field below, in bytes;
// this can be zero.
UCHAR Ssid[NDIS_802_11_LENGTH_SSID]; // SSID information field
UINT SsidLength; /* length of SSID field below, in bytes; */
/* this can be zero. */
UCHAR Ssid[NDIS_802_11_LENGTH_SSID]; /* SSID information field */
} NDIS_802_11_SSID, *PNDIS_802_11_SSID;
typedef struct PACKED _NDIS_WLAN_BSSID {
ULONG Length; // Length of this structure
NDIS_802_11_MAC_ADDRESS MacAddress; // BSSID
ULONG Length; /* Length of this structure */
NDIS_802_11_MAC_ADDRESS MacAddress; /* BSSID */
UCHAR Reserved[2];
NDIS_802_11_SSID Ssid; // SSID
ULONG Privacy; // WEP encryption requirement
NDIS_802_11_RSSI Rssi; // receive signal strength in dBm
NDIS_802_11_SSID Ssid; /* SSID */
ULONG Privacy; /* WEP encryption requirement */
NDIS_802_11_RSSI Rssi; /* receive signal strength in dBm */
NDIS_802_11_NETWORK_TYPE NetworkTypeInUse;
NDIS_802_11_CONFIGURATION Configuration;
NDIS_802_11_NETWORK_INFRASTRUCTURE InfrastructureMode;
@ -353,19 +353,19 @@ typedef struct PACKED _NDIS_WLAN_BSSID {
} NDIS_WLAN_BSSID, *PNDIS_WLAN_BSSID;
typedef struct PACKED _NDIS_802_11_BSSID_LIST {
UINT NumberOfItems; // in list below, at least 1
UINT NumberOfItems; /* in list below, at least 1 */
NDIS_WLAN_BSSID Bssid[1];
} NDIS_802_11_BSSID_LIST, *PNDIS_802_11_BSSID_LIST;
// Added Capabilities, IELength and IEs for each BSSID
/* Added Capabilities, IELength and IEs for each BSSID */
typedef struct PACKED _NDIS_WLAN_BSSID_EX {
ULONG Length; // Length of this structure
NDIS_802_11_MAC_ADDRESS MacAddress; // BSSID
ULONG Length; /* Length of this structure */
NDIS_802_11_MAC_ADDRESS MacAddress; /* BSSID */
UCHAR Reserved[2];
NDIS_802_11_SSID Ssid; // SSID
UINT Privacy; // WEP encryption requirement
NDIS_802_11_RSSI Rssi; // receive signal
// strength in dBm
NDIS_802_11_SSID Ssid; /* SSID */
UINT Privacy; /* WEP encryption requirement */
NDIS_802_11_RSSI Rssi; /* receive signal */
/* strength in dBm */
NDIS_802_11_NETWORK_TYPE NetworkTypeInUse;
NDIS_802_11_CONFIGURATION Configuration;
NDIS_802_11_NETWORK_INFRASTRUCTURE InfrastructureMode;
@ -375,7 +375,7 @@ typedef struct PACKED _NDIS_WLAN_BSSID_EX {
} NDIS_WLAN_BSSID_EX, *PNDIS_WLAN_BSSID_EX;
typedef struct PACKED _NDIS_802_11_BSSID_LIST_EX {
UINT NumberOfItems; // in list below, at least 1
UINT NumberOfItems; /* in list below, at least 1 */
NDIS_WLAN_BSSID_EX Bssid[1];
} NDIS_802_11_BSSID_LIST_EX, *PNDIS_802_11_BSSID_LIST_EX;
@ -387,7 +387,7 @@ typedef struct PACKED _NDIS_802_11_FIXED_IEs {
typedef struct _NDIS_802_11_VARIABLE_IEs {
UCHAR ElementID;
UCHAR Length; // Number of bytes in data field
UCHAR Length; /* Number of bytes in data field */
UCHAR data[1];
} NDIS_802_11_VARIABLE_IEs, *PNDIS_802_11_VARIABLE_IEs;
@ -402,8 +402,8 @@ typedef enum _NDIS_802_11_PRIVACY_FILTER {
Ndis802_11PrivFilter8021xWEP
} NDIS_802_11_PRIVACY_FILTER, *PNDIS_802_11_PRIVACY_FILTER;
// Added new encryption types
// Also aliased typedef to new name
/* Added new encryption types */
/* Also aliased typedef to new name */
typedef enum _NDIS_802_11_WEP_STATUS {
Ndis802_11WEPEnabled,
Ndis802_11Encryption1Enabled = Ndis802_11WEPEnabled,
@ -417,7 +417,7 @@ typedef enum _NDIS_802_11_WEP_STATUS {
Ndis802_11Encryption2KeyAbsent,
Ndis802_11Encryption3Enabled,
Ndis802_11Encryption3KeyAbsent,
Ndis802_11Encryption4Enabled, // TKIP or AES mix
Ndis802_11Encryption4Enabled, /* TKIP or AES mix */
Ndis802_11Encryption4KeyAbsent,
Ndis802_11GroupWEP40Enabled,
Ndis802_11GroupWEP104Enabled,
@ -465,13 +465,13 @@ typedef struct _NDIS_802_11_AUTHENTICATION_EVENT {
NDIS_802_11_AUTHENTICATION_REQUEST Request[1];
} NDIS_802_11_AUTHENTICATION_EVENT, *PNDIS_802_11_AUTHENTICATION_EVENT;
// 802.11 Media stream constraints, associated with OID_802_11_MEDIA_STREAM_MODE
/* 802.11 Media stream constraints, associated with OID_802_11_MEDIA_STREAM_MODE */
typedef enum _NDIS_802_11_MEDIA_STREAM_MODE {
Ndis802_11MediaStreamOff,
Ndis802_11MediaStreamOn,
} NDIS_802_11_MEDIA_STREAM_MODE, *PNDIS_802_11_MEDIA_STREAM_MODE;
// PMKID Structures
/* PMKID Structures */
typedef UCHAR NDIS_802_11_PMKID_VALUE[16];
typedef struct _BSSID_INFO {
@ -500,14 +500,14 @@ typedef struct _NDIS_802_11_CAPABILITY {
AuthenticationEncryptionSupported[1];
} NDIS_802_11_CAPABILITY, *PNDIS_802_11_CAPABILITY;
#define RT_PRIV_IOCTL (SIOCIWFIRSTPRIV + 0x01) // Sync. with AP for wsc upnp daemon
#define RT_PRIV_IOCTL (SIOCIWFIRSTPRIV + 0x01) /* Sync. with AP for wsc upnp daemon */
#define RTPRIV_IOCTL_SET (SIOCIWFIRSTPRIV + 0x02)
#define RTPRIV_IOCTL_STATISTICS (SIOCIWFIRSTPRIV + 0x09)
#define RTPRIV_IOCTL_ADD_PMKID_CACHE (SIOCIWFIRSTPRIV + 0x0A)
#define RTPRIV_IOCTL_RADIUS_DATA (SIOCIWFIRSTPRIV + 0x0C)
#define RTPRIV_IOCTL_GSITESURVEY (SIOCIWFIRSTPRIV + 0x0D)
#define RT_PRIV_IOCTL_EXT (SIOCIWFIRSTPRIV + 0x0E) // Sync. with RT61 (for wpa_supplicant)
#define RT_PRIV_IOCTL_EXT (SIOCIWFIRSTPRIV + 0x0E) /* Sync. with RT61 (for wpa_supplicant) */
#define RTPRIV_IOCTL_GET_MAC_TABLE (SIOCIWFIRSTPRIV + 0x0F)
#define RTPRIV_IOCTL_SHOW (SIOCIWFIRSTPRIV + 0x11)
@ -519,7 +519,7 @@ enum {
#ifdef RTMP_MAC_USB
SHOW_RXBULK_INFO = 8,
SHOW_TXBULK_INFO = 9,
#endif // RTMP_MAC_USB //
#endif /* RTMP_MAC_USB // */
RAIO_OFF = 10,
RAIO_ON = 11,
SHOW_CFG_VALUE = 20,
@ -531,19 +531,19 @@ enum {
#define OID_802_11_GET_COUNTRY_CODE 0x0716
#define OID_802_11_GET_CHANNEL_GEOGRAPHY 0x0717
#define RT_OID_WSC_SET_PASSPHRASE 0x0740 // passphrase for wpa(2)-psk
#define RT_OID_WSC_SET_PASSPHRASE 0x0740 /* passphrase for wpa(2)-psk */
#define RT_OID_WSC_DRIVER_AUTO_CONNECT 0x0741
#define RT_OID_WSC_QUERY_DEFAULT_PROFILE 0x0742
#define RT_OID_WSC_SET_CONN_BY_PROFILE_INDEX 0x0743
#define RT_OID_WSC_SET_ACTION 0x0744
#define RT_OID_WSC_SET_SSID 0x0745
#define RT_OID_WSC_SET_PIN_CODE 0x0746
#define RT_OID_WSC_SET_MODE 0x0747 // PIN or PBC
#define RT_OID_WSC_SET_CONF_MODE 0x0748 // Enrollee or Registrar
#define RT_OID_WSC_SET_MODE 0x0747 /* PIN or PBC */
#define RT_OID_WSC_SET_CONF_MODE 0x0748 /* Enrollee or Registrar */
#define RT_OID_WSC_SET_PROFILE 0x0749
#define RT_OID_WSC_CONFIG_STATUS 0x074F
#define RT_OID_802_11_WSC_QUERY_PROFILE 0x0750
// for consistency with RT61
/* for consistency with RT61 */
#define RT_OID_WSC_QUERY_STATUS 0x0751
#define RT_OID_WSC_PIN_CODE 0x0752
#define RT_OID_WSC_UUID 0x0753
@ -555,20 +555,20 @@ enum {
#define RT_OID_WSC_SERIAL_NO 0x0759
#define RT_OID_WSC_MAC_ADDRESS 0x0760
// New for MeetingHouse Api support
/* New for MeetingHouse Api support */
#define OID_MH_802_1X_SUPPORTED 0xFFEDC100
// MIMO Tx parameter, ShortGI, MCS, STBC, etc. these are fields in TXWI. Don't change this definition!!!
/* MIMO Tx parameter, ShortGI, MCS, STBC, etc. these are fields in TXWI. Don't change this definition!!! */
typedef union _HTTRANSMIT_SETTING {
struct {
USHORT MCS:7; // MCS
USHORT BW:1; //channel bandwidth 20MHz or 40 MHz
USHORT MCS:7; /* MCS */
USHORT BW:1; /*channel bandwidth 20MHz or 40 MHz */
USHORT ShortGI:1;
USHORT STBC:2; //SPACE
// USHORT rsv:3;
USHORT STBC:2; /*SPACE */
/* USHORT rsv:3; */
USHORT rsv:2;
USHORT TxBF:1;
USHORT MODE:2; // Use definition MODE_xxx.
USHORT MODE:2; /* Use definition MODE_xxx. */
} field;
USHORT word;
} HTTRANSMIT_SETTING, *PHTTRANSMIT_SETTING;
@ -585,45 +585,45 @@ typedef enum _RT_802_11_PHY_MODE {
PHY_11A,
PHY_11ABG_MIXED,
PHY_11G,
PHY_11ABGN_MIXED, // both band 5
PHY_11N_2_4G, // 11n-only with 2.4G band 6
PHY_11GN_MIXED, // 2.4G band 7
PHY_11AN_MIXED, // 5G band 8
PHY_11BGN_MIXED, // if check 802.11b. 9
PHY_11AGN_MIXED, // if check 802.11b. 10
PHY_11N_5G, // 11n-only with 5G band 11
PHY_11ABGN_MIXED, /* both band 5 */
PHY_11N_2_4G, /* 11n-only with 2.4G band 6 */
PHY_11GN_MIXED, /* 2.4G band 7 */
PHY_11AN_MIXED, /* 5G band 8 */
PHY_11BGN_MIXED, /* if check 802.11b. 9 */
PHY_11AGN_MIXED, /* if check 802.11b. 10 */
PHY_11N_5G, /* 11n-only with 5G band 11 */
} RT_802_11_PHY_MODE;
// put all proprietery for-query objects here to reduce # of Query_OID
/* put all proprietery for-query objects here to reduce # of Query_OID */
typedef struct _RT_802_11_LINK_STATUS {
ULONG CurrTxRate; // in units of 0.5Mbps
ULONG ChannelQuality; // 0..100 %
ULONG TxByteCount; // both ok and fail
ULONG RxByteCount; // both ok and fail
ULONG CentralChannel; // 40MHz central channel number
ULONG CurrTxRate; /* in units of 0.5Mbps */
ULONG ChannelQuality; /* 0..100 % */
ULONG TxByteCount; /* both ok and fail */
ULONG RxByteCount; /* both ok and fail */
ULONG CentralChannel; /* 40MHz central channel number */
} RT_802_11_LINK_STATUS, *PRT_802_11_LINK_STATUS;
typedef struct _RT_802_11_EVENT_LOG {
LARGE_INTEGER SystemTime; // timestammp via NdisGetCurrentSystemTime()
LARGE_INTEGER SystemTime; /* timestammp via NdisGetCurrentSystemTime() */
UCHAR Addr[MAC_ADDR_LENGTH];
USHORT Event; // EVENT_xxx
USHORT Event; /* EVENT_xxx */
} RT_802_11_EVENT_LOG, *PRT_802_11_EVENT_LOG;
typedef struct _RT_802_11_EVENT_TABLE {
ULONG Num;
ULONG Rsv; // to align Log[] at LARGE_INEGER boundary
ULONG Rsv; /* to align Log[] at LARGE_INEGER boundary */
RT_802_11_EVENT_LOG Log[MAX_NUMBER_OF_EVENT];
} RT_802_11_EVENT_TABLE, PRT_802_11_EVENT_TABLE;
// MIMO Tx parameter, ShortGI, MCS, STBC, etc. these are fields in TXWI. Don't change this definition!!!
/* MIMO Tx parameter, ShortGI, MCS, STBC, etc. these are fields in TXWI. Don't change this definition!!! */
typedef union _MACHTTRANSMIT_SETTING {
struct {
USHORT MCS:7; // MCS
USHORT BW:1; //channel bandwidth 20MHz or 40 MHz
USHORT MCS:7; /* MCS */
USHORT BW:1; /*channel bandwidth 20MHz or 40 MHz */
USHORT ShortGI:1;
USHORT STBC:2; //SPACE
USHORT STBC:2; /*SPACE */
USHORT rsv:3;
USHORT MODE:2; // Use definition MODE_xxx.
USHORT MODE:2; /* Use definition MODE_xxx. */
} field;
USHORT word;
} MACHTTRANSMIT_SETTING, *PMACHTTRANSMIT_SETTING;
@ -631,8 +631,8 @@ typedef union _MACHTTRANSMIT_SETTING {
typedef struct _RT_802_11_MAC_ENTRY {
UCHAR Addr[MAC_ADDR_LENGTH];
UCHAR Aid;
UCHAR Psm; // 0:PWR_ACTIVE, 1:PWR_SAVE
UCHAR MimoPs; // 0:MMPS_STATIC, 1:MMPS_DYNAMIC, 3:MMPS_Enabled
UCHAR Psm; /* 0:PWR_ACTIVE, 1:PWR_SAVE */
UCHAR MimoPs; /* 0:MMPS_STATIC, 1:MMPS_DYNAMIC, 3:MMPS_Enabled */
CHAR AvgRssi0;
CHAR AvgRssi1;
CHAR AvgRssi2;
@ -645,48 +645,48 @@ typedef struct _RT_802_11_MAC_TABLE {
RT_802_11_MAC_ENTRY Entry[MAX_NUMBER_OF_MAC];
} RT_802_11_MAC_TABLE, *PRT_802_11_MAC_TABLE;
// structure for query/set hardware register - MAC, BBP, RF register
/* structure for query/set hardware register - MAC, BBP, RF register */
typedef struct _RT_802_11_HARDWARE_REGISTER {
ULONG HardwareType; // 0:MAC, 1:BBP, 2:RF register, 3:EEPROM
ULONG Offset; // Q/S register offset addr
ULONG Data; // R/W data buffer
ULONG HardwareType; /* 0:MAC, 1:BBP, 2:RF register, 3:EEPROM */
ULONG Offset; /* Q/S register offset addr */
ULONG Data; /* R/W data buffer */
} RT_802_11_HARDWARE_REGISTER, *PRT_802_11_HARDWARE_REGISTER;
typedef struct _RT_802_11_AP_CONFIG {
ULONG EnableTxBurst; // 0-disable, 1-enable
ULONG EnableTurboRate; // 0-disable, 1-enable 72/100mbps turbo rate
ULONG IsolateInterStaTraffic; // 0-disable, 1-enable isolation
ULONG HideSsid; // 0-disable, 1-enable hiding
ULONG UseBGProtection; // 0-AUTO, 1-always ON, 2-always OFF
ULONG UseShortSlotTime; // 0-no use, 1-use 9-us short slot time
ULONG Rsv1; // must be 0
ULONG SystemErrorBitmap; // ignore upon SET, return system error upon QUERY
ULONG EnableTxBurst; /* 0-disable, 1-enable */
ULONG EnableTurboRate; /* 0-disable, 1-enable 72/100mbps turbo rate */
ULONG IsolateInterStaTraffic; /* 0-disable, 1-enable isolation */
ULONG HideSsid; /* 0-disable, 1-enable hiding */
ULONG UseBGProtection; /* 0-AUTO, 1-always ON, 2-always OFF */
ULONG UseShortSlotTime; /* 0-no use, 1-use 9-us short slot time */
ULONG Rsv1; /* must be 0 */
ULONG SystemErrorBitmap; /* ignore upon SET, return system error upon QUERY */
} RT_802_11_AP_CONFIG, *PRT_802_11_AP_CONFIG;
// structure to query/set STA_CONFIG
/* structure to query/set STA_CONFIG */
typedef struct _RT_802_11_STA_CONFIG {
ULONG EnableTxBurst; // 0-disable, 1-enable
ULONG EnableTurboRate; // 0-disable, 1-enable 72/100mbps turbo rate
ULONG UseBGProtection; // 0-AUTO, 1-always ON, 2-always OFF
ULONG UseShortSlotTime; // 0-no use, 1-use 9-us short slot time when applicable
ULONG AdhocMode; // 0-11b rates only (WIFI spec), 1 - b/g mixed, 2 - g only
ULONG HwRadioStatus; // 0-OFF, 1-ON, default is 1, Read-Only
ULONG Rsv1; // must be 0
ULONG SystemErrorBitmap; // ignore upon SET, return system error upon QUERY
ULONG EnableTxBurst; /* 0-disable, 1-enable */
ULONG EnableTurboRate; /* 0-disable, 1-enable 72/100mbps turbo rate */
ULONG UseBGProtection; /* 0-AUTO, 1-always ON, 2-always OFF */
ULONG UseShortSlotTime; /* 0-no use, 1-use 9-us short slot time when applicable */
ULONG AdhocMode; /* 0-11b rates only (WIFI spec), 1 - b/g mixed, 2 - g only */
ULONG HwRadioStatus; /* 0-OFF, 1-ON, default is 1, Read-Only */
ULONG Rsv1; /* must be 0 */
ULONG SystemErrorBitmap; /* ignore upon SET, return system error upon QUERY */
} RT_802_11_STA_CONFIG, *PRT_802_11_STA_CONFIG;
//
// For OID Query or Set about BA structure
//
/* */
/* For OID Query or Set about BA structure */
/* */
typedef struct _OID_BACAP_STRUC {
UCHAR RxBAWinLimit;
UCHAR TxBAWinLimit;
UCHAR Policy; // 0: DELAY_BA 1:IMMED_BA (//BA Policy subfiled value in ADDBA frame) 2:BA-not use. other value invalid
UCHAR MpduDensity; // 0: DELAY_BA 1:IMMED_BA (//BA Policy subfiled value in ADDBA frame) 2:BA-not use. other value invalid
UCHAR AmsduEnable; //Enable AMSDU transmisstion
UCHAR AmsduSize; // 0:3839, 1:7935 bytes. UINT MSDUSizeToBytes[] = { 3839, 7935};
UCHAR MMPSmode; // MIMO power save more, 0:static, 1:dynamic, 2:rsv, 3:mimo enable
BOOLEAN AutoBA; // Auto BA will automatically
UCHAR Policy; /* 0: DELAY_BA 1:IMMED_BA (//BA Policy subfiled value in ADDBA frame) 2:BA-not use. other value invalid */
UCHAR MpduDensity; /* 0: DELAY_BA 1:IMMED_BA (//BA Policy subfiled value in ADDBA frame) 2:BA-not use. other value invalid */
UCHAR AmsduEnable; /*Enable AMSDU transmisstion */
UCHAR AmsduSize; /* 0:3839, 1:7935 bytes. UINT MSDUSizeToBytes[] = { 3839, 7935}; */
UCHAR MMPSmode; /* MIMO power save more, 0:static, 1:dynamic, 2:rsv, 3:mimo enable */
BOOLEAN AutoBA; /* Auto BA will automatically */
} OID_BACAP_STRUC, *POID_BACAP_STRUC;
typedef struct _RT_802_11_ACL_ENTRY {
@ -695,7 +695,7 @@ typedef struct _RT_802_11_ACL_ENTRY {
} RT_802_11_ACL_ENTRY, *PRT_802_11_ACL_ENTRY;
typedef struct PACKED _RT_802_11_ACL {
ULONG Policy; // 0-disable, 1-positive list, 2-negative list
ULONG Policy; /* 0-disable, 1-positive list, 2-negative list */
ULONG Num;
RT_802_11_ACL_ENTRY Entry[MAX_NUMBER_OF_ACL];
} RT_802_11_ACL, *PRT_802_11_ACL;
@ -714,29 +714,29 @@ typedef struct _RT_802_11_TX_RATES_ {
UCHAR ExtRate[MAX_LENGTH_OF_SUPPORT_RATES];
} RT_802_11_TX_RATES, *PRT_802_11_TX_RATES;
// Definition of extra information code
#define GENERAL_LINK_UP 0x0 // Link is Up
#define GENERAL_LINK_DOWN 0x1 // Link is Down
#define HW_RADIO_OFF 0x2 // Hardware radio off
#define SW_RADIO_OFF 0x3 // Software radio off
#define AUTH_FAIL 0x4 // Open authentication fail
#define AUTH_FAIL_KEYS 0x5 // Shared authentication fail
#define ASSOC_FAIL 0x6 // Association failed
#define EAP_MIC_FAILURE 0x7 // Deauthencation because MIC failure
#define EAP_4WAY_TIMEOUT 0x8 // Deauthencation on 4-way handshake timeout
#define EAP_GROUP_KEY_TIMEOUT 0x9 // Deauthencation on group key handshake timeout
#define EAP_SUCCESS 0xa // EAP succeed
#define DETECT_RADAR_SIGNAL 0xb // Radar signal occur in current channel
#define EXTRA_INFO_MAX 0xb // Indicate Last OID
/* Definition of extra information code */
#define GENERAL_LINK_UP 0x0 /* Link is Up */
#define GENERAL_LINK_DOWN 0x1 /* Link is Down */
#define HW_RADIO_OFF 0x2 /* Hardware radio off */
#define SW_RADIO_OFF 0x3 /* Software radio off */
#define AUTH_FAIL 0x4 /* Open authentication fail */
#define AUTH_FAIL_KEYS 0x5 /* Shared authentication fail */
#define ASSOC_FAIL 0x6 /* Association failed */
#define EAP_MIC_FAILURE 0x7 /* Deauthencation because MIC failure */
#define EAP_4WAY_TIMEOUT 0x8 /* Deauthencation on 4-way handshake timeout */
#define EAP_GROUP_KEY_TIMEOUT 0x9 /* Deauthencation on group key handshake timeout */
#define EAP_SUCCESS 0xa /* EAP succeed */
#define DETECT_RADAR_SIGNAL 0xb /* Radar signal occur in current channel */
#define EXTRA_INFO_MAX 0xb /* Indicate Last OID */
#define EXTRA_INFO_CLEAR 0xffffffff
// This is OID setting structure. So only GF or MM as Mode. This is valid when our wirelss mode has 802.11n in use.
/* This is OID setting structure. So only GF or MM as Mode. This is valid when our wirelss mode has 802.11n in use. */
typedef struct {
RT_802_11_PHY_MODE PhyMode; //
RT_802_11_PHY_MODE PhyMode; /* */
UCHAR TransmitNo;
UCHAR HtMode; //HTMODE_GF or HTMODE_MM
UCHAR ExtOffset; //extension channel above or below
UCHAR HtMode; /*HTMODE_GF or HTMODE_MM */
UCHAR ExtOffset; /*extension channel above or below */
UCHAR MCS;
UCHAR BW;
UCHAR STBC;
@ -753,27 +753,27 @@ typedef enum _RT_802_11_D_CLIENT_MODE {
} RT_802_11_D_CLIENT_MODE, *PRT_802_11_D_CLIENT_MODE;
typedef struct _RT_CHANNEL_LIST_INFO {
UCHAR ChannelList[MAX_NUM_OF_CHS]; // list all supported channels for site survey
UCHAR ChannelListNum; // number of channel in ChannelList[]
UCHAR ChannelList[MAX_NUM_OF_CHS]; /* list all supported channels for site survey */
UCHAR ChannelListNum; /* number of channel in ChannelList[] */
} RT_CHANNEL_LIST_INFO, *PRT_CHANNEL_LIST_INFO;
// WSC configured credential
/* WSC configured credential */
typedef struct _WSC_CREDENTIAL {
NDIS_802_11_SSID SSID; // mandatory
USHORT AuthType; // mandatory, 1: open, 2: wpa-psk, 4: shared, 8:wpa, 0x10: wpa2, 0x20: wpa2-psk
USHORT EncrType; // mandatory, 1: none, 2: wep, 4: tkip, 8: aes
UCHAR Key[64]; // mandatory, Maximum 64 byte
NDIS_802_11_SSID SSID; /* mandatory */
USHORT AuthType; /* mandatory, 1: open, 2: wpa-psk, 4: shared, 8:wpa, 0x10: wpa2, 0x20: wpa2-psk */
USHORT EncrType; /* mandatory, 1: none, 2: wep, 4: tkip, 8: aes */
UCHAR Key[64]; /* mandatory, Maximum 64 byte */
USHORT KeyLength;
UCHAR MacAddr[6]; // mandatory, AP MAC address
UCHAR KeyIndex; // optional, default is 1
UCHAR Rsvd[3]; // Make alignment
UCHAR MacAddr[6]; /* mandatory, AP MAC address */
UCHAR KeyIndex; /* optional, default is 1 */
UCHAR Rsvd[3]; /* Make alignment */
} WSC_CREDENTIAL, *PWSC_CREDENTIAL;
// WSC configured profiles
/* WSC configured profiles */
typedef struct _WSC_PROFILE {
UINT ProfileCnt;
UINT ApplyProfileIdx; // add by johnli, fix WPS test plan 5.1.1
WSC_CREDENTIAL Profile[8]; // Support up to 8 profiles
UINT ApplyProfileIdx; /* add by johnli, fix WPS test plan 5.1.1 */
WSC_CREDENTIAL Profile[8]; /* Support up to 8 profiles */
} WSC_PROFILE, *PWSC_PROFILE;
#endif // _OID_H_
#endif /* _OID_H_ */

View file

@ -66,6 +66,6 @@
#ifdef IGMP_SNOOP_SUPPORT
#include "igmp_snoop.h"
#endif // IGMP_SNOOP_SUPPORT //
#endif /* IGMP_SNOOP_SUPPORT // */
#endif // __RT_CONFIG_H__
#endif /* __RT_CONFIG_H__ */

View file

@ -60,20 +60,20 @@
#include <net/iw_handler.h>
// load firmware
/* load firmware */
#define __KERNEL_SYSCALLS__
#include <linux/unistd.h>
#include <asm/uaccess.h>
#include <asm/types.h>
#include <asm/unaligned.h> // for get_unaligned()
#include <asm/unaligned.h> /* for get_unaligned() */
#define KTHREAD_SUPPORT 1
// RT2870 2.1.0.0 has it disabled
/* RT2870 2.1.0.0 has it disabled */
#ifdef KTHREAD_SUPPORT
#include <linux/err.h>
#include <linux/kthread.h>
#endif // KTHREAD_SUPPORT //
#endif /* KTHREAD_SUPPORT // */
/***********************************************************************************
* Profile related sections
@ -82,12 +82,12 @@
#ifdef RTMP_MAC_PCI
#define STA_PROFILE_PATH "/etc/Wireless/RT2860STA/RT2860STA.dat"
#define STA_DRIVER_VERSION "2.1.0.0"
#endif // RTMP_MAC_PCI //
#endif /* RTMP_MAC_PCI // */
#ifdef RTMP_MAC_USB
#define STA_PROFILE_PATH "/etc/Wireless/RT2870STA/RT2870STA.dat"
#define STA_DRIVER_VERSION "2.1.0.0"
// RT3070 version: 2.1.1.0
#endif // RTMP_MAC_USB //
/* RT3070 version: 2.1.1.0 */
#endif /* RTMP_MAC_USB // */
extern const struct iw_handler_def rt28xx_iw_handler_def;
@ -124,8 +124,8 @@ typedef int (*HARD_START_XMIT_FUNC) (struct sk_buff * skb,
#define PCI_DEVICE(vend,dev) \
.vendor = (vend), .device = (dev), \
.subvendor = PCI_ANY_ID, .subdevice = PCI_ANY_ID
#endif // PCI_DEVICE //
#endif // RTMP_MAC_PCI //
#endif /* PCI_DEVICE // */
#endif /* RTMP_MAC_PCI // */
#define RT_MOD_INC_USE_COUNT() \
if (!try_module_get(THIS_MODULE)) \
@ -140,7 +140,7 @@ typedef int (*HARD_START_XMIT_FUNC) (struct sk_buff * skb,
#define RTMP_DEC_REF(_A) 0
#define RTMP_GET_REF(_A) 0
// This function will be called when query /proc
/* This function will be called when query /proc */
struct iw_statistics *rt28xx_get_wireless_stats(IN struct net_device *net_dev);
/***********************************************************************************
@ -176,13 +176,13 @@ struct iw_statistics *rt28xx_get_wireless_stats(IN struct net_device *net_dev);
/***********************************************************************************
* Ralink Specific network related constant definitions
***********************************************************************************/
#define MIN_NET_DEVICE_FOR_AID 0x00 //0x00~0x3f
#define MIN_NET_DEVICE_FOR_MBSSID 0x00 //0x00,0x10,0x20,0x30
#define MIN_NET_DEVICE_FOR_WDS 0x10 //0x40,0x50,0x60,0x70
#define MIN_NET_DEVICE_FOR_AID 0x00 /*0x00~0x3f */
#define MIN_NET_DEVICE_FOR_MBSSID 0x00 /*0x00,0x10,0x20,0x30 */
#define MIN_NET_DEVICE_FOR_WDS 0x10 /*0x40,0x50,0x60,0x70 */
#define MIN_NET_DEVICE_FOR_APCLI 0x20
#define MIN_NET_DEVICE_FOR_MESH 0x30
#define MIN_NET_DEVICE_FOR_DLS 0x40
#define NET_DEVICE_REAL_IDX_MASK 0x0f // for each operation mode, we maximum support 15 entities.
#define NET_DEVICE_REAL_IDX_MASK 0x0f /* for each operation mode, we maximum support 15 entities. */
#define NDIS_PACKET_TYPE_DIRECTED 0
#define NDIS_PACKET_TYPE_MULTICAST 1
@ -217,9 +217,9 @@ struct os_lock {
typedef spinlock_t NDIS_SPIN_LOCK;
//
// spin_lock enhanced for Nested spin lock
//
/* */
/* spin_lock enhanced for Nested spin lock */
/* */
#define NdisAllocateSpinLock(__lock) \
{ \
spin_lock_init((spinlock_t *)(__lock)); \
@ -238,7 +238,7 @@ typedef spinlock_t NDIS_SPIN_LOCK;
spin_unlock_bh((spinlock_t *)(__lock)); \
}
// sample, use semaphore lock to replace IRQ lock, 2007/11/15
/* sample, use semaphore lock to replace IRQ lock, 2007/11/15 */
#define RTMP_IRQ_LOCK(__lock, __irqflags) \
{ \
__irqflags = 0; \
@ -330,7 +330,7 @@ do { \
/***********************************************************************************
* OS Memory Access related data structure and definitions
***********************************************************************************/
#define MEM_ALLOC_FLAG (GFP_ATOMIC) //(GFP_DMA | GFP_ATOMIC)
#define MEM_ALLOC_FLAG (GFP_ATOMIC) /*(GFP_DMA | GFP_ATOMIC) */
#define NdisMoveMemory(Destination, Source, Length) memmove(Destination, Source, Length)
#define NdisCopyMemory(Destination, Source, Length) memcpy(Destination, Source, Length)
@ -405,10 +405,10 @@ struct os_cookie {
struct pci_dev *parent_pci_dev;
USHORT DeviceID;
dma_addr_t pAd_pa;
#endif // RTMP_MAC_PCI //
#endif /* RTMP_MAC_PCI // */
#ifdef RTMP_MAC_USB
struct usb_device *pUsb_Dev;
#endif // RTMP_MAC_USB //
#endif /* RTMP_MAC_USB // */
RTMP_NET_TASK_STRUCT rx_done_task;
RTMP_NET_TASK_STRUCT mgmt_dma_done_task;
@ -419,14 +419,14 @@ struct os_cookie {
RTMP_NET_TASK_STRUCT tbtt_task;
#ifdef RTMP_MAC_PCI
RTMP_NET_TASK_STRUCT fifo_statistic_full_task;
#endif // RTMP_MAC_PCI //
#endif /* RTMP_MAC_PCI // */
#ifdef RTMP_MAC_USB
RTMP_NET_TASK_STRUCT null_frame_complete_task;
RTMP_NET_TASK_STRUCT rts_frame_complete_task;
RTMP_NET_TASK_STRUCT pspoll_frame_complete_task;
#endif // RTMP_MAC_USB //
#endif /* RTMP_MAC_USB // */
unsigned long apd_pid; //802.1x daemon pid
unsigned long apd_pid; /*802.1x daemon pid */
INT ioctl_if_type;
INT ioctl_if;
};
@ -501,12 +501,12 @@ void linux_pci_unmap_single(void *handle, dma_addr_t dma_addr, size_t size,
#define DEV_ALLOC_SKB(_length) \
dev_alloc_skb(_length)
#endif // RTMP_MAC_PCI //
#endif /* RTMP_MAC_PCI // */
#ifdef RTMP_MAC_USB
#define PCI_MAP_SINGLE(_handle, _ptr, _size, _dir) (ULONG)0
#define PCI_UNMAP_SINGLE(_handle, _ptr, _size, _dir)
#endif // RTMP_MAC_USB //
#endif /* RTMP_MAC_USB // */
/*
* ULONG
@ -545,7 +545,7 @@ void linux_pci_unmap_single(void *handle, dma_addr_t dma_addr, size_t size,
* Device Register I/O Access related definitions and data structures.
**********************************************************************************/
#ifdef RTMP_MAC_PCI
//Patch for ASIC turst read/write bug, needs to remove after metel fix
/*Patch for ASIC turst read/write bug, needs to remove after metel fix */
#define RTMP_IO_READ32(_A, _R, _pV) \
{ \
if ((_A)->bPCIclkOff == FALSE) \
@ -603,7 +603,7 @@ void linux_pci_unmap_single(void *handle, dma_addr_t dma_addr, size_t size,
Val = readl((void *)((_A)->CSRBaseAddress + MAC_CSR0)); \
writeb((_V), (PUCHAR)((_A)->CSRBaseAddress + (_R))); \
}
#endif // #if defined(BRCM_6358) || defined(RALINK_2880) //
#endif /* #if defined(BRCM_6358) || defined(RALINK_2880) // */
#define RTMP_IO_WRITE16(_A, _R, _V) \
{ \
@ -611,9 +611,9 @@ void linux_pci_unmap_single(void *handle, dma_addr_t dma_addr, size_t size,
Val = readl((void *)((_A)->CSRBaseAddress + MAC_CSR0)); \
writew((_V), (PUSHORT)((_A)->CSRBaseAddress + (_R))); \
}
#endif // RTMP_MAC_PCI //
#endif /* RTMP_MAC_PCI // */
#ifdef RTMP_MAC_USB
//Patch for ASIC turst read/write bug, needs to remove after metel fix
/*Patch for ASIC turst read/write bug, needs to remove after metel fix */
#define RTMP_IO_READ32(_A, _R, _pV) \
RTUSBReadMACRegister((_A), (_R), (PUINT32) (_pV))
@ -634,7 +634,7 @@ void linux_pci_unmap_single(void *handle, dma_addr_t dma_addr, size_t size,
{ \
RTUSBSingleWrite((_A), (_R), (USHORT) (_V)); \
}
#endif // RTMP_MAC_USB //
#endif /* RTMP_MAC_USB // */
/***********************************************************************************
* Network Related data structure and marco definitions
@ -719,34 +719,34 @@ void linux_pci_unmap_single(void *handle, dma_addr_t dma_addr, size_t size,
#define CB_OFF 10
// User Priority
/* User Priority */
#define RTMP_SET_PACKET_UP(_p, _prio) (RTPKT_TO_OSPKT(_p)->cb[CB_OFF+0] = _prio)
#define RTMP_GET_PACKET_UP(_p) (RTPKT_TO_OSPKT(_p)->cb[CB_OFF+0])
// Fragment #
/* Fragment # */
#define RTMP_SET_PACKET_FRAGMENTS(_p, _num) (RTPKT_TO_OSPKT(_p)->cb[CB_OFF+1] = _num)
#define RTMP_GET_PACKET_FRAGMENTS(_p) (RTPKT_TO_OSPKT(_p)->cb[CB_OFF+1])
// 0x0 ~0x7f: TX to AP's own BSS which has the specified AID. if AID>127, set bit 7 in RTMP_SET_PACKET_EMACTAB too.
//(this value also as MAC(on-chip WCID) table index)
// 0x80~0xff: TX to a WDS link. b0~6: WDS index
/* 0x0 ~0x7f: TX to AP's own BSS which has the specified AID. if AID>127, set bit 7 in RTMP_SET_PACKET_EMACTAB too. */
/*(this value also as MAC(on-chip WCID) table index) */
/* 0x80~0xff: TX to a WDS link. b0~6: WDS index */
#define RTMP_SET_PACKET_WCID(_p, _wdsidx) (RTPKT_TO_OSPKT(_p)->cb[CB_OFF+2] = _wdsidx)
#define RTMP_GET_PACKET_WCID(_p) ((UCHAR)(RTPKT_TO_OSPKT(_p)->cb[CB_OFF+2]))
// 0xff: PKTSRC_NDIS, others: local TX buffer index. This value affects how to a packet
/* 0xff: PKTSRC_NDIS, others: local TX buffer index. This value affects how to a packet */
#define RTMP_SET_PACKET_SOURCE(_p, _pktsrc) (RTPKT_TO_OSPKT(_p)->cb[CB_OFF+3] = _pktsrc)
#define RTMP_GET_PACKET_SOURCE(_p) (RTPKT_TO_OSPKT(_p)->cb[CB_OFF+3])
// RTS/CTS-to-self protection method
/* RTS/CTS-to-self protection method */
#define RTMP_SET_PACKET_RTS(_p, _num) (RTPKT_TO_OSPKT(_p)->cb[CB_OFF+4] = _num)
#define RTMP_GET_PACKET_RTS(_p) (RTPKT_TO_OSPKT(_p)->cb[CB_OFF+4])
// see RTMP_S(G)ET_PACKET_EMACTAB
/* see RTMP_S(G)ET_PACKET_EMACTAB */
// TX rate index
/* TX rate index */
#define RTMP_SET_PACKET_TXRATE(_p, _rate) (RTPKT_TO_OSPKT(_p)->cb[CB_OFF+5] = _rate)
#define RTMP_GET_PACKET_TXRATE(_p) (RTPKT_TO_OSPKT(_p)->cb[CB_OFF+5])
// From which Interface
/* From which Interface */
#define RTMP_SET_PACKET_IF(_p, _ifdx) (RTPKT_TO_OSPKT(_p)->cb[CB_OFF+6] = _ifdx)
#define RTMP_GET_PACKET_IF(_p) (RTPKT_TO_OSPKT(_p)->cb[CB_OFF+6])
#define RTMP_SET_PACKET_NET_DEVICE_MBSSID(_p, _bss) RTMP_SET_PACKET_IF((_p), (_bss))
@ -759,9 +759,9 @@ void linux_pci_unmap_single(void *handle, dma_addr_t dma_addr, size_t size,
#define RTMP_SET_PACKET_MOREDATA(_p, _morebit) (RTPKT_TO_OSPKT(_p)->cb[CB_OFF+7] = _morebit)
#define RTMP_GET_PACKET_MOREDATA(_p) (RTPKT_TO_OSPKT(_p)->cb[CB_OFF+7])
//
// Sepcific Pakcet Type definition
//
/* */
/* Sepcific Pakcet Type definition */
/* */
#define RTMP_PACKET_SPECIFIC_CB_OFFSET 11
#define RTMP_PACKET_SPECIFIC_DHCP 0x01
@ -771,10 +771,10 @@ void linux_pci_unmap_single(void *handle, dma_addr_t dma_addr, size_t size,
#define RTMP_PACKET_SPECIFIC_VLAN 0x10
#define RTMP_PACKET_SPECIFIC_LLCSNAP 0x20
//Specific
/*Specific */
#define RTMP_SET_PACKET_SPECIFIC(_p, _flg) (RTPKT_TO_OSPKT(_p)->cb[CB_OFF+11] = _flg)
//DHCP
/*DHCP */
#define RTMP_SET_PACKET_DHCP(_p, _flg) \
do{ \
if (_flg) \
@ -784,7 +784,7 @@ void linux_pci_unmap_single(void *handle, dma_addr_t dma_addr, size_t size,
}while(0)
#define RTMP_GET_PACKET_DHCP(_p) (RTPKT_TO_OSPKT(_p)->cb[CB_OFF+11] & RTMP_PACKET_SPECIFIC_DHCP)
//EAPOL
/*EAPOL */
#define RTMP_SET_PACKET_EAPOL(_p, _flg) \
do{ \
if (_flg) \
@ -794,7 +794,7 @@ void linux_pci_unmap_single(void *handle, dma_addr_t dma_addr, size_t size,
}while(0)
#define RTMP_GET_PACKET_EAPOL(_p) (RTPKT_TO_OSPKT(_p)->cb[CB_OFF+11] & RTMP_PACKET_SPECIFIC_EAPOL)
//WAI
/*WAI */
#define RTMP_SET_PACKET_WAI(_p, _flg) \
do{ \
if (_flg) \
@ -806,7 +806,7 @@ void linux_pci_unmap_single(void *handle, dma_addr_t dma_addr, size_t size,
#define RTMP_GET_PACKET_LOWRATE(_p) (RTPKT_TO_OSPKT(_p)->cb[CB_OFF+11] & (RTMP_PACKET_SPECIFIC_EAPOL | RTMP_PACKET_SPECIFIC_DHCP | RTMP_PACKET_SPECIFIC_WAI))
//VLAN
/*VLAN */
#define RTMP_SET_PACKET_VLAN(_p, _flg) \
do{ \
if (_flg) \
@ -816,7 +816,7 @@ void linux_pci_unmap_single(void *handle, dma_addr_t dma_addr, size_t size,
}while(0)
#define RTMP_GET_PACKET_VLAN(_p) (RTPKT_TO_OSPKT(_p)->cb[CB_OFF+11] & RTMP_PACKET_SPECIFIC_VLAN)
//LLC/SNAP
/*LLC/SNAP */
#define RTMP_SET_PACKET_LLCSNAP(_p, _flg) \
do{ \
if (_flg) \
@ -827,7 +827,7 @@ void linux_pci_unmap_single(void *handle, dma_addr_t dma_addr, size_t size,
#define RTMP_GET_PACKET_LLCSNAP(_p) (RTPKT_TO_OSPKT(_p)->cb[CB_OFF+11] & RTMP_PACKET_SPECIFIC_LLCSNAP)
// IP
/* IP */
#define RTMP_SET_PACKET_IPV4(_p, _flg) \
do{ \
if (_flg) \
@ -838,7 +838,7 @@ void linux_pci_unmap_single(void *handle, dma_addr_t dma_addr, size_t size,
#define RTMP_GET_PACKET_IPV4(_p) (RTPKT_TO_OSPKT(_p)->cb[CB_OFF+11] & RTMP_PACKET_SPECIFIC_IPV4)
// If this flag is set, it indicates that this EAPoL frame MUST be clear.
/* If this flag is set, it indicates that this EAPoL frame MUST be clear. */
#define RTMP_SET_PACKET_CLEAR_EAP_FRAME(_p, _flg) (RTPKT_TO_OSPKT(_p)->cb[CB_OFF+12] = _flg)
#define RTMP_GET_PACKET_CLEAR_EAP_FRAME(_p) (RTPKT_TO_OSPKT(_p)->cb[CB_OFF+12])
@ -860,7 +860,7 @@ int rt28xx_packet_xmit(struct sk_buff *skb);
#define IRQ_HANDLE_TYPE irqreturn_t
IRQ_HANDLE_TYPE rt2860_interrupt(int irq, void *dev_instance);
#endif // RTMP_MAC_PCI //
#endif /* RTMP_MAC_PCI // */
INT rt28xx_sta_ioctl(IN PNET_DEV net_dev, IN OUT struct ifreq *rq, IN INT cmd);
@ -869,4 +869,4 @@ extern int ra_mtd_read(int num, loff_t from, size_t len, u_char * buf);
#define GET_PAD_FROM_NET_DEV(_pAd, _net_dev) (_pAd) = (PRTMP_ADAPTER)(_net_dev)->ml_priv;
#endif // __RT_LINUX_H__ //
#endif /* __RT_LINUX_H__ // */

File diff suppressed because it is too large Load diff

View file

@ -42,30 +42,30 @@
#ifdef RT2860
#include "chip/rt2860.h"
#endif // RT2860 //
#endif /* RT2860 // */
#ifdef RT2870
#include "chip/rt2870.h"
#endif // RT2870 //
#endif /* RT2870 // */
#ifdef RT3070
#include "chip/rt3070.h"
#endif // RT3070 //
#endif /* RT3070 // */
#ifdef RT3090
#include "chip/rt3090.h"
#endif // RT3090 //
#endif /* RT3090 // */
// We will have a cost down version which mac version is 0x3090xxxx
//
// RT3090A facts
//
// a) 2.4 GHz
// b) Replacement for RT3090
// c) Internal LNA
// d) Interference over channel #14
// e) New BBP features (e.g., SIG re-modulation)
//
/* We will have a cost down version which mac version is 0x3090xxxx */
/* */
/* RT3090A facts */
/* */
/* a) 2.4 GHz */
/* b) Replacement for RT3090 */
/* c) Internal LNA */
/* d) Interference over channel #14 */
/* e) New BBP features (e.g., SIG re-modulation) */
/* */
#define IS_RT3090A(_pAd) ((((_pAd)->MACVersion & 0xffff0000) == 0x30900000))
// We will have a cost down version which mac version is 0x3090xxxx
/* We will have a cost down version which mac version is 0x3090xxxx */
#define IS_RT3090(_pAd) ((((_pAd)->MACVersion & 0xffff0000) == 0x30710000) || (IS_RT3090A(_pAd)))
#define IS_RT3070(_pAd) (((_pAd)->MACVersion & 0xffff0000) == 0x30700000)
@ -73,28 +73,28 @@
#define IS_RT2070(_pAd) (((_pAd)->RfIcType == RFIC_2020) || ((_pAd)->EFuseTag == 0x27))
#define IS_RT30xx(_pAd) (((_pAd)->MACVersion & 0xfff00000) == 0x30700000||IS_RT3090A(_pAd))
//#define IS_RT305X(_pAd) ((_pAd)->MACVersion == 0x28720200)
/*#define IS_RT305X(_pAd) ((_pAd)->MACVersion == 0x28720200) */
/* RT3572, 3592, 3562, 3062 share the same MAC version */
#define IS_RT3572(_pAd) (((_pAd)->MACVersion & 0xffff0000) == 0x35720000)
#define IS_VERSION_BEFORE_F(_pAd) (((_pAd)->MACVersion&0xffff) <= 0x0211)
// F version is 0x0212, E version is 0x0211. 309x can save more power after F version.
/* F version is 0x0212, E version is 0x0211. 309x can save more power after F version. */
#define IS_VERSION_AFTER_F(_pAd) ((((_pAd)->MACVersion&0xffff) >= 0x0212) || (((_pAd)->b3090ESpecialChip == TRUE)))
//
// RT3390 facts
//
// a) Base on RT3090 (RF IC: RT3020)
// b) 2.4 GHz
// c) 1x1
// d) Single chip
// e) Internal components: PA and LNA
//
//RT3390,RT3370
/* */
/* RT3390 facts */
/* */
/* a) Base on RT3090 (RF IC: RT3020) */
/* b) 2.4 GHz */
/* c) 1x1 */
/* d) Single chip */
/* e) Internal components: PA and LNA */
/* */
/*RT3390,RT3370 */
#define IS_RT3390(_pAd) (((_pAd)->MACVersion & 0xFFFF0000) == 0x33900000)
// ------------------------------------------------------
// PCI registers - base address 0x0000
// ------------------------------------------------------
/* ------------------------------------------------------ */
/* PCI registers - base address 0x0000 */
/* ------------------------------------------------------ */
#define CHIP_PCI_CFG 0x0000
#define CHIP_PCI_EECTRL 0x0004
#define CHIP_PCI_MCUCTRL 0x0008
@ -103,15 +103,15 @@
#define RETRY_LIMIT 10
// ------------------------------------------------------
// BBP & RF definition
// ------------------------------------------------------
/* ------------------------------------------------------ */
/* BBP & RF definition */
/* ------------------------------------------------------ */
#define BUSY 1
#define IDLE 0
//-------------------------------------------------------------------------
// EEPROM definition
//-------------------------------------------------------------------------
/*------------------------------------------------------------------------- */
/* EEPROM definition */
/*------------------------------------------------------------------------- */
#define EEDO 0x08
#define EEDI 0x04
#define EECS 0x02
@ -123,11 +123,11 @@
#define EEPROM_EWDS_OPCODE 0x10
#define EEPROM_EWEN_OPCODE 0x13
#define NUM_EEPROM_BBP_PARMS 19 // Include NIC Config 0, 1, CR, TX ALC step, BBPs
#define NUM_EEPROM_BBP_PARMS 19 /* Include NIC Config 0, 1, CR, TX ALC step, BBPs */
#define NUM_EEPROM_TX_G_PARMS 7
#define EEPROM_NIC1_OFFSET 0x34 // The address is from NIC config 0, not BBP register ID
#define EEPROM_NIC2_OFFSET 0x36 // The address is from NIC config 0, not BBP register ID
#define EEPROM_BBP_BASE_OFFSET 0xf0 // The address is from NIC config 0, not BBP register ID
#define EEPROM_NIC1_OFFSET 0x34 /* The address is from NIC config 0, not BBP register ID */
#define EEPROM_NIC2_OFFSET 0x36 /* The address is from NIC config 0, not BBP register ID */
#define EEPROM_BBP_BASE_OFFSET 0xf0 /* The address is from NIC config 0, not BBP register ID */
#define EEPROM_G_TX_PWR_OFFSET 0x52
#define EEPROM_G_TX2_PWR_OFFSET 0x60
#define EEPROM_LED1_OFFSET 0x3c
@ -139,22 +139,22 @@
#define EEPROM_RSSI_A_OFFSET 0x4a
#define EEPROM_TXMIXER_GAIN_5G 0x4c
#define EEPROM_DEFINE_MAX_TXPWR 0x4e
#define EEPROM_TXPOWER_BYRATE_20MHZ_2_4G 0xde // 20MHZ 2.4G tx power.
#define EEPROM_TXPOWER_BYRATE_40MHZ_2_4G 0xee // 40MHZ 2.4G tx power.
#define EEPROM_TXPOWER_BYRATE_20MHZ_5G 0xfa // 20MHZ 5G tx power.
#define EEPROM_TXPOWER_BYRATE_40MHZ_5G 0x10a // 40MHZ 5G tx power.
#define EEPROM_TXPOWER_BYRATE_20MHZ_2_4G 0xde /* 20MHZ 2.4G tx power. */
#define EEPROM_TXPOWER_BYRATE_40MHZ_2_4G 0xee /* 40MHZ 2.4G tx power. */
#define EEPROM_TXPOWER_BYRATE_20MHZ_5G 0xfa /* 20MHZ 5G tx power. */
#define EEPROM_TXPOWER_BYRATE_40MHZ_5G 0x10a /* 40MHZ 5G tx power. */
#define EEPROM_A_TX_PWR_OFFSET 0x78
#define EEPROM_A_TX2_PWR_OFFSET 0xa6
//#define EEPROM_Japan_TX_PWR_OFFSET 0x90 // 802.11j
//#define EEPROM_Japan_TX2_PWR_OFFSET 0xbe
//#define EEPROM_TSSI_REF_OFFSET 0x54
//#define EEPROM_TSSI_DELTA_OFFSET 0x24
//#define EEPROM_CCK_TX_PWR_OFFSET 0x62
//#define EEPROM_CALIBRATE_OFFSET 0x7c
/*#define EEPROM_Japan_TX_PWR_OFFSET 0x90 // 802.11j */
/*#define EEPROM_Japan_TX2_PWR_OFFSET 0xbe */
/*#define EEPROM_TSSI_REF_OFFSET 0x54 */
/*#define EEPROM_TSSI_DELTA_OFFSET 0x24 */
/*#define EEPROM_CCK_TX_PWR_OFFSET 0x62 */
/*#define EEPROM_CALIBRATE_OFFSET 0x7c */
#define EEPROM_VERSION_OFFSET 0x02
#define EEPROM_FREQ_OFFSET 0x3a
#define EEPROM_TXPOWER_BYRATE 0xde // 20MHZ power.
#define EEPROM_TXPOWER_DELTA 0x50 // 20MHZ AND 40 MHZ use different power. This is delta in 40MHZ.
#define EEPROM_TXPOWER_BYRATE 0xde /* 20MHZ power. */
#define EEPROM_TXPOWER_DELTA 0x50 /* 20MHZ AND 40 MHZ use different power. This is delta in 40MHZ. */
#define VALID_EEPROM_VERSION 1
/*
@ -163,13 +163,13 @@
#define RT28xx_EEPROM_READ16(_pAd, _offset, _value) \
(_pAd)->chipOps.eeread((RTMP_ADAPTER *)(_pAd), (USHORT)(_offset), (PUSHORT)&(_value))
// -------------------------------------------------------------------
// E2PROM data layout
// -------------------------------------------------------------------
/* ------------------------------------------------------------------- */
/* E2PROM data layout */
/* ------------------------------------------------------------------- */
//
// MCU_LEDCS: MCU LED Control Setting.
//
/* */
/* MCU_LEDCS: MCU LED Control Setting. */
/* */
typedef union _MCU_LEDCS_STRUC {
struct {
UCHAR LedMode:7;
@ -178,14 +178,14 @@ typedef union _MCU_LEDCS_STRUC {
UCHAR word;
} MCU_LEDCS_STRUC, *PMCU_LEDCS_STRUC;
//
// EEPROM antenna select format
//
/* */
/* EEPROM antenna select format */
/* */
typedef union _EEPROM_ANTENNA_STRUC {
struct {
USHORT RxPath:4; // 1: 1R, 2: 2R, 3: 3R
USHORT TxPath:4; // 1: 1T, 2: 2T
USHORT RfIcType:4; // see E2PROM document
USHORT RxPath:4; /* 1: 1R, 2: 2R, 3: 3R */
USHORT TxPath:4; /* 1: 1T, 2: 2T */
USHORT RfIcType:4; /* see E2PROM document */
USHORT Rsv:4;
} field;
USHORT word;
@ -193,66 +193,66 @@ typedef union _EEPROM_ANTENNA_STRUC {
typedef union _EEPROM_NIC_CINFIG2_STRUC {
struct {
USHORT HardwareRadioControl:1; // 1:enable, 0:disable
USHORT DynamicTxAgcControl:1; //
USHORT ExternalLNAForG:1; //
USHORT ExternalLNAForA:1; // external LNA enable for 2.4G
USHORT CardbusAcceleration:1; // !!! NOTE: 0 - enable, 1 - disable
USHORT HardwareRadioControl:1; /* 1:enable, 0:disable */
USHORT DynamicTxAgcControl:1; /* */
USHORT ExternalLNAForG:1; /* */
USHORT ExternalLNAForA:1; /* external LNA enable for 2.4G */
USHORT CardbusAcceleration:1; /* !!! NOTE: 0 - enable, 1 - disable */
USHORT BW40MSidebandForG:1;
USHORT BW40MSidebandForA:1;
USHORT EnableWPSPBC:1; // WPS PBC Control bit
USHORT BW40MAvailForG:1; // 0:enable, 1:disable
USHORT BW40MAvailForA:1; // 0:enable, 1:disable
USHORT Rsv1:1; // must be 0
USHORT AntDiversity:1; // Antenna diversity
USHORT Rsv2:3; // must be 0
USHORT DACTestBit:1; // control if driver should patch the DAC issue
USHORT EnableWPSPBC:1; /* WPS PBC Control bit */
USHORT BW40MAvailForG:1; /* 0:enable, 1:disable */
USHORT BW40MAvailForA:1; /* 0:enable, 1:disable */
USHORT Rsv1:1; /* must be 0 */
USHORT AntDiversity:1; /* Antenna diversity */
USHORT Rsv2:3; /* must be 0 */
USHORT DACTestBit:1; /* control if driver should patch the DAC issue */
} field;
USHORT word;
} EEPROM_NIC_CONFIG2_STRUC, *PEEPROM_NIC_CONFIG2_STRUC;
//
// TX_PWR Value valid range 0xFA(-6) ~ 0x24(36)
//
/* */
/* TX_PWR Value valid range 0xFA(-6) ~ 0x24(36) */
/* */
typedef union _EEPROM_TX_PWR_STRUC {
struct {
CHAR Byte0; // Low Byte
CHAR Byte1; // High Byte
CHAR Byte0; /* Low Byte */
CHAR Byte1; /* High Byte */
} field;
USHORT word;
} EEPROM_TX_PWR_STRUC, *PEEPROM_TX_PWR_STRUC;
typedef union _EEPROM_VERSION_STRUC {
struct {
UCHAR FaeReleaseNumber; // Low Byte
UCHAR Version; // High Byte
UCHAR FaeReleaseNumber; /* Low Byte */
UCHAR Version; /* High Byte */
} field;
USHORT word;
} EEPROM_VERSION_STRUC, *PEEPROM_VERSION_STRUC;
typedef union _EEPROM_LED_STRUC {
struct {
USHORT PolarityRDY_G:1; // Polarity RDY_G setting.
USHORT PolarityRDY_A:1; // Polarity RDY_A setting.
USHORT PolarityACT:1; // Polarity ACT setting.
USHORT PolarityGPIO_0:1; // Polarity GPIO#0 setting.
USHORT PolarityGPIO_1:1; // Polarity GPIO#1 setting.
USHORT PolarityGPIO_2:1; // Polarity GPIO#2 setting.
USHORT PolarityGPIO_3:1; // Polarity GPIO#3 setting.
USHORT PolarityGPIO_4:1; // Polarity GPIO#4 setting.
USHORT LedMode:5; // Led mode.
USHORT Rsvd:3; // Reserved
USHORT PolarityRDY_G:1; /* Polarity RDY_G setting. */
USHORT PolarityRDY_A:1; /* Polarity RDY_A setting. */
USHORT PolarityACT:1; /* Polarity ACT setting. */
USHORT PolarityGPIO_0:1; /* Polarity GPIO#0 setting. */
USHORT PolarityGPIO_1:1; /* Polarity GPIO#1 setting. */
USHORT PolarityGPIO_2:1; /* Polarity GPIO#2 setting. */
USHORT PolarityGPIO_3:1; /* Polarity GPIO#3 setting. */
USHORT PolarityGPIO_4:1; /* Polarity GPIO#4 setting. */
USHORT LedMode:5; /* Led mode. */
USHORT Rsvd:3; /* Reserved */
} field;
USHORT word;
} EEPROM_LED_STRUC, *PEEPROM_LED_STRUC;
typedef union _EEPROM_TXPOWER_DELTA_STRUC {
struct {
UCHAR DeltaValue:6; // Tx Power dalta value (MAX=4)
UCHAR Type:1; // 1: plus the delta value, 0: minus the delta value
UCHAR TxPowerEnable:1; // Enable
UCHAR DeltaValue:6; /* Tx Power dalta value (MAX=4) */
UCHAR Type:1; /* 1: plus the delta value, 0: minus the delta value */
UCHAR TxPowerEnable:1; /* Enable */
} field;
UCHAR value;
} EEPROM_TXPOWER_DELTA_STRUC, *PEEPROM_TXPOWER_DELTA_STRUC;
#endif // __RTMP_CHIP_H__ //
#endif /* __RTMP_CHIP_H__ // */

View file

@ -60,4 +60,4 @@ VOID shift_row(IN PUCHAR in, OUT PUCHAR out);
VOID mix_column(IN PUCHAR in, OUT PUCHAR out);
#endif //__RTMP_CKIPMIC_H__
#endif /*__RTMP_CKIPMIC_H__ */

File diff suppressed because it is too large Load diff

View file

@ -30,46 +30,46 @@
#include "rtmp_type.h"
// 4-byte HTC field. maybe included in any frame except non-QOS data frame. The Order bit must set 1.
/* 4-byte HTC field. maybe included in any frame except non-QOS data frame. The Order bit must set 1. */
typedef struct PACKED {
UINT32 MA:1; //management action payload exist in (QoS Null+HTC)
UINT32 TRQ:1; //sounding request
UINT32 MRQ:1; //MCS feedback. Request for a MCS feedback
UINT32 MRSorASI:3; // MRQ Sequence identifier. unchanged during entire procedure. 0x000-0x110.
UINT32 MFS:3; //SET to the received value of MRS. 0x111 for unsolicited MFB.
UINT32 MFBorASC:7; //Link adaptation feedback containing recommended MCS. 0x7f for no feedback or not available
UINT32 CalPos:2; // calibration position
UINT32 CalSeq:2; //calibration sequence
UINT32 FBKReq:2; //feedback request
UINT32 CSISTEERING:2; //CSI/ STEERING
UINT32 ZLFAnnouce:1; // ZLF announcement
UINT32 rsv:5; //calibration sequence
UINT32 ACConstraint:1; //feedback request
UINT32 RDG:1; //RDG / More PPDU
UINT32 MA:1; /*management action payload exist in (QoS Null+HTC) */
UINT32 TRQ:1; /*sounding request */
UINT32 MRQ:1; /*MCS feedback. Request for a MCS feedback */
UINT32 MRSorASI:3; /* MRQ Sequence identifier. unchanged during entire procedure. 0x000-0x110. */
UINT32 MFS:3; /*SET to the received value of MRS. 0x111 for unsolicited MFB. */
UINT32 MFBorASC:7; /*Link adaptation feedback containing recommended MCS. 0x7f for no feedback or not available */
UINT32 CalPos:2; /* calibration position */
UINT32 CalSeq:2; /*calibration sequence */
UINT32 FBKReq:2; /*feedback request */
UINT32 CSISTEERING:2; /*CSI/ STEERING */
UINT32 ZLFAnnouce:1; /* ZLF announcement */
UINT32 rsv:5; /*calibration sequence */
UINT32 ACConstraint:1; /*feedback request */
UINT32 RDG:1; /*RDG / More PPDU */
} HT_CONTROL, *PHT_CONTROL;
// 2-byte QOS CONTROL field
/* 2-byte QOS CONTROL field */
typedef struct PACKED {
USHORT TID:4;
USHORT EOSP:1;
USHORT AckPolicy:2; //0: normal ACK 1:No ACK 2:scheduled under MTBA/PSMP 3: BA
USHORT AckPolicy:2; /*0: normal ACK 1:No ACK 2:scheduled under MTBA/PSMP 3: BA */
USHORT AMsduPresent:1;
USHORT Txop_QueueSize:8;
} QOS_CONTROL, *PQOS_CONTROL;
// 2-byte Frame control field
/* 2-byte Frame control field */
typedef struct PACKED {
USHORT Ver:2; // Protocol version
USHORT Type:2; // MSDU type
USHORT SubType:4; // MSDU subtype
USHORT ToDs:1; // To DS indication
USHORT FrDs:1; // From DS indication
USHORT MoreFrag:1; // More fragment bit
USHORT Retry:1; // Retry status bit
USHORT PwrMgmt:1; // Power management bit
USHORT MoreData:1; // More data bit
USHORT Wep:1; // Wep data
USHORT Order:1; // Strict order expected
USHORT Ver:2; /* Protocol version */
USHORT Type:2; /* MSDU type */
USHORT SubType:4; /* MSDU subtype */
USHORT ToDs:1; /* To DS indication */
USHORT FrDs:1; /* From DS indication */
USHORT MoreFrag:1; /* More fragment bit */
USHORT Retry:1; /* Retry status bit */
USHORT PwrMgmt:1; /* Power management bit */
USHORT MoreData:1; /* More data bit */
USHORT Wep:1; /* Wep data */
USHORT Order:1; /* Strict order expected */
} FRAME_CONTROL, *PFRAME_CONTROL;
typedef struct PACKED _HEADER_802_11 {
@ -97,4 +97,4 @@ typedef struct PACKED _RTS_FRAME {
UCHAR Addr2[MAC_ADDR_LEN];
} RTS_FRAME, *PRTS_FRAME;
#endif // __DOT11_BASE_H__ //
#endif /* __DOT11_BASE_H__ // */

View file

@ -39,19 +39,19 @@
#ifdef RTMP_PCI_SUPPORT
#include "iface/rtmp_pci.h"
#endif // RTMP_PCI_SUPPORT //
#endif /* RTMP_PCI_SUPPORT // */
#ifdef RTMP_USB_SUPPORT
#include "iface/rtmp_usb.h"
#endif // RTMP_USB_SUPPORT //
#endif /* RTMP_USB_SUPPORT // */
typedef struct _INF_PCI_CONFIG_ {
unsigned long CSRBaseAddress; // PCI MMIO Base Address, all access will use
unsigned long CSRBaseAddress; /* PCI MMIO Base Address, all access will use */
unsigned int irq_num;
} INF_PCI_CONFIG;
typedef struct _INF_USB_CONFIG_ {
UINT8 BulkInEpAddr; // bulk-in endpoint address
UINT8 BulkOutEpAddr[6]; // bulk-out endpoint address
UINT8 BulkInEpAddr; /* bulk-in endpoint address */
UINT8 BulkOutEpAddr[6]; /* bulk-out endpoint address */
} INF_USB_CONFIG;
typedef struct _INF_RBUS_CONFIG_ {
@ -72,4 +72,4 @@ typedef union _RTMP_INF_CONFIG_ {
struct _INF_RBUS_CONFIG_ rbusConfig;
} RTMP_INF_CONFIG;
#endif // __RTMP_IFACE_H__ //
#endif /* __RTMP_IFACE_H__ // */

View file

@ -46,4 +46,4 @@ INT RtmpAsicSendCommandToMcu(IN PRTMP_ADAPTER pAd,
IN UCHAR Command,
IN UCHAR Token, IN UCHAR Arg0, IN UCHAR Arg1);
#endif // __RTMP_MCU_H__ //
#endif /* __RTMP_MCU_H__ // */

View file

@ -39,7 +39,7 @@
#ifdef LINUX
#include "rt_linux.h"
#endif // LINUX //
#endif /* LINUX // */
/*
This data structure mainly strip some callback function defined in
@ -69,7 +69,7 @@ typedef enum _RTMP_TASK_STATUS_ {
typedef struct _RTMP_OS_TASK_ {
char taskName[RTMP_OS_TASK_NAME_LEN];
void *priv;
//unsigned long taskFlags;
/*unsigned long taskFlags; */
RTMP_TASK_STATUS taskStatus;
#ifndef KTHREAD_SUPPORT
RTMP_OS_SEM taskSema;
@ -87,4 +87,4 @@ typedef struct _RTMP_OS_TASK_ {
int RtmpOSIRQRequest(IN PNET_DEV pNetDev);
int RtmpOSIRQRelease(IN PNET_DEV pNetDev);
#endif // __RMTP_OS_H__ //
#endif /* __RMTP_OS_H__ // */

View file

@ -50,29 +50,29 @@
rtmp_timer_##_func
/* ----------------- Timer Related MARCO ---------------*/
// In some os or chipset, we have a lot of timer functions and will read/write register,
// it's not allowed in Linux USB sub-system to do it ( because of sleep issue when
// submit to ctrl pipe). So we need a wrapper function to take care it.
/* In some os or chipset, we have a lot of timer functions and will read/write register, */
/* it's not allowed in Linux USB sub-system to do it ( because of sleep issue when */
/* submit to ctrl pipe). So we need a wrapper function to take care it. */
#ifdef RTMP_TIMER_TASK_SUPPORT
typedef VOID(*RTMP_TIMER_TASK_HANDLE) (IN PVOID SystemSpecific1,
IN PVOID FunctionContext,
IN PVOID SystemSpecific2,
IN PVOID SystemSpecific3);
#endif // RTMP_TIMER_TASK_SUPPORT //
#endif /* RTMP_TIMER_TASK_SUPPORT // */
typedef struct _RALINK_TIMER_STRUCT {
RTMP_OS_TIMER TimerObj; // Ndis Timer object
BOOLEAN Valid; // Set to True when call RTMPInitTimer
BOOLEAN State; // True if timer cancelled
BOOLEAN PeriodicType; // True if timer is periodic timer
BOOLEAN Repeat; // True if periodic timer
ULONG TimerValue; // Timer value in milliseconds
ULONG cookie; // os specific object
RTMP_OS_TIMER TimerObj; /* Ndis Timer object */
BOOLEAN Valid; /* Set to True when call RTMPInitTimer */
BOOLEAN State; /* True if timer cancelled */
BOOLEAN PeriodicType; /* True if timer is periodic timer */
BOOLEAN Repeat; /* True if periodic timer */
ULONG TimerValue; /* Timer value in milliseconds */
ULONG cookie; /* os specific object */
#ifdef RTMP_TIMER_TASK_SUPPORT
RTMP_TIMER_TASK_HANDLE handle;
void *pAd;
#endif // RTMP_TIMER_TASK_SUPPORT //
#endif /* RTMP_TIMER_TASK_SUPPORT // */
} RALINK_TIMER_STRUCT, *PRALINK_TIMER_STRUCT;
#ifdef RTMP_TIMER_TASK_SUPPORT
@ -113,7 +113,7 @@ void rtmp_timer_##_func(unsigned long data) \
if (pTimer->Repeat) \
RTMP_OS_Add_Timer(&pTimer->TimerObj, pTimer->TimerValue); \
}
#endif // RTMP_TIMER_TASK_SUPPORT //
#endif /* RTMP_TIMER_TASK_SUPPORT // */
DECLARE_TIMER_FUNCTION(MlmePeriodicExec);
DECLARE_TIMER_FUNCTION(MlmeRssiReportExec);
@ -122,7 +122,7 @@ DECLARE_TIMER_FUNCTION(APSDPeriodicExec);
DECLARE_TIMER_FUNCTION(AsicRfTuningExec);
#ifdef RTMP_MAC_USB
DECLARE_TIMER_FUNCTION(BeaconUpdateExec);
#endif // RTMP_MAC_USB //
#endif /* RTMP_MAC_USB // */
DECLARE_TIMER_FUNCTION(BeaconTimeout);
DECLARE_TIMER_FUNCTION(ScanTimeout);
@ -138,10 +138,10 @@ DECLARE_TIMER_FUNCTION(RadioOnExec);
#ifdef RTMP_MAC_USB
DECLARE_TIMER_FUNCTION(RtmpUsbStaAsicForceWakeupTimeout);
#endif // RTMP_MAC_USB //
#endif /* RTMP_MAC_USB // */
#if defined(AP_LED) || defined(STA_LED)
DECLARE_TIMER_FUNCTION(LedCtrlMain);
#endif
#endif // __RTMP_TIMER_H__ //
#endif /* __RTMP_TIMER_H__ // */

View file

@ -41,15 +41,15 @@
#define PACKED __attribute__ ((packed))
#ifdef LINUX
// Put platform dependent declaration here
// For example, linux type definition
/* Put platform dependent declaration here */
/* For example, linux type definition */
typedef unsigned char UINT8;
typedef unsigned short UINT16;
typedef unsigned int UINT32;
typedef unsigned long long UINT64;
typedef int INT32;
typedef long long INT64;
#endif // LINUX //
#endif /* LINUX // */
typedef unsigned char *PUINT8;
typedef unsigned short *PUINT16;
@ -58,7 +58,7 @@ typedef unsigned long long *PUINT64;
typedef int *PINT32;
typedef long long *PINT64;
// modified for fixing compile warning on Sigma 8634 platform
/* modified for fixing compile warning on Sigma 8634 platform */
typedef char STRING;
typedef signed char CHAR;
@ -72,13 +72,13 @@ typedef unsigned char UCHAR;
typedef unsigned short USHORT;
typedef unsigned int UINT;
typedef unsigned long ULONG;
#endif // LINUX //
#endif /* LINUX // */
typedef unsigned long long ULONGLONG;
typedef unsigned char BOOLEAN;
#ifdef LINUX
typedef void VOID;
#endif // LINUX //
#endif /* LINUX // */
typedef char *PSTRING;
typedef VOID *PVOID;
@ -99,9 +99,9 @@ typedef union _LARGE_INTEGER {
INT64 QuadPart;
} LARGE_INTEGER;
//
// Register set pair for initialzation register set definition
//
/* */
/* Register set pair for initialzation register set definition */
/* */
typedef struct _RTMP_REG_PAIR {
ULONG Register;
ULONG Value;
@ -112,9 +112,9 @@ typedef struct _REG_PAIR {
UCHAR Value;
} REG_PAIR, *PREG_PAIR;
//
// Register set pair for initialzation register set definition
//
/* */
/* Register set pair for initialzation register set definition */
/* */
typedef struct _RTMP_RF_REGS {
UCHAR Channel;
ULONG R1;
@ -135,4 +135,4 @@ typedef int NTSTATUS;
#define STATUS_SUCCESS 0x00
#define STATUS_UNSUCCESSFUL 0x01
#endif // __RTMP_TYPE_H__ //
#endif /* __RTMP_TYPE_H__ // */

View file

@ -30,54 +30,54 @@
#include "rtmp_type.h"
// New for MeetingHouse Api support
#define CMDTHREAD_VENDOR_RESET 0x0D730101 // cmd
#define CMDTHREAD_VENDOR_UNPLUG 0x0D730102 // cmd
#define CMDTHREAD_VENDOR_SWITCH_FUNCTION 0x0D730103 // cmd
#define CMDTHREAD_MULTI_WRITE_MAC 0x0D730107 // cmd
#define CMDTHREAD_MULTI_READ_MAC 0x0D730108 // cmd
#define CMDTHREAD_VENDOR_EEPROM_WRITE 0x0D73010A // cmd
#define CMDTHREAD_VENDOR_EEPROM_READ 0x0D73010B // cmd
#define CMDTHREAD_VENDOR_ENTER_TESTMODE 0x0D73010C // cmd
#define CMDTHREAD_VENDOR_EXIT_TESTMODE 0x0D73010D // cmd
#define CMDTHREAD_VENDOR_WRITE_BBP 0x0D730119 // cmd
#define CMDTHREAD_VENDOR_READ_BBP 0x0D730118 // cmd
#define CMDTHREAD_VENDOR_WRITE_RF 0x0D73011A // cmd
#define CMDTHREAD_VENDOR_FLIP_IQ 0x0D73011D // cmd
#define CMDTHREAD_RESET_BULK_OUT 0x0D730210 // cmd
#define CMDTHREAD_RESET_BULK_IN 0x0D730211 // cmd
#define CMDTHREAD_SET_PSM_BIT 0x0D730212 // cmd
#define CMDTHREAD_SET_RADIO 0x0D730214 // cmd
#define CMDTHREAD_UPDATE_TX_RATE 0x0D730216 // cmd
#define CMDTHREAD_802_11_ADD_KEY_WEP 0x0D730218 // cmd
#define CMDTHREAD_RESET_FROM_ERROR 0x0D73021A // cmd
#define CMDTHREAD_LINK_DOWN 0x0D73021B // cmd
#define CMDTHREAD_RESET_FROM_NDIS 0x0D73021C // cmd
#define CMDTHREAD_CHECK_GPIO 0x0D730215 // cmd
#define CMDTHREAD_FORCE_WAKE_UP 0x0D730222 // cmd
#define CMDTHREAD_SET_BW 0x0D730225 // cmd
#define CMDTHREAD_SET_ASIC_WCID 0x0D730226 // cmd
#define CMDTHREAD_SET_ASIC_WCID_CIPHER 0x0D730227 // cmd
#define CMDTHREAD_QKERIODIC_EXECUT 0x0D73023D // cmd
#define RT_CMD_SET_KEY_TABLE 0x0D730228 // cmd
#define RT_CMD_SET_RX_WCID_TABLE 0x0D730229 // cmd
#define CMDTHREAD_SET_CLIENT_MAC_ENTRY 0x0D73023E // cmd
#define CMDTHREAD_SET_GROUP_KEY 0x0D73023F // cmd
#define CMDTHREAD_SET_PAIRWISE_KEY 0x0D730240 // cmd
/* New for MeetingHouse Api support */
#define CMDTHREAD_VENDOR_RESET 0x0D730101 /* cmd */
#define CMDTHREAD_VENDOR_UNPLUG 0x0D730102 /* cmd */
#define CMDTHREAD_VENDOR_SWITCH_FUNCTION 0x0D730103 /* cmd */
#define CMDTHREAD_MULTI_WRITE_MAC 0x0D730107 /* cmd */
#define CMDTHREAD_MULTI_READ_MAC 0x0D730108 /* cmd */
#define CMDTHREAD_VENDOR_EEPROM_WRITE 0x0D73010A /* cmd */
#define CMDTHREAD_VENDOR_EEPROM_READ 0x0D73010B /* cmd */
#define CMDTHREAD_VENDOR_ENTER_TESTMODE 0x0D73010C /* cmd */
#define CMDTHREAD_VENDOR_EXIT_TESTMODE 0x0D73010D /* cmd */
#define CMDTHREAD_VENDOR_WRITE_BBP 0x0D730119 /* cmd */
#define CMDTHREAD_VENDOR_READ_BBP 0x0D730118 /* cmd */
#define CMDTHREAD_VENDOR_WRITE_RF 0x0D73011A /* cmd */
#define CMDTHREAD_VENDOR_FLIP_IQ 0x0D73011D /* cmd */
#define CMDTHREAD_RESET_BULK_OUT 0x0D730210 /* cmd */
#define CMDTHREAD_RESET_BULK_IN 0x0D730211 /* cmd */
#define CMDTHREAD_SET_PSM_BIT 0x0D730212 /* cmd */
#define CMDTHREAD_SET_RADIO 0x0D730214 /* cmd */
#define CMDTHREAD_UPDATE_TX_RATE 0x0D730216 /* cmd */
#define CMDTHREAD_802_11_ADD_KEY_WEP 0x0D730218 /* cmd */
#define CMDTHREAD_RESET_FROM_ERROR 0x0D73021A /* cmd */
#define CMDTHREAD_LINK_DOWN 0x0D73021B /* cmd */
#define CMDTHREAD_RESET_FROM_NDIS 0x0D73021C /* cmd */
#define CMDTHREAD_CHECK_GPIO 0x0D730215 /* cmd */
#define CMDTHREAD_FORCE_WAKE_UP 0x0D730222 /* cmd */
#define CMDTHREAD_SET_BW 0x0D730225 /* cmd */
#define CMDTHREAD_SET_ASIC_WCID 0x0D730226 /* cmd */
#define CMDTHREAD_SET_ASIC_WCID_CIPHER 0x0D730227 /* cmd */
#define CMDTHREAD_QKERIODIC_EXECUT 0x0D73023D /* cmd */
#define RT_CMD_SET_KEY_TABLE 0x0D730228 /* cmd */
#define RT_CMD_SET_RX_WCID_TABLE 0x0D730229 /* cmd */
#define CMDTHREAD_SET_CLIENT_MAC_ENTRY 0x0D73023E /* cmd */
#define CMDTHREAD_SET_GROUP_KEY 0x0D73023F /* cmd */
#define CMDTHREAD_SET_PAIRWISE_KEY 0x0D730240 /* cmd */
#define CMDTHREAD_802_11_QUERY_HARDWARE_REGISTER 0x0D710105 // cmd
#define CMDTHREAD_802_11_SET_PHY_MODE 0x0D79010C // cmd
#define CMDTHREAD_802_11_SET_STA_CONFIG 0x0D790111 // cmd
#define CMDTHREAD_802_11_SET_PREAMBLE 0x0D790101 // cmd
#define CMDTHREAD_802_11_COUNTER_MEASURE 0x0D790102 // cmd
// add by johnli, fix "in_interrupt" error when call "MacTableDeleteEntry" in Rx tasklet
#define CMDTHREAD_UPDATE_PROTECT 0x0D790103 // cmd
// end johnli
#define CMDTHREAD_802_11_QUERY_HARDWARE_REGISTER 0x0D710105 /* cmd */
#define CMDTHREAD_802_11_SET_PHY_MODE 0x0D79010C /* cmd */
#define CMDTHREAD_802_11_SET_STA_CONFIG 0x0D790111 /* cmd */
#define CMDTHREAD_802_11_SET_PREAMBLE 0x0D790101 /* cmd */
#define CMDTHREAD_802_11_COUNTER_MEASURE 0x0D790102 /* cmd */
/* add by johnli, fix "in_interrupt" error when call "MacTableDeleteEntry" in Rx tasklet */
#define CMDTHREAD_UPDATE_PROTECT 0x0D790103 /* cmd */
/* end johnli */
//CMDTHREAD_MULTI_READ_MAC
//CMDTHREAD_MULTI_WRITE_MAC
//CMDTHREAD_VENDOR_EEPROM_READ
//CMDTHREAD_VENDOR_EEPROM_WRITE
/*CMDTHREAD_MULTI_READ_MAC */
/*CMDTHREAD_MULTI_WRITE_MAC */
/*CMDTHREAD_VENDOR_EEPROM_READ */
/*CMDTHREAD_VENDOR_EEPROM_WRITE */
typedef struct _CMDHandler_TLV {
USHORT Offset;
USHORT Length;
@ -116,7 +116,7 @@ typedef struct _CmdQ {
USB Cmd to ASIC Related MACRO
******************************************************************************/
// reset MAC of a station entry to 0xFFFFFFFFFFFF
/* reset MAC of a station entry to 0xFFFFFFFFFFFF */
#define RTMP_STA_ENTRY_MAC_RESET(pAd, Wcid) \
{ RT_SET_ASIC_WCID SetAsicWcid; \
SetAsicWcid.WCID = Wcid; \
@ -125,22 +125,22 @@ typedef struct _CmdQ {
RTUSBEnqueueInternalCmd(pAd, CMDTHREAD_SET_ASIC_WCID, \
&SetAsicWcid, sizeof(RT_SET_ASIC_WCID)); }
// add this entry into ASIC RX WCID search table
/* add this entry into ASIC RX WCID search table */
#define RTMP_STA_ENTRY_ADD(pAd, pEntry) \
RTUSBEnqueueInternalCmd(pAd, CMDTHREAD_SET_CLIENT_MAC_ENTRY, \
pEntry, sizeof(MAC_TABLE_ENTRY));
// add by johnli, fix "in_interrupt" error when call "MacTableDeleteEntry" in Rx tasklet
// Set MAC register value according operation mode
/* add by johnli, fix "in_interrupt" error when call "MacTableDeleteEntry" in Rx tasklet */
/* Set MAC register value according operation mode */
#define RTMP_UPDATE_PROTECT(pAd) \
RTUSBEnqueueInternalCmd(pAd, CMDTHREAD_UPDATE_PROTECT, NULL, 0);
// end johnli
/* end johnli */
// remove Pair-wise key material from ASIC
// yet implement
/* remove Pair-wise key material from ASIC */
/* yet implement */
#define RTMP_STA_ENTRY_KEY_DEL(pAd, BssIdx, Wcid)
// add Client security information into ASIC WCID table and IVEIV table
/* add Client security information into ASIC WCID table and IVEIV table */
#define RTMP_STA_SECURITY_INFO_ADD(pAd, apidx, KeyID, pEntry) \
{ RTMP_STA_ENTRY_MAC_RESET(pAd, pEntry->Aid); \
if (pEntry->Aid >= 1) { \
@ -160,7 +160,7 @@ typedef struct _CmdQ {
RTUSBEnqueueInternalCmd(pAd, CMDTHREAD_SET_ASIC_WCID_CIPHER, \
&SetAsicWcidAttri, sizeof(RT_SET_ASIC_WCID_ATTRI)); } }
// Insert the BA bitmap to ASIC for the Wcid entry
/* Insert the BA bitmap to ASIC for the Wcid entry */
#define RTMP_ADD_BA_SESSION_TO_ASIC(_pAd, _Aid, _TID) \
do{ \
RT_SET_ASIC_WCID SetAsicWcid; \
@ -170,7 +170,7 @@ typedef struct _CmdQ {
RTUSBEnqueueInternalCmd((_pAd), CMDTHREAD_SET_ASIC_WCID, &SetAsicWcid, sizeof(RT_SET_ASIC_WCID)); \
}while(0)
// Remove the BA bitmap from ASIC for the Wcid entry
/* Remove the BA bitmap from ASIC for the Wcid entry */
#define RTMP_DEL_BA_SESSION_FROM_ASIC(_pAd, _Wcid, _TID) \
do{ \
RT_SET_ASIC_WCID SetAsicWcid; \
@ -180,4 +180,4 @@ typedef struct _CmdQ {
RTUSBEnqueueInternalCmd((_pAd), CMDTHREAD_SET_ASIC_WCID, &SetAsicWcid, sizeof(RT_SET_ASIC_WCID)); \
}while(0)
#endif // __RTUSB_IO_H__ //
#endif /* __RTUSB_IO_H__ // */

View file

@ -186,4 +186,4 @@ VOID NotifyChSwAnnToPeerAPs(IN PRTMP_ADAPTER pAd,
VOID RguClass_BuildBcnChList(IN PRTMP_ADAPTER pAd,
OUT PUCHAR pBuf, OUT PULONG pBufLen);
#endif // __SPECTRUM_H__ //
#endif /* __SPECTRUM_H__ // */

View file

@ -58,7 +58,7 @@ typedef struct _MEASURE_REQ_ENTRY {
ULONG lastTime;
BOOLEAN Valid;
UINT8 DialogToken;
UINT8 MeasureDialogToken[3]; // 0:basic measure, 1: CCA measure, 2: RPI_Histogram measure.
UINT8 MeasureDialogToken[3]; /* 0:basic measure, 1: CCA measure, 2: RPI_Histogram measure. */
} MEASURE_REQ_ENTRY, *PMEASURE_REQ_ENTRY;
typedef struct _MEASURE_REQ_TAB {
@ -195,4 +195,4 @@ typedef struct PACKED _QUIET_INFO {
UINT16 QuietOffset;
} QUIET_INFO, *PQUIET_INFO;
#endif // __SPECTRUM_DEF_H__ //
#endif /* __SPECTRUM_DEF_H__ // */

View file

@ -38,7 +38,7 @@
#ifndef __WPA_H__
#define __WPA_H__
// EAPOL Key descripter frame format related length
/* EAPOL Key descripter frame format related length */
#define LEN_KEY_DESC_NONCE 32
#define LEN_KEY_DESC_IV 16
#define LEN_KEY_DESC_RSC 8
@ -46,25 +46,25 @@
#define LEN_KEY_DESC_REPLAY 8
#define LEN_KEY_DESC_MIC 16
// The length is the EAPoL-Key frame except key data field.
// Please refer to 802.11i-2004 ,Figure 43u in p.78
/* The length is the EAPoL-Key frame except key data field. */
/* Please refer to 802.11i-2004 ,Figure 43u in p.78 */
#define LEN_EAPOL_KEY_MSG (sizeof(KEY_DESCRIPTER) - MAX_LEN_OF_RSNIE)
// EAP Code Type.
/* EAP Code Type. */
#define EAP_CODE_REQUEST 1
#define EAP_CODE_RESPONSE 2
#define EAP_CODE_SUCCESS 3
#define EAP_CODE_FAILURE 4
// EAPOL frame Protocol Version
/* EAPOL frame Protocol Version */
#define EAPOL_VER 1
#define EAPOL_VER2 2
// EAPOL-KEY Descriptor Type
/* EAPOL-KEY Descriptor Type */
#define WPA1_KEY_DESC 0xfe
#define WPA2_KEY_DESC 0x02
// Key Descriptor Version of Key Information
/* Key Descriptor Version of Key Information */
#define DESC_TYPE_TKIP 1
#define DESC_TYPE_AES 2
@ -73,11 +73,11 @@
#define LEN_MASTER_KEY 32
// EAPOL EK, MK
/* EAPOL EK, MK */
#define LEN_EAP_EK 16
#define LEN_EAP_MICK 16
#define LEN_EAP_KEY ((LEN_EAP_EK)+(LEN_EAP_MICK))
// TKIP key related
/* TKIP key related */
#define LEN_PMKID 16
#define LEN_TKIP_EK 16
#define LEN_TKIP_RXMICK 8
@ -94,13 +94,13 @@
#define LEN_PMK_NAME 16
#define LEN_NONCE 32
// RSN IE Length definition
/* RSN IE Length definition */
#define MAX_LEN_OF_RSNIE 255
#define MIN_LEN_OF_RSNIE 8
#define KEY_LIFETIME 3600
//EAP Packet Type
/*EAP Packet Type */
#define EAPPacket 0
#define EAPOLStart 1
#define EAPOLLogoff 2
@ -119,28 +119,28 @@
#define PAIRWISEKEY 1
#define GROUPKEY 0
// Retry timer counter initial value
/* Retry timer counter initial value */
#define PEER_MSG1_RETRY_TIMER_CTR 0
#define PEER_MSG3_RETRY_TIMER_CTR 10
#define GROUP_MSG1_RETRY_TIMER_CTR 20
//#ifdef CONFIG_AP_SUPPORT
// WPA mechanism retry timer interval
#define PEER_MSG1_RETRY_EXEC_INTV 1000 // 1 sec
#define PEER_MSG3_RETRY_EXEC_INTV 3000 // 3 sec
#define GROUP_KEY_UPDATE_EXEC_INTV 1000 // 1 sec
#define PEER_GROUP_KEY_UPDATE_INIV 2000 // 2 sec
/*#ifdef CONFIG_AP_SUPPORT */
/* WPA mechanism retry timer interval */
#define PEER_MSG1_RETRY_EXEC_INTV 1000 /* 1 sec */
#define PEER_MSG3_RETRY_EXEC_INTV 3000 /* 3 sec */
#define GROUP_KEY_UPDATE_EXEC_INTV 1000 /* 1 sec */
#define PEER_GROUP_KEY_UPDATE_INIV 2000 /* 2 sec */
#define ENQUEUE_EAPOL_START_TIMER 200 // 200 ms
#define ENQUEUE_EAPOL_START_TIMER 200 /* 200 ms */
// group rekey interval
/* group rekey interval */
#define TIME_REKEY 0
#define PKT_REKEY 1
#define DISABLE_REKEY 2
#define MAX_REKEY 2
#define MAX_REKEY_INTER 0x3ffffff
//#endif // CONFIG_AP_SUPPORT //
/*#endif // CONFIG_AP_SUPPORT // */
#define GROUP_SUITE 0
#define PAIRWISE_SUITE 1
@ -194,13 +194,13 @@
#define IS_WPA_CAPABILITY(a) (((a) >= Ndis802_11AuthModeWPA) && ((a) <= Ndis802_11AuthModeWPA1PSKWPA2PSK))
// EAPOL Key Information definition within Key descriptor format
/* EAPOL Key Information definition within Key descriptor format */
typedef struct PACKED _KEY_INFO {
UCHAR KeyMic:1;
UCHAR Secure:1;
UCHAR Error:1;
UCHAR Request:1;
UCHAR EKD_DL:1; // EKD for AP; DL for STA
UCHAR EKD_DL:1; /* EKD for AP; DL for STA */
UCHAR Rsvd:3;
UCHAR KeyDescVer:3;
UCHAR KeyType:1;
@ -209,7 +209,7 @@ typedef struct PACKED _KEY_INFO {
UCHAR KeyAck:1;
} KEY_INFO, *PKEY_INFO;
// EAPOL Key descriptor format
/* EAPOL Key descriptor format */
typedef struct PACKED _KEY_DESCRIPTER {
UCHAR Type;
KEY_INFO KeyInfo;
@ -231,7 +231,7 @@ typedef struct PACKED _EAPOL_PACKET {
KEY_DESCRIPTER KeyDesc;
} EAPOL_PACKET, *PEAPOL_PACKET;
//802.11i D10 page 83
/*802.11i D10 page 83 */
typedef struct PACKED _GTK_ENCAP {
UCHAR Kid:2;
UCHAR tx:1;
@ -248,7 +248,7 @@ typedef struct PACKED _KDE_ENCAP {
GTK_ENCAP GTKEncap;
} KDE_ENCAP, *PKDE_ENCAP;
// For WPA1
/* For WPA1 */
typedef struct PACKED _RSNIE {
UCHAR oui[4];
USHORT version;
@ -259,7 +259,7 @@ typedef struct PACKED _RSNIE {
} ucast[1];
} RSNIE, *PRSNIE;
// For WPA2
/* For WPA2 */
typedef struct PACKED _RSNIE2 {
USHORT version;
UCHAR mcast[4];
@ -269,7 +269,7 @@ typedef struct PACKED _RSNIE2 {
} ucast[1];
} RSNIE2, *PRSNIE2;
// AKM Suite
/* AKM Suite */
typedef struct PACKED _RSNIE_AUTH {
USHORT acount;
struct PACKED {
@ -294,45 +294,45 @@ typedef struct PACKED _EAP_HDR {
UCHAR Body_Len[2];
UCHAR code;
UCHAR identifier;
UCHAR length[2]; // including code and identifier, followed by length-2 octets of data
UCHAR length[2]; /* including code and identifier, followed by length-2 octets of data */
} EAP_HDR, *PEAP_HDR;
// For supplicant state machine states. 802.11i Draft 4.1, p. 97
// We simplified it
/* For supplicant state machine states. 802.11i Draft 4.1, p. 97 */
/* We simplified it */
typedef enum _WpaState {
SS_NOTUSE, // 0
SS_START, // 1
SS_WAIT_MSG_3, // 2
SS_WAIT_GROUP, // 3
SS_FINISH, // 4
SS_KEYUPDATE, // 5
SS_NOTUSE, /* 0 */
SS_START, /* 1 */
SS_WAIT_MSG_3, /* 2 */
SS_WAIT_GROUP, /* 3 */
SS_FINISH, /* 4 */
SS_KEYUPDATE, /* 5 */
} WPA_STATE;
//
// The definition of the cipher combination
//
// bit3 bit2 bit1 bit0
// +------------+------------+
// | WPA | WPA2 |
// +------+-----+------+-----+
// | TKIP | AES | TKIP | AES |
// | 0 | 1 | 1 | 0 | -> 0x06
// | 0 | 1 | 1 | 1 | -> 0x07
// | 1 | 0 | 0 | 1 | -> 0x09
// | 1 | 0 | 1 | 1 | -> 0x0B
// | 1 | 1 | 0 | 1 | -> 0x0D
// | 1 | 1 | 1 | 0 | -> 0x0E
// | 1 | 1 | 1 | 1 | -> 0x0F
// +------+-----+------+-----+
//
/* */
/* The definition of the cipher combination */
/* */
/* bit3 bit2 bit1 bit0 */
/* +------------+------------+ */
/* | WPA | WPA2 | */
/* +------+-----+------+-----+ */
/* | TKIP | AES | TKIP | AES | */
/* | 0 | 1 | 1 | 0 | -> 0x06 */
/* | 0 | 1 | 1 | 1 | -> 0x07 */
/* | 1 | 0 | 0 | 1 | -> 0x09 */
/* | 1 | 0 | 1 | 1 | -> 0x0B */
/* | 1 | 1 | 0 | 1 | -> 0x0D */
/* | 1 | 1 | 1 | 0 | -> 0x0E */
/* | 1 | 1 | 1 | 1 | -> 0x0F */
/* +------+-----+------+-----+ */
/* */
typedef enum _WpaMixPairCipher {
MIX_CIPHER_NOTUSE = 0x00,
WPA_NONE_WPA2_TKIPAES = 0x03, // WPA2-TKIPAES
WPA_NONE_WPA2_TKIPAES = 0x03, /* WPA2-TKIPAES */
WPA_AES_WPA2_TKIP = 0x06,
WPA_AES_WPA2_TKIPAES = 0x07,
WPA_TKIP_WPA2_AES = 0x09,
WPA_TKIP_WPA2_TKIPAES = 0x0B,
WPA_TKIPAES_WPA2_NONE = 0x0C, // WPA-TKIPAES
WPA_TKIPAES_WPA2_NONE = 0x0C, /* WPA-TKIPAES */
WPA_TKIPAES_WPA2_AES = 0x0D,
WPA_TKIPAES_WPA2_TKIP = 0x0E,
WPA_TKIPAES_WPA2_TKIPAES = 0x0F,
@ -341,22 +341,22 @@ typedef enum _WpaMixPairCipher {
typedef struct PACKED _RSN_IE_HEADER_STRUCT {
UCHAR Eid;
UCHAR Length;
USHORT Version; // Little endian format
USHORT Version; /* Little endian format */
} RSN_IE_HEADER_STRUCT, *PRSN_IE_HEADER_STRUCT;
// Cipher suite selector types
/* Cipher suite selector types */
typedef struct PACKED _CIPHER_SUITE_STRUCT {
UCHAR Oui[3];
UCHAR Type;
} CIPHER_SUITE_STRUCT, *PCIPHER_SUITE_STRUCT;
// Authentication and Key Management suite selector
/* Authentication and Key Management suite selector */
typedef struct PACKED _AKM_SUITE_STRUCT {
UCHAR Oui[3];
UCHAR Type;
} AKM_SUITE_STRUCT, *PAKM_SUITE_STRUCT;
// RSN capability
/* RSN capability */
typedef struct PACKED _RSN_CAPABILITY {
USHORT Rsv:10;
USHORT GTKSAReplayCnt:2;