wiki:802.11/Changelog

Version 47 (modified by murphpo, 10 years ago) (diff)

--

802.11 Reference Design: Changelog

0.8 Beta Release

Download: Mango_802.11_RefDes_v0.8_beta.zip

Release Details:

Hardware Release Date Posted SVN Rev. ISE Ver. Arch
WARP v3 0.8 Beta 13-February-2014 2800 14.4 Dual MB/AXI

Changes in 0.8 Beta:

  • Brand-new WARPnet framework for control and measurement of experiments: WARPNet Framework
  • Restructured CPU_LOW in the SDK workspace to create a MAC Low Framework
  • Added optional address filtering to allow associations with whitelisted MAC addresses only
  • Improved transmit queue structure in AP
    • Management frames have their own high-priority queue and don't have to wait behind other queued packets
  • AP scans traffic for DHCP hostnames and prints these name strings in the association table for easier client identification
  • Added promiscuous statistics gathering at both AP and STA
  • Continued the ongoing documentation/comments push
  • Added multi-antenna reception diversity
  • Added a register to read current NAV
  • Added RFC and RFD to all PHY cores for 4-antenna selection support
    • Reference hardware project does not connect RFC/RFD to FMC slot
    • Users must modify MHS/UCF files for 4-antenna support; refer to _4RF MHS/UCF files for guidance
  • Better pipelining in PHY cores for easier timing closure
  • Important note: the software projects for CPU High require >128K code space. This version of the ref design includes two LMB memory blocks, each 128K. A custom linker script is required to split the large code section across both memory blocks. The GUI linker script editor cannot create a valid file for this design. Please use the lscript.ld files included in the AP and STA src directories.

0.71 Beta Release

Download: Mango_802.11_RefDes_v0.71_beta.zip

Release Details:

Hardware Release Date Posted SVN Rev. ISE Ver. Arch
WARP v3 0.71 Beta 14-January-2014 n/a 14.4 Dual MB/AXI

Changes in 0.71 Beta:

  • Fixed a bug in Ethernet reception handling identified in this forum thread.
  • Fixed a driver issue in BSPs. Initial release used a temporary customized driver for the mailbox core. This has been replaced with the standard driver.

0.7 Beta Release:

Download: Mango_802.11_RefDes_v0.7_beta.zip

Release Details:

Hardware Release Date Posted SVN Rev. ISE Ver. Arch
WARP v3 0.7 Beta 9-January-2014 2520 14.4 Dual MB/AXI

Changes in 0.7 Beta:

  • Updated data type for auto-correlation pkt det energy threshold (now UFix14_8, was UFix12_0) for better detection of low-SNR receptions
  • Updated LTS correlator control logic for flexible sample rate support
  • Reworked PHY Tx output logic to reduce chances of bad states at boot
  • Fixed bug in Rx descrambler that caused very rare FCS errors
  • Updated LTS, AGC and pkt detection thresholds for better performance at high and low SNR
  • Added periodic active scan to STA implementation
  • Redesigned association table in AP implementation to support arbitrary number of stations
  • Removed statistics from station_info structure to separate optional statistics from state-critical station information
  • Redesigned scheduler around doubly-linked list framework
    • Added support for repeated calls to a user-provided callback
    • Added ability to cancel previously scheduled event
  • Safer wrapping of malloc/realloc/calloc/free for use throughout the code
  • Substantial cleaning of MAC code (ongoing - more cleaning underway for future releases)
    • Abstracted all uses of doubly-linked lists to use common code
    • Renamed MAC util files for more consistent division of framework vs. high-level MAC role
    • Extended and cleaned comments throughout
    • Started adoption of doxygen-style inline docs

0.6 Beta Release:

Download: Mango_802.11_RefDes_v0.6_beta.zip

Release Details:

Hardware Release Date Posted SVN Rev. ISE Ver. Arch
WARP v3 0.6 Beta 18-November-2013 2410 14.4 Dual MB/AXI

Changes in 0.6 Beta:

  • Fixed a PHY bug in the FFT reset logic that caused Rx FCS errors for some combinations of rate and length.
  • Fixed a PHY bug where the last sample of the transmitted preamble was zero - thanks to sadiaq on the forums.
  • Reduced default Tx queue size significantly (from up to 1000 packets enqueued per station to 150 packets enqueued per station). The extremely large queues caused significant performance issues in TCP (i.e. bufferbloat).
  • Aligned SIFS/DIFS/Slot MAC timing values with commercial 802.11 devices. These updated parameters are also parameterized better in terms of what the 802.11 standard indicates along with hardware-specific latency corrections.
  • Per-subcarrier channel estimates from the PHY have been added to the metadata at the front of every received packet.

Known issues:

  • Under very rare circumstances the board will boot up in a state where all transmitted packets have invalid signal fields. A software reset will not fix this, but a redownload/reprogram of the board will. We have never seen the design slip into this state once it is up and running -- it is purely a boot problem. An official fix will be provided in the next release.

0.5 Beta Release:

Download: Mango_802.11_RefDes_v0.5_beta.zip

Release Details:

