Note on 802.11e TKN model installation on NS-2.31
Author: Weiwei (fangvv at gmail dot com)
Today I installed the TKN 802.11 model (http://www.tkn.tu-berlin.de/research/802.11e_ns2/) into my ns-2.31 official release. There exist some bugs which should be noticed when install this model to ns-2.31 (& ns-2.28 too)
1. The author give a patch (http://www.tkn.tu-berlin.de/research/802.11e_ns2/WLANpatch-ns2.28-v1_0.tgz) for fixing the bugs described in the technical report TKN-03-019. However, the last few lines contain some mistake files and folders. To patch it successfully, you should delete the lines from 280 to 300, which shows as the following:
diff -Naur mac/patched/mac-timers.cc MAC_patch/patched/mac-timers.cc --- mac/patched/mac-timers.cc 2006-03-07 12:02:09.000000000 +0100 +++ MAC_patch/patched/mac-timers.cc 2006-03-07 11:56:13.000000000 +0100 @@ -149,8 +149,6 @@ void DeferTimer::cancel(void) { - Scheduler &s = Scheduler::instance(); - assert(busy_); if(paused_ == 0)
2. In new NS2 version which contains the SMAC, the SLEEP mode for nodes has been added into the mac mechanism. So when you change the mac/wireless-phy.h as the directions in README file contained in TKN model ver 1.02(http://www.sf.net/projects/ieee80211e-ns2/). Remember to add support to SLEEP, that is:
7. mac/wireless-phy.h: change enum ChannelStatus {IDLE, RECV, SEND}; to enum ChannelStatus {SLEEP, IDLE, RECVING, SENDING};
3. As described in README file contained in TKN model ver 1.02, when you use 802.11e model: - in your simulation script: After defining your transport_agent % set transport_agent [new Agent/UDP] ,just add % $your_transport_agent prio_ x to give a certain flow a specific priority (x between 0 and 3, 0 being the highest, 3 being the lowest priority).
But it will report errors!!! so do it like that: % $your_transport_agent set prio_ x |