Difference between revisions of "Unit RT2800USB"
(Created page with "Return to Unit Reference === Description === ---- ''To be documented'' === Constants === ---- ''To be documented'' === Type definitions === ---- ''To...") |
|||
Line 5: | Line 5: | ||
---- | ---- | ||
− | '' | + | '''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 === | === Constants === | ||
---- | ---- | ||
− | '' | + | |
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''RT2800USB specific constants''' <code> RT2800USB_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>RT2800USB_NETWORK_DESCRIPTION = 'Ralink RT2800 USB Wireless';</code> | ||
+ | | Description of RT2800USB device | ||
+ | |- | ||
+ | | <code>RT2800USB_DRIVER_NAME = 'Ralink RT2800 USB Wireless Driver';</code> | ||
+ | | Name of RT2800USB driver | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''RT2800USB device Id count''' <code> RT2800USB_DEVICE_ID_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>RT2800USB_DEVICE_ID_COUNT = 330;</code> | ||
+ | | Number of supported Device Ids | ||
+ | |- | ||
+ | |colspan="2"| | ||
+ | |- | ||
+ | | <code>RT2800USB_DEVICE_ID:array[0..RT2800USB_DEVICE_ID_COUNT - 1] of TUSBDeviceId = (</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$07b8;idProduct:$2870),</code> | ||
+ | | Abocom | ||
+ | |- | ||
+ | | <code>(idVendor:$07b8;idProduct:$2770),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$07b8;idProduct:$3070),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$07b8;idProduct:$3071),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$07b8;idProduct:$3072),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$1482;idProduct:$3c09),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$1eda;idProduct:$2012),</code> | ||
+ | | AirTies | ||
+ | |- | ||
+ | | <code>(idVendor:$1eda;idProduct:$2210),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$1eda;idProduct:$2310),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$8516;idProduct:$2070),</code> | ||
+ | | Allwin | ||
+ | |- | ||
+ | | <code>(idVendor:$8516;idProduct:$2770),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$8516;idProduct:$2870),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$8516;idProduct:$3070),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$8516;idProduct:$3071),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$8516;idProduct:$3072),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$14b2;idProduct:$3c06),</code> | ||
+ | | Alpha Networks | ||
+ | |- | ||
+ | | <code>(idVendor:$14b2;idProduct:$3c07),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$14b2;idProduct:$3c09),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$14b2;idProduct:$3c12),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$14b2;idProduct:$3c23),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$14b2;idProduct:$3c25),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$14b2;idProduct:$3c27),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$14b2;idProduct:$3c28),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$14b2;idProduct:$3c2c),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$15c5;idProduct:$0008),</code> | ||
+ | | Amit | ||
+ | |- | ||
+ | | <code>(idVendor:$1690;idProduct:$0740),</code> | ||
+ | | Askey | ||
+ | |- | ||
+ | | <code>(idVendor:$0b05;idProduct:$1731),</code> | ||
+ | | ASUS | ||
+ | |- | ||
+ | | <code>(idVendor:$0b05;idProduct:$1732),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0b05;idProduct:$1742),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0b05;idProduct:$1784),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$1761;idProduct:$0b05),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$13d3;idProduct:$3247),</code> | ||
+ | | AzureWave | ||
+ | |- | ||
+ | | <code>(idVendor:$13d3;idProduct:$3273),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$13d3;idProduct:$3305),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$13d3;idProduct:$3307),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$13d3;idProduct:$3321),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$050d;idProduct:$8053),</code> | ||
+ | | Belkin | ||
+ | |- | ||
+ | | <code>(idVendor:$050d;idProduct:$805c),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$050d;idProduct:$815c),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$050d;idProduct:$825a),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$050d;idProduct:$825b),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$050d;idProduct:$935a),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$050d;idProduct:$935b),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0411;idProduct:$00e8),</code> | ||
+ | | Buffalo | ||
+ | |- | ||
+ | | <code>(idVendor:$0411;idProduct:$0158),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0411;idProduct:$015d),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0411;idProduct:$016f),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0411;idProduct:$01a2),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0411;idProduct:$01ee),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0411;idProduct:$01a8),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$07aa;idProduct:$002f),</code> | ||
+ | | Corega | ||
+ | |- | ||
+ | | <code>(idVendor:$07aa;idProduct:$003c),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$07aa;idProduct:$003f),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$18c5;idProduct:$0012),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$07d1;idProduct:$3c09),</code> | ||
+ | | D-Link | ||
+ | |- | ||
+ | | <code>(idVendor:$07d1;idProduct:$3c0a),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$07d1;idProduct:$3c0d),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$07d1;idProduct:$3c0e),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$07d1;idProduct:$3c0f),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$07d1;idProduct:$3c11),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$07d1;idProduct:$3c13),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$07d1;idProduct:$3c15),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$07d1;idProduct:$3c16),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$07d1;idProduct:$3c17),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$2001;idProduct:$3317),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$2001;idProduct:$3c1b),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$2001;idProduct:$3c25),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$07fa;idProduct:$7712),</code> | ||
+ | | Draytek | ||
+ | |- | ||
+ | | <code>(idVendor:$0fe9;idProduct:$b307),</code> | ||
+ | | DVICO | ||
+ | |- | ||
+ | | <code>(idVendor:$7392;idProduct:$4085),</code> | ||
+ | | Edimax | ||
+ | |- | ||
+ | | <code>(idVendor:$7392;idProduct:$7711),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$7392;idProduct:$7717),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$7392;idProduct:$7718),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$7392;idProduct:$7722),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$203d;idProduct:$1480),</code> | ||
+ | | Encore | ||
+ | |- | ||
+ | | <code>(idVendor:$203d;idProduct:$14a9),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$1740;idProduct:$9701),</code> | ||
+ | | EnGenius | ||
+ | |- | ||
+ | | <code>(idVendor:$1740;idProduct:$9702),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$1740;idProduct:$9703),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$1740;idProduct:$9705),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$1740;idProduct:$9706),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$1740;idProduct:$9707),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$1740;idProduct:$9708),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$1740;idProduct:$9709),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$15a9;idProduct:$0012),</code> | ||
+ | | Gemtek | ||
+ | |- | ||
+ | | <code>(idVendor:$1044;idProduct:$800b),</code> | ||
+ | | Gigabyte | ||
+ | |- | ||
+ | | <code>(idVendor:$1044;idProduct:$800d),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0e66;idProduct:$0001),</code> | ||
+ | | Hawking | ||
+ | |- | ||
+ | | <code>(idVendor:$0e66;idProduct:$0003),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0e66;idProduct:$0009),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0e66;idProduct:$000b),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0e66;idProduct:$0013),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0e66;idProduct:$0017),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0e66;idProduct:$0018),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$04bb;idProduct:$0945),</code> | ||
+ | | I-O DATA | ||
+ | |- | ||
+ | | <code>(idVendor:$04bb;idProduct:$0947),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$04bb;idProduct:$0948),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$13b1;idProduct:$0031),</code> | ||
+ | | Linksys | ||
+ | |- | ||
+ | | <code>(idVendor:$1737;idProduct:$0070),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$1737;idProduct:$0071),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$1737;idProduct:$0077),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$1737;idProduct:$0078),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0789;idProduct:$0162),</code> | ||
+ | | Logitec | ||
+ | |- | ||
+ | | <code>(idVendor:$0789;idProduct:$0163),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0789;idProduct:$0164),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0789;idProduct:$0166),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$100d;idProduct:$9031),</code> | ||
+ | | Motorola | ||
+ | |- | ||
+ | | <code>(idVendor:$0db0;idProduct:$3820),</code> | ||
+ | | MSI | ||
+ | |- | ||
+ | | <code>(idVendor:$0db0;idProduct:$3821),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0db0;idProduct:$3822),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0db0;idProduct:$3870),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0db0;idProduct:$3871),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0db0;idProduct:$6899),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0db0;idProduct:$821a),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0db0;idProduct:$822a),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0db0;idProduct:$822b),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0db0;idProduct:$822c),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0db0;idProduct:$870a),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0db0;idProduct:$871a),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0db0;idProduct:$871b),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0db0;idProduct:$871c),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0db0;idProduct:$899a),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$1b75;idProduct:$3071),</code> | ||
+ | | Ovislink | ||
+ | |- | ||
+ | | <code>(idVendor:$1b75;idProduct:$3072),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$1b75;idProduct:$a200),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$20b8;idProduct:$8888),</code> | ||
+ | | Para | ||
+ | |- | ||
+ | | <code>(idVendor:$1d4d;idProduct:$0002),</code> | ||
+ | | Pegatron | ||
+ | |- | ||
+ | | <code>(idVendor:$1d4d;idProduct:$000c),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$1d4d;idProduct:$000e),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$1d4d;idProduct:$0011),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0471;idProduct:$200f),</code> | ||
+ | | Philips | ||
+ | |- | ||
+ | | <code>(idVendor:$2019;idProduct:$5201),</code> | ||
+ | | Planex | ||
+ | |- | ||
+ | | <code>(idVendor:$2019;idProduct:$ab25),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$2019;idProduct:$ed06),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$1a32;idProduct:$0304),</code> | ||
+ | | Quanta | ||
+ | |- | ||
+ | | <code>(idVendor:$148f;idProduct:$2070),</code> | ||
+ | | Ralink | ||
+ | |- | ||
+ | | <code>(idVendor:$148f;idProduct:$2770),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$148f;idProduct:$2870),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$148f;idProduct:$3070),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$148f;idProduct:$3071),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$148f;idProduct:$3072),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$04e8;idProduct:$2018),</code> | ||
+ | | Samsung | ||
+ | |- | ||
+ | | <code>(idVendor:$129b;idProduct:$1828),</code> | ||
+ | | Siemens | ||
+ | |- | ||
+ | | <code>(idVendor:$0df6;idProduct:$0017),</code> | ||
+ | | Sitecom | ||
+ | |- | ||
+ | | <code>(idVendor:$0df6;idProduct:$002b),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0df6;idProduct:$002c),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0df6;idProduct:$002d),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0df6;idProduct:$0039),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0df6;idProduct:$003b),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0df6;idProduct:$003d),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0df6;idProduct:$003e),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0df6;idProduct:$003f),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0df6;idProduct:$0040),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0df6;idProduct:$0042),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0df6;idProduct:$0047),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0df6;idProduct:$0048),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0df6;idProduct:$0051),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0df6;idProduct:$005f),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0df6;idProduct:$0060),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$083a;idProduct:$6618),</code> | ||
+ | | SMC | ||
+ | |- | ||
+ | | <code>(idVendor:$083a;idProduct:$7511),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$083a;idProduct:$7512),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$083a;idProduct:$7522),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$083a;idProduct:$8522),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$083a;idProduct:$a618),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$083a;idProduct:$a701),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$083a;idProduct:$a702),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$083a;idProduct:$a703),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$083a;idProduct:$b522),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$15a9;idProduct:$0006),</code> | ||
+ | | Sparklan | ||
+ | |- | ||
+ | | <code>(idVendor:$177f;idProduct:$0153),</code> | ||
+ | | Sweex | ||
+ | |- | ||
+ | | <code>(idVendor:$177f;idProduct:$0164),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$177f;idProduct:$0302),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$177f;idProduct:$0313),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$177f;idProduct:$0323),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$177f;idProduct:$0324),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$157e;idProduct:$300e),</code> | ||
+ | | U-Media | ||
+ | |- | ||
+ | | <code>(idVendor:$157e;idProduct:$3013),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0cde;idProduct:$0022),</code> | ||
+ | | ZCOM | ||
+ | |- | ||
+ | | <code>(idVendor:$0cde;idProduct:$0025),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$5a57;idProduct:$0280),</code> | ||
+ | | Zinwell | ||
+ | |- | ||
+ | | <code>(idVendor:$5a57;idProduct:$0282),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$5a57;idProduct:$0283),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$5a57;idProduct:$5257),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0586;idProduct:$3416),</code> | ||
+ | | Zyxel | ||
+ | |- | ||
+ | | <code>(idVendor:$0586;idProduct:$3418),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0586;idProduct:$341a),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0586;idProduct:$341e),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0586;idProduct:$343e),</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''RT2800USB_RT33XX devices'' | ||
+ | |- | ||
+ | | <code>(idVendor:$050d;idProduct:$945b),</code> | ||
+ | | Belkin | ||
+ | |- | ||
+ | | <code>(idVendor:$2001;idProduct:$3c17),</code> | ||
+ | | D-Link | ||
+ | |- | ||
+ | | <code>(idVendor:$083a;idProduct:$b511),</code> | ||
+ | | Panasonic | ||
+ | |- | ||
+ | | <code>(idVendor:$0471;idProduct:$20dd),</code> | ||
+ | | Philips | ||
+ | |- | ||
+ | | <code>(idVendor:$148f;idProduct:$3370),</code> | ||
+ | | Ralink | ||
+ | |- | ||
+ | | <code>(idVendor:$148f;idProduct:$8070),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0df6;idProduct:$0050),</code> | ||
+ | | Sitecom | ||
+ | |- | ||
+ | | <code>(idVendor:$177f;idProduct:$0163),</code> | ||
+ | | Sweex | ||
+ | |- | ||
+ | | <code>(idVendor:$177f;idProduct:$0165),</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''RT2800USB_RT35XX devices'' | ||
+ | |- | ||
+ | | <code>(idVendor:$8516;idProduct:$3572),</code> | ||
+ | | Allwin | ||
+ | |- | ||
+ | | <code>(idVendor:$1690;idProduct:$0744),</code> | ||
+ | | Askey | ||
+ | |- | ||
+ | | <code>(idVendor:$1690;idProduct:$0761),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$1690;idProduct:$0764),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0b05;idProduct:$179d),</code> | ||
+ | | ASUS | ||
+ | |- | ||
+ | | <code>(idVendor:$167b;idProduct:$4001),</code> | ||
+ | | Cisco | ||
+ | |- | ||
+ | | <code>(idVendor:$1740;idProduct:$9801),</code> | ||
+ | | EnGenius | ||
+ | |- | ||
+ | | <code>(idVendor:$04bb;idProduct:$0944),</code> | ||
+ | | I-O DATA | ||
+ | |- | ||
+ | | <code>(idVendor:$13b1;idProduct:$002f),</code> | ||
+ | | Linksys | ||
+ | |- | ||
+ | | <code>(idVendor:$1737;idProduct:$0079),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0789;idProduct:$0170),</code> | ||
+ | | Logitec | ||
+ | |- | ||
+ | | <code>(idVendor:$148f;idProduct:$3572),</code> | ||
+ | | Ralink | ||
+ | |- | ||
+ | | <code>(idVendor:$0df6;idProduct:$0041),</code> | ||
+ | | Sitecom | ||
+ | |- | ||
+ | | <code>(idVendor:$0df6;idProduct:$0062),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0df6;idProduct:$0065),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0df6;idProduct:$0066),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0df6;idProduct:$0068),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0930;idProduct:$0a07),</code> | ||
+ | | Toshiba | ||
+ | |- | ||
+ | | <code>(idVendor:$5a57;idProduct:$0284),</code> | ||
+ | | Zinwell | ||
+ | |- | ||
+ | |colspan="2"|''RT2800USB_RT3573 devices'' | ||
+ | |- | ||
+ | | <code>(idVendor:$1b75;idProduct:$7733),</code> | ||
+ | | AirLive | ||
+ | |- | ||
+ | | <code>(idVendor:$0b05;idProduct:$17bc),</code> | ||
+ | | ASUS | ||
+ | |- | ||
+ | | <code>(idVendor:$0b05;idProduct:$17ad),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$050d;idProduct:$1103),</code> | ||
+ | | Belkin | ||
+ | |- | ||
+ | | <code>(idVendor:$148f;idProduct:$f301),</code> | ||
+ | | Cameo | ||
+ | |- | ||
+ | | <code>(idVendor:$2001;idProduct:$3c1f),</code> | ||
+ | | D-Link | ||
+ | |- | ||
+ | | <code>(idVendor:$7392;idProduct:$7733),</code> | ||
+ | | Edimax | ||
+ | |- | ||
+ | | <code>(idVendor:$0e66;idProduct:$0020),</code> | ||
+ | | Hawking | ||
+ | |- | ||
+ | | <code>(idVendor:$0e66;idProduct:$0021),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$04bb;idProduct:$094e),</code> | ||
+ | | I-O DATA | ||
+ | |- | ||
+ | | <code>(idVendor:$13b1;idProduct:$003b),</code> | ||
+ | | Linksys | ||
+ | |- | ||
+ | | <code>(idVendor:$0789;idProduct:$016b),</code> | ||
+ | | Logitec | ||
+ | |- | ||
+ | | <code>(idVendor:$0846;idProduct:$9012),</code> | ||
+ | | NETGEAR | ||
+ | |- | ||
+ | | <code>(idVendor:$0846;idProduct:$9013),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0846;idProduct:$9019),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$2019;idProduct:$ed19),</code> | ||
+ | | Planex | ||
+ | |- | ||
+ | | <code>(idVendor:$148f;idProduct:$3573),</code> | ||
+ | | Ralink | ||
+ | |- | ||
+ | | <code>(idVendor:$0df6;idProduct:$0067),</code> | ||
+ | | Sitecom | ||
+ | |- | ||
+ | | <code>(idVendor:$0df6;idProduct:$006a),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0df6;idProduct:$006e),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0586;idProduct:$3421),</code> | ||
+ | | ZyXEL | ||
+ | |- | ||
+ | |colspan="2"|''RT2800USB_RT53XX devices'' | ||
+ | |- | ||
+ | | <code>(idVendor:$043e;idProduct:$7a12),</code> | ||
+ | | Arcadyan | ||
+ | |- | ||
+ | | <code>(idVendor:$043e;idProduct:$7a32),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0b05;idProduct:$17e8),</code> | ||
+ | | ASUS | ||
+ | |- | ||
+ | | <code>(idVendor:$13d3;idProduct:$3329),</code> | ||
+ | | Azurewave | ||
+ | |- | ||
+ | | <code>(idVendor:$13d3;idProduct:$3365),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$2001;idProduct:$3c15),</code> | ||
+ | | D-Link | ||
+ | |- | ||
+ | | <code>(idVendor:$2001;idProduct:$3c19),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$2001;idProduct:$3c1c),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$2001;idProduct:$3c1d),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$2001;idProduct:$3c1e),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$2001;idProduct:$3c20),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$2001;idProduct:$3c22),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$2001;idProduct:$3c23),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$043e;idProduct:$7a22),</code> | ||
+ | | LG innotek | ||
+ | |- | ||
+ | | <code>(idVendor:$043e;idProduct:$7a42),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$04da;idProduct:$1801),</code> | ||
+ | | Panasonic | ||
+ | |- | ||
+ | | <code>(idVendor:$04da;idProduct:$1800),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$04da;idProduct:$23f6),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0471;idProduct:$2104),</code> | ||
+ | | Philips | ||
+ | |- | ||
+ | | <code>(idVendor:$0471;idProduct:$2126),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0471;idProduct:$2180),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0471;idProduct:$2181),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0471;idProduct:$2182),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$148f;idProduct:$5370),</code> | ||
+ | | Ralink | ||
+ | |- | ||
+ | | <code>(idVendor:$148f;idProduct:$5372),</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''RT2800USB_RT55XX devices'' | ||
+ | |- | ||
+ | | <code>(idVendor:$043e;idProduct:$7a32),</code> | ||
+ | | Arcadyan | ||
+ | |- | ||
+ | | <code>(idVendor:$057c;idProduct:$8501),</code> | ||
+ | | AVM GmbH | ||
+ | |- | ||
+ | | <code>(idVendor:$0411;idProduct:$0241),</code> | ||
+ | | Buffalo | ||
+ | |- | ||
+ | | <code>(idVendor:$0411;idProduct:$0253),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$2001;idProduct:$3c1a),</code> | ||
+ | | D-Link | ||
+ | |- | ||
+ | | <code>(idVendor:$2001;idProduct:$3c21),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$043e;idProduct:$7a13),</code> | ||
+ | | Proware | ||
+ | |- | ||
+ | | <code>(idVendor:$148f;idProduct:$5572),</code> | ||
+ | | Ralink | ||
+ | |- | ||
+ | | <code>(idVendor:$20f4;idProduct:$724a),</code> | ||
+ | | TRENDnet | ||
+ | |- | ||
+ | |colspan="2"|''RT2800USB_UNKNOWN devices'' | ||
+ | |- | ||
+ | | <code>(idVendor:$07b8;idProduct:$3073),</code> | ||
+ | | Abocom | ||
+ | |- | ||
+ | | <code>(idVendor:$07b8;idProduct:$3074),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$14b2;idProduct:$3c08),</code> | ||
+ | | Alpha Networks | ||
+ | |- | ||
+ | | <code>(idVendor:$14b2;idProduct:$3c11),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0e0b;idProduct:$9031),</code> | ||
+ | | Amigo | ||
+ | |- | ||
+ | | <code>(idVendor:$0e0b;idProduct:$9041),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0b05;idProduct:$166a),</code> | ||
+ | | ASUS | ||
+ | |- | ||
+ | | <code>(idVendor:$0b05;idProduct:$1760),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0b05;idProduct:$1761),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0b05;idProduct:$1790),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0b05;idProduct:$17a7),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$13d3;idProduct:$3262),</code> | ||
+ | | AzureWave | ||
+ | |- | ||
+ | | <code>(idVendor:$13d3;idProduct:$3284),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$13d3;idProduct:$3322),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$13d3;idProduct:$3340),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$13d3;idProduct:$3399),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$13d3;idProduct:$3400),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$13d3;idProduct:$3401),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$050d;idProduct:$1003),</code> | ||
+ | | Belkin | ||
+ | |- | ||
+ | | <code>(idVendor:$0411;idProduct:$012e),</code> | ||
+ | | Buffalo | ||
+ | |- | ||
+ | | <code>(idVendor:$0411;idProduct:$0148),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0411;idProduct:$0150),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$07aa;idProduct:$0041),</code> | ||
+ | | Corega | ||
+ | |- | ||
+ | | <code>(idVendor:$07aa;idProduct:$0042),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$18c5;idProduct:$0008),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$07d1;idProduct:$3c0b),</code> | ||
+ | | D-Link | ||
+ | |- | ||
+ | | <code>(idVendor:$203d;idProduct:$14a1),</code> | ||
+ | | Encore | ||
+ | |- | ||
+ | | <code>(idVendor:$1740;idProduct:$0600),</code> | ||
+ | | EnGenius | ||
+ | |- | ||
+ | | <code>(idVendor:$1740;idProduct:$0602),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$15a9;idProduct:$0010),</code> | ||
+ | | Gemtek | ||
+ | |- | ||
+ | | <code>(idVendor:$1044;idProduct:$800c),</code> | ||
+ | | Gigabyte | ||
+ | |- | ||
+ | | <code>(idVendor:$06f8;idProduct:$e036),</code> | ||
+ | | Hercules | ||
+ | |- | ||
+ | | <code>(idVendor:$148f;idProduct:$f101),</code> | ||
+ | | Huawei | ||
+ | |- | ||
+ | | <code>(idVendor:$04bb;idProduct:$094b),</code> | ||
+ | | I-O DATA | ||
+ | |- | ||
+ | | <code>(idVendor:$1740;idProduct:$0605),</code> | ||
+ | | LevelOne | ||
+ | |- | ||
+ | | <code>(idVendor:$1740;idProduct:$0615),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0789;idProduct:$0168),</code> | ||
+ | | Logitec | ||
+ | |- | ||
+ | | <code>(idVendor:$0789;idProduct:$0169),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$100d;idProduct:$9032),</code> | ||
+ | | Motorola | ||
+ | |- | ||
+ | | <code>(idVendor:$05a6;idProduct:$0101),</code> | ||
+ | | Pegatron | ||
+ | |- | ||
+ | | <code>(idVendor:$1d4d;idProduct:$0010),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$2019;idProduct:$ab24),</code> | ||
+ | | Planex | ||
+ | |- | ||
+ | | <code>(idVendor:$2019;idProduct:$ab29),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$18e8;idProduct:$6259),</code> | ||
+ | | Qcom | ||
+ | |- | ||
+ | | <code>(idVendor:$08b9;idProduct:$1197),</code> | ||
+ | | RadioShack | ||
+ | |- | ||
+ | | <code>(idVendor:$0df6;idProduct:$003c),</code> | ||
+ | | Sitecom | ||
+ | |- | ||
+ | | <code>(idVendor:$0df6;idProduct:$004a),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0df6;idProduct:$004d),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0df6;idProduct:$0053),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0df6;idProduct:$0069),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0df6;idProduct:$006f),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$0df6;idProduct:$0078),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$083a;idProduct:$a512),</code> | ||
+ | | SMC | ||
+ | |- | ||
+ | | <code>(idVendor:$083a;idProduct:$c522),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$083a;idProduct:$d522),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$083a;idProduct:$f511),</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>(idVendor:$177f;idProduct:$0254),</code> | ||
+ | | Sweex | ||
+ | |- | ||
+ | | <code>(idVendor:$f201;idProduct:$5370));</code> | ||
+ | | TP-LINK | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''RT2800USB firmware image''' <code> RT2800USB_FIRMWARE_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>RT2800USB_FIRMWARE_IMAGEBASE = $3000;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''RT2800USB DMA descriptor defines''' <code> RT2800USB_*_DESC_SIZE </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>RT2800USB_TXINFO_DESC_SIZE = (1 * SizeOf(LongWord));</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>RT2800USB_RXINFO_DESC_SIZE = (1 * SizeOf(LongWord));</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''RT2800USB TXINFO structure''' <code> RT2800USB_TXINFO_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|''Word0'' | ||
+ | |- | ||
+ | | <code>RT2800USB_TXINFO_W0_USB_DMA_TX_PKT_LEN = $0000ffff;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>RT2800USB_TXINFO_W0_WIV = $01000000;</code> | ||
+ | | WIV: Wireless Info Valid. 1: Driver filled WI, 0: DMA needs to copy WI | ||
+ | |- | ||
+ | | <code>RT2800USB_TXINFO_W0_QSEL = $06000000;</code> | ||
+ | | QSEL: Select on-chip FIFO ID for 2nd-stage output scheduler. 0:MGMT, 1:HCCA 2:EDCA | ||
+ | |- | ||
+ | | <code>RT2800USB_TXINFO_W0_SW_USE_LAST_ROUND = $08000000;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>RT2800USB_TXINFO_W0_USB_DMA_NEXT_VALID = $40000000;</code> | ||
+ | | USB_DMA_NEXT_VALID: Used ONLY in USB bulk Aggregation, NextValid | ||
+ | |- | ||
+ | | <code>RT2800USB_TXINFO_W0_USB_DMA_TX_BURST = $80000000;</code> | ||
+ | | DMA_TX_BURST: Used ONLY in USB bulk Aggregation. Force USB DMA transmit frame from current selected endpoint | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''RT2800USB RXINFO structure''' <code> RT2800USB_RXINFO_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|''Word 0'' | ||
+ | |- | ||
+ | | <code>RT2800USB_RXINFO_W0_USB_DMA_RX_PKT_LEN = $0000ffff;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''RT2800USB RXD structure''' <code> RT2800USB_RXD_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|''Word0'' | ||
+ | |- | ||
+ | | <code>RT2800USB_RXD_W0_BA = $00000001;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>RT2800USB_RXD_W0_DATA = $00000002;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>RT2800USB_RXD_W0_NULLDATA = $00000004;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>RT2800USB_RXD_W0_FRAG = $00000008;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>RT2800USB_RXD_W0_UNICAST_TO_ME = $00000010;</code> | ||
+ | | UNICAST_TO_ME: This RX frame is unicast to me | ||
+ | |- | ||
+ | | <code>RT2800USB_RXD_W0_MULTICAST = $00000020;</code> | ||
+ | | MULTICAST: This is a multicast frame | ||
+ | |- | ||
+ | | <code>RT2800USB_RXD_W0_BROADCAST = $00000040;</code> | ||
+ | | BROADCAST: This is a broadcast frame | ||
+ | |- | ||
+ | | <code>RT2800USB_RXD_W0_MY_BSS = $00000080;</code> | ||
+ | | MY_BSS: this frame belongs to the same BSSID | ||
+ | |- | ||
+ | | <code>RT2800USB_RXD_W0_CRC_ERROR = $00000100;</code> | ||
+ | | CRC_ERROR: CRC error | ||
+ | |- | ||
+ | | <code>RT2800USB_RXD_W0_CIPHER_ERROR = $00000600;</code> | ||
+ | | CIPHER_ERROR: 0: decryption okay, 1:ICV error, 2:MIC error, 3:KEY not valid | ||
+ | |- | ||
+ | | <code>RT2800USB_RXD_W0_AMSDU = $00000800;</code> | ||
+ | | AMSDU: rx with 802.3 header, not 802.11 header | ||
+ | |- | ||
+ | | <code>RT2800USB_RXD_W0_HTC = $00001000;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>RT2800USB_RXD_W0_RSSI = $00002000;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>RT2800USB_RXD_W0_L2PAD = $00004000;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>RT2800USB_RXD_W0_AMPDU = $00008000;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>RT2800USB_RXD_W0_DECRYPTED = $00010000;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>RT2800USB_RXD_W0_PLCP_RSSI = $00020000;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>RT2800USB_RXD_W0_CIPHER_ALG = $00040000;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>RT2800USB_RXD_W0_LAST_AMSDU = $00080000;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>RT2800USB_RXD_W0_PLCP_SIGNAL = $fff00000;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''RT2800USB TX/RX entries''' <code> RT2800USB_MAX_*_ENTRIES </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>RT2800USB_MAX_TX_ENTRIES = SIZE_16;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | | <code>RT2800USB_MAX_RX_ENTRIES = SIZE_256;</code> | ||
+ | | | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
=== Type definitions === | === Type definitions === | ||
---- | ---- | ||
− | '' | + | |
+ | '''RT2800USB request''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PRT2800USBRequest = ^TRT2800USBRequest;</code> | ||
+ | |||
+ | <code>TRT2800USBRequest = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>Index:LongWord;</code> | ||
+ | | The index of this request in the receive or transmit requests array | ||
+ | |- | ||
+ | | <code>Entry:PNetworkEntry;</code> | ||
+ | | The network queue entry currently allocated to this endpoint | ||
+ | |- | ||
+ | | <code>Request:PUSBRequest;</code> | ||
+ | | The USB request allocated for this endpoint | ||
+ | |- | ||
+ | | <code>Endpoint:PUSBEndpointDescriptor;</code> | ||
+ | | The USB endpoint descriptor found during bind for this endpoint | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''RT2800USB WiFi device''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PRT2800USBWiFiDevice = ^TRT2800USBWiFiDevice;</code> | ||
+ | |||
+ | <code>TRT2800USBWiFiDevice = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|''RT2X00 Properties'' | ||
+ | |- | ||
+ | | <code>RT2X00:TRT2X00WiFiDevice;</code> | ||
+ | | style="width: 50%;"| | ||
+ | |- | ||
+ | |colspan="2"|''USB Properties'' | ||
+ | |- | ||
+ | | <code>ReceiveMask:LongWord;</code> | ||
+ | | Bit mask of Receive requests | ||
+ | |- | ||
+ | | <code>ReceiveFree:LongWord;</code> | ||
+ | | Map of free Receive requests | ||
+ | |- | ||
+ | | <code>ReceiveRequests:array of PRT2800USBRequest;</code> | ||
+ | | Receive requests, 1 per Bulk IN Endpoint | ||
+ | |- | ||
+ | | <code>TransmitMask:LongWord;</code> | ||
+ | | Bit mask of Transmit requests | ||
+ | |- | ||
+ | | <code>TransmitFree:LongWord;</code> | ||
+ | | Map of free Transmit requests | ||
+ | |- | ||
+ | | <code>TransmitRequests:array of PRT2800USBRequest;</code> | ||
+ | | Transmit requests, 1 per Bulk OUT Endpoint | ||
+ | |- | ||
+ | | <code>PendingCount:LongWord;</code> | ||
+ | | Number of USB requests pending for this network | ||
+ | |- | ||
+ | | <code>WaiterThread:TThreadId;</code> | ||
+ | | Thread waiting for pending requests to complete (for network close) | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
=== Public variables === | === Public variables === | ||
---- | ---- | ||
− | '' | + | |
+ | '''RT2800USB specific variables''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>RT2800USB_FIRMWARE_FILENAME:String = 'rt2870.bin';</code> | ||
+ | | style="width: 40%;"|The name of the firmware image file to load | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>RT2800USB_FIRMWARE_INTERNAL:LongBool = True;</code> | ||
+ | | style="width: 40%;"|If True then load the internal firmware not a firmware file | ||
+ | |- | ||
+ | |} | ||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>RT2800USB_HARDWARE_ENCRYPTION_DISABLED:LongBool;</code> | ||
+ | | style="width: 40%;"|If True then disable hardware encryption in the device | ||
+ | |- | ||
+ | |} | ||
+ | <br /> | ||
=== Function declarations === | === Function declarations === | ||
---- | ---- | ||
− | |||
+ | '''Initialization functions''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">procedure RT2800USBInit;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Note''' | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | |||
+ | '''RT2800USB network functions''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function RT2800USBDeviceOpen(Network:PNetworkDevice):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Implementation of NetworkDeviceOpen for the RT2800USB device</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Note''' | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function RT2800USBDeviceClose(Network:PNetworkDevice):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Implementation of NetworkDeviceClose for the RT2800USB device</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Note''' | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function RT2800USBDeviceControl(Network:PNetworkDevice; Request:Integer; Argument1:PtrUInt; var Argument2:PtrUInt):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Implementation of NetworkDeviceControl for the RT2800USB device</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Note''' | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function RT2800USBBufferAllocate(Network:PNetworkDevice; var Entry:PNetworkEntry):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Implementation of NetworkBufferAllocate for the RT2800USB device</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Note''' | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function RT2800USBBufferRelease(Network:PNetworkDevice; Entry:PNetworkEntry):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Implementation of NetworkBufferRelease for the RT2800USB device</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Note''' | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function RT2800USBBufferReceive(Network:PNetworkDevice; var Entry:PNetworkEntry):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Implementation of NetworkBufferReceive for the RT2800USB device</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Note''' | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function RT2800USBBufferTransmit(Network:PNetworkDevice; Entry:PNetworkEntry):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Implementation of NetworkBufferTransmit for the RT2800USB device</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Note''' | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | |||
+ | '''RT2800USB WiFi functions''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function RT2800USBDeviceConfigure(WiFi:PWiFiDevice; Flags:LongWord):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Implementation of WiFiDeviceConfigure for the RT2800USB device</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Note''' | ||
+ | | rt2x00mac_config | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function RT2800USBDeviceConfigureFilter(WiFi:PWiFiDevice; var Filter:LongWord):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Implementation of WiFiDeviceConfigureFilter for the RT2800USB device</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Note''' | ||
+ | | rt2x00mac_configure_filter | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function RT2800USBDeviceConfigureInterface(WiFi:PWiFiDevice; Interrface:PWiFiInterface):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Implementation of WiFiDeviceConfigureInterface for the RT2800USB device</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Note''' | ||
+ | | rt2x00mac_add_interface / rt2x00mac_remove_interface | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | |||
+ | '''RT2800USB USB functions''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function RT2800USBDriverBind(Device:PUSBDevice; Interrface:PUSBInterface):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Bind the RT2800USB driver to a USB device if it is suitable</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Device''' | ||
+ | | The USB device to attempt to bind to | ||
+ | |- | ||
+ | ! '''Interrface''' | ||
+ | | 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 | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function RT2800USBDriverUnbind(Device:PUSBDevice; Interrface:PUSBInterface):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Unbind the RT2800USB driver from a USB device</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Device''' | ||
+ | | The USB device to unbind from | ||
+ | |- | ||
+ | ! '''Interrface''' | ||
+ | | The USB interface to unbind from (or nil for whole device) | ||
+ | |- | ||
+ | ! '''Return''' | ||
+ | | USB_STATUS_SUCCESS if completed or another error code on failure | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">procedure RT2800USBReceiveWorker(Request:PUSBRequest);</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Called (by a Worker thread) to process a completed USB request from the RT2800USB bulk IN endpoint</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Request''' | ||
+ | | The USB request which has completed | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">procedure RT2800USBReceiveComplete(Request:PUSBRequest);</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Called when a USB request from the RT2800USB bulk IN endpoint completes</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Request''' | ||
+ | | The USB request which has completed | ||
+ | |- | ||
+ | ! '''Note''' | ||
+ | | Request is passed to worker thread for processing to prevent blocking the USB completion | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">procedure RT2800USBTransmitWorker(Request:PUSBRequest);</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Called (by a Worker thread) to process a completed USB request to the RT2800USB bulk OUT endpoint</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Request''' | ||
+ | | The USB request which has completed | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">procedure RT2800USBTransmitComplete(Request:PUSBRequest);</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Called when a USB request to the RT2800USB bulk OUT endpoint completes</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Request''' | ||
+ | | The USB request which has completed | ||
+ | |- | ||
+ | ! '''Note''' | ||
+ | | Request is passed to worker thread for processing to prevent blocking the USB completion | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | |||
+ | '''RT2800USB helper functions''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function RT2800USBCheckDevice(Device:PUSBDevice):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check the Vendor and Device Id against the supported devices</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Device''' | ||
+ | | USB device to check | ||
+ | |- | ||
+ | ! '''Return''' | ||
+ | | USB_STATUS_SUCCESS if completed or another error code on failure | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function RT2800USBDriverInit(RT2X00:PRT2X00WiFiDevice):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Note''' | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function RT2800USBEepromLoad(RT2X00:PRT2X00WiFiDevice; Data:PWord; Size:LongWord):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Note''' | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function RT2800USBSetState(RT2X00:PRT2X00WiFiDevice; State:LongWord):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Note''' | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function RT2800USBEnableRX(RT2X00:PRT2X00WiFiDevice):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Note''' | ||
+ | | rt2800usb_start_queue | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function RT2800USBDisableRX(RT2X00:PRT2X00WiFiDevice):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Note''' | ||
+ | | rt2800usb_stop_queue | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function RT2800USBEnableBeacon(RT2X00:PRT2X00WiFiDevice):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Note''' | ||
+ | | rt2800usb_start_queue | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function RT2800USBDisableBeacon(RT2X00:PRT2X00WiFiDevice):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Note''' | ||
+ | | rt2800usb_stop_queue | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function RT2800USBGetFirmware(RT2X00:PRT2X00WiFiDevice; var Name:String; var Address:Pointer; var Size:LongWord):Boolean;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Note''' | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function RT2800USBWriteFirmware(RT2X00:PRT2X00WiFiDevice; Data:PByte;Size:LongWord):Boolean;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Note''' | ||
+ | | rt2800usb_write_firmware | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function RT2800USBInitializeRegisters(RT2X00:PRT2X00WiFiDevice):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Note''' | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function RT2800USBHardwareEncryptionDisabled(RT2X00:PRT2X00WiFiDevice):Boolean;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Note''' | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function RT2800USBDetectEfuse(RT2X00:PRT2X00WiFiDevice):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Note''' | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function RT2800USBDetectAutorun(RT2X00:PRT2X00WiFiDevice):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Note''' | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function RT2800USBEnableRadio(RT2X00:PRT2X00WiFiDevice):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Note''' | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function RT2800USBDisableRadio(RT2X00:PRT2X00WiFiDevice):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Note''' | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function RT2800USBReceiveProcessRXD(RT2X00:PRT2X00WiFiDevice; Descriptor:PRT2X00RXDescriptor; var Data:Pointer; var Size:LongWord; PacketLength:LongWord):Boolean;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Note''' | ||
+ | | rt2800usb_fill_rxdone | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
Return to [[Unit_Reference|Unit Reference]] | Return to [[Unit_Reference|Unit Reference]] |
Revision as of 04:21, 19 June 2017
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
RT2800USB_*
RT2800USB_NETWORK_DESCRIPTION = 'Ralink RT2800 USB Wireless';
|
Description of RT2800USB device |
RT2800USB_DRIVER_NAME = 'Ralink RT2800 USB Wireless Driver';
|
Name of RT2800USB driver |
RT2800USB_DEVICE_ID_*
RT2800USB_DEVICE_ID_COUNT = 330;
|
Number of supported Device Ids |
RT2800USB_DEVICE_ID:array[0..RT2800USB_DEVICE_ID_COUNT - 1] of TUSBDeviceId = (
|
|
(idVendor:$07b8;idProduct:$2870),
|
Abocom |
(idVendor:$07b8;idProduct:$2770),
|
|
(idVendor:$07b8;idProduct:$3070),
|
|
(idVendor:$07b8;idProduct:$3071),
|
|
(idVendor:$07b8;idProduct:$3072),
|
|
(idVendor:$1482;idProduct:$3c09),
|
|
(idVendor:$1eda;idProduct:$2012),
|
AirTies |
(idVendor:$1eda;idProduct:$2210),
|
|
(idVendor:$1eda;idProduct:$2310),
|
|
(idVendor:$8516;idProduct:$2070),
|
Allwin |
(idVendor:$8516;idProduct:$2770),
|
|
(idVendor:$8516;idProduct:$2870),
|
|
(idVendor:$8516;idProduct:$3070),
|
|
(idVendor:$8516;idProduct:$3071),
|
|
(idVendor:$8516;idProduct:$3072),
|
|
(idVendor:$14b2;idProduct:$3c06),
|
Alpha Networks |
(idVendor:$14b2;idProduct:$3c07),
|
|
(idVendor:$14b2;idProduct:$3c09),
|
|
(idVendor:$14b2;idProduct:$3c12),
|
|
(idVendor:$14b2;idProduct:$3c23),
|
|
(idVendor:$14b2;idProduct:$3c25),
|
|
(idVendor:$14b2;idProduct:$3c27),
|
|
(idVendor:$14b2;idProduct:$3c28),
|
|
(idVendor:$14b2;idProduct:$3c2c),
|
|
(idVendor:$15c5;idProduct:$0008),
|
Amit |
(idVendor:$1690;idProduct:$0740),
|
Askey |
(idVendor:$0b05;idProduct:$1731),
|
ASUS |
(idVendor:$0b05;idProduct:$1732),
|
|
(idVendor:$0b05;idProduct:$1742),
|
|
(idVendor:$0b05;idProduct:$1784),
|
|
(idVendor:$1761;idProduct:$0b05),
|
|
(idVendor:$13d3;idProduct:$3247),
|
AzureWave |
(idVendor:$13d3;idProduct:$3273),
|
|
(idVendor:$13d3;idProduct:$3305),
|
|
(idVendor:$13d3;idProduct:$3307),
|
|
(idVendor:$13d3;idProduct:$3321),
|
|
(idVendor:$050d;idProduct:$8053),
|
Belkin |
(idVendor:$050d;idProduct:$805c),
|
|
(idVendor:$050d;idProduct:$815c),
|
|
(idVendor:$050d;idProduct:$825a),
|
|
(idVendor:$050d;idProduct:$825b),
|
|
(idVendor:$050d;idProduct:$935a),
|
|
(idVendor:$050d;idProduct:$935b),
|
|
(idVendor:$0411;idProduct:$00e8),
|
Buffalo |
(idVendor:$0411;idProduct:$0158),
|
|
(idVendor:$0411;idProduct:$015d),
|
|
(idVendor:$0411;idProduct:$016f),
|
|
(idVendor:$0411;idProduct:$01a2),
|
|
(idVendor:$0411;idProduct:$01ee),
|
|
(idVendor:$0411;idProduct:$01a8),
|
|
(idVendor:$07aa;idProduct:$002f),
|
Corega |
(idVendor:$07aa;idProduct:$003c),
|
|
(idVendor:$07aa;idProduct:$003f),
|
|
(idVendor:$18c5;idProduct:$0012),
|
|
(idVendor:$07d1;idProduct:$3c09),
|
D-Link |
(idVendor:$07d1;idProduct:$3c0a),
|
|
(idVendor:$07d1;idProduct:$3c0d),
|
|
(idVendor:$07d1;idProduct:$3c0e),
|
|
(idVendor:$07d1;idProduct:$3c0f),
|
|
(idVendor:$07d1;idProduct:$3c11),
|
|
(idVendor:$07d1;idProduct:$3c13),
|
|
(idVendor:$07d1;idProduct:$3c15),
|
|
(idVendor:$07d1;idProduct:$3c16),
|
|
(idVendor:$07d1;idProduct:$3c17),
|
|
(idVendor:$2001;idProduct:$3317),
|
|
(idVendor:$2001;idProduct:$3c1b),
|
|
(idVendor:$2001;idProduct:$3c25),
|
|
(idVendor:$07fa;idProduct:$7712),
|
Draytek |
(idVendor:$0fe9;idProduct:$b307),
|
DVICO |
(idVendor:$7392;idProduct:$4085),
|
Edimax |
(idVendor:$7392;idProduct:$7711),
|
|
(idVendor:$7392;idProduct:$7717),
|
|
(idVendor:$7392;idProduct:$7718),
|
|
(idVendor:$7392;idProduct:$7722),
|
|
(idVendor:$203d;idProduct:$1480),
|
Encore |
(idVendor:$203d;idProduct:$14a9),
|
|
(idVendor:$1740;idProduct:$9701),
|
EnGenius |
(idVendor:$1740;idProduct:$9702),
|
|
(idVendor:$1740;idProduct:$9703),
|
|
(idVendor:$1740;idProduct:$9705),
|
|
(idVendor:$1740;idProduct:$9706),
|
|
(idVendor:$1740;idProduct:$9707),
|
|
(idVendor:$1740;idProduct:$9708),
|
|
(idVendor:$1740;idProduct:$9709),
|
|
(idVendor:$15a9;idProduct:$0012),
|
Gemtek |
(idVendor:$1044;idProduct:$800b),
|
Gigabyte |
(idVendor:$1044;idProduct:$800d),
|
|
(idVendor:$0e66;idProduct:$0001),
|
Hawking |
(idVendor:$0e66;idProduct:$0003),
|
|
(idVendor:$0e66;idProduct:$0009),
|
|
(idVendor:$0e66;idProduct:$000b),
|
|
(idVendor:$0e66;idProduct:$0013),
|
|
(idVendor:$0e66;idProduct:$0017),
|
|
(idVendor:$0e66;idProduct:$0018),
|
|
(idVendor:$04bb;idProduct:$0945),
|
I-O DATA |
(idVendor:$04bb;idProduct:$0947),
|
|
(idVendor:$04bb;idProduct:$0948),
|
|
(idVendor:$13b1;idProduct:$0031),
|
Linksys |
(idVendor:$1737;idProduct:$0070),
|
|
(idVendor:$1737;idProduct:$0071),
|
|
(idVendor:$1737;idProduct:$0077),
|
|
(idVendor:$1737;idProduct:$0078),
|
|
(idVendor:$0789;idProduct:$0162),
|
Logitec |
(idVendor:$0789;idProduct:$0163),
|
|
(idVendor:$0789;idProduct:$0164),
|
|
(idVendor:$0789;idProduct:$0166),
|
|
(idVendor:$100d;idProduct:$9031),
|
Motorola |
(idVendor:$0db0;idProduct:$3820),
|
MSI |
(idVendor:$0db0;idProduct:$3821),
|
|
(idVendor:$0db0;idProduct:$3822),
|
|
(idVendor:$0db0;idProduct:$3870),
|
|
(idVendor:$0db0;idProduct:$3871),
|
|
(idVendor:$0db0;idProduct:$6899),
|
|
(idVendor:$0db0;idProduct:$821a),
|
|
(idVendor:$0db0;idProduct:$822a),
|
|
(idVendor:$0db0;idProduct:$822b),
|
|
(idVendor:$0db0;idProduct:$822c),
|
|
(idVendor:$0db0;idProduct:$870a),
|
|
(idVendor:$0db0;idProduct:$871a),
|
|
(idVendor:$0db0;idProduct:$871b),
|
|
(idVendor:$0db0;idProduct:$871c),
|
|
(idVendor:$0db0;idProduct:$899a),
|
|
(idVendor:$1b75;idProduct:$3071),
|
Ovislink |
(idVendor:$1b75;idProduct:$3072),
|
|
(idVendor:$1b75;idProduct:$a200),
|
|
(idVendor:$20b8;idProduct:$8888),
|
Para |
(idVendor:$1d4d;idProduct:$0002),
|
Pegatron |
(idVendor:$1d4d;idProduct:$000c),
|
|
(idVendor:$1d4d;idProduct:$000e),
|
|
(idVendor:$1d4d;idProduct:$0011),
|
|
(idVendor:$0471;idProduct:$200f),
|
Philips |
(idVendor:$2019;idProduct:$5201),
|
Planex |
(idVendor:$2019;idProduct:$ab25),
|
|
(idVendor:$2019;idProduct:$ed06),
|
|
(idVendor:$1a32;idProduct:$0304),
|
Quanta |
(idVendor:$148f;idProduct:$2070),
|
Ralink |
(idVendor:$148f;idProduct:$2770),
|
|
(idVendor:$148f;idProduct:$2870),
|
|
(idVendor:$148f;idProduct:$3070),
|
|
(idVendor:$148f;idProduct:$3071),
|
|
(idVendor:$148f;idProduct:$3072),
|
|
(idVendor:$04e8;idProduct:$2018),
|
Samsung |
(idVendor:$129b;idProduct:$1828),
|
Siemens |
(idVendor:$0df6;idProduct:$0017),
|
Sitecom |
(idVendor:$0df6;idProduct:$002b),
|
|
(idVendor:$0df6;idProduct:$002c),
|
|
(idVendor:$0df6;idProduct:$002d),
|
|
(idVendor:$0df6;idProduct:$0039),
|
|
(idVendor:$0df6;idProduct:$003b),
|
|
(idVendor:$0df6;idProduct:$003d),
|
|
(idVendor:$0df6;idProduct:$003e),
|
|
(idVendor:$0df6;idProduct:$003f),
|
|
(idVendor:$0df6;idProduct:$0040),
|
|
(idVendor:$0df6;idProduct:$0042),
|
|
(idVendor:$0df6;idProduct:$0047),
|
|
(idVendor:$0df6;idProduct:$0048),
|
|
(idVendor:$0df6;idProduct:$0051),
|
|
(idVendor:$0df6;idProduct:$005f),
|
|
(idVendor:$0df6;idProduct:$0060),
|
|
(idVendor:$083a;idProduct:$6618),
|
SMC |
(idVendor:$083a;idProduct:$7511),
|
|
(idVendor:$083a;idProduct:$7512),
|
|
(idVendor:$083a;idProduct:$7522),
|
|
(idVendor:$083a;idProduct:$8522),
|
|
(idVendor:$083a;idProduct:$a618),
|
|
(idVendor:$083a;idProduct:$a701),
|
|
(idVendor:$083a;idProduct:$a702),
|
|
(idVendor:$083a;idProduct:$a703),
|
|
(idVendor:$083a;idProduct:$b522),
|
|
(idVendor:$15a9;idProduct:$0006),
|
Sparklan |
(idVendor:$177f;idProduct:$0153),
|
Sweex |
(idVendor:$177f;idProduct:$0164),
|
|
(idVendor:$177f;idProduct:$0302),
|
|
(idVendor:$177f;idProduct:$0313),
|
|
(idVendor:$177f;idProduct:$0323),
|
|
(idVendor:$177f;idProduct:$0324),
|
|
(idVendor:$157e;idProduct:$300e),
|
U-Media |
(idVendor:$157e;idProduct:$3013),
|
|
(idVendor:$0cde;idProduct:$0022),
|
ZCOM |
(idVendor:$0cde;idProduct:$0025),
|
|
(idVendor:$5a57;idProduct:$0280),
|
Zinwell |
(idVendor:$5a57;idProduct:$0282),
|
|
(idVendor:$5a57;idProduct:$0283),
|
|
(idVendor:$5a57;idProduct:$5257),
|
|
(idVendor:$0586;idProduct:$3416),
|
Zyxel |
(idVendor:$0586;idProduct:$3418),
|
|
(idVendor:$0586;idProduct:$341a),
|
|
(idVendor:$0586;idProduct:$341e),
|
|
(idVendor:$0586;idProduct:$343e),
|
|
RT2800USB_RT33XX devices | |
(idVendor:$050d;idProduct:$945b),
|
Belkin |
(idVendor:$2001;idProduct:$3c17),
|
D-Link |
(idVendor:$083a;idProduct:$b511),
|
Panasonic |
(idVendor:$0471;idProduct:$20dd),
|
Philips |
(idVendor:$148f;idProduct:$3370),
|
Ralink |
(idVendor:$148f;idProduct:$8070),
|
|
(idVendor:$0df6;idProduct:$0050),
|
Sitecom |
(idVendor:$177f;idProduct:$0163),
|
Sweex |
(idVendor:$177f;idProduct:$0165),
|
|
RT2800USB_RT35XX devices | |
(idVendor:$8516;idProduct:$3572),
|
Allwin |
(idVendor:$1690;idProduct:$0744),
|
Askey |
(idVendor:$1690;idProduct:$0761),
|
|
(idVendor:$1690;idProduct:$0764),
|
|
(idVendor:$0b05;idProduct:$179d),
|
ASUS |
(idVendor:$167b;idProduct:$4001),
|
Cisco |
(idVendor:$1740;idProduct:$9801),
|
EnGenius |
(idVendor:$04bb;idProduct:$0944),
|
I-O DATA |
(idVendor:$13b1;idProduct:$002f),
|
Linksys |
(idVendor:$1737;idProduct:$0079),
|
|
(idVendor:$0789;idProduct:$0170),
|
Logitec |
(idVendor:$148f;idProduct:$3572),
|
Ralink |
(idVendor:$0df6;idProduct:$0041),
|
Sitecom |
(idVendor:$0df6;idProduct:$0062),
|
|
(idVendor:$0df6;idProduct:$0065),
|
|
(idVendor:$0df6;idProduct:$0066),
|
|
(idVendor:$0df6;idProduct:$0068),
|
|
(idVendor:$0930;idProduct:$0a07),
|
Toshiba |
(idVendor:$5a57;idProduct:$0284),
|
Zinwell |
RT2800USB_RT3573 devices | |
(idVendor:$1b75;idProduct:$7733),
|
AirLive |
(idVendor:$0b05;idProduct:$17bc),
|
ASUS |
(idVendor:$0b05;idProduct:$17ad),
|
|
(idVendor:$050d;idProduct:$1103),
|
Belkin |
(idVendor:$148f;idProduct:$f301),
|
Cameo |
(idVendor:$2001;idProduct:$3c1f),
|
D-Link |
(idVendor:$7392;idProduct:$7733),
|
Edimax |
(idVendor:$0e66;idProduct:$0020),
|
Hawking |
(idVendor:$0e66;idProduct:$0021),
|
|
(idVendor:$04bb;idProduct:$094e),
|
I-O DATA |
(idVendor:$13b1;idProduct:$003b),
|
Linksys |
(idVendor:$0789;idProduct:$016b),
|
Logitec |
(idVendor:$0846;idProduct:$9012),
|
NETGEAR |
(idVendor:$0846;idProduct:$9013),
|
|
(idVendor:$0846;idProduct:$9019),
|
|
(idVendor:$2019;idProduct:$ed19),
|
Planex |
(idVendor:$148f;idProduct:$3573),
|
Ralink |
(idVendor:$0df6;idProduct:$0067),
|
Sitecom |
(idVendor:$0df6;idProduct:$006a),
|
|
(idVendor:$0df6;idProduct:$006e),
|
|
(idVendor:$0586;idProduct:$3421),
|
ZyXEL |
RT2800USB_RT53XX devices | |
(idVendor:$043e;idProduct:$7a12),
|
Arcadyan |
(idVendor:$043e;idProduct:$7a32),
|
|
(idVendor:$0b05;idProduct:$17e8),
|
ASUS |
(idVendor:$13d3;idProduct:$3329),
|
Azurewave |
(idVendor:$13d3;idProduct:$3365),
|
|
(idVendor:$2001;idProduct:$3c15),
|
D-Link |
(idVendor:$2001;idProduct:$3c19),
|
|
(idVendor:$2001;idProduct:$3c1c),
|
|
(idVendor:$2001;idProduct:$3c1d),
|
|
(idVendor:$2001;idProduct:$3c1e),
|
|
(idVendor:$2001;idProduct:$3c20),
|
|
(idVendor:$2001;idProduct:$3c22),
|
|
(idVendor:$2001;idProduct:$3c23),
|
|
(idVendor:$043e;idProduct:$7a22),
|
LG innotek |
(idVendor:$043e;idProduct:$7a42),
|
|
(idVendor:$04da;idProduct:$1801),
|
Panasonic |
(idVendor:$04da;idProduct:$1800),
|
|
(idVendor:$04da;idProduct:$23f6),
|
|
(idVendor:$0471;idProduct:$2104),
|
Philips |
(idVendor:$0471;idProduct:$2126),
|
|
(idVendor:$0471;idProduct:$2180),
|
|
(idVendor:$0471;idProduct:$2181),
|
|
(idVendor:$0471;idProduct:$2182),
|
|
(idVendor:$148f;idProduct:$5370),
|
Ralink |
(idVendor:$148f;idProduct:$5372),
|
|
RT2800USB_RT55XX devices | |
(idVendor:$043e;idProduct:$7a32),
|
Arcadyan |
(idVendor:$057c;idProduct:$8501),
|
AVM GmbH |
(idVendor:$0411;idProduct:$0241),
|
Buffalo |
(idVendor:$0411;idProduct:$0253),
|
|
(idVendor:$2001;idProduct:$3c1a),
|
D-Link |
(idVendor:$2001;idProduct:$3c21),
|
|
(idVendor:$043e;idProduct:$7a13),
|
Proware |
(idVendor:$148f;idProduct:$5572),
|
Ralink |
(idVendor:$20f4;idProduct:$724a),
|
TRENDnet |
RT2800USB_UNKNOWN devices | |
(idVendor:$07b8;idProduct:$3073),
|
Abocom |
(idVendor:$07b8;idProduct:$3074),
|
|
(idVendor:$14b2;idProduct:$3c08),
|
Alpha Networks |
(idVendor:$14b2;idProduct:$3c11),
|
|
(idVendor:$0e0b;idProduct:$9031),
|
Amigo |
(idVendor:$0e0b;idProduct:$9041),
|
|
(idVendor:$0b05;idProduct:$166a),
|
ASUS |
(idVendor:$0b05;idProduct:$1760),
|
|
(idVendor:$0b05;idProduct:$1761),
|
|
(idVendor:$0b05;idProduct:$1790),
|
|
(idVendor:$0b05;idProduct:$17a7),
|
|
(idVendor:$13d3;idProduct:$3262),
|
AzureWave |
(idVendor:$13d3;idProduct:$3284),
|
|
(idVendor:$13d3;idProduct:$3322),
|
|
(idVendor:$13d3;idProduct:$3340),
|
|
(idVendor:$13d3;idProduct:$3399),
|
|
(idVendor:$13d3;idProduct:$3400),
|
|
(idVendor:$13d3;idProduct:$3401),
|
|
(idVendor:$050d;idProduct:$1003),
|
Belkin |
(idVendor:$0411;idProduct:$012e),
|
Buffalo |
(idVendor:$0411;idProduct:$0148),
|
|
(idVendor:$0411;idProduct:$0150),
|
|
(idVendor:$07aa;idProduct:$0041),
|
Corega |
(idVendor:$07aa;idProduct:$0042),
|
|
(idVendor:$18c5;idProduct:$0008),
|
|
(idVendor:$07d1;idProduct:$3c0b),
|
D-Link |
(idVendor:$203d;idProduct:$14a1),
|
Encore |
(idVendor:$1740;idProduct:$0600),
|
EnGenius |
(idVendor:$1740;idProduct:$0602),
|
|
(idVendor:$15a9;idProduct:$0010),
|
Gemtek |
(idVendor:$1044;idProduct:$800c),
|
Gigabyte |
(idVendor:$06f8;idProduct:$e036),
|
Hercules |
(idVendor:$148f;idProduct:$f101),
|
Huawei |
(idVendor:$04bb;idProduct:$094b),
|
I-O DATA |
(idVendor:$1740;idProduct:$0605),
|
LevelOne |
(idVendor:$1740;idProduct:$0615),
|
|
(idVendor:$0789;idProduct:$0168),
|
Logitec |
(idVendor:$0789;idProduct:$0169),
|
|
(idVendor:$100d;idProduct:$9032),
|
Motorola |
(idVendor:$05a6;idProduct:$0101),
|
Pegatron |
(idVendor:$1d4d;idProduct:$0010),
|
|
(idVendor:$2019;idProduct:$ab24),
|
Planex |
(idVendor:$2019;idProduct:$ab29),
|
|
(idVendor:$18e8;idProduct:$6259),
|
Qcom |
(idVendor:$08b9;idProduct:$1197),
|
RadioShack |
(idVendor:$0df6;idProduct:$003c),
|
Sitecom |
(idVendor:$0df6;idProduct:$004a),
|
|
(idVendor:$0df6;idProduct:$004d),
|
|
(idVendor:$0df6;idProduct:$0053),
|
|
(idVendor:$0df6;idProduct:$0069),
|
|
(idVendor:$0df6;idProduct:$006f),
|
|
(idVendor:$0df6;idProduct:$0078),
|
|
(idVendor:$083a;idProduct:$a512),
|
SMC |
(idVendor:$083a;idProduct:$c522),
|
|
(idVendor:$083a;idProduct:$d522),
|
|
(idVendor:$083a;idProduct:$f511),
|
|
(idVendor:$177f;idProduct:$0254),
|
Sweex |
(idVendor:$f201;idProduct:$5370));
|
TP-LINK |
RT2800USB_FIRMWARE_*
RT2800USB_FIRMWARE_IMAGEBASE = $3000;
|
RT2800USB_*_DESC_SIZE
RT2800USB_TXINFO_DESC_SIZE = (1 * SizeOf(LongWord));
|
|
RT2800USB_RXINFO_DESC_SIZE = (1 * SizeOf(LongWord));
|
RT2800USB_TXINFO_*
Word0 | |
RT2800USB_TXINFO_W0_USB_DMA_TX_PKT_LEN = $0000ffff;
|
|
RT2800USB_TXINFO_W0_WIV = $01000000;
|
WIV: Wireless Info Valid. 1: Driver filled WI, 0: DMA needs to copy WI |
RT2800USB_TXINFO_W0_QSEL = $06000000;
|
QSEL: Select on-chip FIFO ID for 2nd-stage output scheduler. 0:MGMT, 1:HCCA 2:EDCA |
RT2800USB_TXINFO_W0_SW_USE_LAST_ROUND = $08000000;
|
|
RT2800USB_TXINFO_W0_USB_DMA_NEXT_VALID = $40000000;
|
USB_DMA_NEXT_VALID: Used ONLY in USB bulk Aggregation, NextValid |
RT2800USB_TXINFO_W0_USB_DMA_TX_BURST = $80000000;
|
DMA_TX_BURST: Used ONLY in USB bulk Aggregation. Force USB DMA transmit frame from current selected endpoint |
RT2800USB_RXINFO_*
Word 0 | |
RT2800USB_RXINFO_W0_USB_DMA_RX_PKT_LEN = $0000ffff;
|
RT2800USB_RXD_*
Word0 | |
RT2800USB_RXD_W0_BA = $00000001;
|
|
RT2800USB_RXD_W0_DATA = $00000002;
|
|
RT2800USB_RXD_W0_NULLDATA = $00000004;
|
|
RT2800USB_RXD_W0_FRAG = $00000008;
|
|
RT2800USB_RXD_W0_UNICAST_TO_ME = $00000010;
|
UNICAST_TO_ME: This RX frame is unicast to me |
RT2800USB_RXD_W0_MULTICAST = $00000020;
|
MULTICAST: This is a multicast frame |
RT2800USB_RXD_W0_BROADCAST = $00000040;
|
BROADCAST: This is a broadcast frame |
RT2800USB_RXD_W0_MY_BSS = $00000080;
|
MY_BSS: this frame belongs to the same BSSID |
RT2800USB_RXD_W0_CRC_ERROR = $00000100;
|
CRC_ERROR: CRC error |
RT2800USB_RXD_W0_CIPHER_ERROR = $00000600;
|
CIPHER_ERROR: 0: decryption okay, 1:ICV error, 2:MIC error, 3:KEY not valid |
RT2800USB_RXD_W0_AMSDU = $00000800;
|
AMSDU: rx with 802.3 header, not 802.11 header |
RT2800USB_RXD_W0_HTC = $00001000;
|
|
RT2800USB_RXD_W0_RSSI = $00002000;
|
|
RT2800USB_RXD_W0_L2PAD = $00004000;
|
|
RT2800USB_RXD_W0_AMPDU = $00008000;
|
|
RT2800USB_RXD_W0_DECRYPTED = $00010000;
|
|
RT2800USB_RXD_W0_PLCP_RSSI = $00020000;
|
|
RT2800USB_RXD_W0_CIPHER_ALG = $00040000;
|
|
RT2800USB_RXD_W0_LAST_AMSDU = $00080000;
|
|
RT2800USB_RXD_W0_PLCP_SIGNAL = $fff00000;
|
RT2800USB_MAX_*_ENTRIES
RT2800USB_MAX_TX_ENTRIES = SIZE_16;
|
|
RT2800USB_MAX_RX_ENTRIES = SIZE_256;
|
Type definitions
RT2800USB request
PRT2800USBRequest = ^TRT2800USBRequest;
TRT2800USBRequest = record
Index:LongWord;
|
The index of this request in the receive or transmit requests array |
Entry:PNetworkEntry;
|
The network queue entry currently allocated to this endpoint |
Request:PUSBRequest;
|
The USB request allocated for this endpoint |
Endpoint:PUSBEndpointDescriptor;
|
The USB endpoint descriptor found during bind for this endpoint |
RT2800USB WiFi device
PRT2800USBWiFiDevice = ^TRT2800USBWiFiDevice;
TRT2800USBWiFiDevice = record
RT2X00 Properties | |
RT2X00:TRT2X00WiFiDevice;
|
|
USB Properties | |
ReceiveMask:LongWord;
|
Bit mask of Receive requests |
ReceiveFree:LongWord;
|
Map of free Receive requests |
ReceiveRequests:array of PRT2800USBRequest;
|
Receive requests, 1 per Bulk IN Endpoint |
TransmitMask:LongWord;
|
Bit mask of Transmit requests |
TransmitFree:LongWord;
|
Map of free Transmit requests |
TransmitRequests:array of PRT2800USBRequest;
|
Transmit requests, 1 per Bulk OUT Endpoint |
PendingCount:LongWord;
|
Number of USB requests pending for this network |
WaiterThread:TThreadId;
|
Thread waiting for pending requests to complete (for network close) |
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
procedure RT2800USBInit;
Note | None documented |
---|
RT2800USB network functions
function RT2800USBDeviceOpen(Network:PNetworkDevice):LongWord;
Note | None documented |
---|
function RT2800USBDeviceClose(Network:PNetworkDevice):LongWord;
Note | None documented |
---|
function RT2800USBDeviceControl(Network:PNetworkDevice; Request:Integer; Argument1:PtrUInt; var Argument2:PtrUInt):LongWord;
Note | None documented |
---|
function RT2800USBBufferAllocate(Network:PNetworkDevice; var Entry:PNetworkEntry):LongWord;
Note | None documented |
---|
function RT2800USBBufferRelease(Network:PNetworkDevice; Entry:PNetworkEntry):LongWord;
Note | None documented |
---|
function RT2800USBBufferReceive(Network:PNetworkDevice; var Entry:PNetworkEntry):LongWord;
Note | None documented |
---|
function RT2800USBBufferTransmit(Network:PNetworkDevice; Entry:PNetworkEntry):LongWord;
Note | None documented |
---|
RT2800USB WiFi functions
function RT2800USBDeviceConfigure(WiFi:PWiFiDevice; Flags:LongWord):LongWord;
Note | rt2x00mac_config |
---|
function RT2800USBDeviceConfigureFilter(WiFi:PWiFiDevice; var Filter:LongWord):LongWord;
Note | rt2x00mac_configure_filter |
---|
function RT2800USBDeviceConfigureInterface(WiFi:PWiFiDevice; Interrface:PWiFiInterface):LongWord;
Note | rt2x00mac_add_interface / rt2x00mac_remove_interface |
---|
RT2800USB USB functions
function RT2800USBDriverBind(Device:PUSBDevice; Interrface:PUSBInterface):LongWord;
Device | The USB device to attempt to bind to |
---|---|
Interrface | 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 |
function RT2800USBDriverUnbind(Device:PUSBDevice; Interrface:PUSBInterface):LongWord;
Device | The USB device to unbind from |
---|---|
Interrface | The USB interface to unbind from (or nil for whole device) |
Return | USB_STATUS_SUCCESS if completed or another error code on failure |
procedure RT2800USBReceiveWorker(Request:PUSBRequest);
Request | The USB request which has completed |
---|
procedure RT2800USBReceiveComplete(Request:PUSBRequest);
Request | The USB request which has completed |
---|---|
Note | Request is passed to worker thread for processing to prevent blocking the USB completion |
procedure RT2800USBTransmitWorker(Request:PUSBRequest);
Request | The USB request which has completed |
---|
procedure RT2800USBTransmitComplete(Request:PUSBRequest);
Request | The USB request which has completed |
---|---|
Note | Request is passed to worker thread for processing to prevent blocking the USB completion |
RT2800USB helper functions
function RT2800USBCheckDevice(Device:PUSBDevice):LongWord;
Device | USB device to check |
---|---|
Return | USB_STATUS_SUCCESS if completed or another error code on failure |
function RT2800USBDriverInit(RT2X00:PRT2X00WiFiDevice):LongWord;
Note | None documented |
---|
function RT2800USBEepromLoad(RT2X00:PRT2X00WiFiDevice; Data:PWord; Size:LongWord):LongWord;
Note | None documented |
---|
function RT2800USBSetState(RT2X00:PRT2X00WiFiDevice; State:LongWord):LongWord;
Note | None documented |
---|
function RT2800USBEnableRX(RT2X00:PRT2X00WiFiDevice):LongWord;
Note | rt2800usb_start_queue |
---|
function RT2800USBDisableRX(RT2X00:PRT2X00WiFiDevice):LongWord;
Note | rt2800usb_stop_queue |
---|
function RT2800USBEnableBeacon(RT2X00:PRT2X00WiFiDevice):LongWord;
Note | rt2800usb_start_queue |
---|
function RT2800USBDisableBeacon(RT2X00:PRT2X00WiFiDevice):LongWord;
Note | rt2800usb_stop_queue |
---|
function RT2800USBGetFirmware(RT2X00:PRT2X00WiFiDevice; var Name:String; var Address:Pointer; var Size:LongWord):Boolean;
Note | None documented |
---|
function RT2800USBWriteFirmware(RT2X00:PRT2X00WiFiDevice; Data:PByte;Size:LongWord):Boolean;
Note | rt2800usb_write_firmware |
---|
function RT2800USBInitializeRegisters(RT2X00:PRT2X00WiFiDevice):LongWord;
Note | None documented |
---|
function RT2800USBHardwareEncryptionDisabled(RT2X00:PRT2X00WiFiDevice):Boolean;
Note | None documented |
---|
function RT2800USBDetectEfuse(RT2X00:PRT2X00WiFiDevice):LongWord;
Note | None documented |
---|
function RT2800USBDetectAutorun(RT2X00:PRT2X00WiFiDevice):LongWord;
Note | None documented |
---|
function RT2800USBEnableRadio(RT2X00:PRT2X00WiFiDevice):LongWord;
Note | None documented |
---|
function RT2800USBDisableRadio(RT2X00:PRT2X00WiFiDevice):LongWord;
Note | None documented |
---|
function RT2800USBReceiveProcessRXD(RT2X00:PRT2X00WiFiDevice; Descriptor:PRT2X00RXDescriptor; var Data:Pointer; var Size:LongWord; PacketLength:LongWord):Boolean;
Note | rt2800usb_fill_rxdone |
---|
Return to Unit Reference