IWI(4)
β¨ iwi(4) β the Intel WiFi glow-up β¨
okay bestie, sit down, we're talking about iwi, from the Kernel Interfaces Manual β aka the Intel PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.11 driver. yes the whole thing. no skimming. π
πΈ NAME πΈ
iwi β Intel PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.11 driver
like. that's the whole name. it's giving "I'm the driver for these specific cards and I said what I said." π
π SYNOPSIS π
so to get this driver baked into your kernel, you gotta drop these lines into your kernel configuration file:
device iwi
device iwifw
device pci
device wlan
device firmware
all five. not four. not "ehh close enough." five. π«Ά
OR β if you'd rather load it as a module at boot time instead (main character behavior, honestly), put this in loader.conf(5):
if_iwi_load="YES"
and in both cases, you also need 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/2915ABG MiniPCI and 2225BG PCI network adapters. it's got range, it's got range in the networking sense β it supports station, adhoc, and monitor mode operation. π₯
β οΈ heads up though: only one virtual interface may be configured at any time. one. singular. monogamous interface energy.
for more info on configuring this device, go see ifconfig(8). π§
This driver requires the firmware built with the iwifw module to work. and for the loaded firmware to be enabled for use, the license at /usr/share/doc/legal/intel_iwi.LICENSE must be agreed to by adding this line to loader.conf(5):
legal.intel_iwi.license_ack=1
yes it's the same line from the synopsis. yes we're repeating it. it's that important. π
π FILES π
/usr/share/doc/legal/intel_iwi.LICENSEβ iwi firmware license
one file. that's the list. iconic minimalism. β¨
π EXAMPLES π
okay here's where it gets fun, 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.168.0.20 \
netmask 0xffffff00
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
copy them exactly, bestie, don't freestyle the hex. π
π DIAGNOSTICS π
the "what went wrong" section. deep breaths. π«Ά
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 thefirmware(9)subsystem. Verify theiwifw(4)firmware module is installed and the license agreementloader(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.
not the "this should not happen" appearing five separate times. the driver is manifesting stability and honestly? same. π
π¦ SEE ALSO π¦
iwifw(4), pci(4), wlan(4), wlan_ccmp(4), wlan_tkip(4), wlan_wep(4), ifconfig(8), wpa_supplicant(8)
the whole friend group. go say hi. π
π AUTHORS π
The original iwi driver was written by Damien Bergamini <damien.bergamini@free.fr>.
king behavior, genuinely. π
okay that's the whole page!! every flag, every path, every error string, every single "this should not happen" β all accounted for, no cap. this one came to you from the Debian folks, dated October 15, 2015 π slay, go configure your wireless card bestie β¨πΈ
π¦ where this page comes from
- debian bookworm: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- debian trixie: freebsd-manpages 12.2-2 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu jammy: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu noble: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu questing: freebsd-manpages 12.2-2
- ubuntu resolute: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu stonking: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- Copyright (c) 2004-2006 Damien Bergamini <damien.bergamini@free.fr>. All rights reserved
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms