CCI vs CCC
Co-Channel Interference vs Co-Channel Contention
The CWNE community is actively debating whether "Co-Channel Interference" is even the right term. Peter Mackenzie (Hamina, CWNE) argues it should be "Co-Channel Contention." The distinction matters for how you design, diagnose, and explain high-density Wi-Fi problems. This page walks through the mechanics at the frame level, from CCA thresholds to BSS Color to what it looks like in a PCAP.
Why the term matters
"Interference" in RF engineering means signals that corrupt each other. Adjacent channel interference (ACI) is a real example: a transmitter bleeding into an adjacent channel corrupts frames at the receiver. No protocol can fix that. It is noise.
What happens when two 802.11 APs operate on the same channel is different. CSMA/CA means they listen before transmitting. They detect each other's preambles. They set their NAV. They back off. They take turns. Frames are not corrupted. Throughput drops because the medium is shared. That is contention, not interference.
The distinction is not academic. If you call it interference, you design to eliminate it. If you call it contention, you design to manage it. Sometimes a densely co-channeled deployment with well-managed contention outperforms a spread-out deployment where clients are too far from APs to sustain high MCS.
- Transmitter on ch 3 bleeds energy into ch 1 and ch 6
- Receiver cannot decode the corrupted frame
- No ACK returned, retransmit occurs
- CSMA/CA cannot help, ED detection only
- Result: corrupted frames, elevated FCS errors, throughput collapse
- Fix: eliminate the adjacent channel overlap
- AP1 and AP2 on ch 6, RSSI above SD threshold
- AP2 hears AP1 preamble, decodes Duration field
- AP2 sets NAV, defers until medium clears
- Frames are received intact, throughput shared
- Result: lower aggregate throughput, no frame corruption
- Fix: manage CW, AP density, OBSS_PD (802.11ax)
Adjacent channel interference is the condition that actually corrupts frames and cannot be resolved by CSMA/CA. CCC simply reduces available airtime. The practical implication: in a dense deployment, measured retry rate and elevated channel utilisation (BSS Load IE) are CCC symptoms. Elevated FCS error rate is an ACI or RF noise symptom.
Exam topics this maps to
Clear Channel Assessment
Before any transmission, a station performs CCA to determine whether the medium is idle. CCA has two independent detection paths running simultaneously. Both can declare the medium busy. Either declaration prevents transmission.
Preamble-based detection
SD listens for an 802.11 preamble specifically. If a station decodes a preamble at greater than 4 dB SNR, it considers the medium busy, reads the Duration field from the PHY or MAC header, and sets its NAV accordingly.
SD is highly sensitive. A signal at -82 dBm from a distant AP you cannot associate to will trigger SD deferral. This is the core mechanism of co-channel contention: CSMA/CA deference to a decoded 802.11 frame.
Energy-based detection
ED measures raw energy on the channel regardless of whether it is an 802.11 signal. The threshold is 20 dB higher than SD, approximately -62 dBm. It detects non-802.11 emitters, microwave ovens, Bluetooth, DECT phones, and anything else with sufficient RF energy.
ED cannot decode a preamble. It has no Duration field to read. It cannot set a NAV. It simply declares the medium busy until the energy drops. This is why non-802.11 interference is harder to characterise in a PCAP.
The 4 microsecond CCA window
CCA must complete within 4 microseconds before any transmission. Both SD and ED checks run in parallel. The outcomes determine the path:
BSS Color - the 802.11ax hardware solution
BSS Color addresses the core CCC problem: pre-802.11ax stations defer to any OBSS frame above the SD threshold, even at -81 dBm from an AP 200 metres away. 802.11ax introduces a 6-bit BSS Color identifier carried in the HE SIG-A field of every HE PPDU. Each BSS is assigned a unique color (1-63, value 0 is reserved). Receiving stations use this to classify incoming frames as intra-BSS or inter-BSS before applying CCA rules.
Where it lives in the frame
HE SIG-A is a 2-symbol field in the HE PPDU preamble, transmitted at the lowest MCS (MCS 0, BPSK 1/2) for maximum range. It carries the BSS Color in bits 7-12 (HE SU PPDU) or the same position in HE MU PPDU formats.
The spatial reuse threshold
When a station receives an inter-BSS HE frame (different BSS Color), it compares the frame RSSI to the OBSS_PD threshold instead of the standard CCA-SD threshold. If RSSI is below OBSS_PD, the station can treat the medium as idle and transmit concurrently.
The constant product rule
Raising the OBSS_PD threshold lets you ignore weaker OBSS signals and transmit more aggressively. But this creates a problem: the OBSS station you are now ignoring cannot know you are transmitting. If you hit it hard, its receiver will see interference. 802.11ax solves this with a mandatory TX power reduction constraint.
The constraint is designed so that as you raise your OBSS_PD threshold (ignoring weaker OBSS signals), you also lower your own TX power to match. The OBSS station you are ignoring will therefore hear your transmission at a level low enough not to corrupt its ongoing frame. This is the constant product constraint: ignore at the same level you reduce your impact.
Intra-BSS NAV vs OBSS NAV
802.11ax introduces separate NAV timers for intra-BSS and inter-BSS frames. Pre-802.11ax, all NAV was treated equally. In 802.11ax, a station performing Spatial Reuse can override the OBSS NAV if OBSS_PD conditions are met. The intra-BSS NAV remains mandatory - Spatial Reuse cannot override your own BSS's medium reservation.
What CCC looks like in a PCAP
Co-channel contention leaves five distinct signatures in a PCAP capture. None of them prove the cause in isolation. Together they build a picture. The key diagnostic question is whether high retry rate correlates with visible OBSS traffic - that confirms contention rather than RF noise or driver issues.
Bit 11 of the Frame Control field is set to 1 on retransmitted frames. In a capture with significant OBSS activity, expect elevated retry rates on data frames. Greater than 10% retry on AC_BE is a contention signal. Greater than 5% on AC_VO suggests the VoIP SLA is at risk.
wlan.fc.retry == 1 wlan.fc.retry == 1 && wlan.bssid == aa:bb:cc:dd:ee:ff The BSS Load element (IE tag 11) is included in beacons and probe responses by supporting APs. It carries three fields: Station Count (16-bit), Channel Utilization (8-bit, units of 1/255), and Available Admission Capacity. Channel Utilization above 0.5 (approximately 200/255) suggests the medium is busy more than half the time.
wlan.fc.type_subtype == 8 && wlan.tag.number == 11 In a monitor mode capture, frames from all BSSIDs on the channel are visible. Count the proportion of air time consumed by frames whose BSSID is not your AP. High OBSS frame volume correlates with elevated NAV deferral time for your own stations.
wlan.bssid == your:ap:mac:here !(wlan.bssid == your:ap:mac:here) && wlan.fc.type == 2 The Duration/ID field in bytes 2-3 of the MAC header carries the NAV reservation in microseconds. In a high-contention environment, you will see long Duration values set by frames from OBSS BSSIDs, followed by idle periods where your stations cannot transmit.
wlan.duration > 5000 wlan.duration > 2000 && !(wlan.bssid == your:bssid) In a Wi-Fi 6/6E/7 capture, every HE PPDU carries the BSS Color in the HE SIG-A field. Wireshark decodes this in the WLAN Radiotap or HE Info fields. Cross-referencing BSS Color against retry rate and OBSS_PD threshold can confirm whether spatial reuse is active and whether color collisions are contributing to elevated contention.
wlan.he.bss_color_info.bss_color == 7 wlan.he.bss_color_info.bss_color == X