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>