RUN(4)
π RUN(4) β like, the Ralink USB wifi driver era, bestie
okay so this is the RUN(4) page from the Kernel Interfaces Manual and honestly? it's giving networking lore. sit down, grab a strawberry drink π, we're learning about a USB wifi driver.
β¨ NAME β¨
run β the Ralink Technology USB IEEE 802.11a/g/n wireless network driver. that's the whole vibe. it makes your little USB wifi stick go brrr π¦
π SYNOPSIS π
so if you wanna bake this driver into the kernel (main character energy, no modules), you drop these lines into your kernel configuration file:
device ehci
device uhci
device ohci
device usb
device run
device wlan
device wlan_amrr
firmware is also needed, and it's provided by this icon:
device runfw
OR β and this is the lowkey easier way β load the driver as a module at boot time by putting these lines in loader.conf(5):
if_run_load="YES"
runfw_load="YES"
both lines, bestie. don't skip the firmware one, i'm begging π
π DESCRIPTION π
the run driver supports USB 2.0 wireless adapters based on the Ralink RT2700U, RT2800U, RT3000U and RT3900E chipsets. yes, all four. we love a versatile queen π
RT2700U β this chipset is literally two integrated chips living their best life together: an RT2770 MAC/BBP and an RT2720 (1T2R) or RT2750 (dual-band 1T2R) radio transceiver.
RT2800U β same two-chip situation: an RT2870 MAC/BBP plus an RT2820 (2T3R) or RT2850 (dual-band 2T3R) radio transceiver.
RT3000U β single-chip solution, so it's giving minimalist. based on an RT3070 MAC/BBP and an RT3020 (1T1R), RT3021 (1T2R) or RT3022 (2T2R) single-band radio transceiver.
RT3900E β a single-chip USB 2.0 802.11n solution. the MAC/Baseband Processor can be an RT3593, RT5390, RT5392 or an RT5592. the radio can be an RT3053, RT5370, RT5372 or an RT5572. and because every chip is a different girl:
- the
RT3053chip operates in the 2GHz and 5GHz spectra and supports up to 3 transmit paths and 3 receiver paths (3T3R). - the
RT5370chip operates in the 2GHz spectrum and supports 1 transmit path and 1 receiver path (1T1R). - the
RT5372chip operates in the 2GHz spectrum and supports up to 2 transmit paths and 2 receiver paths (2T2R). - the
RT5572chip operates in the 2GHz and 5GHz spectra and supports up to 2 transmit paths and 2 receiver paths (2T2R).
πΈ the modes it can operate in πΈ
these are the modes the run driver can operate in:
- BSS mode β also known as infrastructure mode. this is what you use when associating with an access point, through which all traffic passes. this mode is the default. the standard queen behavior π
- Host AP mode β in this mode the driver acts as an access point (base station) for other cards. it's the one hosting the party, not attending it π
- monitor mode β in this mode the driver is able to receive packets without associating with an access point. this disables the internal receive filter and enables the card to capture packets from networks which it wouldn't normally have access to, or to scan for access points. sneaky lil detective behavior π
π encryption tea π
the run driver can be configured to use Wired Equivalent Privacy (WEP) or Wi-Fi Protected Access (WPA-PSK and WPA2-PSK). WPA is the de facto encryption standard for wireless networks.
it is strongly recommended that WEP not be used as the sole mechanism to secure wireless communication, due to serious weaknesses in it. like fr fr, WEP is not the moment. it's giving 2004. please don't π
the run driver offloads both encryption and decryption of data frames to the hardware for the WEP40, WEP104, TKIP(+MIC) and CCMP ciphers. slay, hardware. do your thing β¨
also! the run driver can be configured at runtime with ifconfig(8). iconic.
π¦ HARDWARE π¦
the run driver supports the following wireless adapters (a whole roster, no cap):
- Airlink101 AWLL6090
- ASUS USB-N11
- ASUS USB-N13 ver. A1
- ASUS USB-N14
- ASUS USB-N66
- ASUS WL-160N
- Belkin F5D8051 ver 3000
- Belkin F5D8053
- Belkin F5D8055
- Belkin F6D4050 ver 1
- Belkin F9L1103
- Buffalo WLI-UC-AG300N
- Buffalo WLI-UC-G300HP
- Buffalo WLI-UC-G300N
- Buffalo WLI-UC-G301N
- Buffalo WLI-UC-GN
- Buffalo WLI-UC-GNM
- Buffalo WLI-UC-GNM2
- Corega CG-WLUSB2GNL
- Corega CG-WLUSB2GNR
- Corega CG-WLUSB300AGN
- Corega CG-WLUSB300GNM
- D-Link DWA-130 rev B1
- D-Link DWA-130 rev F1
- D-Link DWA-140 rev B1, B2, B3, D1
- D-Link DWA-160 rev B2
- D-Link DWA-162
- DrayTek Vigor N61
- Edimax EW-7711UAn
- Edimax EW-7711UTn
- Edimax EW-7717Un
- Edimax EW-7718Un
- Edimax EW-7733UnD
- Gigabyte GN-WB30N
- Gigabyte GN-WB31N
- Gigabyte GN-WB32L
- Hawking HWDN1
- Hawking HWUN1
- Hawking HWUN2
- Hercules HWNU-300
- Linksys WUSB54GC v3
- Linksys WUSB600N
- Logitec LAN-W150N/U2
- Mvix Nubbin MS-811N
- Panda Wireless PAU06
- Planex GW-USMicroN
- Planex GW-US300MiniS
- Sitecom WL-182
- Sitecom WL-188
- Sitecom WL-301
- Sitecom WL-302
- Sitecom WL-315
- Sitecom WL-364
- SMC SMCWUSBS-N2
- Sweex LW303
- Sweex LW313
- TP-LINK TL-WDN3200
- TP-LINK TL-WN321G v4
- TP-LINK TL-WN727N v3
- Unex DNUR-81
- Unex DNUR-82
- ZyXEL NWD2705
- ZyXEL NWD210N
- ZyXEL NWD270N
if your stick is on this list, congrats bestie, you ate π«Ά
π EXAMPLES π
join an existing BSS network (i.e., connect to an access point):
ifconfig wlan create wlandev run0 inet 192.0.2.20/24
join a specific BSS network with network name my_net:
ifconfig wlan create wlandev run0 ssid my_net up
join a specific BSS network with 64-bit WEP encryption:
ifconfig wlan create wlandev run0 ssid my_net \
wepmode on wepkey 0x1234567890 weptxkey 1 up
join a specific BSS network with 128-bit WEP encryption:
ifconfig wlan create wlandev run0 wlanmode adhoc ssid my_net \
wepmode on wepkey 0x01020304050607080910111213 weptxkey 1
(yes the last two are WEP examples. copy them exactly, but also see the warning above, i'm just the messenger π)
π©Ί DIAGNOSTICS π©Ί
run%d: failed load firmware of file runfwβ for some reason, the driver was unable to read the microcode file from the filesystem. the file might be missing or corrupted. check your files, bestie πrun%d: could not load 8051 microcodeβ an error occurred while attempting to upload the microcode to the onboard 8051 microcontroller unit. the upload did not eat.run%d: device timeoutβ a frame dispatched to the hardware for transmission did not complete in time. the driver will reset the hardware. this should not happen. so if it does? π
π SEE ALSO π
intro(4), netintro(4), runfw(4), usb(4), wlan(4), wlan_amrr(4), wlan_ccmp(4), wlan_tkip(4), wlan_wep(4), wlan_xauth(4), networking(7), hostapd(8), ifconfig(8), wpa_supplicant(8)
go read them, iykyk π
π§ HISTORY π§
the run driver first appeared in OpenBSD 4.5. a vintage icon, honestly.
π AUTHORS π
the run driver was written by Damien Bergamini <damien@openbsd.org>. thank you king π«‘
β CAVEATS β
the run driver supports some of the 11n capabilities found in the RT2800, RT3000 and RT3900 chipsets. some. not all. manage your expectations accordingly π
and that's the whole page, bestie π this one's from Debian, dated April 1, 2025 β RUN(4), signing off. go touch some firmware πΈ
π¦ where this page comes from
- freebsd 15.1: base 15.1
- nixpkgs unstable: source
- π the page's license: ISC
- Copyright (c) 2008 Damien Bergamini <damien.bergamini@free.fr>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms