Return to Unit Reference
Description
Ralink RT2x00 Wireless Driver Library unit
This unit provides functionality and definitions common to all implementations of the RT2x00 chipset series PCI, USB or other.
Constants
[Expand]
RT2X00LIB device and driver configuration flags RT2X00_DEVICE_STATE_*
RT2X00_DEVICE_STATE_PRESENT = (1 shl 0);
|
|
RT2X00_DEVICE_STATE_REGISTERED_HW = (1 shl 1);
|
|
RT2X00_DEVICE_STATE_INITIALIZED = (1 shl 2);
|
|
RT2X00_DEVICE_STATE_STARTED = (1 shl 3);
|
|
RT2X00_DEVICE_STATE_ENABLED_RADIO = (1 shl 4);
|
|
RT2X00_DEVICE_STATE_SCANNING = (1 shl 5);
|
|
|
RT2X00_CONFIG_CHANNEL_HT40 = (1 shl 6);
|
|
RT2X00_CONFIG_POWERSAVING = (1 shl 7);
|
|
RT2X00_CONFIG_HT_DISABLED = (1 shl 8);
|
|
RT2X00_CONFIG_QOS_DISABLED = (1 shl 9);
|
|
|
RT2X00_TX_STATUS_READING = (1 shl 10);
|
|
[Expand]
RT2X00LIB standard timings and sizes RT2X00_*_SIZE
These values should follow the ieee80211 specifications
|
RT2X00_ACK_SIZE = 14;
|
|
RT2X00_IEEE80211_HEADER = 24;
|
|
RT2X00_PLCP = 48;
|
|
RT2X00_BEACON = 100;
|
|
RT2X00_PREAMBLE = 144;
|
|
RT2X00_SHORT_PREAMBLE = 72;
|
|
RT2X00_SLOT_TIME = 20;
|
|
RT2X00_SHORT_SLOT_TIME = 9;
|
|
RT2X00_SIFS = 10;
|
|
RT2X00_PIFS = RT2X00_SIFS + RT2X00_SLOT_TIME;
|
|
RT2X00_SHORT_PIFS = RT2X00_SIFS + RT2X00_SHORT_SLOT_TIME;
|
|
RT2X00_DIFS = RT2X00_PIFS + RT2X00_SLOT_TIME;
|
|
RT2X00_SHORT_DIFS = RT2X00_SHORT_PIFS + RT2X00_SHORT_SLOT_TIME;
|
|
RT2X00_EIFS = RT2X00_SIFS + RT2X00_DIFS + RT2X00_GET_DURATION(RT2X00_IEEE80211_HEADER + RT2X00_ACK_SIZE,10);
|
|
RT2X00_SHORT_EIFS = RT2X00_SIFS + RT2X00_SHORT_DIFS + RT2X00_GET_DURATION(RT2X00_IEEE80211_HEADER + RT2X00_ACK_SIZE,10);
|
|
[Expand]
RT2X00LIB extra TX headroom RT2X00_*_EXTRA
colspan="2"|Note: For alignment purposes
|
RT2X00_ALIGN_EXTRA = 4;
|
RT2X00_ALIGN_SIZE Only whole frame needs alignment
|
RT2X00_L2PAD_EXTRA = 8;
|
RT2X00_L2PAD_SIZE Both header & payload need alignment
|
[Expand]
RT2X00LIB chipset RT2X00_RT*
The chipset on the device is composed of an RT and RF chip)
|
RT2X00_RT2460 = $2460;
|
|
RT2X00_RT2560 = $2560;
|
|
RT2X00_RT2570 = $2570;
|
|
RT2X00_RT2661 = $2661;
|
|
RT2X00_RT2573 = $2573;
|
|
RT2X00_RT2860 = $2860;
|
2.4GHz
|
RT2X00_RT2872 = $2872;
|
WSOC
|
RT2X00_RT2883 = $2883;
|
WSOC
|
RT2X00_RT3070 = $3070;
|
|
RT2X00_RT3071 = $3071;
|
|
RT2X00_RT3090 = $3090;
|
2.4GHz PCIe
|
RT2X00_RT3290 = $3290;
|
|
RT2X00_RT3352 = $3352;
|
WSOC
|
RT2X00_RT3390 = $3390;
|
|
RT2X00_RT3572 = $3572;
|
|
RT2X00_RT3593 = $3593;
|
|
RT2X00_RT3883 = $3883;
|
WSOC
|
RT2X00_RT5390 = $5390;
|
2.4GHz
|
RT2X00_RT5392 = $5392;
|
2.4GHz
|
RT2X00_RT5592 = $5592;
|
|
[Expand]
RT2X00LIB requirements RT2X00_REQUIRE_*
RT2X00_REQUIRE_FIRMWARE = 1 shl 0;
|
|
RT2X00_REQUIRE_BEACON_GUARD = 1 shl 1;
|
|
RT2X00_REQUIRE_ATIM_QUEUE = 1 shl 2;
|
|
RT2X00_REQUIRE_DMA = 1 shl 3;
|
|
RT2X00_REQUIRE_COPY_IV = 1 shl 4;
|
|
RT2X00_REQUIRE_L2PAD = 1 shl 5;
|
|
RT2X00_REQUIRE_TXSTATUS_FIFO = 1 shl 6;
|
|
RT2X00_REQUIRE_SW_SEQNO = 1 shl 7;
|
|
RT2X00_REQUIRE_HT_TX_DESC = 1 shl 8;
|
|
RT2X00_REQUIRE_PS_AUTOWAKE = 1 shl 9;
|
|
[Expand]
RT2X00LIB capabilities RT2X00_CAPABILITY_*
RT2X00_CAPABILITY_HW_BUTTON = 1 shl 0;
|
|
RT2X00_CAPABILITY_HW_CRYPTO = 1 shl 1;
|
|
RT2X00_CAPABILITY_POWER_LIMIT = 1 shl 2;
|
|
RT2X00_CAPABILITY_CONTROL_FILTERS = 1 shl 3;
|
|
RT2X00_CAPABILITY_CONTROL_FILTER_PSPOLL = 1 shl 4;
|
|
RT2X00_CAPABILITY_PRE_TBTT_INTERRUPT = 1 shl 5;
|
|
RT2X00_CAPABILITY_LINK_TUNING = 1 shl 6;
|
|
RT2X00_CAPABILITY_FRAME_TYPE = 1 shl 7;
|
|
RT2X00_CAPABILITY_RF_SEQUENCE = 1 shl 8;
|
|
RT2X00_CAPABILITY_EXTERNAL_LNA_A = 1 shl 9;
|
|
RT2X00_CAPABILITY_EXTERNAL_LNA_BG = 1 shl 10;
|
|
RT2X00_CAPABILITY_DOUBLE_ANTENNA = 1 shl 11;
|
|
RT2X00_CAPABILITY_BT_COEXIST = 1 shl 12;
|
|
RT2X00_CAPABILITY_VCO_RECALIBRATION = 1 shl 13;
|
|
[Expand]
RT2X00LIB busy delay RT2X00_REGISTER_BUSY_*
RT2X00_REGISTER_BUSY_COUNT = 100;
|
|
RT2X00_REGISTER_USB_BUSY_COUNT = 20;
|
|
RT2X00_REGISTER_BUSY_DELAY = 100;
|
|
[Expand]
RT2X00LIB RX crypto status RT2X00_RX_CRYPTO_*
RT2X00_RX_CRYPTO_SUCCESS = 0;
|
|
RT2X00_RX_CRYPTO_FAIL_ICV = 1;
|
|
RT2X00_RX_CRYPTO_FAIL_MIC = 2;
|
|
RT2X00_RX_CRYPTO_FAIL_KEY = 3;
|
|
[Expand]
RT2X00LIB RX descriptor flags RT2X00_RXDONE_*
RT2X00_RXDONE_SIGNAL_PLCP = (1 shl 0);
|
Signal field contains the plcp value
|
RT2X00_RXDONE_SIGNAL_BITRATE = (1 shl 1);
|
Signal field contains the bitrate value
|
RT2X00_RXDONE_SIGNAL_MCS = (1 shl 2);
|
Signal field contains the mcs value
|
RT2X00_RXDONE_MY_BSS = (1 shl 3);
|
Does this frame originate from device's BSS
|
RT2X00_RXDONE_CRYPTO_IV = (1 shl 4);
|
Driver provided IV/EIV data
|
RT2X00_RXDONE_CRYPTO_ICV = (1 shl 5);
|
Driver provided ICV data
|
RT2X00_RXDONE_L2PAD = (1 shl 6);
|
802.11 payload has been padded to 4-byte boundary
|
|
RT2X00_RXDONE_SIGNAL_MASK = (RT2X00_RXDONE_SIGNAL_PLCP or RT2X00_RXDONE_SIGNAL_BITRATE or RT2X00_RXDONE_SIGNAL_MCS);
|
|
[Expand]
RT2X00LIB TX descriptor flags RT2X00_ENTRY_TXD_*
RT2X00_ENTRY_TXD_RTS_FRAME = (1 shl 0);
|
This frame is a RTS frame
|
RT2X00_ENTRY_TXD_CTS_FRAME = (1 shl 1);
|
This frame is a CTS-to-self frame
|
RT2X00_ENTRY_TXD_GENERATE_SEQ = (1 shl 2);
|
This frame requires sequence counter
|
RT2X00_ENTRY_TXD_FIRST_FRAGMENT = (1 shl 3);
|
This is the first frame
|
RT2X00_ENTRY_TXD_MORE_FRAG = (1 shl 4);
|
This frame is followed by another fragment
|
RT2X00_ENTRY_TXD_REQ_TIMESTAMP = (1 shl 5);
|
Require timestamp to be inserted
|
RT2X00_ENTRY_TXD_BURST = (1 shl 6);
|
This frame belongs to the same burst event
|
RT2X00_ENTRY_TXD_ACK = (1 shl 7);
|
An ACK is required for this frame
|
RT2X00_ENTRY_TXD_RETRY_MODE = (1 shl 8);
|
When set, the long retry count is used
|
RT2X00_ENTRY_TXD_ENCRYPT = (1 shl 9);
|
This frame should be encrypted
|
RT2X00_ENTRY_TXD_ENCRYPT_PAIRWISE = (1 shl 10);
|
Use pairwise key table (instead of shared)
|
RT2X00_ENTRY_TXD_ENCRYPT_IV = (1 shl 11);
|
Generate IV/EIV in hardware
|
RT2X00_ENTRY_TXD_ENCRYPT_MMIC = (1 shl 12);
|
Generate MIC in hardware
|
RT2X00_ENTRY_TXD_HT_AMPDU = (1 shl 13);
|
This frame is part of an AMPDU
|
RT2X00_ENTRY_TXD_HT_BW_40 = (1 shl 14);
|
Use 40MHz Bandwidth
|
RT2X00_ENTRY_TXD_HT_SHORT_GI = (1 shl 15);
|
Use short GI
|
RT2X00_ENTRY_TXD_HT_MIMO_PS = (1 shl 16);
|
The receiving STA is in dynamic SM PS mode
|
[Expand]
RT2X00LIB TX complete flags RT2X00_TXDONE_*
RT2X00_TXDONE_UNKNOWN = (1 shl 0);
|
Hardware could not determine success of transmission
|
RT2X00_TXDONE_SUCCESS = (1 shl 1);
|
Frame was successfully sent
|
RT2X00_TXDONE_FALLBACK = (1 shl 2);
|
Hardware used fallback rates for retries
|
RT2X00_TXDONE_FAILURE = (1 shl 3);
|
Frame was not successfully sent
|
RT2X00_TXDONE_EXCESSIVE_RETRY = (1 shl 4);
|
In addition to TXDONE_FAILURE, the frame transmission failed due to excessive retries
|
RT2X00_TXDONE_AMPDU = (1 shl 5);
|
|
[Expand]
RT2X00LIB antenna RT2X00_ANTENNA_*
RT2X00_ANTENNA_SW_DIVERSITY = 0;
|
|
RT2X00_ANTENNA_A = 1;
|
|
RT2X00_ANTENNA_B = 2;
|
|
RT2X00_ANTENNA_HW_DIVERSITY = 3;
|
|
[Expand]
RT2X00LIB antenna flags RT2X00_ANTENNA_RX_*
RT2X00_ANTENNA_RX_DIVERSITY = $00000001;
|
|
RT2X00_ANTENNA_TX_DIVERSITY = $00000002;
|
|
RT2X00_ANTENNA_MODE_SAMPLE = $00000004;
|
|
[Expand]
RT2X00LIB LED type RT2X00_LED_TYPE_*
RT2X00_LED_TYPE_RADIO = 0;
|
|
RT2X00_LED_TYPE_ASSOC = 1;
|
|
RT2X00_LED_TYPE_ACTIVITY = 2;
|
|
RT2X00_LED_TYPE_QUALITY = 3;
|
|
[Expand]
RT2X00LIB LED mode RT2X00_LED_MODE_*
RT2X00_LED_MODE_DEFAULT = 0;
|
|
RT2X00_LED_MODE_TXRX_ACTIVITY = 1;
|
|
RT2X00_LED_MODE_SIGNAL_STRENGTH = 2;
|
|
RT2X00_LED_MODE_ASUS = 3;
|
|
RT2X00_LED_MODE_ALPHA = 4;
|
|
[Expand]
RT2X00LIB TSF synchronization RT2X00_TSF_SYNC_*
RT2X00_TSF_SYNC_NONE = 0;
|
|
RT2X00_TSF_SYNC_INFRA = 1;
|
|
RT2X00_TSF_SYNC_ADHOC = 2;
|
|
RT2X00_TSF_SYNC_AP_NONE = 3;
|
|
[Expand]
RT2X00LIB device states RT2X00_STATE_*
RT2X00_STATE_DEEP_SLEEP = 0;
|
|
RT2X00_STATE_SLEEP = 1;
|
|
RT2X00_STATE_STANDBY = 2;
|
|
RT2X00_STATE_AWAKE = 3;
|
|
Additional device states, these values are not directly passed into the device
|
RT2X00_STATE_RADIO_ON = 4;
|
|
RT2X00_STATE_RADIO_OFF = 5;
|
|
RT2X00_STATE_RADIO_IRQ_ON = 6;
|
|
RT2X00_STATE_RADIO_IRQ_OFF = 7;
|
|
[Expand]
RT2X00LIB IFS backoff RT2X00_IFS_*
RT2X00_IFS_BACKOFF = 0;
|
|
RT2X00_IFS_SIFS = 1;
|
|
RT2X00_IFS_NEW_BACKOFF = 2;
|
|
RT2X00_IFS_NONE = 3;
|
|
[Expand]
RT2X00LIB IFS backoff (for HT devices) RT2X00_TXOP_*
RT2X00_TXOP_HTTXOP = 0;
|
|
RT2X00_TXOP_PIFS = 1;
|
|
RT2X00_TXOP_SIFS = 2;
|
|
RT2X00_TXOP_BACKOFF = 3;
|
|
[Expand]
RT2X00LIB cipher RT2X00_CIPHER_*
RT2X00_CIPHER_NONE = 0;
|
|
RT2X00_CIPHER_WEP64 = 1;
|
|
RT2X00_CIPHER_WEP128 = 2;
|
|
RT2X00_CIPHER_TKIP = 3;
|
|
RT2X00_CIPHER_AES = 4;
|
|
The following were added by rt61pci and rt73usb
|
RT2X00_CIPHER_CKIP64 = 5;
|
|
RT2X00_CIPHER_CKIP128 = 6;
|
|
RT2X00_CIPHER_TKIP_NO_MIC = 7;
|
Don't send to device
|
|
RT2X00_CIPHER_MAX = 4;
|
Note that CIPHER_NONE isn't counted, and CKIP64 and CKIP128 are excluded.
|
[Expand]
RT2X00LIB rate modulation RT2X00_RATE_MODE_*
RT2X00_RATE_MODE_CCK = 0;
|
|
RT2X00_RATE_MODE_OFDM = 1;
|
|
RT2X00_RATE_MODE_HT_MIX = 2;
|
|
RT2X00_RATE_MODE_HT_GREENFIELD = 3;
|
|
[Expand]
RT2X00LIB size RT2X00_*_SIZE
Ralink PCI devices demand the Frame size to be a multiple of 128 bytes, for USB devices this restriction does not apply, but the value of 2432 makes sense since it is big enough to contain the maximum fragment size according to the IEEE 802.11 specs. The aggregation size depends on support from the driver, but should be something around 3840 bytes.
|
RT2X00_DATA_FRAME_SIZE = 2432;
|
|
RT2X00_MGMT_FRAME_SIZE = 256;
|
|
RT2X00_AGGREGATION_SIZE = 3840;
|
|
[Expand]
RT2X00LIB channel RT2X00_CHANNEL_*
RT2X00_CHANNEL_GEOGRAPHY_ALLOWED = $00000001;
|
|
[Expand]
RT2X00LIB supported bands RT2X00_SUPPORT_BAND_*
RT2X00_SUPPORT_BAND_2GHZ = $00000001;
|
|
RT2X00_SUPPORT_BAND_5GHZ = $00000002;
|
|
[Expand]
RT2X00LIB supported rates RT2X00_SUPPORT_RATE_*
RT2X00_SUPPORT_RATE_CCK = $00000001;
|
|
RT2X00_SUPPORT_RATE_OFDM = $00000002;
|
|
[Expand]
RT2X00LIB device supported rates RT2X00_DEV_RATE_*
RT2X00_DEV_RATE_CCK = $0001;
|
|
RT2X00_DEV_RATE_OFDM = $0002;
|
|
RT2X00_DEV_RATE_SHORT_PREAMBLE = $0004;
|
|
[Expand]
RT2X00LIB configuration update RT2X00_CONFIG_UPDATE_*
RT2X00_CONFIG_UPDATE_TYPE = (1 shl 1);
|
|
RT2X00_CONFIG_UPDATE_MAC = (1 shl 2);
|
|
RT2X00_CONFIG_UPDATE_BSSID = (1 shl 3);
|
|
Type definitions
RT2X00LIB chipset
[Expand]
PRT2X00Chipset = ^TRT2X00Chipset;
TRT2X00Chipset = record
rt2x00_chip
|
RTChip:Word;
|
RT2X00_RT2460 etc
|
RFChip:Word;
|
RT2800_RF2820 etc
|
Revision:Word;
|
RT2800_REV_RT2860C etc
|
RT2X00LIB rate
[Expand]
PRT2X00Rate = ^TRT2X00Rate;
TRT2X00Rate = record
Flags:Word;
|
|
BitRate:Word;
|
In 100kbit/s
|
RateMask:Word;
|
|
PLCP:Word;
|
|
MCS:Word;
|
|
RT2X00LIB antenna
[Expand]
PRT2X00Antenna = ^TRT2X00Antenna;
TRT2X00Antenna = record
antenna_setup
|
RX:Byte;
|
RT2X00_ANTENNA_A etc
|
TX:Byte;
|
RT2X00_ANTENNA_A etc
|
RXChainNo:Byte;
|
|
TXChainNo:Byte;
|
|
RT2X00LIB channel
[Expand]
PRT2X00Channel = ^TRT2X00Channel;
TRT2X00Channel = record
channel_info
|
Flags:LongWord;
|
RT2X00_CHANNEL_GEOGRAPHY_ALLOWED etc
|
MaxPower:ShortInt;
|
|
DefaultPower1:ShortInt;
|
|
DefaultPower2:ShortInt;
|
|
DefaultPower3:ShortInt;
|
|
RT2X00LIB channels
[Expand]
PRT2X00Channels = ^TRT2X00Channels;
TRT2X00Channels = array[0..0] of TRT2X00Channel;
RT2X00LIB RF channel
[Expand]
PRT2X00RFChannel = ^TRT2X00RFChannel;
TRT2X00RFChannel = record
rf_channel
|
Channel:LongWord;
|
|
RF1:LongWord;
|
|
RF2:LongWord;
|
|
RF3:LongWord;
|
|
RF4:LongWord;
|
|
RT2X00LIB RF channels
[Expand]
PRT2X00RFChannels = ^TRT2X00RFChannels;
TRT2X00RFChannels = array[0..0] of TRT2X00RFChannel;
RT2X00LIB specifications
[Expand]
PRT2X00Specifications = ^TRT2X00Specifications;
TRT2X00Specifications = record
hw_mode_spec
|
SupportedBands:LongWord;
|
RT2X00_SUPPORT_BAND_2GHZ etc
|
SupportedRates:LongWord;
|
RT2X00_SUPPORT_RATE_CCK etc
|
ChannelCount:LongWord;
|
|
Channels:PRT2X00Channels;
|
|
RFChannels:PRT2X00RFChannels;
|
|
HTCapabilities:TIEEE80211StationHTCap;
|
|
RT2X00LIB EWMA
[Expand]
PRT2X00EWMA = ^TRT2X00EWMA;
TRT2X00EWMA = record
Exponentially weighted moving average
EWMA
|
Internal:LongWord;
|
|
Factor:LongWord;
|
|
Weight:LongWord;
|
|
RT2X00LIB link quality
[Expand]
PRT2X00LinkQuality = ^TRT2X00LinkQuality;
TRT2X00LinkQuality = record
Quality statistics about the currently active link
link_qual
|
RSSI:LongInt;
|
Statistics required for Link tuning by driver
|
FalseCCA:LongInt;
|
|
VGC levels
|
VGCLevel:Byte;
|
Driver will tune the VGC level during each call to the link tuner callback function
|
VGCLevelRegister:Byte;
|
The vgc_level is determined based on the link quality statistics like average RSSI and the false CCA count
|
|
RXSuccess:LongWord;
|
Statistics required for Signal quality calculation
|
RXFailed:LongWord;
|
|
TXSuccess:LongWord;
|
|
TXFailed:LongWord;
|
|
RT2X00LIB link antenna
[Expand]
PRT2X00LinkAntenna = ^TRT2X00LinkAntenna;
TRT2X00LinkAntenna = record
Antenna settings about the currently active link
link_ant
|
Flags:LongWord;
|
Antenna flags (RT2X00_ANTENNA_RX_DIVERSITY etc)
|
ActiveAntenna:TRT2X00Antenna;
|
Currently active TX/RX antenna setup
|
RSSIHistory:LongInt;
|
RSSI history information for the antenna
|
RSSIAntenna:TRT2X00EWMA;
|
Current RSSI average of the currently active antenna
|
RT2X00LIB link
[Expand]
PRT2X00Link = ^TRT2X00Link;
TRT2X00Link = record
link
|
Count:LongWord;
|
Link tuner counter
|
Quality:TRT2X00LinkQuality;
|
Quality measurement values
|
Antenna:TRT2X00LinkAntenna;
|
TX/RX antenna setup
|
RSSIAverage:TRT2X00EWMA;
|
Currently active average RSSI value
|
RT2X00LIB interface
[Expand]
PRT2X00Interface = ^TRT2X00Interface;
TRT2X00Interface = record
rt2x00_intf
|
EnableBeacon:LongBool;
|
|
SequenceNo:LongWord;
|
Software sequence counter (only required for hardware which doesn't support hardware sequence counting)
|
RT2X00LIB channel configuration
[Expand]
PRT2X00ChannelConfiguration = ^TRT2X00ChannelConfiguration;
TRT2X00ChannelConfiguration = record
rt2x00lib_conf
|
Channel:TRT2X00Channel;
|
|
RFChannel:TRT2X00RFChannel;
|
|
RT2X00LIB interface configuration
[Expand]
PRT2X00InterfaceConfiguration = ^TRT2X00InterfaceConfiguration;
TRT2X00InterfaceConfiguration = record
rt2x00intf_conf
|
InterfaceType:LongWord;
|
Interface type (WIFI_IFTYPE_STATION etc)
|
TSFSync:LongWord;
|
TSF sync value (dependent on the interface type) (RT2X00_TSF_SYNC_NONE etc)
|
MAC:array[0..1] of LongWord;
|
All devices (except RT2500USB) have 32 bits register word sizes
|
BSSID:array[0..1] of LongWord;
|
Which means these variables must be a multiple of 32 bits
|
RT2X00LIB RX descriptor
[Expand]
PRT2X00RXDescriptor = ^TRT2X00RXDescriptor;
TRT2X00RXDescriptor = record
rxdone_entry_desc
|
Timestamp:Int64;
|
RX Timestamp
|
Signal:LongInt;
|
Signal of the received frame
|
RSSI:LongInt;
|
RSSI of the received frame
|
Size:LongWord;
|
Data size of the received frame
|
Flags:LongWord;
|
Receive flags (WIFI_RX_FLAG_*)
|
RXFlags:LongWord;
|
Receive flags (RT2X00_RXDONE_*)
|
RateMode:Word;
|
Rate mode (RT2X00_RATE_MODE_*)
|
Cipher:Byte;
|
Cipher type used during decryption
|
CipherStatus:Byte;
|
Decryption status
|
IV:array[0..1] of LongWord;
|
IV/EIV data used during decryption
|
ICV:LongWord;
|
ICV data used during decryption
|
RT2X00LIB TX decriptor
[Expand]
PRT2X00TXDescriptor = ^TRT2X00TXDescriptor;
TRT2X00TXDescriptor = record
txentry_desc
|
Flags:LongWord;
|
|
Length:Word;
|
|
HeaderLength:Word;
|
|
'RT2X00LIB TX complete
[Expand]
PRT2X00TXComplete = ^TRT2X00TXComplete;
TRT2X00TXComplete = record
txdone_entry_desc
|
Flags:LongWord;
|
Transmit flags (RT2X00_TXDONE_*)
|
Retry:LongWord; {Retry count}
|
|
RT2X00LIB driver initialization
TRT2X00DriverInit = function(RT2X00:PRT2X00WiFiDevice):LongWord;
|
|
RT2X00LIB EEPROM load
TRT2X00EepromLoad = function(RT2X00:PRT2X00WiFiDevice; Data:PWord; Size:LongWord):LongWord;
|
|
RT2X00LIB register read
TRT2X00RegisterRead = function(RT2X00:PRT2X00WiFiDevice; Offset:Word; Value:PLongWord):LongWord;
|
|
RT2X00LIB register write
TRT2X00RegisterWrite = function(RT2X00:PRT2X00WiFiDevice; Offset:Word; Value:LongWord):LongWord;
|
|
RT2X00LIB register multi read
TRT2X00RegisterMultiRead = function(RT2X00:PRT2X00WiFiDevice; Offset:Word; Data:Pointer; Size:LongWord):LongWord;
|
|
RT2X00LIB register multi write
TRT2X00RegisterMultiWrite = function(RT2X00:PRT2X00WiFiDevice; Offset:Word; Data:Pointer; Size:LongWord):LongWord;
|
|
RT2X00LIB register busy read
TRT2X00RegisterBusyRead = function(RT2X00:PRT2X00WiFiDevice; Offset,Mask:LongWord; Reg:PLongWord):Boolean;
|
|
RT2X00LIB set LED
TRT2X00SetLED = function(RT2X00:PRT2X00WiFiDevice; ID,Level:LongWord):LongWord;
|
|
RT2X00LIB set state
TRT2X00SetState = function(RT2X00:PRT2X00WiFiDevice; State:LongWord):LongWord;
|
|
RT2X00LIB enable RX
TRT2X00EnableRX = function(RT2X00:PRT2X00WiFiDevice):LongWord;
|
|
RT2X00LIB disable RX
TRT2X00DisableRX = function(RT2X00:PRT2X00WiFiDevice):LongWord;
|
|
RT2X00LIB enable beacon
TRT2X00EnableBeacon = function(RT2X00:PRT2X00WiFiDevice):LongWord;
|
|
RT2X00LIB disable beacon
TRT2X00DisableBeacon = function(RT2X00:PRT2X00WiFiDevice):LongWord;
|
|
RT2X00LIB get firmware
TRT2X00GetFirmware = function(RT2X00:PRT2X00WiFiDevice; var Name:String; var Address:Pointer; var Size:LongWord):Boolean;
|
|
RT2X00LIB check firmware
TRT2X00CheckFirmware = function(RT2X00:PRT2X00WiFiDevice; Data:PByte; Size:LongWord):Boolean;
|
|
RT2X00LIB load firmware
TRT2X00LoadFirmware = function(RT2X00:PRT2X00WiFiDevice; Data:PByte; Size:LongWord):Boolean;
|
|
RT2X00LIB write firmware
TRT2X00WriteFirmware = function(RT2X00:PRT2X00WiFiDevice; Data:PByte; Size:LongWord):Boolean;
|
|
RT2X00LIB configure
TRT2X00Configure = function(RT2X00:PRT2X00WiFiDevice; Configuration:PRT2X00ChannelConfiguration; Flags:LongWord):LongWord;
|
|
RT2X00LIB configure filter
TRT2X00ConfigureFilter = function(RT2X00:PRT2X00WiFiDevice; Filter:LongWord):LongWord;
|
|
RT2X00LIB configure antenna
TRT2X00ConfigureAntenna = function(RT2X00:PRT2X00WiFiDevice; Antenna:PRT2X00Antenna):LongWord;
|
|
RT2X00LIB configure interface
TRT2X00ConfigureInterface = function(RT2X00:PRT2X00WiFiDevice; Configuration:PRT2X00InterfaceConfiguration; Flags:LongWord):LongWord;
|
|
RT2X00LIB initialize registers
TRT2X00InitializeRegisters = function(RT2X00:PRT2X00WiFiDevice):LongWord;
|
|
RT2X00LIB hardware encryption disabled
TRT2X00HardwareEncryptionDisabled = function(RT2X00:PRT2X00WiFiDevice):Boolean;
|
|
RT2X00LIB WiFi device
[Expand]
PRT2X00WiFiDevice = ^TRT2X00WiFiDevice;
TRT2X00WiFiDevice = record
WiFi Properties
|
WiFi:TWiFiDevice;
|
|
RT2X00 Methods
|
DriverInit:TRT2X00DriverInit;
|
|
EepromLoad:TRT2X00EepromLoad;
|
|
RegisterRead:TRT2X00RegisterRead;
|
|
RegisterWrite:TRT2X00RegisterWrite;
|
|
RegisterMultiRead:TRT2X00RegisterMultiRead;
|
|
RegisterMultiWrite:TRT2X00RegisterMultiWrite;
|
|
RegisterBusyRead:TRT2X00RegisterBusyRead;
|
|
SetLED:TRT2X00SetLED;
|
|
SetState:TRT2X00SetState;
|
|
EnableRX:TRT2X00EnableRX;
|
|
DisableRX:TRT2X00DisableRX;
|
|
EnableBeacon:TRT2X00EnableBeacon;
|
|
DisableBeacon:TRT2X00DisableBeacon;
|
|
GetFirmware:TRT2X00GetFirmware;
|
|
CheckFirmware:TRT2X00CheckFirmware;
|
|
LoadFirmware:TRT2X00LoadFirmware;
|
|
WriteFirmware:TRT2X00WriteFirmware;
|
|
Configure:TRT2X00Configure;
|
|
ConfigureFilter:TRT2X00ConfigureFilter;
|
|
ConfigureAntenna:TRT2X00ConfigureAntenna;
|
|
ConfigureInterface:TRT2X00ConfigureInterface;
|
|
InitializeRegisters:TRT2X00InitializeRegisters;
|
|
HardwareEncryptionDisabled:TRT2X00HardwareEncryptionDisabled;
|
|
RT2X00 Properties
|
Flags:LongWord;
|
Driver configuration flags (RT2X00_CONFIG_*)
|
Chipset:TRT2X00Chipset;
|
Detected RT/RF chipset and revision
|
Capabilities:LongWord;
|
Detected capabilities flags
|
Requirements:LongWord;
|
Detected requirements flags
|
Antenna:TRT2X00Antenna;
|
Default Antenna configuration
|
Specifications:TRT2X00Specifications;
|
Detected hardware specifications (Channels, Bands, Rates etc)
|
|
LNAGain:SmallInt;
|
LNA gain
|
TXPower:Word;
|
Current TX power value
|
ShortRetry:Byte;
|
Current retry values
|
LongRetry:Byte;
|
|
RSSIOffset:Byte;
|
RSSI <-> Dbm offset
|
FrequencyOffset:Byte;
|
Frequency offset
|
APInterfaceCount:LongWord;
|
AP interface count
|
STAInterfaceCount:LongWord;
|
STA interface count
|
AssociationCount:LongWord;
|
Association count
|
BeaconingCount:LongWord;
|
Beaconing enabled count
|
PacketFilter:LongWord;
|
Current packet filter configuration for the device (IEEE80211_FIF_*)
|
|
Link:TRT2X00Link;
|
Link information
|
|
RFChannel:LongWord;
|
Used for VCO periodic calibration
|
|
LEDRadio:LongBool;
|
If True then chipset has a radio LED
|
LEDAssoc:LongBool;
|
If True then chipset has an association LED
|
LEDActivity:LongBool;
|
If True then chipset has an activity LED
|
LEDQuality:LongBool;
|
If True then chipset has a quality LED
|
LEDMCURegister:Word;
|
The MCU value read from EEPROM during initialization
|
|
CurrentBand:LongWord;
|
Current RF band (eg IEEE80211_BAND_2GHZ)
|
CurrentFrequency:LongWord;
|
Current RF frequency
|
|
Data:Pointer;
|
Chipset Driver specific data (eg RT2800)
|
DataSize:LongWord;
|
Size of the chipset driver data
|
RFData:PLongWord;
|
RF chip data
|
RFSize:LongWord;
|
RF data size
|
EepromData:PWord;
|
EEPROM data
|
EepromSize:LongWord;
|
EEPROM size
|
CSRLock:TMutexHandle;
|
Protect against concurrent indirect register access (BBP, RF, MCU)
|
|
TXWISize:LongWord;
|
Size of the TXWI field in the TX frame
|
RXWISize:LongWord;
|
Size of the RXWI field in the RX frame
|
TXINFOSize:LongWord;
|
Size of the TXINFO field in the TX frame
|
RXINFOSize:LongWord;
|
Size of the RXINFO field in the RX frame
|
|
ExtraTXHeadroom:LongWord;
|
Extra headroom required for TX frames
|
Public variables
None defined
Function declarations
RT2X00LIB functions
[Expand]
function RT2X00DriverInit(RT2X00:PRT2X00WiFiDevice):LongWord;
Description: To be documented
[Expand]
function RT2X00DriverQuit(RT2X00:PRT2X00WiFiDevice):LongWord;
Description: To be documented
[Expand]
function RT2X00InitializeModes(RT2X00:PRT2X00WiFiDevice):LongWord;
Description: To be documented
[Expand]
function RT2X00LoadFirmware(RT2X00:PRT2X00WiFiDevice):LongWord;
Description: To be documented
[Expand]
function RT2X00EnableRX(RT2X00:PRT2X00WiFiDevice):LongWord;
Description: To be documented
Note
|
rt2x00queue_start_queue
|
[Expand]
function RT2X00DisableRX(RT2X00:PRT2X00WiFiDevice):LongWord;
Description: To be documented
Note
|
rt2x00queue_stop_queue
|
[Expand]
function RT2X00EnableBeacon(RT2X00:PRT2X00WiFiDevice):LongWord;
Description: To be documented
Note
|
rt2x00queue_start_queue
|
[Expand]
function RT2X00DisableBeacon(RT2X00:PRT2X00WiFiDevice):LongWord;
Description: To be documented
Note
|
rt2x00queue_stop_queue
|
[Expand]
function RT2X00EnableRadio(RT2X00:PRT2X00WiFiDevice):LongWord;
Description: To be documented
[Expand]
function RT2X00DisableRadio(RT2X00:PRT2X00WiFiDevice):LongWord;
Description: To be documented
[Expand]
function RT2X00SetLED(RT2X00:PRT2X00WiFiDevice; ID:LongWord; Enabled:Boolean):LongWord;
Description: To be documented
[Expand]
function RT2X00RadioLED(RT2X00:PRT2X00WiFiDevice; Enabled:Boolean):LongWord;
Description: To be documented
[Expand]
function RT2X00AssocLED(RT2X00:PRT2X00WiFiDevice; Enabled:Boolean):LongWord;
Description: To be documented
[Expand]
function RT2X00ActivityLED(RT2X00:PRT2X00WiFiDevice; Enabled:Boolean):LongWord;
Description: To be documented
[Expand]
function RT2X00QualityLED(RT2X00:PRT2X00WiFiDevice; RSSI:LongInt):LongWord;
Description: To be documented
[Expand]
procedure RT2X00InitializeRate(Entry:PIEEE80211Rate; Index:Word; Rate:PRT2X00Rate);
Description: To be documented
[Expand]
procedure RT2X00InitializeChannel(Entry:PIEEE80211Channel; Channel,TXPower,Value:LongWord);
Description: To be documented
[Expand]
function RT2X00GetHTCenterChannel(RT2X00:PRT2X00WiFiDevice):Word;
Description: To be documented
[Expand]
function RT2X00Configure(RT2X00:PRT2X00WiFiDevice; Flags:LongWord):LongWord;
Description: To be documented
[Expand]
function RT2X00ConfigureAntenna(RT2X00:PRT2X00WiFiDevice; Antenna:PRT2X00Antenna):LongWord;
Description: To be documented
Note
|
rt2x00lib_config_antenna
|
[Expand]
function RT2X00ConfigureInterface(RT2X00:PRT2X00WiFiDevice; InterfaceType:LongWord; Address,BSSID:PHardwareAddress):LongWord;
Description: To be documented
Note
|
rt2x00lib_config_intf
|
RT2X00LIB helper functions
[Expand]
function RT2X00IsPCI(RT2X00:PRT2X00WiFiDevice):Boolean;
Description: To be documented
[Expand]
function RT2X00IsPCIe(RT2X00:PRT2X00WiFiDevice):Boolean;
Description: To be documented
[Expand]
function RT2X00IsUSB(RT2X00:PRT2X00WiFiDevice):Boolean;
Description: To be documented
[Expand]
function RT2X00IsMMIO(RT2X00:PRT2X00WiFiDevice):Boolean;
Description: To be documented
[Expand]
function RT2X00GetRTChip(RT2X00:PRT2X00WiFiDevice):Word;
Description: To be documented
[Expand]
procedure RT2X00SetRTChip(RT2X00:PRT2X00WiFiDevice; RTChip:Word);
Description: To be documented
[Expand]
function RT2X00GetRFChip(RT2X00:PRT2X00WiFiDevice):Word;
Description: To be documented
[Expand]
procedure RT2X00SetRFChip(RT2X00:PRT2X00WiFiDevice; RFChip:Word);
Description: To be documented
[Expand]
function RT2X00GetRevision(RT2X00:PRT2X00WiFiDevice):Word;
Description: To be documented
[Expand]
procedure RT2X00SetRevision(RT2X00:PRT2X00WiFiDevice; Revision:Word);
Description: To be documented
[Expand]
function RT2X00IsRTChipRevision(RT2X00:PRT2X00WiFiDevice; RTChip:Word; Revision:Word):Boolean;
Description: To be documented
[Expand]
function RT2X00IsRTChipRevisionLT(RT2X00:PRT2X00WiFiDevice; RTChip:Word; Revision:Word):Boolean;
Description: To be documented
[Expand]
function RT2X00IsRTChipRevisionGTE(RT2X00:PRT2X00WiFiDevice; RTChip:Word; Revision:Word):Boolean;
Description: To be documented
[Expand]
function RT2X00GetCapability(RT2X00:PRT2X00WiFiDevice; Capability:LongWord):Boolean;
Description: To be documented
[Expand]
procedure RT2X00SetCapability(RT2X00:PRT2X00WiFiDevice; Capability:LongWord);
Description: To be documented
[Expand]
procedure RT2X00ClearCapability(RT2X00:PRT2X00WiFiDevice; Capability:LongWord);
Description: To be documented
[Expand]
function RT2X00GetRequirement(RT2X00:PRT2X00WiFiDevice; Requirement:LongWord):Boolean;
Description: To be documented
[Expand]
procedure RT2X00SetRequirement(RT2X00:PRT2X00WiFiDevice; Requirement:LongWord);
Description: To be documented
[Expand]
procedure RT2X00ClearRequirement(RT2X00:PRT2X00WiFiDevice; Requirement:LongWord);
Description: To be documented
[Expand]
function RT2X00RFRead(RT2X00:PRT2X00WiFiDevice; Index:LongWord; Data:PLongWord):Boolean;
Description: To be documented
[Expand]
function RT2X00RFWrite(RT2X00:PRT2X00WiFiDevice; Index,Data:LongWord):Boolean;
Description: To be documented
[Expand]
function RT2X00GetEeprom8(RT2X00:PRT2X00WiFiDevice; Offset:Word):Byte;
Description: To be documented
[Expand]
function RT2X00GetEeprom16(RT2X00:PRT2X00WiFiDevice; Offset:Word):Word;
Description: To be documented
[Expand]
procedure RT2X00SetEeprom16(RT2X00:PRT2X00WiFiDevice; Offset,Value:Word);
Description: To be documented
[Expand]
function RT2X00GetEepromAddress(RT2X00:PRT2X00WiFiDevice; Offset:Word):Pointer;
Description: Return a pointer to the EEPROM value at Offset
[Expand]
function RT2X00GetRegister8(Reg,Mask,Shift:Byte):Byte; inline;
Description: Shift is the number of bits to shift the result right (SHR)
[Expand]
procedure RT2X00SetRegister8(var Reg:Byte; Mask,Shift,Value:Byte); inline;
Description: Shift is the number of bits to shift the value left (SHL)
[Expand]
function RT2X00GetRegister16(Reg,Mask,Shift:Word):Word; inline;
Description: Shift is the number of bits to shift the result right (SHR)
[Expand]
procedure RT2X00SetRegister16(var Reg:Word; Mask,Shift,Value:Word); inline;
Description: Shift is the number of bits to shift the value left (SHL)
[Expand]
function RT2X00GetRegister32(Reg,Mask,Shift:LongWord):LongWord; inline;
Description: Shift is the number of bits to shift the result right (SHR)
[Expand]
procedure RT2X00SetRegister32(var Reg:LongWord; Mask,Shift,Value:LongWord);
Description: Shift is the number of bits to shift the value left (SHL)
[Expand]
function RT2X00ReadDescriptor(Descriptor:PLongWord; Index:Byte):LongWord; inline;
Description: To be documented
[Expand]
procedure RT2X00WriteDescriptor(Descriptor:PLongWord; Index:Byte; Value:LongWord); inline;
Description: To be documented
[Expand]
function RT2X00GetRate(Value:Word):PRT2X00Rate; inline;
Description: To be documented
[Expand]
function RT2X00GetRateMCS(Value:Word):LongInt; inline;
Description: To be documented
[Expand]
function RT2X00GetTXBufferSize(RT2X00:PRT2X00WiFiDevice):LongWord;
Description: To be documented
[Expand]
function RT2X00GetTXBufferOffset(RT2X00:PRT2X00WiFiDevice):LongWord;
Description: To be documented
[Expand]
function RT2X00GetRXBufferSize(RT2X00:PRT2X00WiFiDevice):LongWord;
Description: To be documented
Note
|
rt2x00queue_alloc_rxskb
|
[Expand]
function RT2X00GetRXBufferOffset(RT2X00:PRT2X00WiFiDevice):LongWord;
Description: To be documented
[Expand]
function RT2X00InsertL2PAD(var Data:Pointer; var Size:LongWord; HeaderLength:LongWord):Boolean;
Description: To be documented
Note
|
rt2x00queue_insert_l2pad
|
[Expand]
function RT2X00RemoveL2PAD(var Data:Pointer; var Size:LongWord; HeaderLength:LongWord):Boolean;
Description: To be documented
Note
|
rt2x00queue_remove_l2pad
|
[Expand]
function RT2X00ReceiveReadSignal(RT2X00:PRT2X00WiFiDevice; Descriptor:PRT2X00RXDescriptor):LongWord;
Description: To be documented
Note
|
rt2x00lib_rxdone_read_signal
|
[Expand]
function RT2X00ReceiveInsertIV(Descriptor:PRT2X00RXDescriptor; var Data:Pointer; var Size:LongWord; HeaderLength:LongWord):Boolean;
Description: To be documented
Note
|
rt2x00crypto_rx_insert_iv
|
[Expand]
function RT2X00_RATE_MCS(Mode,MCS:Word):Word; inline;
Description: To be documented
[Expand]
function RT2X00_L2PAD_SIZE(HeaderLength:LongWord):LongWord; inline;
Description: To be documented
Return to Unit Reference