RUM(4)

πŸ“¦
version 15.1 Β· 3 versions
, in freebsd 14.5, freebsd 15.1, nixpkgs unstable

πŸ’… RUM(4) β€” the Kernel Interfaces Manual, but make it cute ✨

Okay bestie, gather 'round because we're about to talk about the rum driver β€” and no, it's not about your Friday night margaritas (though honestly, same energy). This is the Ralink Technology USB IEEE 802.11a/b/g wireless network driver and it's about to be your new hyperfixation. πŸŽ€


✨ SYNOPSIS ✨

So like, if you wanna compile this driver into your kernel (main character move, honestly), you gotta put these lines in your kernel config file. No cap, copy them exactly:

device ehci
device uhci
device ohci
device usb
device rum
device wlan
device wlan_amrr

OR β€” and this is the lowkey easier way β€” you can load the driver as a module at boot time by putting this line in loader.conf(5):

if_rum_load="YES"

It's giving "I don't have time to rebuild my kernel" and honestly? Valid. 🫢


🌸 DESCRIPTION 🌸

Okay so first things first: the rum driver supports USB 2.0 and PCI Express Mini Card wireless adapters based on the Ralink RT2501USB and RT2601USB chipsets. Obsessed.

Here's the tea on those Ralink PCI Express Mini Card adapters: they literally show up as normal USB 2.0 devices, so the rum driver handles them like it's NBD. πŸ’β€β™€οΈ

The RT2501USB chipset is the second generation of 802.11a/b/g adapters from Ralink. It's got two integrated chips β€” an RT2571W MAC/BBP and either an RT2528 or RT5226 radio transceiver. It's giving "iconic duo" energy. πŸ‘‘

The RT2601USB chipset also has two integrated chips β€” an RT2671 MAC/BBP and either an RT2527 or RT5225 radio transceiver. But this one's special because it uses MIMO (multiple-input multiple-output) technology with multiple antennas to extend the operating range and achieve higher throughput. Literally slay. πŸ”₯

All chips have hardware support for WEP, AES-CCM, TKIP, and Michael cryptographic operations. Security? We love to see it. πŸ’œ

The rum driver supports station, adhoc, adhoc-demo, hostap, and monitor mode operation. But here's the catch bestie β€” only one virtual interface may be configured at any time. That's a hard limit, no cap. For more deets on configuring this device, check out ifconfig(8).


πŸ¦‹ HARDWARE πŸ¦‹

The rum driver supports USB 2.0 wireless adapters based on the Ralink RT2501USB and RT2601USB chipsets, including β€” and bestie, I'm about to list ALL of them so buckle up:

  • 3Com Aolynk WUB320g β€” USB
  • Abocom WUG2700 Ta β€” USB
  • Airlink101 AWLL5025 β€” USB
  • ASUS WL-167g ver 2 β€” USB
  • Belkin F5D7050 ver 3 β€” USB
  • Belkin F5D9050 ver 3 β€” USB
  • Buffalo WLI-U2-SG54HP β€” USB
  • Buffalo WLI-U2-SG54HG β€” USB
  • Buffalo WLI-U2-G54HP β€” USB
  • Buffalo WLI-UC-G β€” USB
  • CNet CWD-854 ver F β€” USB
  • Conceptronic C54RU ver 2 β€” USB
  • Corega CG-WLUSB2GO β€” USB
  • D-Link DWA-110 β€” USB
  • D-Link DWA-111 β€” USB
  • D-Link DWL-G122 rev C1 β€” USB
  • D-Link WUA-1340 β€” USB
  • Digitus DN-7003GR β€” USB
  • Edimax EW-7318USG β€” USB
  • Gigabyte GN-WB01GS β€” USB
  • Gigabyte GN-WI05GS β€” USB
  • Hawking HWUG1 β€” USB
  • Hawking HWU54DM β€” USB
  • Hercules HWGUSB2-54-LB β€” USB
  • Hercules HWGUSB2-54V2-AP β€” USB
  • LevelOne WNC-0301USB v3 β€” USB
  • Linksys WUSB54G rev C β€” USB
  • Linksys WUSB54GR β€” USB
  • Planex GW-US54HP β€” USB
  • Planex GW-US54Mini2 β€” USB
  • Planex GW-USMM β€” USB
  • Senao NUB-3701 β€” USB
  • Sitecom WL-113 ver 2 β€” USB
  • Sitecom WL-172 β€” USB
  • Sweex LW053 β€” USB
  • TP-LINK TL-WN321G v1/v2/v3 β€” USB

If your adapter's on this list, you're literally golden. If not... well, bestie, iykyk. 🌈


πŸŽ€ EXAMPLES πŸŽ€

Okay so here's where it gets fun. These are the literal commands to get you connected. Exact vibes only β€” don't change a single character. ✨

Join an existing BSS network (i.e., connect to an access point):

ifconfig wlan create wlandev rum0 inet 192.0.2.20/24

Join a specific BSS network with network name my_net:

ifconfig wlan create wlandev rum0 ssid my_net up

Join a specific BSS network with 64-bit WEP encryption (the vintage vibes):

ifconfig wlan create wlandev rum0 ssid my_net \
    wepmode on wepkey 0x1234567890 weptxkey 1 up

Join a specific BSS network with 128-bit WEP encryption (extra secure, extra iconic):

ifconfig wlan create wlandev rum0 wlanmode adhoc ssid my_net \
    wepmode on wepkey 0x01020304050607080910111213 weptxkey 1

Not me copying these exactly because I refuse to be the reason your wifi doesn't work. πŸ’€


πŸ”₯ DIAGNOSTICS πŸ”₯

If you see this message:

rum%d: could not load 8051 microcode

...that means an error occurred while attempting to upload the microcode to the onboard 8051 microcontroller unit. The driver will reset the hardware. But bestie β€” this should not happen. If it does, it's giving "something went horribly wrong" energy and you should probably pay attention. 😭


πŸ‘‘ SEE ALSO πŸ‘‘

Like, literally go read these if you want the full picture:

No skips, bestie. This is your syllabus. πŸ“š


⭐ HISTORY ⭐

The rum driver first appeared in OpenBSD 4.0 and FreeBSD 7.0. It's been around longer than some of us have been alive (no shade, just facts). 🧚


πŸ’– AUTHORS πŸ’–

The original rum driver was written by two absolute legends:

  • Niall O'Higgins <niallo@openbsd.org>
  • Damien Bergamini <damien@openbsd.org>

We stan. 🫢


Debian β€” November 10, 2024

Okay that's the whole page bestie, you're literally a rum expert now. Go forth and connect to all the networks. Slay. πŸ’…βœ¨πŸŒΈπŸ¦‹πŸŽ€

πŸ“¦ where this page comes from