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