You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
150 lines
5.7 KiB
150 lines
5.7 KiB
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.
|
|
|