IWI(4)

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

πŸ’– IWI(4) β€” like, the Intel PRO/Wireless driver, bestie ✨

Okay so real talk: this is iwi(4) from the Kernel Interfaces Manual section β€” the whole page is about a wireless driver and honestly it's giving vintage-tech-that-still-slaps. Sit down, grab a boba, and let's get into it πŸ§‹


🌸 NAME 🌸

iwi β€” the Intel PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.11 network driver, no cap πŸ’…


✨ SYNOPSIS ✨

So there's two ways to get this driver living in your system. Option one: bake it right into the kernel by dropping these lines into your kernel configuration file:

device iwi
device iwifw
device pci
device wlan
device firmware

Or alternatively (iconic behaviour), load it as a module at boot time by putting this line in loader.conf(5):

if_iwi_load="YES"

But listen β€” in both cases, you gotta also put this line in loader.conf(5) to acknowledge the firmware license (more on that below, don't skip it πŸ‘€):

legal.intel_iwi.license_ack=1

πŸ¦‹ DESCRIPTION πŸ¦‹

The iwi driver provides support for Intel PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.11a/b/g wireless network devices in station, adhoc, and monitor mode operation. Only one virtual interface may be configured at any time. That's it. One. Don't push it πŸ™ˆ

This driver requires the firmware built with the iwifw module to work. And for the loaded firmware to actually be enabled for use, the license at /usr/share/doc/legal/intel_iwi.LICENSE must be agreed to by adding the following line to loader.conf(5):

legal.intel_iwi.license_ack=1

For more info on configuring this device, go check out ifconfig(8) β€” it's the main character of network config fr fr πŸ‘‘


πŸŽ€ HARDWARE πŸŽ€

The iwi driver supports these wireless network devices, and yes, this is the whole list:

  • Intel PRO/Wireless 2200BG MiniPCI Network Connection
  • Intel PRO/Wireless 2225BG PCI Network Connection
  • Intel PRO/Wireless 2915ABG MiniPCI Network Connection

🌈 FILES 🌈

  • /usr/share/doc/legal/intel_iwi.LICENSE β€” the iwi firmware license πŸ“œ

πŸ’œ EXAMPLES πŸ’œ

Okay this is the fun part, let's actually connect to stuff 🫢

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

ifconfig wlan create wlandev iwi0 inet 192.0.2.20/24

Join a specific BSS network with network name my_net:

ifconfig wlan create wlandev iwi0 ssid my_net up

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

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

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

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

⭐ DIAGNOSTICS ⭐

These are the messages you might see, and what they mean. Some of these are straight up not supposed to happen, and the manual is very clear about that 😭

  • iwi%d: device timeout β€” The driver will reset the hardware. This should not happen.
  • iwi%d: firmware error β€” The onboard microcontroller crashed for some reason. The driver will reset the hardware. This should not happen.
  • iwi%d: timeout waiting for firmware initialization to complete β€” The onboard microcontroller failed to initialize in time. This should not happen.
  • iwi%d: could not load firmware image '%s' β€” The driver failed to load the firmware image using the firmware(9) subsystem. Verify the iwifw(4) firmware module is installed and the license agreement loader(8) tunable has been set.
  • iwi%d: could not load boot firmware β€” An attempt to upload the boot firmware image to the onboard microcontroller failed. This should not happen.
  • iwi%d: could not load microcode β€” An attempt to upload the microcode image to the onboard microcontroller failed. This should not happen.
  • iwi%d: could not load main firmware β€” An attempt to upload the main firmware image to the onboard microcontroller failed. This should not happen.
Lowkey, if you're seeing a bunch of "this should not happen" errors, that's your sign to vibe check your setup 🫠

πŸ‘‘ SEE ALSO πŸ‘‘

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


🌸 AUTHORS 🌸

The original iwi driver was written by Damien Bergamini <damien.bergamini@free.fr>. Respect the icon who built the thing πŸ™Œ


And that's the whole page, bestie β€” mwah πŸ’‹ this manual page was brought to you by Debian, dated November 10, 2024, and it ate, no crumbs. Go forth and connect βœ¨πŸ“Ά

πŸ“¦ where this page comes from