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