Linux-2.6.12-rc2
[linux-3.10.git] / Documentation / networking / ray_cs.txt
1 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.