Unit RT2800USB

From Ultibo.org
Jump to: navigation, search

Return to Unit Reference


Description


Ralink RT2800 USB Wireless Driver unit

The Ralink RT2800 is a WLAN controller with USB2.0 interface, Ralink is now part of MediaTek.

The list of USB supported device Ids shown below for this driver is taken from the equivalent Linux driver but not all have been tested. In general if your device works with the rt2800usb kernel module under Linux then it should also work with this driver.

Only USB devices are currently supported, PCI and other forms of the same chipset will require a separate driver unit for support.

Constants



[Expand]
RT2800USB specific constants RT2800USB_*


[Expand]
RT2800USB device Id count RT2800USB_DEVICE_ID_*


[Expand]
RT2800USB firmware image RT2800USB_FIRMWARE_*


[Expand]
RT2800USB DMA descriptor defines RT2800USB_*_DESC_SIZE


[Expand]
RT2800USB TXINFO structure RT2800USB_TXINFO_*


[Expand]
RT2800USB RXINFO structure RT2800USB_RXINFO_*


[Expand]
RT2800USB RXD structure RT2800USB_RXD_*


[Expand]
RT2800USB TX/RX entries RT2800USB_MAX_*_ENTRIES


Type definitions



RT2800USB request

[Expand]

PRT2800USBRequest = ^TRT2800USBRequest;

TRT2800USBRequest = record

RT2800USB WiFi device

[Expand]

PRT2800USBWiFiDevice = ^TRT2800USBWiFiDevice;

TRT2800USBWiFiDevice = record


Public variables



RT2800USB specific variables

RT2800USB_FIRMWARE_FILENAME:String = 'rt2870.bin'; The name of the firmware image file to load
RT2800USB_FIRMWARE_INTERNAL:LongBool = True; If True then load the internal firmware not a firmware file
RT2800USB_HARDWARE_ENCRYPTION_DISABLED:LongBool; If True then disable hardware encryption in the device


Function declarations



Initialization functions

[Expand]
procedure RT2800USBInit;
Description: To be documented


RT2800USB network functions

[Expand]
function RT2800USBDeviceOpen(Network:PNetworkDevice):LongWord;
Description: Implementation of NetworkDeviceOpen for the RT2800USB device


[Expand]
function RT2800USBDeviceClose(Network:PNetworkDevice):LongWord;
Description: Implementation of NetworkDeviceClose for the RT2800USB device


[Expand]
function RT2800USBDeviceControl(Network:PNetworkDevice; Request:Integer; Argument1:PtrUInt; var Argument2:PtrUInt):LongWord;
Description: Implementation of NetworkDeviceControl for the RT2800USB device


[Expand]
function RT2800USBBufferAllocate(Network:PNetworkDevice; var Entry:PNetworkEntry):LongWord;
Description: Implementation of NetworkBufferAllocate for the RT2800USB device


[Expand]
function RT2800USBBufferRelease(Network:PNetworkDevice; Entry:PNetworkEntry):LongWord;
Description: Implementation of NetworkBufferRelease for the RT2800USB device


[Expand]
function RT2800USBBufferReceive(Network:PNetworkDevice; var Entry:PNetworkEntry):LongWord;
Description: Implementation of NetworkBufferReceive for the RT2800USB device


[Expand]
function RT2800USBBufferTransmit(Network:PNetworkDevice; Entry:PNetworkEntry):LongWord;
Description: Implementation of NetworkBufferTransmit for the RT2800USB device


RT2800USB WiFi functions

[Expand]
function RT2800USBDeviceConfigure(WiFi:PWiFiDevice; Flags:LongWord):LongWord;
Description: Implementation of WiFiDeviceConfigure for the RT2800USB device


[Expand]
function RT2800USBDeviceConfigureFilter(WiFi:PWiFiDevice; var Filter:LongWord):LongWord;
Description: Implementation of WiFiDeviceConfigureFilter for the RT2800USB device


