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 |
| 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: |
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. |