Enhanced Distributed Channel Access (EDCA)¶
The EDCA (Enhanced Distributed Channel Access) application implements the standard 802.11 channel access mechanism. It provides access to the wireless medium through four access categories (ACs), each with its own set of EDCA parameters.
Rx¶
Receptions, independent of control packet transmission responses, run without edca
application involvement. Received payloads are passed to Linux directly via custom PL hardware. The edca
application is responsible for monitoring receptions, updating Block ACK bitmaps state with FCS results, and generating control packet transmission responses where appropriate.
Tx¶
Transmissions are dealt with in lockstep with linux-dev
(the Linux Device Interface). New transmissions are requested by linux-dev
via the IPC Framework and are reported back to linux-dev` upon completion via the same mechanism. The edca
code never waits on hardware; interrupts are used when the application must react to an event, allowing Tx and and Rx state to be interleaved. The edca
application uses the Tx Controllers to manage parallel contention for the wireless medium by competing access classes.
Beacons¶
Beacon transmissions are unique in that there are very strict requirements dictating when they should be sent. This allows client stations to doze to save power and wake up in a narrow window around when a beacon is expected. The dcf
application is responsible for achieving these target beacon transmission times (TBTT).