Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Mar 2000 14:53:51 -0000 (GMT)
From:      Duncan Barclay <dmlb@ragnet.demon.co.uk>
To:        freebsd-mobile@freebsd.org, freebsd-hardware@freebsd.org
Subject:   Driver for Webgear Aviator Wireless LAN NICs
Message-ID:  <XFMail.000321145351.dmlb@computer.my.domain>

next in thread | raw e-mail | index | archive | help
Hi all

I've got a driver for the Webgear Wireless LAN cards ported from NetBSD.
Download from
        http://www.ragnet.demon.co.uk/raylink-0.9.tar.gz
Only for FreeBSD-3.x

README included:

Basic Instructions for if_ray - a FreeBSD driver for Webgear/Raylink
2.4GHz Wireless LAN cards.

Author: Duncan Barclay, dmlb@ragnet.demon.co.uk

Acknowledgements:
        Christian E. Hopps for his NetBSD driver.
        Corey Thomas for his Linux driver.

Version 0.9: 21/3/00
Updates since 0.1:
        Signifcant functionality added to driver and control program
        written. Essentially, complete control of the card is now
        possible from user land.

        Promiscious (tested) and multicast (not tested) support added.

        bpf (i.e. tcpdump) fully supported.

        Manual pages written.

        Statistics available.

        Nearly all code is "knf" - see style(9)

Version 0.1: 6/3/00

This driver is my first attempt at any drivers for FreeBSD. It has also
been developed without documentation and is essentially a port of the
NetBSD driver.

This version is essentially alpha code, it does run fine for a few
days on my Libretto. It will only work on FreeBSD 3.something, I
test/develop on FreeBSD-3.1 with PAO patches, and FreeBSD-3.3.

The tar file that this comes with should be unpacked somewhere. You will
get the following

        ./if_*.[ch]     code
        ./module        makefile for building klds
        ./raycontrol    makefile and code for configuration utility

To try things out, first make sure that you have the PCCard drivers
installed (pcic devices and card controller in your kernel
configuration). Then remove all other pccards and plug in the Webgear
card.  At present the "safe" way of starting things is to kill all pccard
functionality and start the driver manually. This is due to some
problems with the memory allocation and mapping routines in FreeBSDs
card services. The following works on FreeBSD-3.1 with PAO, and
FreeBSD-3.3 without PAO.

First recompile the KLD

        # cd /sys/i386/isa
        # ln -sf $R/if_ray.c
        # ln -sf $R/if_rayreg.h
        # ln -sf $R/if_raymib.h
        # ln -sf $R/if_ieee80211.h
        # cd /sys/modules
        # mkdir raylink
        # cd raylink
        # ln -sf <path to where you unpacked the tar file>/module/Makefile
        # make clean
        # make RAY_DEBUG=<debug level one of 2, 6, 11, 15, 21, 31, 51>

Don't worry about the "statment with no effect" warnings.

        # killall pccardd
        # kldload `pwd`/ray.ko
        # pccardc pccardmem 0xd0000
        # IRQ=<some IRQ you know is spare on your machine>
        # SLOT=<0, or 1 - the slot you plugged the card into>
        # pccardc enabler $SLOT ray0 -m 0 0xd0000 48 -i $IRQ

If you set the debug level to 2, then you should see this on the console:

card0: assign ray0 irq 9 maddr 0xf00d0000 msize 0xc000
ray0: Memory window flags 0x41, start 0xd0000, size 0xc000, card address 0x0
ray0: Fixing up CM flags from 0x41 to 0x40
ray0: <Raylink/IEEE 802.11> maddr 0xf00d0000 msize 0xc000 irq 9 flags 0x0 on isa
 (PC-Card slot 0)
ray0: Start Up Results
  Firmware version 4
  Status 0x80
  Ether address 00:00:8f:48:e4:04
  Program checksum a7
  CIS checksum 32
  Japan call sign ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff

You may get more information if you have "Firmware version 5".
If you get a message about the card status being 0xff then it is likely
that the memory on the card is incorrectly mapped (see below).

Now you can ifconfig the card and try a ping.

        # ifconfig ray0 192.168.247.33

ray0: Network parameters after start/join network completed.
  bss_id ca:00:e0:3e:07:80
  inited 0x00
  def_txrate 0x03
  encrypt 0x00
  net_type 0x00
  ssid "NETWORK_NAME"
  priv_start 0x00
  priv_join 0x00

        # ping 192.168.247.36        
        PING 192.168.247.36 (192.168.247.36): 56 data bytes
        64 bytes from 192.168.247.36: icmp_seq=0 ttl=32 time=17.569 ms
        64 bytes from 192.168.247.36: icmp_seq=1 ttl=32 time=9.289 ms

The default parameters (ssid) are set to those provided in the Webgear
windows driver. They can be changed using the raycontrol utility.
The box I was pinging (192.168.247.36) is a windows PC.

APM is not supported, but you should be able to plug in and remove the
card, as well as ifconfig'ing it up and down.

From my Libretto, bing reports about 1.2Mbits/s bandwidth.

If things don't work first make sure that the <Raylink/IEEE 802.11> line
has
        maddr 0xX00d0000, X is f or c for me but will vary with ammount of RAM
                          in your machine

        msize 0xc000,     if it's not 0xc000 it won't work
and that there is a message saying that the CM flags are 0x40.
Essentially, the trick to getting it working is to ensure that the
memory has been mapped correctly. Try

        # pccardc rdmap 0
        Mem 0: flags 0x040 host 0xd0000 card 0000 size 49152 bytes
        ...

If you don't get a line like the above you're hosed - try redoing the
setup.

If all this seems well, try running with a higher debugging level (to
use a new version of the driver you have to reboot - this is not
my fault but you can't unplug kld from the network stack on 3.x).
Send me the output from starting the card up and raycontrol.
Also, read the comments at the top of the code for more information.

Feedback welcome/wanted.

Duncan

---
________________________________________________________________________
Duncan Barclay          | God smiles upon the little children,
dmlb@ragnet.demon.co.uk | the alcoholics, and the permanently stoned.
________________________________________________________________________


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-mobile" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.000321145351.dmlb>