[Expand]
function RT2800USBDeviceConfigureInterface(WiFi:PWiFiDevice; Interrface:PWiFiInterface):LongWord;
Description: Implementation of WiFiDeviceConfigureInterface for the RT2800USB device


RT2800USB USB functions

[Expand]
function RT2800USBDriverBind(Device:PUSBDevice; Interrface:PUSBInterface):LongWord;
Description: Bind the RT2800USB driver to a USB device if it is suitable


[Expand]
function RT2800USBDriverUnbind(Device:PUSBDevice; Interrface:PUSBInterface):LongWord;
Description: Unbind the RT2800USB driver from a USB device


[Expand]
procedure RT2800USBReceiveWorker(Request:PUSBRequest);
Description: Called (by a Worker thread) to process a completed USB request from the RT2800USB bulk IN endpoint


[Expand]
procedure RT2800USBReceiveComplete(Request:PUSBRequest);
Description: Called when a USB request from the RT2800USB bulk IN endpoint completes


[Expand]
procedure RT2800USBTransmitWorker(Request:PUSBRequest);
Description: Called (by a Worker thread) to process a completed USB request to the RT2800USB bulk OUT endpoint


[Expand]
procedure RT2800USBTransmitComplete(Request:PUSBRequest);
Description: Called when a USB request to the RT2800USB bulk OUT endpoint completes


RT2800USB helper functions

[Expand]
function RT2800USBCheckDevice(Device:PUSBDevice):LongWord;
Description: Check the Vendor and Device Id against the supported devices


[Expand]
function RT2800USBDriverInit(RT2X00:PRT2X00WiFiDevice):LongWord;
Description: To be documented


[Expand]
function RT2800USBEepromLoad(RT2X00:PRT2X00WiFiDevice; Data:PWord; Size:LongWord):LongWord;
Description: To be documented


[Expand]
function RT2800USBSetState(RT2X00:PRT2X00WiFiDevice; State:LongWord):LongWord;
Description: To be documented


[Expand]
function RT2800USBEnableRX(RT2X00:PRT2X00WiFiDevice):LongWord;
Description: To be documented


[Expand]
function RT2800USBDisableRX(RT2X00:PRT2X00WiFiDevice):LongWord;
Description: To be documented


[Expand]
function RT2800USBEnableBeacon(RT2X00:PRT2X00WiFiDevice):LongWord;
Description: To be documented


[Expand]
function RT2800USBDisableBeacon(RT2X00:PRT2X00WiFiDevice):LongWord;
Description: To be documented


[Expand]
function RT2800USBGetFirmware(RT2X00:PRT2X00WiFiDevice; var Name:String; var Address:Pointer; var Size:LongWord):Boolean;
Description: To be documented


[Expand]
function RT2800USBWriteFirmware(RT2X00:PRT2X00WiFiDevice; Data:PByte;Size:LongWord):Boolean;
Description: To be documented


[Expand]
function RT2800USBInitializeRegisters(RT2X00:PRT2X00WiFiDevice):LongWord;
Description: To be documented


[Expand]
function RT2800USBHardwareEncryptionDisabled(RT2X00:PRT2X00WiFiDevice):Boolean;
Description: To be documented


[Expand]
function RT2800USBDetectEfuse(RT2X00:PRT2X00WiFiDevice):LongWord;
Description: To be documented


[Expand]
function RT2800USBDetectAutorun(RT2X00:PRT2X00WiFiDevice):LongWord;
Description: To be documented


[Expand]
function RT2800USBEnableRadio(RT2X00:PRT2X00WiFiDevice):LongWord;
Description: To be documented


[Expand]
function RT2800USBDisableRadio(RT2X00:PRT2X00WiFiDevice):LongWord;
Description: To be documented


[Expand]
function RT2800USBReceiveProcessRXD(RT2X00:PRT2X00WiFiDevice; Descriptor:PRT2X00RXDescriptor; var Data:Pointer; var Size:LongWord; PacketLength:LongWord):Boolean;
Description: To be documented


Return to Unit Reference