1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
|
<table class="head">
<tr>
<td class="head-ltitle">WPI(4)</td>
<td class="head-vol">Device Drivers Manual</td>
<td class="head-rtitle">WPI(4)</td>
</tr>
</table>
<div class="manual-text">
<section class="Sh">
<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
<p class="Pp"><code class="Nm">wpi</code> — <span class="Nd">Intel
PRO/Wireless 3945ABG IEEE 802.11a/b/g network driver</span></p>
</section>
<section class="Sh">
<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
<p class="Pp">To compile this driver into the kernel, place the following lines
in your kernel configuration file:</p>
<div class="Bd Pp Bd-indent"><code class="Cd">device wpi</code>
<br/>
<code class="Cd">device wpifw</code>
<br/>
<code class="Cd">device pci</code>
<br/>
<code class="Cd">device wlan</code>
<br/>
<code class="Cd">device wlan_amrr</code>
<br/>
<code class="Cd">device firmware</code></div>
<p class="Pp">Alternatively, to load the driver as a module at boot time, place
the following line in <a class="Xr">loader.conf(5)</a>:</p>
<p class="Pp"></p>
<div class="Bd
Bd-indent"><code class="Li">if_wpi_load="YES"</code></div>
</section>
<section class="Sh">
<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
<p class="Pp">The <code class="Nm">wpi</code> driver supports running the Intel
PRO/Wireless 3945ABG network adapter in <code class="Cm">station</code>,
<code class="Cm">adhoc</code>, <code class="Cm">adhoc-demo</code>,
<code class="Cm">hostap</code>, and <code class="Cm">monitor</code> mode
operation. This driver requires the wpifw firmware module and can be
configured at runtime with <a class="Xr">ifconfig(8)</a> or at boot in
<a class="Xr">rc.conf(5)</a>. Only one virtual interface may be configured
at any time.</p>
<p class="Pp">The <code class="Nm">wpi</code> driver can be configured to use
Wired Equivalent Privacy (WEP) or Wi-Fi Protected Access (WPA-PSK and
WPA2-PSK). WPA is the de facto encryption standard for wireless networks. It
is strongly recommended that WEP not be used as the sole mechanism to secure
wireless communication, due to serious weaknesses in it. The
<code class="Nm">wpi</code> driver offloads both encryption and decryption
of data frames to the hardware for the CCMP cipher.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="HARDWARE"><a class="permalink" href="#HARDWARE">HARDWARE</a></h1>
<p class="Pp">The <code class="Nm">wpi</code> driver provides support for the
Intel PRO/Wireless 3945ABG Mini PCIe network adapter.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="FILES"><a class="permalink" href="#FILES">FILES</a></h1>
<dl class="Bl-tag Bl-compact">
<dt><span class="Pa">/usr/share/doc/legal/intel_wpi.LICENSE</span></dt>
<dd><code class="Nm">wpi</code> firmware license</dd>
</dl>
</section>
<section class="Sh">
<h1 class="Sh" id="EXAMPLES"><a class="permalink" href="#EXAMPLES">EXAMPLES</a></h1>
<p class="Pp">Join an existing BSS network (i.e., connect to an access
point):</p>
<div class="Bd Pp Bd-indent Li">
<pre>ifconfig wlan0 create wlandev wpi0 inet 192.168.0.20 \
netmask 0xffffff00</pre>
</div>
<p class="Pp">Join a specific BSS network with network name
<var class="Ar">my_net</var>:</p>
<p class="Pp"></p>
<div class="Bd Bd-indent"><code class="Li">ifconfig wlan0 create wlandev wpi0
ssid my_net up</code></div>
<p class="Pp">Join a specific BSS network with 64-bit WEP encryption:</p>
<div class="Bd Pp Bd-indent Li">
<pre>ifconfig wlan0 create wlandev wpi0 ssid my_net \
wepmode on wepkey 0x1234567890 weptxkey 1 up</pre>
</div>
<p class="Pp">Create an IBSS network with 128-bit WEP encryption on the channel
4:</p>
<div class="Bd Pp Bd-indent Li">
<pre>ifconfig wlan0 create wlandev wpi0 wlanmode adhoc ssid my_net \
wepmode on wepkey 0x01020304050607080910111213 weptxkey 1 \
channel 4</pre>
</div>
<p class="Pp">Join/create an 802.11b IBSS network with network name
<var class="Ar">my_net</var>:</p>
<div class="Bd Pp Bd-indent Li">
<pre>ifconfig wlan0 create wlandev wpi0 wlanmode adhoc
ifconfig wlan0 inet 192.168.0.22 netmask 0xffffff00 ssid my_net \
mode 11b</pre>
</div>
<p class="Pp">Create an 802.11g host-based access point:</p>
<div class="Bd Pp Bd-indent Li">
<pre>ifconfig wlan0 create wlandev wpi0 wlanmode hostap
ifconfig wlan0 inet 192.168.0.10 netmask 0xffffff00 ssid my_ap \
mode 11g</pre>
</div>
</section>
<section class="Sh">
<h1 class="Sh" id="DIAGNOSTICS"><a class="permalink" href="#DIAGNOSTICS">DIAGNOSTICS</a></h1>
<dl class="Bl-diag">
<dt>wpi%d: could not load firmware image '%s'</dt>
<dd>The driver failed to load the firmware image using the
<a class="Xr">firmware(9)</a> subsystem. Verify the wpifw firmware module
is installed.</dd>
<dt>wpi%d: %s: timeout waiting for adapter to initialize, error %d</dt>
<dd>The onboard microcontroller failed to initialize in time. This should not
happen.</dd>
<dt>wpi%d: %s: could not load boot firmware</dt>
<dd>An attempt to upload the boot firmware image to the onboard
microcontroller failed. This should not happen.</dd>
<dt>wpi%d: device timeout</dt>
<dd>A frame dispatched to the hardware for transmission did not complete in
time. The driver will reset the hardware and continue. This should not
happen.</dd>
<dt>wpi%d: scan timeout</dt>
<dd>Firmware scan command response was not received in time. The driver will
reset the hardware and continue. This should not happen.</dd>
<dt>wpi%d: fatal firmware error</dt>
<dd>The onboard microcontroller crashed for some reason. The driver will reset
the hardware and continue. This should not happen.</dd>
<dt>wpi%d: RF switch: radio disabled</dt>
<dd>The hardware switch controlling the radio is currently turned off. Data
transmission is not possible in this state.</dd>
<dt>wpi%d: can't map mem space</dt>
<dd>The driver was unable to map the device registers into the host address
space. This should not happen.</dd>
<dt>wpi%d: can't map interrupt</dt>
<dd>The driver was unable to allocate an IRQ for the device interrupt. This
should not happen.</dd>
<dt>wpi%d: can't establish interrupt, error %d</dt>
<dd>The driver was unable to install the device interrupt handler. This should
not happen.</dd>
<dt>wpi%d: %s: bus_dmamap_load failed, error %d</dt>
<dd>The driver was unable to map newly allocated mbuf to device visible
address space. Contents of currently received frame will be lost. This
should not happen.</dd>
</dl>
</section>
<section class="Sh">
<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
ALSO</a></h1>
<p class="Pp"><a class="Xr">pci(4)</a>, <a class="Xr">wlan(4)</a>,
<a class="Xr">wlan_amrr(4)</a>, <a class="Xr">wlan_ccmp(4)</a>,
<a class="Xr">wlan_tkip(4)</a>, <a class="Xr">wlan_wep(4)</a>,
<a class="Xr">wlan_xauth(4)</a>, <a class="Xr">networking(7)</a>,
<a class="Xr">hostapd(8)</a>, <a class="Xr">ifconfig(8)</a>,
<a class="Xr">wpa_supplicant(8)</a></p>
</section>
<section class="Sh">
<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
<p class="Pp">The original <code class="Nm">wpi</code> driver was written for
<span class="Ux">OpenBSD</span> by <span class="An">Damien Bergamini</span>
<<a class="Mt" href="mailto:damien.bergamini@free.fr">damien.bergamini@free.fr</a>>.
<span class="An">Benjamin Close</span>
<<a class="Mt" href="mailto:benjsc@FreeBSD.org">benjsc@FreeBSD.org</a>>
ported <code class="Nm">wpi</code> to <span class="Ux">FreeBSD</span>.</p>
</section>
<section class="Sh">
<h1 class="Sh" id="CAVEATS"><a class="permalink" href="#CAVEATS">CAVEATS</a></h1>
<p class="Pp"><code class="Cm">Hostap</code> mode is not directly supported by
the device; it is implemented through IBSS mode (as a result, DFS/passive
channels are not available in this mode).</p>
<p class="Pp" id="'wpi_d:">Powersave may be unstable on some networks (results
in occasional <a class="permalink" href="#'wpi_d:"><b class="Sy">'wpi%d:
device timeout'</b></a> <span class="No">messages</span>); you can try to
disable it to improve device stability.</p>
</section>
</div>
<table class="foot">
<tr>
<td class="foot-date">October 17, 2024</td>
<td class="foot-os">FreeBSD 15.0</td>
</tr>
</table>
|