Difference between revisions of "Unit RT2800USB"
Line 1,310: | Line 1,310: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,325: | Line 1,325: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,337: | Line 1,337: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,349: | Line 1,349: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,361: | Line 1,361: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,373: | Line 1,373: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,385: | Line 1,385: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,397: | Line 1,397: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,412: | Line 1,412: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| rt2x00mac_config | | rt2x00mac_config | ||
|- | |- | ||
Line 1,424: | Line 1,424: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| rt2x00mac_configure_filter | | rt2x00mac_configure_filter | ||
|- | |- | ||
Line 1,436: | Line 1,436: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| rt2x00mac_add_interface / rt2x00mac_remove_interface | | rt2x00mac_add_interface / rt2x00mac_remove_interface | ||
|- | |- | ||
Line 1,451: | Line 1,451: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Device |
| The USB device to attempt to bind to | | The USB device to attempt to bind to | ||
|- | |- | ||
− | ! | + | ! Interrface |
| The USB interface to attempt to bind to (or nil for whole device) | | The USB interface to attempt to bind to (or nil for whole device) | ||
|- | |- | ||
− | ! | + | ! Return |
− | | USB_STATUS_SUCCESS if completed, USB_STATUS_DEVICE_UNSUPPORTED if unsupported or another error code on failure | + | | USB_STATUS_SUCCESS if completed, USB_STATUS_DEVICE_UNSUPPORTED if unsupported or another error code on failure. |
|- | |- | ||
|} | |} | ||
Line 1,469: | Line 1,469: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Device |
| The USB device to unbind from | | The USB device to unbind from | ||
|- | |- | ||
− | ! | + | ! Interrface |
| The USB interface to unbind from (or nil for whole device) | | The USB interface to unbind from (or nil for whole device) | ||
|- | |- | ||
− | ! | + | ! Return |
| USB_STATUS_SUCCESS if completed or another error code on failure | | USB_STATUS_SUCCESS if completed or another error code on failure | ||
|- | |- | ||
Line 1,487: | Line 1,487: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Request |
| The USB request which has completed | | The USB request which has completed | ||
|- | |- | ||
Line 1,499: | Line 1,499: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Request |
| The USB request which has completed | | The USB request which has completed | ||
|- | |- | ||
− | ! | + | ! Note |
| Request is passed to worker thread for processing to prevent blocking the USB completion | | Request is passed to worker thread for processing to prevent blocking the USB completion | ||
|- | |- | ||
Line 1,514: | Line 1,514: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Request |
| The USB request which has completed | | The USB request which has completed | ||
|- | |- | ||
Line 1,526: | Line 1,526: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Request |
| The USB request which has completed | | The USB request which has completed | ||
|- | |- | ||
− | ! | + | ! Note |
| Request is passed to worker thread for processing to prevent blocking the USB completion | | Request is passed to worker thread for processing to prevent blocking the USB completion | ||
|- | |- | ||
Line 1,544: | Line 1,544: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Device |
| USB device to check | | USB device to check | ||
|- | |- | ||
− | ! | + | ! Return |
| USB_STATUS_SUCCESS if completed or another error code on failure | | USB_STATUS_SUCCESS if completed or another error code on failure | ||
|- | |- | ||
Line 1,559: | Line 1,559: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,571: | Line 1,571: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,583: | Line 1,583: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,595: | Line 1,595: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| rt2800usb_start_queue | | rt2800usb_start_queue | ||
|- | |- | ||
Line 1,607: | Line 1,607: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| rt2800usb_stop_queue | | rt2800usb_stop_queue | ||
|- | |- | ||
Line 1,619: | Line 1,619: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| rt2800usb_start_queue | | rt2800usb_start_queue | ||
|- | |- | ||
Line 1,631: | Line 1,631: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| rt2800usb_stop_queue | | rt2800usb_stop_queue | ||
|- | |- | ||
Line 1,643: | Line 1,643: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,655: | Line 1,655: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| rt2800usb_write_firmware | | rt2800usb_write_firmware | ||
|- | |- | ||
Line 1,667: | Line 1,667: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,679: | Line 1,679: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,691: | Line 1,691: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,703: | Line 1,703: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,715: | Line 1,715: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,727: | Line 1,727: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,739: | Line 1,739: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| rt2800usb_fill_rxdone | | rt2800usb_fill_rxdone | ||
|- | |- |
Latest revision as of 05:44, 24 April 2018
Return to Unit Reference
Contents
[hide]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
RT2800USB_*
RT2800USB_DEVICE_ID_*
RT2800USB_FIRMWARE_*
RT2800USB_*_DESC_SIZE
RT2800USB_TXINFO_*
RT2800USB_RXINFO_*
RT2800USB_RXD_*
RT2800USB_MAX_*_ENTRIES
Type definitions
RT2800USB request
RT2800USB WiFi device
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
RT2800USB network functions
function RT2800USBDeviceOpen(Network:PNetworkDevice):LongWord;
function RT2800USBDeviceClose(Network:PNetworkDevice):LongWord;
function RT2800USBDeviceControl(Network:PNetworkDevice; Request:Integer; Argument1:PtrUInt; var Argument2:PtrUInt):LongWord;
function RT2800USBBufferAllocate(Network:PNetworkDevice; var Entry:PNetworkEntry):LongWord;
function RT2800USBBufferRelease(Network:PNetworkDevice; Entry:PNetworkEntry):LongWord;
function RT2800USBBufferReceive(Network:PNetworkDevice; var Entry:PNetworkEntry):LongWord;
function RT2800USBBufferTransmit(Network:PNetworkDevice; Entry:PNetworkEntry):LongWord;
RT2800USB WiFi functions
function RT2800USBDeviceConfigure(WiFi:PWiFiDevice; Flags:LongWord):LongWord;
function RT2800USBDeviceConfigureFilter(WiFi:PWiFiDevice; var Filter:LongWord):LongWord;
function RT2800USBDeviceConfigureInterface(WiFi:PWiFiDevice; Interrface:PWiFiInterface):LongWord;
RT2800USB USB functions
function RT2800USBDriverBind(Device:PUSBDevice; Interrface:PUSBInterface):LongWord;
function RT2800USBDriverUnbind(Device:PUSBDevice; Interrface:PUSBInterface):LongWord;
procedure RT2800USBReceiveWorker(Request:PUSBRequest);
procedure RT2800USBReceiveComplete(Request:PUSBRequest);
procedure RT2800USBTransmitWorker(Request:PUSBRequest);
procedure RT2800USBTransmitComplete(Request:PUSBRequest);
RT2800USB helper functions
function RT2800USBCheckDevice(Device:PUSBDevice):LongWord;
function RT2800USBDriverInit(RT2X00:PRT2X00WiFiDevice):LongWord;
function RT2800USBEepromLoad(RT2X00:PRT2X00WiFiDevice; Data:PWord; Size:LongWord):LongWord;
function RT2800USBSetState(RT2X00:PRT2X00WiFiDevice; State:LongWord):LongWord;
function RT2800USBEnableRX(RT2X00:PRT2X00WiFiDevice):LongWord;
function RT2800USBDisableRX(RT2X00:PRT2X00WiFiDevice):LongWord;
function RT2800USBEnableBeacon(RT2X00:PRT2X00WiFiDevice):LongWord;
function RT2800USBDisableBeacon(RT2X00:PRT2X00WiFiDevice):LongWord;
function RT2800USBGetFirmware(RT2X00:PRT2X00WiFiDevice; var Name:String; var Address:Pointer; var Size:LongWord):Boolean;
function RT2800USBWriteFirmware(RT2X00:PRT2X00WiFiDevice; Data:PByte;Size:LongWord):Boolean;
function RT2800USBInitializeRegisters(RT2X00:PRT2X00WiFiDevice):LongWord;
function RT2800USBHardwareEncryptionDisabled(RT2X00:PRT2X00WiFiDevice):Boolean;
function RT2800USBDetectEfuse(RT2X00:PRT2X00WiFiDevice):LongWord;
function RT2800USBDetectAutorun(RT2X00:PRT2X00WiFiDevice):LongWord;
function RT2800USBEnableRadio(RT2X00:PRT2X00WiFiDevice):LongWord;
function RT2800USBDisableRadio(RT2X00:PRT2X00WiFiDevice):LongWord;
function RT2800USBReceiveProcessRXD(RT2X00:PRT2X00WiFiDevice; Descriptor:PRT2X00RXDescriptor; var Data:Pointer; var Size:LongWord; PacketLength:LongWord):Boolean;
Return to Unit Reference