Prism2/2.5/3 Host AP - new release v0.2.0 - 2004-02-15

Jouni Malinen jkmaline at
Sun Feb 15 21:55:16 EST 2004

A new version of Prism2/2.5/3 Host AP was just released and is now
available from

This release is the first release from the development (0.2.x)
branch. Please note that the stable branch (0.1.x releases) still
continues to be the source of stable releases, although all new
development is happening on the development branch.

Lot of things have changed in the development branch after the 0.1.x
branch was created four months ago. One of the major changes is
support for WPA. Another large change, reorganization of the Linux net
device use, is less visible for end user but is a large step forward
to make the driver code easier to maintain and enhance. In addition,
this version adds support for operating with cards that do not include
primary and station firmware code in an integrated flash chip.

The driver component has support for all functionality needed by both
WPA Supplicant and WPA Authenticator. This includes two new encryption
algorithms (TKIP and CCMP) and some changes to allow AP scanning to
find WPA enabled APs and to allow user space tools to request
deauthentication/disassociation in Managed mode. WPA requires
additional user space tools (Supplicant/Authenticator). This v0.2.0
release includes the client side (WPA Supplicant) as a new
component. Implementation of WPA Authenticator will hopefully be
released in relatively near future.

Support for old Linux kernel versions (2.2.x and old 2.4.x versions)
has been dropped from 0.2.x versions of the Host AP driver to make it
easier to continue adding new features to the driver. Stable branch
(0.1.x versions) continues to support these kernel versions.


2004-02-15 - v0.2.0

* dropped support for Linux 2.2.x and old Linux 2.4.x kernels
  (only the latest Linux 2.4.x and Linux 2.6.x versions are "officially
  supported", older version may work; Host AP v0.1.x branch can be used
  with older kernel versions)
* fixed WDS interface selection to not select non-WDS interface. This
  fixes cases in which frames from not associated STAs were accepted
  because the driver thought it was a WDS frame. In addition, this
  meant that the STA was not notified about it not being associated and
  consequently, STA did not associate again (this could happen, e.g.,
  after driver/AP restart).
* fixed hostap_cs unregistration when PC Card is removed while Host AP
  interfaces are still up
