[MLB-WIRELESS] Prism2 Host AP Linux Driver Updated 16/5
Ryan Abbenhuys
sneeze at alphalink.com.au
Sat May 18 10:55:48 EST 2002
My usual update people....
The host access point driver for Linux has been updated on the 16th.
http://people.ssh.com/jkm/Prism2/
Main new change seems to be experimental PCI Bus Mastering support which can
potentially drop CPU usage from 40%-45% down to 5%-10%.
ChangeLog for Host AP driver for Intersil Prism2/2.5/3
2002-05-16
* fixed a kernel crash with hostap_cs.o if no valid cftable entries
were found
* fixed a kernel panic with hostap_cs.o if PC Card was removed when
netdevice was UP (there were two problems, one new and one quite
old); from now on, if the netdevice is UP when PC Card is removed
(or 'cardctl eject' is run), the driver will not finish shutdown
routines before the netdevice is set down
* fixed 104-bit WEP key setup for firmware-based encryption
(firmware seems to require that all keys must be set to the same
keylength, from now on, the keylength of default TX key is used;
host driver based WEP does not have this kind of limitation)
* cleaned up BAP setup and copy functions
* changed baplock to use spin_lock_irqsave() instead of spin_lock_bh()
and take baplock also during BAP1 setup to prevent some concurrency
problems and packet corruption/card timeouts
* added experimental support for PCI bus mastering (hostap_pci.o)
- this code is very experimental and may not work on all platforms
(Intersil does not support bus mastering in current hardware/
firmware version and this implementation is based on guesses and
experiments)
- initial tests seems to indicate that host CPU load drops from
about 40-45% to 5-10% when using bus mastering while sending or
receiving data at about maximum throughput (6 Mbps)
- bus mastering is not enabled on default compilation; it can be
enabled by defining PRISM2_BUS_MASTER in
driver/modules/prism2_config.h
- RX path seems to work quite fine, but TX path has problems for
which there is a workaround (PRISM2_ENABLE_BEFORE_TX_BUS_MASTER);
in addition, TX side does not yet implement full locking for BAP0
(e.g., configuration changes during packet transmit can cause
packet corruption, etc. problems)
- new prism2_param values 'bus_master_threshold_rx' and
'bus_master_threshold_tx' can be used to control which frames are
copied using bus mastering (if frame payload is equal to or larger
than threshold, bus mastering will be used; if threshold is set to
larger than maximum packet length, e.g., 5000, no frames will use
bus mastering)
* added support for Bridge-Tunnel encapsulation and clarified
snap_header usage (RFC1042) based on IEEE 802.1H
(mainly for IPX support)
To unsubscribe: send mail to majordomo at wireless.org.au
with "unsubscribe melbwireless" in the body of the message
More information about the Melbwireless
mailing list