[[TracNav(802.11/TOC)]] = 802.11 Reference Design: Changelog = == 1.1 Release == '''Download: [http://warpproject.org/dl/refdes/802.11/Mango_802.11_RefDes_v1.1.0.zip Mango_802.11_RefDes_v1.1.0.zip]''' Release Details: ||= Hardware =||= Release =||= Date Posted =||= SVN Rev. =||= ISE Ver. =||= Arch =|| || WARP v3 || 1.1.0 || 12-December-2014 || [browser:ReferenceDesigns/w3_802.11?rev=4223 4223] || 14.4 || Dual MB/AXI || '''PHY/MAC Hardware Changes:''' * Updated supported Tx power range to [-9,21] dBm * Updated default Tx radio settings after thorough characterization; [wiki:../Benchmarks/Tx_Char Tx EVM and power characterization] use the new defaults * Reduced Rx PHY RSSI averaging to 4 samples (from 8) for faster Rx power estimates. RSSI averaging in the AGC is unchanged. * Added new packet detection logic that can require a minimum RSSI for all detections (can be used to realize configurable Rx sensitivity - disabled by default) * Changed the precision of the energy_thresh register in the auto correlation packet detector (now UFix14_4, was UFix14_8) * Correspondingly, the default energy_thresh is now 9 (0.5626 in UFix14_4) vs 150 (0.5859 in UFix14_18) is previous releases '''MAC Software Changes:''' * Added 16-bit averaged RSSI value to rx_frame_info; this supplements the existing 8-bit Rx power estimate derived from the averaged RSSI * Fixed a capitalization issue in a few includes that would cause errors on case-sensitive filesystems * Raised default Tx power in all top-level projects to 15 dBm (previously 13 dBm) * Added a calibration value to the IPC_MBOX_SET_TIME mailbox command to account for latency in executing the command iteself * Replaced RSSI-to-Rx-power calculation with lookup table derived from Rx power calibration experiments * Replaced Tx-power-to-Tx-VGA-gain mapping function with lookup table derived from Tx power calibration experiments '''wlan_exp Framework Changes:''' * Fixed {{{node.stats_get_txrx}}} method to accept MAC address for un-associated device, allowing retrieval of promiscuous Tx/Rx stats for specific addresses * Fixed an IBSS issue where Tx parameters (e.g. rate) would be ignored for stations that had not yet been added the station_info list at the IBSS node. '''Other Changes:''' * Added new [wiki:../Benchmarks/Tx_Char Tx] and [wiki:../Benchmarks/Rx_Char Rx] Characterizations. We're pleased to report that the Mango 802.11 Reference Design's transmitter and receiver exceed the Tx modulation accuracy and Rx sensitivity requirements in the 802.11a/g standard. ---- == 1.0 Release == '''Download: [http://warpproject.org/dl/refdes/802.11/Mango_802.11_RefDes_v1.0.0.zip Mango_802.11_RefDes_v1.0.0.zip]''' Release Details: ||= Hardware =||= Release =||= Date Posted =||= SVN Rev. =||= ISE Ver. =||= Arch =|| || WARP v3 || 1.0.0 || 24-October-2014 || [browser:ReferenceDesigns/w3_802.11?rev=4151 4151] || 14.4 || Dual MB/AXI || '''PHY/MAC Hardware Changes:''' * Increased maximum number of backoff slots to 65k (was 2047 in previous releases) * Reduced the size of the Tx and Rx packet buffers. There are now 8 4KB Tx buffers and 8 4KB Rx buffers (previously 16 each). The reference code only uses 3 Tx buffers; the remaining Tx buffers are free for customizations. The reference code cycles through all Rx buffers, though only 2 contain unprocessed packets at any given (assuming CPU High keeps pace with receptions by CPU Low). * Updated w3_clock_controller to [browser:/PlatformSupport/CustomPeripherals/pcores/w3_clock_controller_axi_v3_01_b version 3.01.b] * Cleaned Tx and Rx PHY init scripts. Updated Tx init script simplifies creation of new waveform files for Rx simulation. * Added new waveform files for simulating the Rx PHY (in [browser:/ReferenceDesigns/w3_802.11/sysgen/wlan_phy_rx_pmd/rx_sigs /wlan_phy_rx_pmd/rx_sigs]). Each waveform represents a valid 802.11 frame with various packet contents and modulation/coding rates. '''MAC Software Changes:''' * Assigned left-most DIP switch to disable all auto-association behaviors at boot; when asserted AP will reject associations, STA will not active-scan and IBSS will not create BSS * Reworked handshake between CPU High and Low for new transmissions, removing the {{{IPC_MBOX_TX_MPDU_ACCEPT}}} message. See the [wiki:../PacketFlow Packet Flow] page for details. * Updated wlan_mac_low.c to explicitly write the MAC core's auto-inserted timestamp value to the Tx pkt buffer after transmitting a beacon, so the packet payload in the log matches the transmitted payload ([changeset:3981 rev 3981]) * Updated contract for {{{queue_checkout_list()}}} to return number of successfully checked-out queue entries ([changeset:3968 rev 3968]) * Updated definition of "length" across the codebase to ensure any length which includes the MAC header (typically 24 bytes) also includes the FCS (4 bytes), consistent with the standard's definition * Added new packet type code {{{PKT_TYPE_DATA_PROTECTED}}} for distinguishing received packets with protected (encrypted) payloads; these were previously incorrectly treated as unencrypted, potentially leading to mis-interpreting payloads as valid LLC headers * Moved all {{{#define}}} for assigning space in DRAM and AUX BRAM to [browser:/ReferenceDesigns/w3_802.11/c/wlan_mac_high_framework/include/wlan_mac_high.h#L48 wlan_mac_high.h] (svn rev [changeset:4035]) * Fixed rare (but not impossible) race condition in LTG creation (svn rev [changeset:3980]) * Added utility functions to stop and restore the en/disable state of the interrupt controller and updated application and framework code to use new functions throughout. Application code can pause interrupts as needed, restoring the previous state when finished: {{{ interrupt_state_t prev_interrupt_state; prev_interrupt_state = wlan_mac_high_interrupt_stop(); //Do Non-Interrupt Safe Stuff Here wlan_mac_high_interrupt_restore_state(prev_interrupt_state); }}} '''wlan_exp Framework Changes:''' * Extensive documentation of Python classes and methods. wlan_exp docs now available at [//docs/mango-wlan-exp warpproject.org/docs/mango-wlan-exp] and in the {{{/python/docs}}} directory of the reference design .zip archive * Fixed retrieval of Tx/Rx stats from IBSS node for unknown partner node; a valid stats struct is now returned with all zero values * Updated example scripts to better handle unexpected log contents * Updated [wiki:../wlan_exp/log/entry_types log entry types docs] to include convenience fields (Tx/Rx addr1, addr2, addr3, seq_num) calculated during numpy array generation * Cleaned up density and formatting of UART prints when processing wlan_exp commands * Updated [wiki:../wlan_exp/examples examples] to use explicit association control from Python, instead of relying on auto-association at boot '''Other Changes:''' * Updated the [wiki:../wlan_exp/app_notes/ibss_multiple_flows IBSS] and [wiki:../wlan_exp/app_notes/dcf_with_multiple_flows multi-flow DCF] app notes * Expanded [wiki:../Usage Using the Reference Design] documentation {{{ #!comment '''Known Issues:''' The following bugs will be addressed in future releases of the design. * {{{n_sta.configure_sta()}}} wlan_exp method ignored by STA nodes - [changeset:4159 C code fix] * An IBSS node which receives a beacons from an AP with a matching SSID will adopt the BSSID of the AP and begin sending becaons - [changeset:XXX C code fix] }}} ---- == 0.96 Beta Release == '''Download: [http://warpproject.org/dl/refdes/802.11/Mango_802.11_RefDes_v0.96_beta.zip Mango_802.11_RefDes_v0.96_beta.zip]''' Release Details: ||= Hardware =||= Release =||= Date Posted =||= SVN Rev. =||= ISE Ver. =||= Arch =|| || WARP v3 || 0.96 Beta || 01-October-2014 || [browser:ReferenceDesigns/w3_802.11?rev=3905 3905] || 14.4 || Dual MB/AXI || Changes in 0.96 Beta: '''MAC Software Changes:''' * Added a third primary software project alongside AP/STA: the Independent Basic Service Set (IBSS). This is also known as 'ad hoc' * AppNote that uses IBSS [wiki:802.11/wlan_exp/app_notes/ibss_multiple_flows available here] * Added support for 802.11 power save mode in the AP. Specifically, the AP will honor clients' notifications that they will go to sleep. During that time, the AP will queue traffic for them and tell them traffic is available in the traffic indication map (TIM) of beacons. * Added new CPU_LOW project: wlan_mac_low_nomac. This very simple project is an alternative to the DCF and all it does it send packets it receives from CPU_HIGH and passes all packets it receives to CPU_HIGH. This is useful for research and education applications where the complexity of the 802.11 DCF may not be needed. * Added new active scan and join state machines to STA/IBSS. * Fixed old bug in the scheduler that resulted in poor NULL handling if a scheduled callback tried to remove the schedule that called it. This is now a safe operation. * Beacon intervals are now in terms of [http://en.wikipedia.org/wiki/TU_(Time_Unit) Time Unit (TU)], where 1TU = 1024µs * Formalized information about basic service sets into the bss_info part of the high framework * Added check for bug introduced in 14.7 tools identified in [http://warpproject.org/forums/viewtopic.php?id=2472 this thread]. * Fixed potential dead lock in IPC write by disabling interrupts for the duration of the write * Fixed potential race condition in 'frame_transmit' of the DCF implementation '''wlan_exp Framework Changes:''' * Added control for new IBSS node types * Added control over association state machines in STA/IBSS. Python can now tell WARP STA/IBSS nodes to join existing networks * Tweaked behavior of 'reset_all' command. Previously, this command did not reset a node's association state. It now resets the node fully and brings it back to the same state it was in at the time of booting. This behavior may potentially break compatibility with existing scripts if 'reset_all' ever occurred after setting up an association. In these cases, the [browser:ReferenceDesigns/w3_802.11/python/wlan_exp/node.py#L528 reset] command should be used instead for fine grained control over what is reset * Added verbose reporting mode to log index filter == 0.95 Beta Release == '''Download: [http://warpproject.org/dl/refdes/802.11/Mango_802.11_RefDes_v0.95_beta.zip Mango_802.11_RefDes_v0.95_beta.zip]''' Release Details: ||= Hardware =||= Release =||= Date Posted =||= SVN Rev. =||= ISE Ver. =||= Arch =|| || WARP v3 || 0.95 Beta || 18-July-2014 || [browser:ReferenceDesigns/w3_802.11?rev=3763 3763] || 14.4 || Dual MB/AXI || Changes in 0.95 Beta: '''Hardware Changes:''' * PHY changes: * Added dedicated DSSS packet detection subsystem, using similar architecture as OFDM auto-correlation detector, tuned for 20-sample periodicity * Added more aggressive timeout for DSSS packet detections, to more quickly reject false positives * Made SIGNAL field logic for Tx and Rx max packet lengths programmable in increments of 1kB (default is 2kB) * Added minimum packet length requirement for DSSS receptions, to discard rare false "good" SIGNAL fields for tiny packets * MAC hardware changes: * Fixed bug that would cause CPU Low to process one PHY Rx twice, using the new SIGNAL rate/length but wrong packet buffer (block Rx PHY only when RX_ERROR == 0) * Separate Tx_Gain values per RF interface, routed like other Tx params through MAC core to PHY Tx and radio_controller * MAC core now captures TX_START time when PHY Tx starts, drives this to gateway out so Tx PHY can insert the accurate timestamp in beacon and probe response frames; eliminates errors from software-captured pre-deferral timestamps * Shuffled debug pin map (see [../Usage#DebugSignals design usage] page for current map) * Added support for sharing RF reference and sampling clocks between nodes via CM-MMCX modules '''MAC Software Changes:''' * STA code now updates the local MAC timestamp value to match the timestamp field in beacons received from the AP (required by the standard, also very useful for aligning log entries) * Fixed bug where mac_payload_log_len value in Tx/Rx log entries was sometimes wrong * Elevated sequence number generation to framework; now uses internal u64 value as 'uniq_seq' in log, the 12 LSB of which are used as sequence number in Tx packets. This enables much easier parsing of log files with >4096 Tx packets per node * Formalized BSS descriptions for AP and STA. Framework now maintains information about BSS and association table dl_list is a member of this description. * Redesigned active scan state machine in STA (see [browser:/ReferenceDesigns/w3_802.11/c/wlan_mac_high_sta/wlan_mac_sta_scan_fsm.c@3702 wlan_mac_sta_scan_fsm.c]), using new BSS description subsystem * Redesigned association state machine in STA (see [browser:/ReferenceDesigns/w3_802.11/c/wlan_mac_high_sta/wlan_mac_sta_join_fsm.c@3706 wlan_mac_sta_join_fsm.c]), using new BSS description subsystem * Added preliminary 802.11a 5GHz support for a subset of 5GHz channels * NAV is now cleared on channel change. This is a requirement in the standard. * Updated AP and STA hex display usage (see [../Usage#LEDs design usage] page for current LED use) '''wlan_exp Framework Changes:''' * Added "forced" association commands; allows association of WARP AP with WARP STA without any wireless packet handshakes (includes example: Python_Reference/examples/[browser:/ReferenceDesigns/w3_802.11/python/examples/set_node_association_state.py@3763 set_node_association_state.py]) * Added authentication address filter support to allow/block associations at AP by MAC address (includes example: Python_Reference/examples/[browser:/ReferenceDesigns/w3_802.11/python/examples/configure_authentication_address_filter.py@3763 configure_authentication_address_filter.py]) * Added new log entry types for LTG Tx/Rx events with LTG flow ID and LTG pkt ID (previously uniq_seq was only available for Tx events) * Fixed log index generation to gracefully handle case of unknown entry type IDs in merge/include_only lists that aren't actually needed to parse a log * New command to en/disable STA timestamp updates from beacons * Improvements to WARPnet network configuration for flexibility when using multiple subnets. NOTE: This change requires [wiki:802.11/wlan_exp a small change to existing scripts]. == 0.93 Beta Release == '''Download: [http://warpproject.org/dl/refdes/802.11/Mango_802.11_RefDes_v0.93_beta.zip Mango_802.11_RefDes_v0.93_beta.zip]''' Release Details: ||= Hardware =||= Release =||= Date Posted =||= SVN Rev. =||= ISE Ver. =||= Arch =|| || WARP v3 || 0.93 Beta || 2-May-2014 || [browser:ReferenceDesigns/w3_802.11?rev=3518 3518] || 14.4 || Dual MB/AXI || Changes in 0.93 Beta: * Fixed low-level MAC bug where some outgoing ACK transmissions were corrupted mid-transmission by an antenna mode switch in the construction of the next transmitted packet. Antenna mode is now set by the Tx MAC state machine core * Fixed rare post-Tx packet detection bug. On occasion, when switching back to a receive mode, a node could detect the end of its own transmission. This would manifest as an early detection for the next Rx ACK, causing it to be lost. * Fixed slow memory leak when configuring LTGs via the WLAN Exp framework * As stated in 802.11-2012, a channel change now resets NAV state * Added register for manually resetting current backoff deferral == 0.92 Beta Release == '''Download: [http://warpproject.org/dl/refdes/802.11/Mango_802.11_RefDes_v0.92_beta.zip Mango_802.11_RefDes_v0.92_beta.zip]''' Release Details: ||= Hardware =||= Release =||= Date Posted =||= SVN Rev. =||= ISE Ver. =||= Arch =|| || WARP v3 || 0.92 Beta || 26-April-2014 || [browser:ReferenceDesigns/w3_802.11?rev=3478 3478] || 14.4 || Dual MB/AXI || Changes in 0.92 Beta: * Significant improvements in reliability of reading log data from boards * Updated physical carrier sensing threshold to ~60 dBm (was unintentionally too high in earlier v0.9 releases) * Improved reporting of wlan_exp version errors * HDF5 improvements * Support for continual log writing * Enforces numpy ASCII type for user string attributes * Added WLAN device class for non-WARP WLAN devices * Simplified NODE_INFO log entry * Changed WARPnet command IDs to be sparsely packed to allow easier user additions * Added WARPnet command for reading / writing arbitrary memory addresses in the design ---- == 0.91 Beta Release == '''Download: [http://warpproject.org/dl/refdes/802.11/Mango_802.11_RefDes_v0.91_beta.zip Mango_802.11_RefDes_v0.91_beta.zip]''' Release Details: ||= Hardware =||= Release =||= Date Posted =||= SVN Rev. =||= ISE Ver. =||= Arch =|| || WARP v3 || 0.91 Beta || 15-April-2014 || [browser:ReferenceDesigns/w3_802.11?rev=3408 3408] || 14.4 || Dual MB/AXI || Changes in 0.91 Beta: * Minor updates to Python_Reference to match [wiki:../wlan_exp/examples examples] * No changes to C code * No changes to FPGA hardware ---- == 0.9 Beta Release == '''Download: [http://warpproject.org/dl/refdes/802.11/Mango_802.11_RefDes_v0.9_beta.zip Mango_802.11_RefDes_v0.9_beta.zip]''' Release Details: ||= Hardware =||= Release =||= Date Posted =||= SVN Rev. =||= ISE Ver. =||= Arch =|| || WARP v3 || 0.9 Beta || 11-April-2014 || [browser:ReferenceDesigns/w3_802.11?rev=3400 3400] || 14.4 || Dual MB/AXI || Changes in 0.9 Beta: * Significantly expanded capabilities of [wiki:../wlan_exp experiments framework] * Added new [wiki:../wlan_exp/examples wlan_exp examples] * Detailed [wiki:../wlan_exp/log event log] at each node * Includes every Tx/Rx event in CPU High and CPU Low * Rx events capture OFDM channel estimates * Tx Low events capture per-retransmission rate, contention window and backoff values * Includes association state changes at AP and STA * Python tools to retrieve log data, parse into numpy structured arrays * New wlan_exp Python control of: * Per-node, per-destination locally generated traffic (LTG) * Tx rate and Tx power per-node, per-destination * Retrieval / reset of Tx/Rx stats * Node microsecond timestamp - node timers can be synchronized with broadcast Ethernet packet * Added duration for LTG schedules; traffic flows can now auto-terminate * Unified structures for all doubly-linked lists (LTG, scheduler, Tx queue, association table) * Reserved 16MB of DRAM for user scratch space ({{{DDR3_SCRATCH_SIZE}}} bytes starting at {{{DDR3_SCRATCH_BASEADDR}}}) * Updated to latest hardware support cores (radio_controller, w3_ad_controller) * MAC/PHY core updates * Added logic to MAC to capture timestamp of each Tx start * Added logic to Tx to automatically insert current microsecond timestamp (for beacon frames) * Added Tx gain param for MPDUO Tx and auto Tx control paths * Added more pipeline registers to debug outputs in all cores, for easier timing closure * Added basic floorplanning to UCF in XPS project, for more consistent timing closure ---- == 0.8 Beta Release == '''Download: [http://warpproject.org/dl/refdes/802.11/Mango_802.11_RefDes_v0.8_beta.zip 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 || [browser:ReferenceDesigns/w3_802.11?rev=2800 2800] || 14.4 || Dual MB/AXI || Changes in 0.8 Beta: * Brand-new WARPnet framework for control and measurement of experiments: [wiki:../wlan_exp 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 * Disabled by default -- can be enabled [browser:ReferenceDesigns/w3_802.11/c/wlan_mac_low_framework/wlan_phy_util.c?rev=2788#L271 through software changes] * 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: [http://warpproject.org/dl/refdes/802.11/Mango_802.11_RefDes_v0.71_beta.zip 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 [http://warpproject.org/forums/viewtopic.php?id=2200 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: [http://warpproject.org/dl/refdes/802.11/Mango_802.11_RefDes_v0.7_beta.zip 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 || [browser:ReferenceDesigns/w3_802.11?rev=2520 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: [http://warpproject.org/dl/refdes/802.11/Mango_802.11_RefDes_v0.6_beta.zip 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 || [browser:ReferenceDesigns/w3_802.11?rev=2410 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 [http://warpproject.org/forums/viewtopic.php?pid=9386#p9386 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. [http://en.wikipedia.org/wiki/Bufferbloat 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: [http://warpproject.org/dl/refdes/802.11/Mango_802.11_RefDes_v0.5_beta.zip 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 || [browser:ReferenceDesigns/w3_802.11?rev=2270 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: [http://warpproject.org/dl/refdes/802.11/Mango_802.11_RefDes_v0.4_beta.zip 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 || [browser:ReferenceDesigns/w3_802.11?rev=2242 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 [http://www.xilinx.com/support/answers/30878.html 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: [http://warpproject.org/dl/refdes/802.11/Mango_802.11_RefDes_v0.3_beta.zip 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 || [browser:ReferenceDesigns/w3_802.11?rev=2164 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: [http://warpproject.org/dl/refdes/802.11/Mango_802.11_RefDes_v0.2_beta.zip 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 || [browser:ReferenceDesigns/w3_802.11?rev=2115 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: [http://warpproject.org/dl/refdes/802.11/Mango_802.11_RefDes_v0.1_beta.zip 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 || [browser:ReferenceDesigns/w3_802.11?rev=2086 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.