802.11 Reference Design: Other Resources
In the course of developing and testing the 802.11 Reference Design we have found a number of very useful resources. Nothing below is required to use or extend the Reference Design, but, depending on your application, some of these resources may prove helpful.
Wireshark is a tool for capturing and analyzing all kinds of network traffic. On PCs with supported Wi-Fi NICs Wireshark can use monitor mode to capture and analyze all 802.11 traffic, including control and management frames. This is very useful for analyzing and debugging interactions among 802.11 nodes and a WARP node running the 802.11 Reference Design.
In our experience Wireshark works very well on OS X machines. Monitor mode is supported on most newer Macs. We have used it successfully with the integrated 802.11 interfaces on 2010 and 2013 MacBook Pros.
Based on the Wireshark docs, monitor mode is also supported on Linux machines, but not Windows. We have not tried either platform.
The AirPcap devices claim to enable monitor mode capture on Windows. We haven't tried these.
The 802.11 Reference Design should work with any device that implements 802.11g. We obviously can't guarantee this, given the enormous variety of devices out there.
For the majority of our testing during development we used Linksys WRT54GL with the Tomato firmware. With the right cable/adapter (RP-TNC - SMA) and sufficient attenuation (>50dB) the WRT54GL can be connected directly to the WARP v3 node RF interface. The Tomato firmware also enables forcing the Tx rate of the WRT54GL (some versions of the Linksys firmware may support this as well). Eliminating interference and forcing the Tx rate greatly simplify PHY debugging. In our experience even when connected directly a nearby laptop running Wireshark can still capture most frames being exchanged between the WRT54GL and WARP node.
The 802.11 Reference Design routes a number of useful MAC/PHY signals to the WARP v3 debug header. These signals can be observed in real-time with an oscilloscope (probably also with a fast-running self-clocked logic analyzer; we haven't tried this). Observing MAC and PHY states directly via the debug pins is very useful for monitoring behaviors without impacting their timing.
The current mapping of MAC/PHY signals to the debug header are listed in the Usage section of this user guide.
Obviously the definitive guide to 802.11 is the official IEEE 802.11-2012 specification. This is a giant document (2700+ pages), only some of which is relevant to implementing and understanding the MAC/PHY in our Reference Design.
The following clauses of IEEE 802.11-2012 are especially relevant to our design:
- Clause 7: PHY Service Specification - defines the basic control I/O between the MAC and PHY
- Clause 8: Frame Formats - defines the contents of various frames (control, management and data)
- Clause 9.3: Distributed Coordination Function - defines the CSMA/CA random access MAC protocol
- Clause 16: DSSS PHY Specificaton - defines the DSSS physical layer, of which we implement only the 1Mb/s receiver
- Clause 18: OFDM PHY specification - defines the SISO OFDM physical layer, including the preamble structure and SIGNAL field definition
- Annex L: Example of encoding a frame for the OFDM PHY
- Annex P: Wired-Wireless Integration
We found the MAC and PHY chapters of O'Reilly's 802.11 Wireless Networks: The Definitive Guide to be a good resource. It presents the same core info as the spec but in a much more readable form.
Another excellent book is Next Generation Wireless LANs: 802.11n and 802.11ac by Robert Stacey, Eldad Perahia (Amazon link). While the book is focused on the 11n and 11ac amendments, the chapters on the original 11a/g MAC/PHY are a very good introduction.