Learn about the wireless
- Introduction to Wi-Fi (802.11 or WiFi): http://ccm.net/contents/802-introduction-to-wi-fi-802-11-or-wifi
- Comparison of open-source wireless drivers: https://en.wikipedia.org/wiki/Comparison_of_open-source_wireless_drivers
intro(4)ifnet(9)wlan(4)ieee80211(9)- Kong, Joseph. (2012). FreeBSD Device Drivers: A Guide for the Intrepid. No Starch Press.: https://www.nostarch.com/bsddrivers.htm
- Chapter 16: Network Drivers, Part 1: Data Structures
- Chapter 17: Network Drivers, Part 2: Packet Reception and Transmission
Theory
- Interoperability: https://en.wikipedia.org/wiki/Interoperability
- WLAN Channels: https://en.wikipedia.org/wiki/List_of_WLAN_channels
Technical terms
- Frame aggregation: https://en.wikipedia.org/wiki/Frame_aggregation
- TX and RX paths:
- A little bit out-dated (HAL was deprecated around 2011) but main concepts still hold: https://madwifi.wordpress.com/2009/04/16/tx-rx-path/
- AP, ADHOC, STA modes:
- What is the difference between Access Point mode and Ad-Hoc mode? http://support.connectify.me/article/8-what-is-the-difference-between-access-point-mode-and-ad-hoc-mode
- Wi-Fi Aggregation
- AMSDU vs AMPDU: A Brief Tutorial on WiFi Aggregation Support: https://arxiv.org/ftp/arxiv/papers/1704/1704.07015.pdf
802.11n
802.11n Demystified. Key considerations for n-abling the Wireless Enterprise: http://www.winncom.com/images/stories/Motorola_802.11nDEM_WP_v4_0209.pdf
What is an antenna chain and how do I figure out the correct setting for my router? (A post about 802.11n features): https://superuser.com/q/744065/442991
Nomadic Communications. 802.11n/ac: MIMO and Space Diversity: http://disi.unitn.it/locigno/didattica/NC/15-16/04_802.11n-ac_MIMO.pdf
Getting started with kernel projects
FreeBSD Architecture Handbook. Chapter 9. Writing FreeBSD Device Drivers: https://www.freebsd.org/doc/en/books/arch-handbook/driverbasics.html
Getting started with kernel projects: Graphics/Getting started with kernel projects
How to write a Device Driver in FreeBSD: https://www.bsdcan.org/2006/papers/freebsd.device.driver.slides.pdf
Intel WiFi drivers
iwn(4)iwm(4)
Glossary
- AMPDU
- Aggregated-MAC Packet Data Unit
- BBS
- Basic Service Set
- CRC
- Cyclic Redundancy Check
- CTS
- Clear To Send
- FC
- Frame Control
- GI
- Guard Interval
- HT
- High Throughput
- Introduced in 802.11n.
- ICV
- Integrity Check Value
- IE
- Information Element
- IV
- Initialization Vector
- LLT
- Low Latency Transport
- MCS
- Modulation and Coding Scheme
- MPDU
- MAC Protocol Data Unit
- MSDU
- MAC Service Data Unit
- NIC
- Network Interface Controller
- OFDM
- Orthogonal Frequency Division Multiplex
- P2P GO
- Peer-to-Peer Group Owner
- Wi-Fi Direct, Section 3.1 Architecture: https://hsc.com/Portals/0/Uploads/Articles/WFD_Technology_Whitepaper_v_1.7635035318321315728.pdf
- QoS
- Quality of Service
- RS
- Rate Scaling
- RTS
- Request To Send
- STA
- Station Computer
- TKIP
- Temporal Key Integrity Protocol
- TSF
- Timing Synchronization Function
- VHT
- Very High Throughput
- Introduced in 802.11ac.
- XMIT
- Transmit
indicates that I've not read it yet (and most often just scanned through)