802.11ac (Wi-Fi 5) todo

This is a placeholder page to plan out what's required for 11ac support.

  • (done) Channel representation - right now we have an array of all valid channel combinations (11b, 11g, 11a, 11n/ht20, 11n/ht40) that have pointers thrown around. For 802.11ac there's 20, 40, 80, 80+80 and 160MHz wide channels - this is a lot of combinations to represent in the current schema.
  • (done) VHT IE parsing.
  • (done) Figure out channel upgrade.
  • Figure out a structured rate representation - right now it's uint8_t which has some clashes between pre-11n and 11n rates. For 11ac there's only 9 MCS rates but then it's multiplied by the number of streams, and some devices have very complicated combinations of rate information. We should likely create a rate_t struct type and start using it in places.
  • (done) Parse VHT IEs in 'ifconfig -v list scan'
  • (done) Add VHTINFO as a flag in 'ifconfig list scan' (like HTINFO) - this is a scan capability flag ('CAPS') and list.
  • Figure out what else is missing for basic 11ac negotiation and support.
  • Figure out the differences in the 802.11ac QoS field (2 bytes); it looks slightly different to 802.11 / 802.11n.
  • Add VHT basic rate population, parsing and checks for assocation
  • Add opmode handling
  • MU-MIMO / group-id management
  • Add 11ac action frame handling
  • Add callbacks for 11n/11ac status changes, ERP, etc, so firmware-based chips can update things as appropriate
  • Hostap
  • Packet injection
  • IBSS
  • 11s
  • dot11OperatingClassesRequired
  • 8.4.1.50 operating mode IE and operating mode field
  • 8.4.1.51 - membership status array field
  • 8.4.1.54 - user position array field
  • 8.4.2.3 - update supported rates element, include HT/VHT as appropriate for mandatory support
  • 8.4.2.10 - country IE - changes depending upon dot11OperatingClassesRequired
  • 8.4.2.17 - power capability IE
  • 8.4.2.22 - secondary channel offset element
  • 8.4.2.23 - measurement request element (the whole thing, as well as vht)
  • 8.4.2.23.5 - channel load request element, would be nice
  • 8.4.2.24 - measurement report element
  • 8.4.2.27 - RSNE; adding GCMP
  • 8.4.2.29 - extended capabilities bitmap/support - TDLS, OpModeNotification, Max MSDUs in A-MSDU
  • 8.4.2.31 - EDCA changes based on PHY
  • 8.4.2.38 - AP channel report element
  • 8.4.2.39 - Neighbor report element
  • 8.4.2.40 - RCPI
  • 8.4.2.48 - multiple BSSID
  • 8.4.2.56 - supported operating classes
  • 8.4.2.57 - Management MIC
  • 8.4.2.58 - HT capabilities element - need to ensure we're up to date on these + VHT bits
  • 8.4.2.69 - Event Request (p2p, right?)
  • 8.4.2.71 - Diagnostic Request
  • 8.4.2.73 - Location Parameters
  • (some others we don't really need)
  • 8.4.2.88 Channel Usage element
  • 8.4.2.160 VHT Capabilities element
  • 8.4.2.161 VHT Operation element
  • 8.4.2.162 Extended BSS Load element
  • 8.4.2.163 Wide Bandwidth Channel Switch element (in CSAs, extended CSAs, TDLS channel switch request frames)
  • 8.4.2.164 VHT Transmit Power Envelope element
  • 8.4.2.165 Channel Switch Wrapper element
  • 8.4.2.166 AID element
  • 8.4.2.167 Quiet Channel element
  • 8.4.2.168 Operating Mode Notification element
  • 8.5.2.6 Channel Switch Announcement frame format - changed for VHT
  • 8.5.4 - DLS (TDLS?; we don't do this yet)
  • 8.5.8.7 Extended Channel Switch Announcement frame format
  • (all the TDLS stuff)
  • 8.5.14.24 Channel Usage Response frame format
  • (all the mesh stuff)
  • 8.5.23.1 VHT Action field - compressed beamforming, group-id management, operating mode notification
  • 8.5.23.2 VHT Compressed Beamforming frame format
  • 8.5.23.3 Group ID Management frame format (MU-MIMO?)
  • 8.5.23.4 Operating Mode Notification frame format

(At pg 118, section 9 at this point)

  • wifi/80211ac.txt
  • Last modified: 2021/01/11 17:23
  • by EdMaste