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