1 |
1275 |
phoenix |
September 21, 1999
|
2 |
|
|
|
3 |
|
|
Copyright (c) 1998 Corey Thomas (corey@world.std.com)
|
4 |
|
|
|
5 |
|
|
This file is the documentation for the Raylink Wireless LAN card driver for
|
6 |
|
|
Linux. The Raylink wireless LAN card is a PCMCIA card which provides IEEE
|
7 |
|
|
802.11 compatible wireless network connectivity at 1 and 2 megabits/second.
|
8 |
|
|
See http://www.raytheon.com/micro/raylink/ for more information on the Raylink
|
9 |
|
|
card. This driver is in early development and does have bugs. See the known
|
10 |
|
|
bugs and limitations at the end of this document for more information.
|
11 |
|
|
This driver also works with WebGear's Aviator 2.4 and Aviator Pro
|
12 |
|
|
wireless LAN cards.
|
13 |
|
|
|
14 |
|
|
As of kernel 2.3.18, the ray_cs driver is part of the Linux kernel
|
15 |
|
|
source. My web page for the development of ray_cs is at
|
16 |
|
|
http://world.std.com/~corey/raylink.html and I can be emailed at
|
17 |
|
|
corey@world.std.com
|
18 |
|
|
|
19 |
|
|
The kernel driver is based on ray_cs-1.62.tgz
|
20 |
|
|
|
21 |
|
|
The driver at my web page is intended to be used as an add on to
|
22 |
|
|
David Hinds pcmcia package. All the command line parameters are
|
23 |
|
|
available when compiled as a module. When built into the kernel, only
|
24 |
|
|
the essid= string parameter is available via the kernel command line.
|
25 |
|
|
This will change after the method of sorting out parameters for all
|
26 |
|
|
the PCMCIA drivers is agreed upon. If you must have a built in driver
|
27 |
|
|
with nondefault parameters, they can be edited in
|
28 |
|
|
/usr/src/linux/drivers/net/pcmcia/ray_cs.c. Searching for MODULE_PARM
|
29 |
|
|
will find them all.
|
30 |
|
|
|
31 |
|
|
Information on card services is available at:
|
32 |
|
|
ftp://hyper.stanford.edu/pub/pcmcia/doc
|
33 |
|
|
http://hyper.stanford.edu/HyperNews/get/pcmcia/home.html
|
34 |
|
|
|
35 |
|
|
|
36 |
|
|
Card services user programs are still required for PCMCIA devices.
|
37 |
|
|
pcmcia-cs-3.1.1 or greater is required for the kernel version of
|
38 |
|
|
the driver.
|
39 |
|
|
|
40 |
|
|
Currently, ray_cs is not part of David Hinds card services package,
|
41 |
|
|
so the following magic is required.
|
42 |
|
|
|
43 |
|
|
At the end of the /etc/pcmcia/config.opts file, add the line:
|
44 |
|
|
source ./ray_cs.opts
|
45 |
|
|
This will make card services read the ray_cs.opts file
|
46 |
|
|
when starting. Create the file /etc/pcmcia/ray_cs.opts containing the
|
47 |
|
|
following:
|
48 |
|
|
|
49 |
|
|
#### start of /etc/pcmcia/ray_cs.opts ###################
|
50 |
|
|
# Configuration options for Raylink Wireless LAN PCMCIA card
|
51 |
|
|
device "ray_cs"
|
52 |
|
|
class "network" module "misc/ray_cs"
|
53 |
|
|
|
54 |
|
|
card "RayLink PC Card WLAN Adapter"
|
55 |
|
|
manfid 0x01a6, 0x0000
|
56 |
|
|
bind "ray_cs"
|
57 |
|
|
|
58 |
|
|
module "misc/ray_cs" opts ""
|
59 |
|
|
#### end of /etc/pcmcia/ray_cs.opts #####################
|
60 |
|
|
|
61 |
|
|
|
62 |
|
|
To join an existing network with
|
63 |
|
|
different parameters, contact the network administrator for the
|
64 |
|
|
configuration information, and edit /etc/pcmcia/ray_cs.opts.
|
65 |
|
|
Add the parameters below between the empty quotes.
|
66 |
|
|
|
67 |
|
|
Parameters for ray_cs driver which may be specified in ray_cs.opts:
|
68 |
|
|
|
69 |
|
|
bc integer 0 = normal mode (802.11 timing)
|
70 |
|
|
1 = slow down inter frame timing to allow
|
71 |
|
|
operation with older breezecom access
|
72 |
|
|
points.
|
73 |
|
|
|
74 |
|
|
beacon_period integer beacon period in Kilo-microseconds
|
75 |
|
|
legal values = must be integer multiple
|
76 |
|
|
of hop dwell
|
77 |
|
|
default = 256
|
78 |
|
|
|
79 |
|
|
country integer 1 = USA (default)
|
80 |
|
|
2 = Europe
|
81 |
|
|
3 = Japan
|
82 |
|
|
4 = Korea
|
83 |
|
|
5 = Spain
|
84 |
|
|
6 = France
|
85 |
|
|
7 = Israel
|
86 |
|
|
8 = Australia
|
87 |
|
|
|
88 |
|
|
essid string ESS ID - network name to join
|
89 |
|
|
string with maximum length of 32 chars
|
90 |
|
|
default value = "ADHOC_ESSID"
|
91 |
|
|
|
92 |
|
|
hop_dwell integer hop dwell time in Kilo-microseconds
|
93 |
|
|
legal values = 16,32,64,128(default),256
|
94 |
|
|
|
95 |
|
|
irq_mask integer linux standard 16 bit value 1bit/IRQ
|
96 |
|
|
lsb is IRQ 0, bit 1 is IRQ 1 etc.
|
97 |
|
|
Used to restrict choice of IRQ's to use.
|
98 |
|
|
Recommended method for controlling
|
99 |
|
|
interrupts is in /etc/pcmcia/config.opts
|
100 |
|
|
|
101 |
|
|
net_type integer 0 (default) = adhoc network,
|
102 |
|
|
1 = infrastructure
|
103 |
|
|
|
104 |
|
|
phy_addr string string containing new MAC address in
|
105 |
|
|
hex, must start with x eg
|
106 |
|
|
x00008f123456
|
107 |
|
|
|
108 |
|
|
psm integer 0 = continuously active
|
109 |
|
|
1 = power save mode (not useful yet)
|
110 |
|
|
|
111 |
|
|
pc_debug integer (0-5) larger values for more verbose
|
112 |
|
|
logging. Replaces ray_debug.
|
113 |
|
|
|
114 |
|
|
ray_debug integer Replaced with pc_debug
|
115 |
|
|
|
116 |
|
|
ray_mem_speed integer defaults to 500
|
117 |
|
|
|
118 |
|
|
sniffer integer 0 = not sniffer (default)
|
119 |
|
|
1 = sniffer which can be used to record all
|
120 |
|
|
network traffic using tcpdump or similar,
|
121 |
|
|
but no normal network use is allowed.
|
122 |
|
|
|
123 |
|
|
translate integer 0 = no translation (encapsulate frames)
|
124 |
|
|
1 = translation (RFC1042/802.1)
|
125 |
|
|
|
126 |
|
|
|
127 |
|
|
More on sniffer mode:
|
128 |
|
|
|
129 |
|
|
tcpdump does not understand 802.11 headers, so it can't
|
130 |
|
|
interpret the contents, but it can record to a file. This is only
|
131 |
|
|
useful for debugging 802.11 lowlevel protocols that are not visible to
|
132 |
|
|
linux. If you want to watch ftp xfers, or do similar things, you
|
133 |
|
|
don't need to use sniffer mode. Also, some packet types are never
|
134 |
|
|
sent up by the card, so you will never see them (ack, rts, cts, probe
|
135 |
|
|
etc.) There is a simple program (showcap) included in the ray_cs
|
136 |
|
|
package which parses the 802.11 headers.
|
137 |
|
|
|
138 |
|
|
Known Problems and missing features
|
139 |
|
|
|
140 |
|
|
Does not work with non x86
|
141 |
|
|
|
142 |
|
|
Does not work with SMP
|
143 |
|
|
|
144 |
|
|
Support for defragmenting frames is not yet debugged, and in
|
145 |
|
|
fact is known to not work. I have never encountered a net set
|
146 |
|
|
up to fragment, but still, it should be fixed.
|
147 |
|
|
|
148 |
|
|
The ioctl support is incomplete. The hardware address cannot be set
|
149 |
|
|
using ifconfig yet. If a different hardware address is needed, it may
|
150 |
|
|
be set using the phy_addr parameter in ray_cs.opts. This requires
|
151 |
|
|
a card insertion to take effect.
|