Bug in Mac80211 in MiXiM post-backoff

Friday, December 16, 2011 Posted by

Post-backoff was introduced into IEEE 802.11 to make sure that a station could not claim the channel by noting that the channel was idle after its own transmission, and then immediately transmit again. The idea is quite simple; transmission over -> pull a backoff from the contention window and count down (respecting the same rules w.r.t. carrier sense and inter-frame spacing etc.) and finally end up in the idle state. If a new packet was handed down by the network layer during post-backoff, the countdown would continue and result in a transmission. This behaviour is also implemented in MiXiM’s Mac80211 (and prior to that in the Mobility Framework). However, there’s a bug. Read the rest of this entry »

Bug in Mac80211 in MiXiM backoff when channel busy

Thursday, December 15, 2011 Posted by

This post describes a bug in MiXiM’s Mac80211 which seems to be a fundamental error: when the MAC gets a packet from the Netw and the channel is busy, it schedules a senseChannelWhileIdle(currentIFS + remainingBackoff) after the ongoing transmission ends. Unfortunately, remainingBackoff is often 0 as post-backoff is likely to have completed. The result? Many synchronised collisions one IFS after the ongoing transmission. Read the rest of this entry »

Getting grip on eventlogs in OMNeT++

Monday, December 12, 2011 Posted by

OMNeT++ simulations can export an eventlog. Though the manual is pretty complete about it, I’ll summarise it here. Read the rest of this entry »

OMNeT++: Error during startup: No user interface (Cmdenv, Tkenv, etc.) found

Wednesday, December 7, 2011 Posted by

After an update of GCC (on Kubuntu 11.10) this error shows up when running simulations after recompilation.
Read the rest of this entry »

PHP Script for Calculating Confidence Intervals

Tuesday, November 29, 2011 Posted by

Some time ago I wrote about a Shell Script for calculating confidence intervals. Since I also do a lot of number crunching with PHP (hey, it’s web-based and works great with an SQL server for the data!) I wrote a PHP script to get the job done. Here’s how. Read the rest of this entry »