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: port-i386
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