| Version 2 (modified by , 20 years ago) ( diff ) | 
|---|
WinlabMadwifi → MultiMAC
Paper Title:
MultiMAC - An Adaptive MAC Framework for Dynamic Radio Networking
Christian Doerr, Michael Neufeld, Jeff Fifield, Troy Weingart, Douglas C. Sicker, and Dirk Grunwald
University of Colorado, Boulder
Motivation
- Bridging the gap between firmware based MAC and software radios
 - Capability to use dynamic MAC plug-in based on scenario.
 
Primary Achievements
This has been done with Madwifi driver on Atheros chipset.
- Override 802.11 MPDU frame format
- Necessary to send and receive custom frames
 - In each mode (Master, managed, monitor) card will accept certain types of frames
 - Monitor mode accepts all frames (even with CRC errors)
 - Approach: Use monitor mode to send and receive custom frames (transmit while monitor allowed by chipset)
 - Hardware automatically stamps packets with sequence numbers
 - Use retry = 1 bit to prevent this
 
 
- Eliminate automatic ACK and retransmission
- Again use monitor mode
 - Set multicast bit in dest MAC address using previous packet injection mechanism
 - Need to handle timeouts at sender appropriately
 
 
- Eliminate virtual carrier sense (NAV)
- By operating in monitor mode, NAV is disregarded by default
 
 
- Controlling Physical Carrier Sense
- Tricky! No easy way to do this
 - Introduce desired bias using pre-calibration
- Card periodically calibrated noise floor
 - Raise the noise floor and bias the calibration
 - Disable periodic calibration after that
 - Cards assume “higher/lower noise” based on calibrated level
 
 - May be used for immediate send (TDMA based MAC)
 - Does not necessarily mean improved throughput, since Xmission may still interfere (in CSMA based MAC)
 
 
- Controlling BAckoff Duration
- Setting CWMin = CWMax in the driver
 
 
- Timer management
- Atheros chipset has a 64 bit 1-μsec timer, can be read/set by driver
 - Tag packet with delay value before inserting in Tx queue
 - Reset timer to zero
 - Driver spin-waits until the NOW = basetime + delay
 - By fixing CW, the additional defer can also be adjusted for
 
 
  Note:
 See   TracWiki
 for help on using the wiki.
    