From: Marian Danisek (majo_at_sunteq.sk)
Date: 2002-09-12 18:12:05 UTC
Great work Jouni !!!!
Than you for your effort.
please maybe you finnaly can change actual release on your page - still as latest release May 19..
best regared
Marian
Jouni Malinen wrote:
> A new version of Prism2 Host AP driver was just released and it is now
> available from http://hostap.epitest.fi/
> 
> 
> 2002-09-12
> 
> * hostapd improvements: implemented ioctl() for controlling kernel
>   driver from hostapd; this version is able to add stations (and
>   flush list on exit/startup) and remove expired stations so operations
>   with user space handling of management frames is starting to be
>   usable
> * cleaned up RX and TX paths by moving AP related operations from
>   prism2.c into prism2_ap.c
> * added new monitor mode 3 (like mode 2, but also include linux-wlan-ng
>   style Prism2 header and use ARPHRD_IEEE80211_PRISM) and removed
>   monitor mode 1 (netlink)
>   - new libpcap and Ethereal knows how to use device with type
>     ARPHRD_IEEE80211_PRISM so netlink version is not needed anymore
>     for getting signal levels and rate
>   - removed prism2ethereal since Ethereal can directly capture packets
>     with Prism2 header
>   - netlink mode did not fully support more than one interface
> * fixed couple of bugs causing timeouts while setting RID (TIM) in
>   power saving mode with PRISM2_USE_CMD_COMPL_INTERRUPT
> * record SSID and channel of the monitored APs and show it in procfs
>   file
> * fixed AP data expiration (timer was not initialized)
> * cleanup of TX buffering for power saving stations:
>   - got rid of 'struct sta_buffer_frame' and use kernel routines for
>     queueing skb instead
>   - use prism2_tx() to send buffered frames instead of using copied
>     code in prism2_ap.c (skb->cb is used to indicate that the packet
>     was buffered)
> * fixed WEP with PS stations (buffered frames were not encrypted
>   before)
> * added optional defines for removing unneeded parts of the driver
>   (e.g., to limit the size of the kernel module); see the end of
>   prism2_config.h for more information; defining all PRISM2_NO_*
>   defines seem to reduce module size about 30% on Intel x86 platforms
> * added generic callback function to make it easier to add platform
>   specific operations, like activity led blinking, without needing to
>   change Host AP driver source code. If PRISM2_CALLBACK is defined,
>   external file, hostap_callback.c, is included and it must define
>   prism2_callback() that will be called on events like card
>   enable/disable and RX/TX.
> * converted wireless extension ioctls to new API (based on patch from
>   Jean Tourrilhes)
> * added support for wireless events (wireless ext >= 14)
>   - IWEVTXDROP, SIOCGIWAP, SIOCGIWSCAN (Jean Tourrilhes)
>   - IWEVREGISTERED, IWEVEXPIRED (wireless ext >= 15)
> * improved AP scanning support:
>   - moved ScanResult debug messages into
>     /proc/net/hostap/wlan#/scan_results
>   - send wireless SIOCGIWSCAN event when receiving ScanResult info
>     frame
>   - added SIOCSIWSCAN and SIOCGIWSCAN for wireless extensions ver >= 13
>     (i.e., 'iwlist scan' can be used to perform AP scanning; currently
>     only in station modes) (based on patch from Jean Tourrilhes)
> * added support for host-based roaming decision for Managed mode
>   (default is to use firmware-based roaming; use new prism2_param
>   'host_roaming' to enable driver-based selection)
> * added support for SIOCSIWAP (iwconfig wlan0 ap <preferred AP BSSID>)
>   when using host_roaming (this can be used to implement user space
>   roaming daemon (scan request with SIOCSIWSCAN, get results using
>   SIOCGIWSCAN, and select AP with SIOCSIWAP)
> * fixed a bug in AP management queue handling (noticed by
>   Tiebing Zhang)
>   - if AP management frame queue had more than one item, only the last
>     one was processed; other items were dropped with memory leak
> * fixed priv ioctls wds_add, wds_del, addmac, delmac, and kickmac to
>   use copy_from_user() when referencing wrq->u.data.pointer
> * added support for wireless extensions sub-ioctls
>   - an optional replacement for prism2_param wrapper
>   - these are included for WIRELESS_EXT >= 15 or if
>     PRISM2_USE_WE_SUB_IOCTLS is defined (WIRELESS_EXT >= 12 is
>     required in any case)
>   - new iwpriv version is required (ver 25 or higher; older versions
>     segfault due to long private ioctl list)
> * added support for IW_PRIV_TYPE_ADDR (replace old 18*char with user
>   space parsing of MAC address). This requires iwpriv ver >= 25. This
>   will be automatically included for WIRELESS_EXT >= 15; defining
>   PRISM2_USE_WE_TYPE_ADDR will force this to be used even with older
>   WIRELESS_EXT versions.
> * added detection for interrupt delivery problems (enabled only for
>   hostap_cs.o)
> * added PCI suspend/resume support to hostap_pci.o (patch from
>   Gerald Britton)
> * added support for changing MAC address (also BSSID in Host AP mode)
>   with 'ifconfig wlan0 hw ether <new addr>'
> * added WDS support for non-Host AP modes and IEEE 802.11 compliant
>   4 address frame
>   - removed PRISM2_STA_HAS_NO_HOSTAP_WDS_BUG define and include code
>     for both IEEE 802.11 standard compliant WDS frame with 4 addresses
>     and "bogus" format with 3 addresses in the header and 4th after
>     payload
>   - RX of both WDS formats seems to work in all modes
>   - Host AP mode cannot send standard compliant WDS frames so it uses
>     own format; other modes try to send standard compiliant WDS frames
>   - some station firmware versions seems to be able to send valid WDS
>     frames in pseudo ad-hoc mode, but some versions zero addr3 (= DA)
>   - setting porttype to WDS seems to allow sending correct addr3
>   - started to use 'Repeater' mode as WDS (i.e., 'iwconfig wlan0 mode
>     Repeater'); this seems to be the best choice for WDS links needing
>     standard compliant frame format
> * modularized encryption/decryption support
>   - redesigned WEP code to allow easy addition of other algorithms as
>     loadable kernel modules; new module, hostap_crypt.o is used to
>     register these modules and it will be used by
>     hostap_{cs,plx,pci}.o; modprobe should be able to load this
>     automatically after depmod has been run; use 'make crypt' to build
>     encryption related modules (they will be installed with
>     'make install_{pccard,plx,pci}')
>   - moved WEP implementation from hostap_{cs,plx,pci}.o into
>     hostap_crypt_wep.o; this is _not_ loaded automatically and it will
>     need to be loaded before WEP can be used (e.g., from the script
>     that sets the keys)
>   - added support for key mappings, i.e., individual keys for each
>     station
>   - added new prism2_param 'bcrx_sta_key' for selecting whether
>     individual is used also for broadcast frames (IEEE 802.11 specifies
>     that it is not used and this is the default)
>   - added a tool, utils/hostap_crypt_conf, for setting encryption
>     algorithms and individual keys (iwconfig can still be used to setup
>     default WEP keys)
>   - fixed host_decrypt to not accept unencrypted frames unless open_wep
>     is set
> * module structure reorganization
>   - moved prism2_ap.c, prism2_ioctl.c, prism2_proc.c, and some
>     functions from prism2.c into new hostap.o module that exports
>     symbols shared by hostap_{cs,plx,pci}.o; more will probably follow
>     later so that hostap_{cs,plx,pci}.o will end up having only code
>     that is hardware model dependent
>   - renamed all exported functions to use hostap_ prefix in their names
> * renamed /proc/net/prism2 directory to /proc/net/hostap and fixed
>   concurrent use of different hostap_{cs,plx,pci}.o modules to use the
>   same directory instead of making two directories with the same name
> * renamed driver/prism2.mk to driver/hostap.mk, driver/modules/prism2_*
>   to driver/modules/hostap_*, and driver/modules/prism2.c to
>   driver/modules/hostap_hw.c, i.e., use 'hostap' prefix with all file
>   names
> * redesigned command completion waiting
>   - do not use busy waiting
>   - use a driver queue for pending commands to guarantee string order
>     and serialization of the commands; if command queue is empty, new
>     commands will be issued immediately, otherwise the pending
>     commands will be issued from command completion event of the
>     previous command
>   - use command completion event (interrupt) for all commands
>     (previously this was only used for transmit command)
>   - remove PRISM2_USE_CMD_COMPL_INTERRUPT definition (there is no
>     alternative version for busy waiting to keep the code cleaner)
>   - hfa384x_cmd() can from now on only be called from user context;
>     it will sleep (instead of busy waiting) for the command completion
>     event (wake up from interrupt handler); same limit applies to
>     get_rid/set_rid
>   - hfa384x_callback() is a new method for performing commands, both
>     from user and interrupt context; it registers a callback function
>     that will be called when the command has finished; this cleans up
>     transmit and bus mastering code a lot
>   - HW reset (prism2_hw_reset) cannot be called from interrupt context
>     anymore (these calls are replaced with scheduled task that calls
>     prism2_hw_reset() from user context
>   - AP's TIM setting has been replaced with scheduled task and a queue
>     of entries to be set to avoid using set_rid from interrupt context
> * modified (kernel driver) AP code to send management frames using
>   netif queue to make sure that TX operations are not used
>   concurrently; this should fix some problems with high load cases;
>   this also means, that management frames are _not_ anymore sent unless
>   device is UP (i.e., no auth/assoc happens before device is set up;
>   however, beacons and probe responses are sent if the device is
>   enabled)
> * added support for TMD7160-based National Datacomm NCP130
>   (PCI ID 15e8:0131) to hostap_plx.o
> * fixed iwpriv readmif and writemif on big endian platforms
> * added IEEE 802.1X support:
>   - Port access entity (in the kernel driver) control authorized/
>     unauthorized port access
>   - Authenticator in hostapd user space daemon (kernel driver needs
>     to be compiled with EXTRA_CFLAGS=-DPRISM2_HOSTAPD)
>   - minimal authentication server included in hostapd for test use
>     (does not check any keys etc.)
>   - support for external authentication server using RADIUS (e.g.,
>     FreeRadius and EAP/TLS)
>   - automatic WEP key setting for default/broadcast and individual
>     unicast keys
> * changed TXEXC RetryErr debug logging to be configurable (default:
>   do not print); this can be set with bit2 (= 4) of prism2_param
>   'dump'
> * improved ordering of debug printing in auth/assoc frame handlers to
>   avoid spending too much time before replying the message and causing
>   failed auth/assoc (TXEXC RetryErr)
> 
> 
> 
-- SUNTEQ s. r. o. Bojnicka cesta 35 # Prievidza # 971 04 # Slovak republic Tel: +421-46-5430 754 # Fax: +421-46-5439 144 http://www.sunteq.sk/ ------------------------------------------------------------ A mind is like a parachute... it only works when it's open.