Posts Tagged Linux

Bug in Mac80211 in MiXiM post-backoff

Posted by on Friday, 16 December, 2011

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

Posted by on Thursday, 15 December, 2011

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++

Posted by on Monday, 12 December, 2011

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

Posted by on Wednesday, 7 December, 2011

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

Posted by on Tuesday, 29 November, 2011

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 »