Hardware Release Date Posted SVN Rev. ISE Ver. Arch
WARP v3 0.5 Beta 11-October-2013 2270 14.4 Dual MB/AXI

Changes in 0.5 Beta:

  • Added station implementation that can associate with either a WARP AP or a commercial AP (provided security is disabled). To use the station, a computer can be directly connected via Ethernet to ETH_A. The 802.11 station implementation will bridge that Ethernet link to the wireless link. The UART menu can be used to perform an active scan and attempt to join nearby APs. Otherwise, the station implementation will at boot attempt to join an AP whose SSID is specified in the top of the wlan_mac_sta.c file (default "WARP-AP").
  • Split the ILMB and DLMB memories to increase code space. DLMB is now in a new 64K BRAM leaving the existing 128K BRAM exclusively for instructions.
  • Enhanced UART menu for both AP and STA
  • Adjusted AGC threshold to allow receptions of higher-power packets. In previous designs, transmitters that were too close (a few feet) to a WARP 802.11 AP would fail to communicate. These high power receptions have been addressed.

0.4 Beta Release:

Download: Mango_802.11_RefDes_v0.4_beta.zip

Release Details:

Hardware Release Date Posted SVN Rev. ISE Ver. Arch
WARP v3 0.4 Beta 25-September-2013 2242 14.4 Dual MB/AXI

Changes in 0.4 Beta:

  • Added 64-QAM rates to PHY Tx and Rx (48Mbps and 54Mbps)
  • Increased traceback depth in decoder for improved performance
  • Moved to interrupts for all events in top-level MAC / CPU High
  • New SDK workspace organization for easier code sharing between top-level projects
  • Fixed an issue with software resets when using malloc/realloc/free. This issue is described in Xilinx AR# 30878, but our fix is slightly different. We have instantiated an extra BRAM (4K size) that holds the default state of the .data section. On software reset, the project will overwrite it's .data with the original .data section that is in this extra BRAM if it exists.

0.3 Beta Release:

Download: Mango_802.11_RefDes_v0.3_beta.zip

Release Details:

Hardware Release Date Posted SVN Rev. ISE Ver. Arch
WARP v3 0.3 Beta 20-August-2013 2164 14.4 Dual MB/AXI

Changes in 0.3 Beta:

  • Many MAC/PHY bug fixes
    • Resolved rare deadlock in Rx PHY following late pkt det events
    • Updated LTS correlator (fixed offset-by-1 bug, increased dynamic range of stored coefficients)
    • Added high/low SNR thresholds for LTS correlation
    • Fixed bug related to asynchronous resets in decoder
    • Re-designed phase error correction system to apply pilot-derived phase estimates in same symbol period
  • Added 16-QAM rates to PHY Tx and Rx (24Mbps and 36Mbps)
  • Re-designed Ethernet I/O to use scatter-gather DMA (replaces Ethernet FIFO)
  • Completely redesigned wireless transmit queue
    • Much better handling of bursty Ethernet receptions
    • Use Ethernet DMA to minimize copies (new payloads are DMA'd to queue in DRAM, then copied to PHY pkt buffer immediately before Tx)
    • Per-associated-station queueing of MPDUs awaiting transmission
    • Uses DDR3 SO-DIMM (if present) for large queues (up to 3000 packets)
  • Added UI for changing AP parameters over UART (after downloading design press Esc key to see menu)
  • Added support to en/disable new associates at run-time via the top push button (to avoid unwanted associations during experiments)

0.2 Beta Release:

Download: Mango_802.11_RefDes_v0.2_beta.zip

Release Details:

Hardware Release Date Posted SVN Rev. ISE Ver. Arch
WARP v3 0.2 Beta 30-July-2013 2115 14.4 Dual MB/AXI

Changes in 0.2 Beta:

  • Many MAC/PHY bug fixes
  • Better default thresholds for packet detection and Rx correlations
  • Added queue to CPU High Tx packet processing, to reduce chances of dropped packets during bursts at Ethernet Rx
  • Added support for disassociation and re-association handshakes in wlan_mac_ap.c
  • Stubbed out code for setting per-station, per-packet rates in wlan_mac_ap.c (ready for custom rate adaptation schemes)

Known issues:

  • Under very rare circumstances a deadlock can occur when RSSI-based packet detection is enabled. RSSI-based packet detection is disabled by default (in our tests the alternative auto-correlation packet detection is sufficient by itself).
  • Bursts of Ethernet receptions can cause dropped packets at the Ethernet MAC, due to the Rx buffer filling faster than the wireless Tx can process new packets. This manifests as a slight asymmetry between downlink and uplink throughput when using TCP. A faster Ethernet Rx -> wireless Tx queueing scheme is in the works which should address this.

0.1 Beta Release:

Download: Mango_802.11_RefDes_v0.1_beta.zip

Release Details:

Hardware Release Date Posted SVN Rev. ISE Ver. Arch
WARP v3 0.1 Beta 23-July-2013 2086 14.4 Dual MB/AXI
  • Initial beta release of 802.11 Reference Design
  • Compiling the 802.11 Reference Design requires an edk_user_repository of revision 2086 or later. Update your local edk_user_repository working copy to the latest version.