* restructured Linux net device use to be more like IEEE 802.1q VLAN
  (add a master IEEE 802.11 radio netdev (wifi#) and make all other
  devices virtual; only one netif queue is used; share all IEEE 802.11
  handling for all packets using wlan#, wlan#ap, wlan#sta, wlan#wds#
* cleaned up encryption to use separate function to encrypt skb's
* moved hardware independent TX code (Ethernet -> IEEE 802.11 header
  conversion, etc.) into a separate file, hostap_80211_tx.c;
  most hardware independent generic code has now been moved away from
* disable wlan hardware when radio netdev (wifi#) is down (i.e.,
  beacons will not be sent in Host AP mode and STA will not associate
  in Managed mode when this interface is down) (this used to be
  configurable option, but disabled by default)
* register wlan#sta interface only when assoc_ap_addr is configured
* remove prism2_params ptype, getptype, txpower, and gettxpower because
  these can be replaced with iwpriv set_rid_word (with iwpriv reset 2),
  hostap_rid get, and iwpriv readmif/writemif
* fixed Shared Key authentication when using host_decrypt and kernel
  driver based IEEE 802.11 management
* changed Host AP crypto modules to use skb's instead of raw data
* added crypto hooks for full MSDU encrypt/decrypt (or MIC/de-MIC) for
  encryption algorithms like TKIP which calculates MIC over the full
* fixed RTS and Fragmentation thresholds to be restored after hw
* modified reading of communications quality values (Managed and Ad-Hoc
  - read Prism2 values every 10 second and when get_wireless_stats()
    is called in suitable (non-atomic) context
  - use new dBm CommsQuality RID when STA f/w version is 1.3.1 or newer
* fixed Managed/Ad-hoc mode authentication with Open System algorithm
  when using old (e.g., version 0.6.2) STA firmware
* fixed iwspy support with Linux wireless ext v16 (previous version
  caused kernel crashes and memory corruption due to local->spy_data
  not being in fixed offset from all dev->priv pointers anymore); only
  wlan# device should be used for spy entries because other devices
  will not receive statistics updates
* fixed IEEE 802.11 defragmentation when using host-based WEP
  decryption and bridging packets between two associated STAs
  (this caused a kernel crash in dev_queue_xmit())
* support cards without firmware in flash memory by allowing
  initialization to continue even if card reset times out (also useful
  to recover from corrupted primary firmware image)
* added workaround for fragmentation threshold setting for some cases
  that returned to default value (fragmentation disabled)
* fixed STA specific RX statistics for Repeater mode
* changed last_rx_signal and _silence to use dBm
* use cnfDbmAdjust RID (STA f/w 1.3.1 or newer) to configure RSSI->dBm
* added driver support for WPA Authenticator/Supplicant:
  - requires STA f/w 1.7.0 or newer
  - collect BSSID list (including WPA IE) in Managed mode
  - added new encryption algorithm: TKIP (hostap_crypt_tkip module)
    (TKIP = Michael MIC and WEP with per-packet temporal keys)
  - added new encryption algorithm: CCMP (hostap_crypt_ccmp module)
    (CCMP = AES-CCM, i.e., Counter with CBC-MAC)
  - added prism2_params for WPA use: wpa, privacy_invoked,
    tkip_countermeasures, drop_unencrypted
  - added hostapd sub-ioctl for configuring generic IEEE 802.11
    information element for Beacon/ProbeResp/(Re)AssocReq frames
  - note: to be useful, this needs additional user space daemon for
    key management (WPA Supplicant/Authenticator)
* fixed a race condition in registering wlan#ap and receiving
  management frames (this could cause kernel panic if a management
  frame was received before wlan#ap initialization was completed)
* added minimal support for ethtool (reporting of driver info and
  firmware version)
* report WDS peer address when SIOCGIWAP is used on a WDS device
* do not show SSID for WDS devices (SIOCGIWESSID, SIOCSIWESSID)
* fixed iwpriv wds_add to allow addition of special pre-allocated WDS
  interfaces with 00:00:00:00:00:00


2004-02-15 - v0.2.0

* fixed prism2_srec not to allow combination of volatile and
  non-volatile firmware images (they will corrupt the card flash)
* added support for loading PRI firmware for cards without PRI in
  flash (new prism2_srec command line option, -s, for skipping PDA
  read since PDA is not available without PRI firmware)
* added example script, hostap_fw_load, to demonstrate how firmware
  images can be loaded automatically based on what images are
  available in card flash; this script includes commands needed to
  initialize cards without PRI image in flash (like D-Link DWL-650
  rev. P1 and D-Link DWL-520 rev. E1
* fixed volatile download of combined primary and secondary firmware
  to start running the secondary firmware
* added support for dumping PDA in text format and overriding PDA
  with text and binary files (prism2_srec options -D, -P, and -O)


2004-02-15 - v0.2.0

* added support for Acct-Interim-Interval:
  - draft-ietf-radius-acct-interim-01.txt
  - use Acct-Interim-Interval attribute from Access-Accept if local
    'radius_acct_interim_interval' is not set
  - allow different update intervals for each STA
* fixed event loop to call signal handlers only after returning from
  the real signal handler
* reset sta->timeout_next after successful association to make sure
  that the previously registered inactivity timer will not remove the
  STA immediately (e.g., if STA deauthenticates and re-associates
  before the timer is triggered).
* added new hostapd.conf variable, nas_identifier, that can be used to
  add an optional RADIUS Attribute, NAS-Identifier, into authentication
  and accounting messages
* added support for Accounting-On and Accounting-Off messages
* fixed accounting session handling to send Accounting-Start only once
  per session and not to send Accounting-Stop if the session was not
  initialized properly
* fixed Accounting-Stop statistics in cases where the message was
  previously sent after the kernel entry for the STA (and/or IEEE
  802.1X data) was removed

Jouni Malinen                                            PGP id EFC895FA

More information about the HostAP mailing list