Abstract
In this project, we design, implement, and evaluate Maranello, a novel partial packet recovery mechanism for 802.11. In Maranello, the receiver computes checksums over blocks in corrupt packets and bundles these checksums into a negative acknowledgment sent when the sender expects to receive an acknowledgment. The sender then retransmits only those blocks for which the checksum is incorrect, and repeats this partial retransmission until it receives an acknowledgment. Successful transmissions are not burdened by additional bits and the receiver needs not infer which bits were corrupted. We implemented Maranello using OpenFWWF (open source firmware for Broadcom wireless cards) and deployed it in a small testbed. We compare Maranello to alternative recovery protocols using a trace-driven simulation and to 802.11 using a live implementation under various channel conditions. To our knowledge, Maranello is the first partial packet recovery design to be implemented in commonly-available firmware.Download
Kernel 2.6.29-rc2 required. Note: To load the module run "modprobe b43 qos=0".Source
- New! (October 8, 2010) Maranello Firmware source and Driver patches
- Maranello for Linux: Driver and Firmware
- Maranello for OpenWRT: Driver and Firmware
- Retry simulators (Figure 5)
- Maranello simulator (Table 2)
Data
- Retry fallback behavior (Figure 4)
Paper
Maranello: Practical Partial Packet Recovery for 802.11Bo Han, Aaron Schulman, Francesco Gringoli, Neil Spring, Bobby Bhattacharjee, Lorenzo Nava, Lusheng Ji, Seungjoon Lee, Robert Miller
NSDI 2010 (Networked Systems Design and Implementation)
People
- Bo Han
- Aaron Schulman
- Francesco Gringoli
- Neil Spring
- Bobby Bhattacharjee
- Lorenzo Nava
- Seungjoon Lee
- Lusheng Ji
- Robert Miller