| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 | 
| Rusty Russell | 8d3b33f | 2006-03-25 03:07:05 -0800 | [diff] [blame] | 28 | /usr/src/linux/drivers/net/pcmcia/ray_cs.c.  Searching for module_param | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 29 | will find them all. | 
|  | 30 |  | 
|  | 31 | Information on card services is available at: | 
| Randy Dunlap | 98766fb | 2005-11-21 21:32:31 -0800 | [diff] [blame] | 32 | http://pcmcia-cs.sourceforge.net/ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 33 |  | 
|  | 34 |  | 
|  | 35 | Card services user programs are still required for PCMCIA devices. | 
|  | 36 | pcmcia-cs-3.1.1 or greater is required for the kernel version of | 
|  | 37 | the driver. | 
|  | 38 |  | 
|  | 39 | Currently, ray_cs is not part of David Hinds card services package, | 
|  | 40 | so the following magic is required. | 
|  | 41 |  | 
|  | 42 | At the end of the /etc/pcmcia/config.opts file, add the line: | 
|  | 43 | source ./ray_cs.opts | 
|  | 44 | This will make card services read the ray_cs.opts file | 
|  | 45 | when starting.  Create the file /etc/pcmcia/ray_cs.opts containing the | 
|  | 46 | following: | 
|  | 47 |  | 
|  | 48 | #### start of /etc/pcmcia/ray_cs.opts ################### | 
|  | 49 | # Configuration options for Raylink Wireless LAN PCMCIA card | 
|  | 50 | device "ray_cs" | 
|  | 51 | class "network" module "misc/ray_cs" | 
|  | 52 |  | 
|  | 53 | card "RayLink PC Card WLAN Adapter" | 
|  | 54 | manfid 0x01a6, 0x0000 | 
|  | 55 | bind "ray_cs" | 
|  | 56 |  | 
|  | 57 | module "misc/ray_cs" opts "" | 
|  | 58 | #### end of /etc/pcmcia/ray_cs.opts ##################### | 
|  | 59 |  | 
|  | 60 |  | 
|  | 61 | To join an existing network with | 
|  | 62 | different parameters, contact the network administrator for the | 
|  | 63 | configuration information, and edit /etc/pcmcia/ray_cs.opts. | 
|  | 64 | Add the parameters below between the empty quotes. | 
|  | 65 |  | 
|  | 66 | Parameters for ray_cs driver which may be specified in ray_cs.opts: | 
|  | 67 |  | 
|  | 68 | bc              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 |  | 
|  | 73 | beacon_period	integer         beacon period in Kilo-microseconds | 
|  | 74 | legal values = must be integer multiple | 
|  | 75 | of hop dwell | 
|  | 76 | default = 256 | 
|  | 77 |  | 
|  | 78 | country         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 |  | 
|  | 87 | essid		string		ESS ID - network name to join | 
|  | 88 | string with maximum length of 32 chars | 
|  | 89 | default value = "ADHOC_ESSID" | 
|  | 90 |  | 
|  | 91 | hop_dwell	integer         hop dwell time in Kilo-microseconds | 
|  | 92 | legal values = 16,32,64,128(default),256 | 
|  | 93 |  | 
|  | 94 | irq_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 |  | 
|  | 100 | net_type	integer		0 (default) = adhoc network, | 
|  | 101 | 1 = infrastructure | 
|  | 102 |  | 
|  | 103 | phy_addr	string          string containing new MAC address in | 
|  | 104 | hex, must start with x eg | 
|  | 105 | x00008f123456 | 
|  | 106 |  | 
|  | 107 | psm		integer         0 = continuously active | 
|  | 108 | 1 = power save mode (not useful yet) | 
|  | 109 |  | 
|  | 110 | pc_debug	integer		(0-5) larger values for more verbose | 
|  | 111 | logging.  Replaces ray_debug. | 
|  | 112 |  | 
|  | 113 | ray_debug	integer		Replaced with pc_debug | 
|  | 114 |  | 
|  | 115 | ray_mem_speed   integer         defaults to 500 | 
|  | 116 |  | 
|  | 117 | sniffer         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 |  | 
|  | 122 | translate	integer		0 = no translation (encapsulate frames) | 
|  | 123 | 1 = translation    (RFC1042/802.1) | 
|  | 124 |  | 
|  | 125 |  | 
|  | 126 | More on sniffer mode: | 
|  | 127 |  | 
|  | 128 | tcpdump does not understand 802.11 headers, so it can't | 
|  | 129 | interpret the contents, but it can record to a file.  This is only | 
|  | 130 | useful for debugging 802.11 lowlevel protocols that are not visible to | 
|  | 131 | linux.  If you want to watch ftp xfers, or do similar things, you | 
|  | 132 | don't need to use sniffer mode.  Also, some packet types are never | 
|  | 133 | sent up by the card, so you will never see them (ack, rts, cts, probe | 
|  | 134 | etc.)  There is a simple program (showcap) included in the ray_cs | 
|  | 135 | package which parses the 802.11 headers. | 
|  | 136 |  | 
|  | 137 | Known 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. |