Subject: new driver in -current for BayStack 650 802.11 cards.
To: None <current-users@netbsd.org, port-i386@netbsd.org, tech-net@netbsd.org>
From: Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>
List: current-users
Date: 11/04/1999 14:49:53
I've just committed my "awi" driver, for the BayStack 650 802.11FH
wireless network card, which is built around the AMD 79c930 802.11
controller).

This is a somewhat bare-bones driver, as i wanted to get it done and
in the tree prior to the upcoming IETF meeting (where Nortel will be
making these cards available and deploying large numbers of access
points).

A few notes:

This card, unlike the lucent Wavelan IEEE, leaves a lot of the 802.11
gore up to the device driver.  In order to have something usable by
the IETF meeting, I had to limit the scope of what I attempted to
implement:
 - only "infrastructure mode" is implemented.
 - the 802.11 management protocol implementation is .. minimal.
 - roaming between multiple AP's is untested, but may work, as Bay
only loaned me one AP.  Expect bug fixes early next week; if all else
fails, ifconfig awi0 down/ifconfig awi0 up should get it to lock in to
the currently strongest AP.

 - performance, particularly in terms of latency, is poor; i suspect a
bug in how i have the card set up; however, the card is still usable.
scp seems to get about 60kbytes/second; given the 1mbit/s line rate of
the card and how much fragmentation/reassembly/etc, overhead's
involved, this doesn't seem unreasonable.

 - in order to let the driver be easily backported to 1.4.x, it
pretends to the system that it's an ethernet interface.  The right
way to go here is to write a set of common 802.11 media layer routines
and put them in sys/net, on a par with net/if_ethersubr.c and friends.
I hope to work on this in the fullness of time.

 - If you want to drop this driver into 1.4.x, you need the following
new source files (pull from -current):

	sys/dev/ic/awi.c
	sys/dev/ic/awireg.h
	sys/dev/ic/awivar.h
	sys/dev/ic/am79c930.c
	sys/dev/ic/am79c930reg.h
	sys/dev/ic/am79c930var.h
	sys/dev/pcmcia/if_awi_pcmcia.c

and you need to add the following lines to the end of 
sys/dev/pcmcia/files.pcmcia:

# AMD 79c930-based 802.11 cards (including BayStack 650 FH card).
device awi: arp, ether, ifnet
attach awi at pcmcia with awi_pcmcia
file  dev/pcmcia/if_awi_pcmcia.c              awi_pcmcia
file  dev/ic/awi.c                            awi
file  dev/ic/am79c930.c                       awi

See awi(4) for more info.  Comments/bug reports/etc. to me.



					- Bill