WI(4)
π wi(4) β Lucent Hermes, and Intersil PRISM IEEE 802.11 driver π
okay so bestie, this is the manual for wi(4), the Lucent Hermes and Intersil PRISM IEEE 802.11 driver. It's giving vintage Wi-Fi realness, and we're gonna go through every single detail. No cap. π«Ά
β¨ NAME β¨
wi β Lucent Hermes, and Intersil PRISM IEEE 802.11 driver
That's the whole vibe. π
π¦ SYNOPSIS π¦
Want this driver living in your kernel? say less. Drop these lines into your kernel configuration file:
device wi
device wlan
Or if you'd rather load it as a module at boot time, put this line in loader.conf(5):
if_wi_load="YES"
Periodt. β¨
β οΈ DEPRECATION NOTICE β οΈ
Heads up, bestie: this driver is scheduled for removal prior to the release of FreeBSD 13.0. It's giving limited time only. π
π DESCRIPTION π
The wi driver provides support for 802.11b wireless network adapters based around the Lucent Hermes, Intersil PRISM-II, Intersil PRISM-2.5, and Intersil Prism-3 chipsets. All chipsets provide a similar interface to the driver. Only the Intersil chipsets support access point operation or WPA. Very old versions of firmware are not supported at all. Older versions of the firmware that are supported may severely limit the ability to use these cards in newer networks. Only relatively recent versions of Intersil firmware supports WPA. See CAVEATS for details. All host/device interaction is via programmed I/O, even on those cards that support a DMA interface.
For more information on configuring this device, see ifconfig(8).
wi supports station, adhoc, adhoc-demo, hostap, and monitor mode operation. Only one virtual interface may be configured at a time. For more information on configuring this device, see ifconfig(8).
Cards supported by the wi driver come in a variety of packages, though the most common are of the PCMCIA type. In many cases, the PCI version of a wireless card is simply a PCMCIA card bundled with a PCI adapter. The PCI adapters come in two flavors: true PCMCIA bridges and dumb PCMCIA bridges. A true PCMCIA bridge (such as those sold by Lucent) will attach as a real PCMCIA controller. The wireless card will then attach to the PCMCIA bus. Wireless cards in PCMCIA slots may be inserted and ejected on the fly.
A dumb bridge, on the other hand, does not show up as a true PCMCIA bus. The wireless card will simply appear to the host as a normal PCI device and will not require any PCMCIA support. Cards in this type of adapter should only be removed when the machine is powered down.
The following cards are among those supported by the wi driver:
Here's the roster, bestie β every single one:
3Com AirConnect 3CRWE777Aβ chip:Prism-IIΒ· bus:PCIAccton airDirect WN3301β bus:PCMCIAACTIONTEC HWC01170β chip:Prism-2.5Β· bus:PCMCIAAdaptech ANW-8030β chip:Prism-3Β· bus:PCMCIAAddtron AWP-100β chip:Prism-IIΒ· bus:PCMCIAAdtec Adlink/340Cβ chip:Prism-IIΒ· bus:PCMCIAAirvast WN 100β chip:Prism-3Β· bus:PCMCIAAirway 802.11 Adapterβ bus:PCMCIAAgere Orinocoβ chip:HermesΒ· bus:PCMCIAAllied Telesis WR211PCMβ chip:Prism-IIΒ· bus:PCMCIAArTem OnAirβ chip:Prism?Β· bus:PCMCIAAsus WL100β chip:Prism-2.5Β· bus:PCMCIAAvaya Wirelessβ chip:Prism-IIΒ· bus:PCMCIABay eMobility 11Bβ chip:Prism-2.5?Β· bus:PCMCIABlue Concentric Circle WL-379Fβ chip:Prism-IIΒ· bus:CFBreezeNet Wirelessβ chip:Prism-IIΒ· bus:PCMCIABuffalo WLI-PCM-S11β chip:Prism-IIΒ· bus:PCMCIABuffalo WLI-PCM-L11Gβ chip:HermesΒ· bus:PCMCIABuffalo WLI-CF-S11Gβ chip:Prism-IIΒ· bus:CFBuffalo WLI2-CF-S11Gβ chip:Prism 2.5Β· bus:CFCabletron RoamAboutβ chip:HermesΒ· bus:PCMCIACompaq Agency NC5004β chip:Prism-IIΒ· bus:PCMCIACompaq WL100β chip:Prism-IIΒ· bus:PCMCIACompaq WL110β chip:HermesΒ· bus:PCMCIACompaq WL200β chip:Prism-IIΒ· bus:PCMCIAContec FLEXLAN/FX-DS110-PCCβ chip:Prism-IIΒ· bus:PCMCIACorega PCC-11β chip:Prism-IIΒ· bus:PCMCIACorega PCCA-11β chip:Prism-IIΒ· bus:PCMCIACorega PCCB-11β chip:Prism-IIΒ· bus:PCMCIACorega CGWLPCIA11β chip:Prism-IIΒ· bus:PCIDell TrueMobile 1150β chip:HermesΒ· bus:PCMCIADlink Air 660β chip:Prism-IIΒ· bus:PCMCIADlink DWL520β chip:Prism-2.5Β· bus:PCIDlink DWL650β chip:Prism-2.5Β· bus:PCMCIAELECOM Air@Hawk/LD-WL11/PCCβ bus:PCMCIAELSA MC-11β bus:PCMCIAELSA XI300β chip:Prism-IIΒ· bus:PCMCIAELSA XI325β chip:Prism-2.5Β· bus:PCMCIAELSA APDL325β chip:Prism-2.5Β· bus:PCMCIAELSA XI330β chip:Prism-3Β· bus:PCMCIAELSA XI800β chip:Prism-IIΒ· bus:CFEMTAC A2424iβ chip:Prism-IIΒ· bus:PCMCIAFarallon Skylineβ chip:Prism-IIΒ· bus:PCMCIAGemtek WL-311β chip:Prism-2.5Β· bus:PCMCIAHawking Technology WE110Pβ chip:Prism-2.5Β· bus:PCMCIAHome Wireless Networksβ chip:Prism-IIΒ· bus:PCMCIAIBM High Rate Wirelessβ chip:HermesΒ· bus:PCMCIAICOM SL-1100β chip:Prism-IIΒ· bus:PCMCIAI-O DATA WN-B11/PCMβ chip:Prism-IIΒ· bus:PCMCIAIntersil Prism IIβ chip:Prism-IIΒ· bus:PCMCIAIntersil Mini-PCIβ chip:Prism-2.5Β· bus:PCIIntersil ISL37100Pβ chip:Prism-3Β· bus:PCMCIAIntersil ISL37110Pβ chip:Prism-3Β· bus:PCMCIAIntersil ISL37300Pβ chip:Prism-3Β· bus:PCMCIALaneed Wirelessβ bus:PCMCIALinksys Instant Wireless WPC11β chip:Prism-IIΒ· bus:PCMCIALinksys Instant Wireless WPC11 2.5β chip:Prism-2.5Β· bus:PCMCIALinksys Instant Wireless WPC11 3.0β chip:Prism-3Β· bus:PCMCIALinksys WCF11β chip:Prism-3Β· bus:PCMCIALinksys WCF12β chip:Prism-3Β· bus:CFLucent WaveLANβ chip:HermesΒ· bus:PCMCIAMelco Airconnectβ chip:Prism-IIΒ· bus:PCMCIAMicrosoft MN-520 WLANβ chip:Prism-IIΒ· bus:PCMCIANANOSPEED ROOT-RZ2000β chip:Prism-IIΒ· bus:PCMCIANCR WaveLAN/IEEE 802.11β bus:PCMCIANDC/Sohoware NCP130β chip:Prism-IIΒ· bus:PCINEC CMZ-RT-WPβ chip:Prism-IIΒ· bus:PCMCIANEC PK-WL001β chip:LucentΒ· bus:PCMCIANEC PC-WL/11Cβ chip:Prism-IIΒ· bus:PCMCIANetgear MA311β chip:Prism-2.5Β· bus:PCINetgear MA401β chip:Prism-II/2.5Β· bus:PCMCIANetgear MA401RAβ chip:Prism-IIΒ· bus:PCMCIANetgear MA701β chip:Prism-IIΒ· bus:CFNOKIA C020 WLANβ chip:Prism-IIΒ· bus:PCMCIANOKIA C110 WLANβ chip:Prism-2.5Β· bus:PCMCIANTT-ME 11Mbps Wireless LANβ chip:Prism-IIΒ· bus:PCMCIAPlanex GeoWave/GW-NS110β chip:Prism-IIΒ· bus:PCMCIAPlanex GW-NS11Hβ chip:Prism-IIΒ· bus:PCMCIAProxim Harmonyβ chip:Prism-IIΒ· bus:PCMCIAProxim RangeLAN-DSβ chip:Prism-IIΒ· bus:PCMCIASamsung MagicLAN SWL-2000Nβ chip:Prism-IIΒ· bus:PCMCIASENAO SL-2511CDβ chip:Prism-3Β· bus:PCMCIASiemens SpeedStream SS1021β chip:Prism-IIΒ· bus:PCMCIASiemens SpeedStream SS1021β chip:Prism-3Β· bus:PCMCIASMC 2532W-Bβ chip:Prism-IIΒ· bus:PCMCIASMC 2602 EZ Connect (3.3V)β chip:Prism-IIΒ· bus:PCI or PCMCIASMC 2632 EZ Connectβ chip:Prism-IIΒ· bus:PCMCIASocket Low Power WLAN-CFβ chip:Prism-IIΒ· bus:CFSony PCWA-C100β chip:LucentΒ· bus:PCMCIASony PEGA-WL110β chip:Prism-2.5Β· bus:PCMCIATDK LAK-CD011WLβ chip:Prism-IIΒ· bus:PCMCIAToshiba Wireless LAN Cardβ chip:Prism-IIΒ· bus:PCMCIAU.S. Robotics Wireless Card 2410β chip:Prism-IIΒ· bus:PCMCIAYIS YWL-11Bβ chip:Prism-IIΒ· bus:PCMCIA
Several vendors sell PCI adapters built around the PLX Technology 9050 or 9052 chip. The following such adapters are supported or expected to work:
3Com AirConnect 3CRWE777A (3.3V)Belkin F5D6000 (a rebadged WL11000P)Eumitcom WL11000PGlobal Sun Technology GL24110P (untested)Global Sun Technology GL24110P02LinkSys WDT11 (a rebadged GL24110P02)Netgear MA301US Robotics 2415 (rebadged WL11000P)Wisecom Wireless LAN PCI Adapter
The following adapters have the same model numbers as those listed above, but might not work if the actual card is after the change away from the Prism family:
DLink DWL520
π EXAMPLES π
Let's get you connected, bestie. Here are the example recipes:
Join an existing BSS network (ie: connect to an access point):
ifconfig wlan create wlandev wi0 inet 192.168.0.20 \
netmask 0xffffff00
Join a specific BSS network with network name βmy_netβ:
ifconfig wlan create wlandev wi0 inet 192.168.0.20 \
netmask 0xffffff00 ssid my_net
Join a specific BSS network with WEP encryption:
ifconfig wlan create wlandev wi0 inet 192.168.0.20 \
netmask 0xffffff00 ssid my_net \
wepmode on wepkey 0x8736639624 weptxkey 1
Join a Lucent legacy demo ad-hoc network with network name βmy_netβ:
ifconfig wlan create wlandev wi0 wlanmode ahdemo \
inet 192.168.0.20 netmask 0xffffff00 ssid my_net
Join/create an IBSS network with network name βmy_netβ:
ifconfig wlan create wlandev wi0 wlanmode adhoc wi0 \
inet 192.168.0.22 netmask 0xffffff00 ssid my_net
Create a host-based access point (Prism only):
ifconfig wlan create wlandev wi0 wlanmode hostap \
inet 192.168.0.10 netmask 0xffffff00 ssid my_ap
Create a host-based access point with WEP enabled (Prism only) and plumb it into bridge to fxp0:
ifconfig wlan0 create wlandev wi0 wlanmode hostap \
inet 192.168.0.10 netmask 0xffffff00 ssid my_ap \
wepmode on wepkey 0x1234567890 weptxkey 1
ifconfig bridge0 create
ifconfig bridge0 addm wlan0 addm fxp0 up
This will give you the same functionality as an access point.
π©Ί DIAGNOSTICS π©Ί
If something's off, here's the tea:
wi%d: init failedβ The WaveLAN card failed to become ready after an initialization command was issued.wi%d: failed to allocate %d bytes on NICβ The driver was unable to allocate memory for transmit frames in the NIC's on-board RAM. This can also be an indication of an incorrectly configured interrupt.wi%d: device timeoutβ The WaveLAN card failed to generate an interrupt to acknowledge a transmit command.
π SEE ALSO π
Go read these too, bestie:
intro(4), pccard(4), pccbb(4), pcic(4), wlan(4), wlan_ccmp(4), wlan_tkip(4), wlan_wep(4), wlan_xauth(4), hostapd(8), ifconfig(8), wpa_supplicant(8).
HCF Light programming specification, http://web.archive.org/web/20040130141721/http://wavelan.com/.
π°οΈ HISTORY π°οΈ
The wi device driver first appeared in FreeBSD 3.0. Like, it's been around since forever, bestie β it was doing wifi before wifi was even a vibe. π
π AUTHORS π
The original wi driver was written by Bill Paul <wpaul@ctr.columbia.edu>. Give him his flowers, fr fr. πΉ
This man page comes from OpenBSD. Iconic crossover moment, no cap.
β οΈ CAVEATS β οΈ
Okay so this is the part where I have to be real with you, bestie. Sit down. π«Ά
The driver will reject devices with old firmware to avoid dealing with numerous defects. And likeβ¦ unfortunately the driver does not support downloading new firmware to the card, so if new firmware is needed, users will have to boot a different system to accomplish this. Not me making you dual-boot just to update a NIC π but that's literally the situation.
Read this next bit carefully, it's the whole vibe check for whether your card even works.
Intersil Prism cards must have firmware versions 0.8.0 or later, and version 1.7.0 or later are required to support functionality such as WPA. Some users of Prism-II and 2.5 based cards report that station firmware version 1.3.4 works better for them in hostap than 1.4.9. Like, noted. π
Older versions of the Prism station firmware have a number of issues with hostap mode. The IBSS/adhoc mode appears to work well on station firmware 1.3.1 and later. The IBSS/adhoc mode appears to have problems for some people with older versions of station firmware. So likeβ¦ it's giving "your mileage may vary," but in a technical way. π
Lucent cards prior to firmware version 6.0.6 do not implement IBSS mode and are not supported. Periodt. π
Prior versions of wi supported Symbol firmware. That support has been removed due to persistent problems with this firmware as well as getting proper documentation on this firmware. RIP to that era, it was not slaying. πͺ¦
Hermes 2 and Hermes 3 chips are not supported by this driver. Full stop.
π§ Here's the above requirements in the form of a table π§
(Okay bestie, terminals don't do tables nicely so I'm giving you the whole thing as a list β every single number is preserved, don't worry, I would never do you like that. π)
- Prism II/2.5
- Minimum:
0.8.0 - WPA:
1.7.0 - Host AP:
1.3.4 - Adhoc/IBSS:
1.3.1
- Minimum:
- Prism 3
- Minimum:
0.8.0 - WPA:
1.7.0 - Host AP:
1.4.9 - Adhoc/IBSS:
1.3.1
- Minimum:
- Hermes
- Minimum:
6.0.6 - WPA:
none - Host AP:
none - Adhoc/IBSS:
6.0.6
- Minimum:
- Symbol
- Minimum:
none - WPA:
none - Host AP:
none - Adhoc/IBSS:
none
- Minimum:
π BUGS π
Not all the new messages are documented here, and many of them are indications of transient errors that are not indications of serious problems. So if you see something weird scroll by, breathe, bestie. It's probably fine. Probably. π
And that's the whole page, bestie!! π You made it to the end, so proud of you, genuinely. π«Ά
This one shipped as part of the Debian package, dated July 23, 2011 β yes, that's the date, and yes, we're all gonna pretend that's recent. Old but gold. πβ¨
okay go forth and configure your wifi the way it deserves π π
π¦ 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) 1997, 1998, 1999 Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms