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