IPW(4)

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

πŸ’– ipw(4) β€” the manual page, but make it cute πŸ’–

okay bestie, so we're doing the ipw(4) page today β€” that's the Kernel Interfaces Manual entry for this driver, if you were wondering where it lives. grab a strawberry drink πŸ“ and let's go, because this is genuinely iconic hardware lore.


✨ NAME ✨

ipw β€” the Intel PRO/Wireless 2100 IEEE 802.11a/b driver. yes, that's the whole name. she's lowkey modest like that. πŸ’…


✨ SYNOPSIS ✨

so there's two ways to get her in, and you gotta pick one. option one: compile the driver straight into the kernel. drop these lines into your kernel configuration file, fr fr:

device ipw
device ipwfw
device pci
device wlan
device firmware

option two: load her as a module at boot time instead. for that, you put this line in loader.conf(5):

if_ipw_load="YES"

but β€” and this is the part everyone forgets β€” in both cases you gotta put this line in loader.conf(5) too, to acknowledge the firmware license (peep the description below, iykyk):

legal.intel_ipw.license_ack=1

like, both. always. don't skip the license one, bestie, it's not optional. 🫢


✨ DESCRIPTION ✨

the ipw driver provides support for Intel PRO/Wireless 2100 802.11a/b wireless network devices in station, adhoc, and monitor mode operation. the way that's three whole modes. 🌈

⚠️ okay important: only one virtual interface may be configured at any time. one. that's the limit. she's monogamous.

this driver requires the firmware built with the ipwfw module to work β€” no firmware, no wifi, no vibes.

and for the loaded firmware to be enabled for use, the license at /usr/share/doc/legal/intel_ipw.LICENSE must be agreed to by adding this line to loader.conf(5):

legal.intel_ipw.license_ack=1

for more info on configuring this device, go see ifconfig(8). she's the main character of configuration, honestly. πŸ‘‘


✨ HARDWARE ✨

the ipw driver provides support for the Intel PRO/Wireless 2100a/b MiniPCI network adapter. that's it. that's the one. slay. πŸ’œ


✨ FILES ✨

  • /usr/share/doc/legal/intel_ipw.LICENSE β€” the ipw firmware license. read it, ack it, love it. πŸŽ€

✨ EXAMPLES ✨

bestie these are the actual commands, copy them exactly, don't get creative:

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

ifconfig wlan create wlandev ipw0 inet 192.0.2.20/24

join a specific BSS network with network name my_net:

ifconfig wlan create wlandev ipw0 ssid my_net up

join a specific BSS network with 64-bit WEP encryption:

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

join a specific BSS network with 128-bit WEP encryption:

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

not me noticing the 128-bit one is the only one in wlanmode adhoc β€” read them carefully, she's sneaky like that. πŸ™ˆ


✨ DIAGNOSTICS ✨

so when she starts talking in these messages, it's giving concern. read carefully:

  • ipw%d: device timeout β€” the driver will reset the hardware. this should not happen.
  • ipw%d: firmware error β€” the onboard microcontroller crashes for some reason. the driver will reset the hardware. this should not happen.
  • ipw%d: timeout waiting for firmware initialization to complete β€” the onboard microcontroller failed to initialize in time. this should not happen.
  • ipw%d: could not load firmware image '%s' β€” the driver failed to load the firmware image using the firmware(9) subsystem. verify the ipwfw(4) firmware module is installed and the license agreement loader(8) tunable has been set. πŸ’€ (hi, this is the one you'll actually get, and it's almost always the license tunable.)
  • ipw%d: could not load microcode β€” an attempt to upload the microcode image to the onboard microcontroller failed. this should not happen.
  • ipw%d: could not load firmware β€” an attempt to upload the firmware image to the onboard microcontroller failed. this should not happen.
🫢 so many "this should not happen" lines… and yet here we are. if you see one, it's a real problem, not a vibe check fail.

✨ SEE ALSO ✨

ipwfw(4), pci(4), wlan(4), wlan_ccmp(4), wlan_tkip(4), wlan_wep(4), networking(7), ifconfig(8), wpa_supplicant(8)

the whole friend group, honestly. go read them, they're all slay. πŸ“šβœ¨


✨ AUTHORS ✨

the original ipw driver was written by Damien Bergamini <damien.bergamini@free.fr>. king behavior, we stan. πŸ‘‘


okay that's the whole page, no notes, you ate that. πŸ’…βœ¨ this one's from the Debian build, dated November 10, 2024, and yeah the page itself signs off as IPW(4) β€” so go forth, ack that license, and connect to my_net responsibly. πŸ¦‹ πŸ’–

πŸ“¦ where this page comes from