xref: /freebsd/share/man/man4/wpi.4 (revision fa573868f187956b384722a90392866769f4965a)
1.\"-
2.\" SPDX-License-Identifier: BSD-2-Clause
3.\"
4.\" Copyright (c) 2004-2007
5.\"	Damien Bergamini <damien.bergamini@free.fr>. All rights reserved.
6.\"	Benjamin Close <Benjamin.Close@clearchain.com>. All rights reserved.
7.\" Copyright (c) 2016 Andriy Voskoboinyk <avos@FreeBSD.org>
8.\" All rights reserved.
9.\"
10.\" Redistribution and use in source and binary forms, with or without
11.\" modification, are permitted provided that the following conditions
12.\" are met:
13.\" 1. Redistributions of source code must retain the above copyright
14.\"    notice unmodified, this list of conditions, and the following
15.\"    disclaimer.
16.\" 2. Redistributions in binary form must reproduce the above copyright
17.\"    notice, this list of conditions and the following disclaimer in the
18.\"    documentation and/or other materials provided with the distribution.
19.\"
20.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
21.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
24.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30.\" SUCH DAMAGE.
31.\"
32.Dd October 17, 2024
33.Dt WPI 4
34.Os
35.Sh NAME
36.Nm wpi
37.Nd Intel PRO/Wireless 3945ABG IEEE 802.11a/b/g network driver
38.Sh SYNOPSIS
39To compile this driver into the kernel,
40place the following lines in your
41kernel configuration file:
42.Bd -ragged -offset indent
43.Cd "device wpi"
44.Cd "device wpifw"
45.Cd "device pci"
46.Cd "device wlan"
47.Cd "device wlan_amrr"
48.Cd "device firmware"
49.Ed
50.Pp
51Alternatively, to load the driver as a
52module at boot time, place the following line in
53.Xr loader.conf 5 :
54.Pp
55.Dl if_wpi_load="YES"
56.Sh DESCRIPTION
57The
58.Nm
59driver supports running the
60Intel PRO/Wireless 3945ABG network adapter in
61.Cm station ,
62.Cm adhoc ,
63.Cm adhoc-demo ,
64.Cm hostap ,
65and
66.Cm monitor
67mode operation.
68This driver requires the wpifw firmware module
69and can be configured at runtime with
70.Xr ifconfig 8
71or at boot in
72.Xr rc.conf 5 .
73Only one virtual interface may be configured at any time.
74.Pp
75The
76.Nm
77driver can be configured to use
78Wired Equivalent Privacy (WEP) or
79Wi-Fi Protected Access (WPA-PSK and WPA2-PSK).
80WPA is the de facto encryption standard for wireless networks.
81It is strongly recommended that WEP
82not be used as the sole mechanism
83to secure wireless communication,
84due to serious weaknesses in it.
85The
86.Nm
87driver offloads both encryption and decryption of data frames to the
88hardware for the CCMP cipher.
89.Sh HARDWARE
90The
91.Nm
92driver provides support for the
93Intel PRO/Wireless 3945ABG Mini PCIe network adapter.
94.Sh FILES
95.Bl -tag -width "/usr/share/doc/legal/intel_wpi.LICENSE" -compact
96.It Pa /usr/share/doc/legal/intel_wpi.LICENSE
97.Nm
98firmware license
99.El
100.Sh EXAMPLES
101Join an existing BSS network (i.e., connect to an access point):
102.Bd -literal -offset indent
103ifconfig wlan0 create wlandev wpi0 inet 192.168.0.20 \e
104    netmask 0xffffff00
105.Ed
106.Pp
107Join a specific BSS network with network name
108.Ar my_net :
109.Pp
110.Dl "ifconfig wlan0 create wlandev wpi0 ssid my_net up"
111.Pp
112Join a specific BSS network with 64-bit WEP encryption:
113.Bd -literal -offset indent
114ifconfig wlan0 create wlandev wpi0 ssid my_net \e
115	wepmode on wepkey 0x1234567890 weptxkey 1 up
116.Ed
117.Pp
118Create an IBSS network with 128-bit WEP encryption on the channel 4:
119.Bd -literal -offset indent
120ifconfig wlan0 create wlandev wpi0 wlanmode adhoc ssid my_net \e
121	wepmode on wepkey 0x01020304050607080910111213 weptxkey 1 \e
122	channel 4
123.Ed
124.Pp
125Join/create an 802.11b IBSS network with network name
126.Ar my_net :
127.Bd -literal -offset indent
128ifconfig wlan0 create wlandev wpi0 wlanmode adhoc
129ifconfig wlan0 inet 192.168.0.22 netmask 0xffffff00 ssid my_net \e
130	mode 11b
131.Ed
132.Pp
133Create an 802.11g host-based access point:
134.Bd -literal -offset indent
135ifconfig wlan0 create wlandev wpi0 wlanmode hostap
136ifconfig wlan0 inet 192.168.0.10 netmask 0xffffff00 ssid my_ap \e
137	mode 11g
138.Ed
139.Sh DIAGNOSTICS
140.Bl -diag
141.It "wpi%d: could not load firmware image '%s'"
142The driver failed to load the firmware image using the
143.Xr firmware 9
144subsystem.
145Verify the wpifw firmware module is installed.
146.It "wpi%d: %s: timeout waiting for adapter to initialize, error %d"
147The onboard microcontroller failed to initialize in time.
148This should not happen.
149.It "wpi%d: %s: could not load boot firmware"
150An attempt to upload the boot firmware image to the onboard microcontroller
151failed.
152This should not happen.
153.It "wpi%d: device timeout"
154A frame dispatched to the hardware for transmission did not complete in time.
155The driver will reset the hardware and continue.
156This should not happen.
157.It "wpi%d: scan timeout"
158Firmware scan command response was not received in time.
159The driver will reset the hardware and continue.
160This should not happen.
161.It "wpi%d: fatal firmware error"
162The onboard microcontroller crashed for some reason.
163The driver will reset the hardware and continue.
164This should not happen.
165.It "wpi%d: RF switch: radio disabled"
166The hardware switch controlling the radio is currently turned off.
167Data transmission is not possible in this state.
168.It "wpi%d: can't map mem space"
169The driver was unable to map the device registers into the host address space.
170This should not happen.
171.It "wpi%d: can't map interrupt"
172The driver was unable to allocate an IRQ for the device interrupt.
173This should not happen.
174.It "wpi%d: can't establish interrupt, error %d"
175The driver was unable to install the device interrupt handler.
176This should not happen.
177.It "wpi%d: %s: bus_dmamap_load failed, error %d"
178The driver was unable to map newly allocated mbuf to device
179visible address space.
180Contents of currently received frame will be lost.
181This should not happen.
182.El
183.Sh SEE ALSO
184.Xr pci 4 ,
185.Xr wlan 4 ,
186.Xr wlan_amrr 4 ,
187.Xr wlan_ccmp 4 ,
188.Xr wlan_tkip 4 ,
189.Xr wlan_wep 4 ,
190.Xr wlan_xauth 4 ,
191.Xr networking 7 ,
192.Xr hostapd 8 ,
193.Xr ifconfig 8 ,
194.Xr wpa_supplicant 8
195.Sh AUTHORS
196.An -nosplit
197The original
198.Nm
199driver was written for
200.Ox
201by
202.An Damien Bergamini Aq Mt damien.bergamini@free.fr .
203.An Benjamin Close Aq Mt benjsc@FreeBSD.org
204ported
205.Nm
206to
207.Fx .
208.Sh CAVEATS
209.Cm Hostap
210mode is not directly supported by the device;
211it is implemented through IBSS mode (as a result, DFS/passive
212channels are not available in this mode).
213.Pp
214Powersave may be unstable on some networks
215.Po results in occasional Sy 'wpi%d: device timeout' No messages Pc ;
216you can try to disable it to improve device stability.
217