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
|
.\" $OpenBSD: wpi.4,v 1.25 2009/09/02 07:00:24 jmc Exp $
.\"
.\" Copyright (c) 2006, 2007
.\" Damien Bergamini <damien.bergamini@free.fr>. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice unmodified, this list of conditions, and the following
.\" disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.Dd $Mdocdate: September 2 2009 $
.Os
.Dt WPI 4
.Sh NAME
.Nm wpi
.Nd Intel PRO/Wireless 3945ABG IEEE 802.11a/b/g wireless network device
.Sh SYNOPSIS
.Cd "wpi* at pci?"
.Sh DESCRIPTION
The
.Nm
driver provides support for
.Tn Intel
PRO/Wireless 3945ABG Mini PCI Express network adapters.
.Pp
These are the modes the
.Nm
driver can operate in:
.Bl -tag -width "IBSS-masterXX"
.It BSS mode
Also known as
.Em infrastructure
mode, this is used when associating with an access point, through
which all traffic passes.
This mode is the default.
.It monitor mode
In this mode the driver is able to receive packets without
associating with an access point.
This disables the internal receive filter and enables the card to
capture packets from networks which it wouldn't normally have access to,
or to scan for access points.
.El
.Pp
The
.Nm
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
.Nm
driver offloads both encryption and decryption of unicast data frames to the
hardware for the CCMP cipher.
.Pp
The device has one temperature sensor.
Its value is in the range from 0 (coolest) to 285 (warmest).
Sensor data is updated every 500 milliseconds.
.Pp
The
.Nm
driver can be configured at runtime with
.Xr ifconfig 8
or on boot with
.Xr hostname.if 5 .
.Sh FILES
The driver needs at least version 3.1 of the following firmware file,
which is loaded when an interface is brought up:
.Pp
.Bl -tag -width Ds -offset indent -compact
.It Pa /etc/firmware/wpi-3945abg
.El
.Pp
This firmware file is not free because Intel refuses to grant
distribution rights without contractual obligations.
As a result, even though
.Ox
includes the driver, the firmware file cannot be included and
users have to download this file on their own.
.Pp
A prepackaged version of the firmware, designed to be used with
.Xr pkg_add 1 ,
can be found at:
.Bd -literal
http://damien.bergamini.free.fr/packages/openbsd/wpi-firmware-3.2.tgz
.Ed
.Sh EXAMPLES
The following
.Xr hostname.if 5
example configures wpi0 to join whatever network is available on boot,
using WEP key
.Dq 0x1deadbeef1 ,
channel 11, obtaining an IP address using DHCP:
.Bd -literal -offset indent
dhcp NONE NONE NONE nwkey 0x1deadbeef1 chan 11
.Ed
.Pp
Configure wpi0 to join network
.Dq my_net
using WPA-PSK with passphrase
.Dq my_passphrase :
.Bd -literal -offset indent
# ifconfig wpi0 nwid my_net wpa wpapsk \e
`wpa-psk my_net my_passphrase`
.Ed
.Pp
Return wpi0 to its default settings:
.Bd -literal -offset indent
# ifconfig wpi0 -bssid -chan media autoselect \e
nwid "" -nwkey -wpa -wpapsk
.Ed
.Pp
Join an existing BSS network,
.Dq my_net :
.Bd -literal -offset indent
# ifconfig wpi0 192.168.1.1 netmask 0xffffff00 nwid my_net
.Ed
.Sh DIAGNOSTICS
.Bl -diag
.It "wpi%d: device timeout"
A frame dispatched to the hardware for transmission did not complete in time.
The driver will reset the hardware.
This should not happen.
.It "wpi%d: fatal firmware error"
For some reason, the firmware crashed.
The driver will reset the hardware.
This should not happen.
.It "wpi%d: Radio transmitter is off"
The radio transmitter is off and thus no packet can go out.
The driver will reset the hardware.
Make sure the laptop radio switch is on.
.It "wpi%d: error %d, could not read firmware %s"
For some reason, the driver was unable to read the firmware image from the
filesystem.
The file might be missing or corrupted.
.It "wpi%d: firmware file too short: %d bytes"
The firmware image is corrupted and can't be loaded into the adapter.
.It "wpi%d: could not load firmware"
An attempt to load the firmware into the adapter failed.
The driver will reset the hardware.
.El
.Sh SEE ALSO
.Xr pkg_add 1 ,
.Xr arp 4 ,
.Xr ifmedia 4 ,
.Xr intro 4 ,
.Xr netintro 4 ,
.Xr pci 4 ,
.Xr hostname.if 5 ,
.Xr ifconfig 8 ,
.Xr wpa-psk 8
.Sh AUTHORS
The
.Nm
driver was written by
.An Damien Bergamini Aq damien@openbsd.org .
|