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