Wrong parameter settings of MiXiM and BMAC - BMAC does not send messages

22 views
Skip to first unread message

Anna Förster

unread,
Nov 25, 2014, 4:00:41 AM11/25/14
to omn...@googlegroups.com
Dear all,

this is to draw your attention to a small error in the parameter settings of BMAC for MiXiM. In the omnetpp.ini file of the default installation, you can find:

**.node[*].nic.phy.timeRXToTX = 0s
**.node[*].nic.phy.timeRXToSleep = 0s

**.node[*].nic.phy.timeTXToRX = 0s
**.node[*].nic.phy.timeTXToSleep = 0s

**.node[*].nic.phy.timeSleepToRX = 0s
**.node[*].nic.phy.timeSleepToTX = 0s

This means that the switching times of the radio have been set to zero. This is OK, even if quite unrealistic. However, a change in MiXiM from 2.2.1 to 2.3 in BasePhylayer.cc says:

// if switching is done in exactly zero-time no extra self-message is scheduled

if (switchTime == SIMTIME_ZERO) {

// In case of zero-time-switch, send no control-message to MAC!

finishRadioSwitching(false);

}


This leads to the NON sending the RADIO_SWITCHING_OVER message, which breaks BMAC. What happens is that BMAC is waiting for this message in order to start sending something. If it never arrives, it will never send anything.


SOLUTION: simply put some tiny numbers for the switching times in omnetpp.ini.


LONG-TERM SOLUTION: I don't know why this change was introduced. However, I am not convinced that this is a good idea. This means that the behaviour of a simulation is different dependant on a parameter in a way, that it breaks it. The parameter of the switching time for the radio should be used only in the corresponding module and not in other, completely independent ones. Or what was the idea behind this?


Cheers, Anna

Reply all
Reply to author
Forward
0 new messages