blob: b1def00bc4a3b21ec875b73d7849c2607308842e [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001September 21, 1999
2
3Copyright (c) 1998 Corey Thomas (corey@world.std.com)
4
5This file is the documentation for the Raylink Wireless LAN card driver for
6Linux. The Raylink wireless LAN card is a PCMCIA card which provides IEEE
7802.11 compatible wireless network connectivity at 1 and 2 megabits/second.
8See http://www.raytheon.com/micro/raylink/ for more information on the Raylink
9card. This driver is in early development and does have bugs. See the known
10bugs and limitations at the end of this document for more information.
11This driver also works with WebGear's Aviator 2.4 and Aviator Pro
12wireless LAN cards.
13
14As of kernel 2.3.18, the ray_cs driver is part of the Linux kernel
15source. My web page for the development of ray_cs is at
16http://world.std.com/~corey/raylink.html and I can be emailed at
17corey@world.std.com
18
19The kernel driver is based on ray_cs-1.62.tgz
20
21The driver at my web page is intended to be used as an add on to
22David Hinds pcmcia package. All the command line parameters are
23available when compiled as a module. When built into the kernel, only
24the essid= string parameter is available via the kernel command line.
25This will change after the method of sorting out parameters for all
26the PCMCIA drivers is agreed upon. If you must have a built in driver
27with nondefault parameters, they can be edited in
28/usr/src/linux/drivers/net/pcmcia/ray_cs.c. Searching for MODULE_PARM
29will find them all.
30
31Information 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
36Card services user programs are still required for PCMCIA devices.
37pcmcia-cs-3.1.1 or greater is required for the kernel version of
38the driver.
39
40Currently, ray_cs is not part of David Hinds card services package,
41so the following magic is required.
42
43At the end of the /etc/pcmcia/config.opts file, add the line:
44source ./ray_cs.opts
45This will make card services read the ray_cs.opts file
46when starting. Create the file /etc/pcmcia/ray_cs.opts containing the
47following:
48
49#### start of /etc/pcmcia/ray_cs.opts ###################
50# Configuration options for Raylink Wireless LAN PCMCIA card
51device "ray_cs"
52 class "network" module "misc/ray_cs"
53
54card "RayLink PC Card WLAN Adapter"
55 manfid 0x01a6, 0x0000
56 bind "ray_cs"
57
58module "misc/ray_cs" opts ""
59#### end of /etc/pcmcia/ray_cs.opts #####################
60
61
62To join an existing network with
63different parameters, contact the network administrator for the
64configuration information, and edit /etc/pcmcia/ray_cs.opts.
65Add the parameters below between the empty quotes.
66
67Parameters for ray_cs driver which may be specified in ray_cs.opts:
68
69bc 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
74beacon_period integer beacon period in Kilo-microseconds
75 legal values = must be integer multiple
76 of hop dwell
77 default = 256
78
79country 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
88essid string ESS ID - network name to join
89 string with maximum length of 32 chars
90 default value = "ADHOC_ESSID"
91
92hop_dwell integer hop dwell time in Kilo-microseconds
93 legal values = 16,32,64,128(default),256
94
95irq_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
101net_type integer 0 (default) = adhoc network,
102 1 = infrastructure
103
104phy_addr string string containing new MAC address in
105 hex, must start with x eg
106 x00008f123456
107
108psm integer 0 = continuously active
109 1 = power save mode (not useful yet)
110
111pc_debug integer (0-5) larger values for more verbose
112 logging. Replaces ray_debug.
113
114ray_debug integer Replaced with pc_debug
115
116ray_mem_speed integer defaults to 500
117
118sniffer 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
123translate integer 0 = no translation (encapsulate frames)
124 1 = translation (RFC1042/802.1)
125
126
127More on sniffer mode:
128
129tcpdump does not understand 802.11 headers, so it can't
130interpret the contents, but it can record to a file. This is only
131useful for debugging 802.11 lowlevel protocols that are not visible to
132linux. If you want to watch ftp xfers, or do similar things, you
133don't need to use sniffer mode. Also, some packet types are never
134sent up by the card, so you will never see them (ack, rts, cts, probe
135etc.) There is a simple program (showcap) included in the ray_cs
136package which parses the 802.11 headers.
137
138Known 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.