[ns] TORA protocol
Hi, I had run a few test with TORA adhoc routing protocol and the issue is that there is a lot of routing agent being sent but no data packet is ever sent at MAC layer and hence no data is delivered. I used the same setting for other routing protocols and it works fine. Can anyone help me, in term of any extra command or settings that must be done for packets that are sent with TORA protocol? thank you. Sincerely, Ravit
[ns] rxTotPower in wpan802.15.4
Hi, Can someone tell me how the rxTotPower is calculated for 802.15.4 mac also, why sometimes it is lesser than the receive power of the specific packet? Thanks. Ravit
[ns] Shadowing model help!
Hi all, I had been using the TwoRayGround model for a while and tried using the Shadowing model and discovered something I need help. Well, my packet delivery success rate had greatly reduce from 100% to 30% when i switch from Freespace or Tworayground for path loss exponent =2 (same as free space) and shadowing deviation = 1. I checked that if my shadowing deviation is 0, the model give same result as free space model. I dug in further and found out a criteria where packets were being dropped. It is in the wpan/p802_15_4mac. cc. Line no 1031: if ((wph->rxTotPower-p->txinfo_.RxPr) > 0.0) if (p->txinfo_.RxPr/(wph->rxTotPower-p->txinfo_.RxPr) < p->txinfo_.CPThresh) { drop(p,"LQI"); return; } I understand here that the power receive is checked to see if it is more thatn CPthresh times the power of interfering packets and if yes, the packets are dropped. In my scenerio, there is only two nodes with node 0 transmitting to node 1 only. When I use the TwoRayGround propagation, the value of power of interfering packets are always 0 and hence no packets are ever dropped for this reason but in Shadowing model, there is always some interfering power with some packets getting dropped due to the fact that the power due to interference high enough for the frame to be considered corrupted, and for shadowing deviation =1, it is 70% of all transmitted packet. The condition for both transmission is same and I am sure there is no interfering packets. Another interesting thing that I noted was that the power received of the packet with the TwoRayGround model is always the same and in the order of 10^(-12) and the interfering power is 0 while for shadowing model, the received power of that packet is in the variation from 10^(-9) to 10^(-11) with the interfering power also in the same order of magnitude. Could someone please help explain me the shadowing model and also maybe why there is interference when there is supposed to be none? Also, any other explanation to help explain what values are the usual standards for shadowing model will alsobe appreciated. Thank you. Sincerely, Ravit Sachasiri
[ns] Does anyone has the implementation of *guaranteed time slot* GTS for WPAN(802.15.4)?
I found the following comment in the p802__15__4sscs.cc file in the WPAN folder: /* The following primitives are availabe from MAC sublayer. You can call these primitives from SSCS or other upper layer 00686 * void MCPS_DATA_request(UINT_8 SrcAddrMode,UINT_16 SrcPANId,IE3ADDR SrcAddr, 00687 * UINT_8 DstAddrMode,UINT_16 DstPANId,IE3ADDR DstAddr, 00688 * UINT_8 msduLength,Packet *msdu,UINT_8 msduHandle,UINT_8 TxOptions); 00689 * void MCPS_DATA_indication(UINT_8 SrcAddrMode,UINT_16 SrcPANId,IE3ADDR SrcAddr, 00690 *UINT_8 DstAddrMode,UINT_16 DstPANId,IE3ADDR DstAddr, 00691 *UINT_8 msduLength,Packet *msdu,UINT_8 mpduLinkQuality, 00692 *bool SecurityUse,UINT_8 ACLEntry); 00693 * void MCPS_PURGE_request(UINT_8 msduHandle); 00694 * void MLME_ASSOCIATE_request(UINT_8 LogicalChannel,UINT_8 CoordAddrMode,UINT_16 CoordPANId,IE3ADDR CoordAddress, 00695 * UINT_8 CapabilityInformation,bool SecurityEnable); 00696 * void MLME_ASSOCIATE_response(IE3ADDR DeviceAddress,UINT_16 AssocShortAddress,MACenum status,bool SecurityEnable); 00697 * void MLME_DISASSOCIATE_request(IE3ADDR DeviceAddress,UINT_8 DisassociateReason,bool SecurityEnable); 00698 * void MLME_DISASSOCIATE_indication(IE3ADDR DeviceAddress,UINT_8 DisassociateReason,bool SecurityUse,UINT_8 ACLEntry); 00699 * void MLME_DISASSOCIATE_confirm(MACenum status); 00700 * void MLME_GET_request(MPIBAenum PIBAttribute); 00701 * void MLME_GTS_request(UINT_8 GTSCharacteristics,bool SecurityEnable); 00702 * void MLME_GTS_confirm(UINT_8 GTSCharacteristics,MACenum status); 00703 * void MLME_GTS_indication(UINT_16 DevAddress,UINT_8 GTSCharacteristics, 00704 * bool SecurityUse, UINT_8 ACLEntry); 00705 * void MLME_ORPHAN_indication(IE3ADDR OrphanAddress,bool SecurityUse,UINT_8 ACLEntry); 00706 * void MLME_ORPHAN_response(IE3ADDR OrphanAddress,UINT_16 ShortAddress,bool AssociatedMember,bool SecurityEnable); 00707 * void MLME_RESET_request(bool SetDefaultPIB); 00708 * void MLME_RX_ENABLE_request(bool DeferPermit,UINT_32 RxOnTime,UINT_32 RxOnDuration); 00709 * void MLME_RX_ENABLE_confirm(MACenum status); 00710 * void MLME_SCAN_request(UINT_8 ScanType,UINT_32 ScanChannels,UINT_8 ScanDuration); 00711 * void MLME_SET_request(MPIBAenum PIBAttribute,MAC_PIB *PIBAttributeValue); 00712 * void MLME_SET_confirm(MACenum status,MPIBAenum PIBAttribute); 00713 * void MLME_START_request(UINT_16 PANId,UINT_8 LogicalChannel,UINT_8 BeaconOrder, 00714 * UINT_8 SuperframeOrder,bool PANCoordinator,bool BatteryLifeExtension, 00715 * bool CoordRealignment,bool SecurityEnable); 00716 * void MLME_SYNC_request(UINT_8 LogicalChannel, bool TrackBeacon); 00717 * void MLME_SYNC_LOSS_indication(MACenum LossReason); 00718 * void MLME_POLL_request(UINT_8 CoordAddrMode,UINT_16 CoordPANId,IE3ADDR CoordAddress,bool SecurityEnable); 00719 * void MLME_POLL_confirm(MACenum status); 00720 * However, when i look up in the p802_15_4mac.cc, i see that the function is available but there is no definition: void Mac802_15_4::MLME_GTS_request(UINT_8 GTSCharacteristics,bool SecurityEnable) { } void Mac802_15_4::MLME_GTS_confirm(UINT_8 GTSCharacteristics,MACenum status) { } void Mac802_15_4::MLME_GTS_indication(UINT_16 DevAddress,UINT_8 GTSCharacteristics, bool SecurityUse, UINT_8 ACLEntry) { } Also, the following comment was found in the header file: /*TBD*/void MLME_GTS_request(UINT_8 GTSCharacteristics,bool SecurityEnable); /*TBD*/void MLME_GTS_confirm(UINT_8 GTSCharacteristics,MACenum status); /*TBD*/void MLME_GTS_indication(UINT_16 DevAddress,UINT_8 GTSCharacteristics, bool SecurityUse, UINT_8 ACLEntry); I would like to implement GTS for 802.15.4 MAC and would like to know if anybody has an implementation available or a suggestion as how or where it is available? Thank you. Sincerely, Ravit.
[ns] define PAN Co-ordinator in star topology for WSN
Hi all, In a WPAN scenerio, I have 2 PAN Co-ordinators with 8 nodes. I want to prematurely define which PAN co-ordinator each node must connect to. However, I want it to attach itself to the PAN co-ordinator automatically through the beacon. Could someone guide me to the right command? Sincerely, Ravit
[ns] Bandwidth of Physical and MAC layer
Hi, The parameter "Phy/WirelessPhy set bandwidth_ 28.8*10e3" sets the bandwidth of the channel, however, could someone tell me what is the capacity of the 802.15.4 MAC layer? I tried to increase the bandwidth parameter by a factor of 1000 but saw no improvement in the average throughput of the system. Can someone explain the reason to me? Thanks. -Ravit
[ns] propogation model
As I understand, the propogation model (freespace, tworayground, shadow) is added at the node characteristics. However, I believe that it is a link property and not a node property. For a WPAN scenerio, if I want to simulate that there is "freespace" between node A and B and a wall "Shadow model" between node B and C and A wants to send a packet to C through B, how should I define the propogation model for node characteristics of B? Thank you. -Ravit
[ns] sensor data disseminating type
Hi all, I have a scenerio that I would like to attain. Say that sensing data is disseminate to the data aggregator every 1 mins at the moment when the battery is full, but I would like that when battery remaining is less than half, it should change to event driven data dissemination, which means data is disseminate only if it surpass a certain level ( say, sensed temperature is more than 50 degree celcius). I have tried to read through the program and i believe that the key is in the file mannasim/sensorBaseApp.cc. If I can set an if statement, in the SensorBaseApp::getExpireTime() function to change the disseminating type after checking the remaining energy, would this work? I mean, would it be effective for all node, and also, would the type of dissemination be effective the next time? Sincerely, Ravit
[ns] remaining energy of the node
Hi, I would like to read the remaining energy (variable name is energy_ in the file ns2/mobile/energy-model.cc {its a type double}". I do not know the command in TCL to do so. Can someone please help me with the command to read that variable directly from the tcl script. I want to control my data generation depending upon the remaining energy. Thank you. -Ravit
[ns] need some help
Hi all, I am just trying to learn the basic of NS2 so that I can later use these characteristics on my simulation. Here, I wanted to achieve a few things. I want to define that 2 of the nodes are Access points and 8 are normal sensors. Also, I want node 2,3,4,5 to communicate with node 0(the access point) and node 6, 7,8,9 to communicate with node 1(another access point). So, it is 2 star topology existing together (same radio space) but I want to seperate communication. Also, I want to define different node characteristics for the access point and the sensor node (especially tx/rx range). The issues: 1) Below is the script of the program that I think is most relevent of what I want to achieve. If somebody could help me, I would be very grateful. $ns_ node-config -adhocRouting AODV \ -llType ll \ -macType mac/802_15_4 \ -ifqType $val(ifq) \ -ifqLen $val(ifqlen) \ -antType $val(ant) \ -propType $val(prop) \ -phyType $val(netif) \ -topoInstance $topo \ -agentTrace OFF \ -routerTrace OFF \ -macTrace ON \ -movementTrace OFF \ #-energyModel "EnergyModel" \ #-initialEnergy 1 \ #-rxPower 0.3 \ #-txPower 0.3 \ -channel $chan_1_ for {set i 0} {$i < 2 } {incr i} { set app_ [new Application/SensorBaseApp/CommonNodeApp] set node_($i) [$ns_ node] $node_($i) random-motion 0;# disable random motion } Phy/WirelessPhy set CSThresh_ $dist(20m) Phy/WirelessPhy set RXThresh_ $dist(20m) $ns_ node-config -adhocRouting AODV \ -ifqLen 200 \ for {set i 2} {$i < 6 } {incr i} { set app_ [new Application/AccessPointApp] $app_ set destination_id_ 0 set node_($i) [$ns_ node] $node_($i) random-motion 0;# disable random motion } for {set i 6} {$i < $val(nn) } {incr i} { set app_ [new Application/AccessPointApp] $app_ set destination_id_ 1 set node_($i) [$ns_ node] $node_($i) random-motion 0;# disable random motion $ns_ at 0.0"$node_(0) NodeLabel PAN Coor1" $ns_ at 0.0"$node_(0) sscs startPANCoord 1";# startPANCoord $ns_ at 0.5"$node_(2) sscs startDevice 1 0";# startDevice $ns_ at 1.5"$node_(3) sscs startDevice 1 0" $ns_ at 2.5"$node_(4) sscs startDevice 1 0" $ns_ at 3.5"$node_(5) sscs startDevice 1 0" $ns_ at 0.0"$node_(1) NodeLabel PAN Coor2" $ns_ at 0.1"$node_(1) sscs startPANCoord 1";# startPANCoord $ns_ at 0.5"$node_(6) sscs startDevice 1 0";# startDevice $ns_ at 1.5"$node_(7) sscs startDevice 1 0" $ns_ at 2.5"$node_(8) sscs startDevice 1 0" $ns_ at 3.5"$node_(9) sscs startDevice 1 0" // Please do go through and provide me with the possible guidance. As of now, the program isnt giving any error but the sensor node is attaching itself the the PAN co-ordinator randomly and the one that I want it to attach to. If my method is incorrect or some1 can guide me to another method, I would be glad to hear it. 2) Another issue also exist. I get error "recvTimer1:Invalid MAC Control Subtype 7" when I use -macType mac/802_11. I am using ns2.29 on ubuntu 9.04 with mannasim extension. 3) I also want to program sleeping pattern for the sensor nodes. I am not sure if there already exist, if yes, can some1 point me in the right direction. Also, the use of superframe order (SO) and beacon order (BO) is also a bit confusing to me. I have referred to Zheng's FAQ ( http://www-ee.ccny.cuny.edu/zheng/pub/Pages/wpan-ns2-faq.htm) where he discussed it. Quote, "BO determines the length of the whole superframe and SO determines the length of the active part of the superframe. So you need to set the SO to a value smaller than BO -- opposite to what you have done." I tried upto very high setting such as "$node_(0) sscs startPANCoord 1 1 1000" and still the association to the PAN co-ordination takes equal time as if it was not sleeping at all. I would like to know how to check whether a node is sleeping or awake. Is there some trace or some method to check that? 4) I would like to send very small packets of data (4 bytes). But when I use cbr, I get packet size of 31 on tranmitting side and 24 on receiving( I believe after removal of MAC header) and for FTP, i get tcp packet of 60, 64, 67, 71 bytes which means 71 and 64 bytes including all headers. I would like to know if there is a way to reduce this overhead in any way? maybe some other selection of transport, routing or even MAC protocol?? Its been a long mail with many questions and if some1 could help me even in some part, I would be very grateful. Thanks. -Ravit
[ns] validation of ns2
Hi all, Just have a small question. When I validated the installation, it hangs after a while and doesnt continue validation and more than half of the process it did validate, most of the results differed from the reference output. However, I tried a couple of examples, and it worked but how would I know if the timing and result it is giving is correct? Sincerely, Ravit
[ns] NS2/mannasim on ubuntu 9.04 or GCC version 4.3.3
Hi all, After painstakingly trying to install NS2 in my system, and havin errors in the compiling of mannasim patch with NS2, I received errors regarding the header file and . It seems that these header files cannot be found. The error: > In file included from mannasim/processing.h:44, > > from > mannasim/accessPointApp.h:45, > > from > mannasim/accessPointApp.cc:37: > > mannasim/sensorNode.h:36:18: error: list.h: No such file or > directory > > In file included from > mannasim/processing.h:45, > > from > mannasim/accessPointApp.h:45, > > from > mannasim/accessPointApp.cc:37: > > mannasim/sensedData.h:41:20: error: vector.h: No such file or > directory > In file included from > ./common/agent.h:41, > > from > mannasim/accessPointApp.h:40, > > from > mannasim/accessPointApp.cc:37: > > ./common/packet.h: In constructor > ?p_info::p_info()?: > > ./common/packet.h:184: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:185: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:186: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:187: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:188: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:189: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:190: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:191: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:192: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:193: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:194: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:195: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:196: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:197: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:198: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:199: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:200: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:201: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:202: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:203: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:205: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:206: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:207: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:208: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:209: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:210: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:212: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:213: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:214: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:215: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:216: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:217: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:218: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:219: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:220: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:221: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:222: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:223: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:224: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:225: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:227: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:228: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:230: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:231: warning: deprecated conversion from string constant > to ?char*? > ./common/packet.h:232: warning: deprecated conversion fr
[ns] mannasim installation error
> Dear all, > > I am just starting to use NS2 and mannasim and when I tried to install > ns-allinone2.29.3 after applying the mannasim patch, I get the following > error: > > > In file included from mannasim/processing.h:44, > > from > mannasim/accessPointApp.h:45, > > from > mannasim/accessPointApp.cc:37: > > mannasim/sensorNode.h:36:18: error: list.h: No such file or > directory > > In file included from > mannasim/processing.h:45, > > from > mannasim/accessPointApp.h:45, > > from > mannasim/accessPointApp.cc:37: > > mannasim/sensedData.h:41:20: error: vector.h: No such file or > directory > In file included from > ./common/agent.h:41, > > from > mannasim/accessPointApp.h:40, > > from > mannasim/accessPointApp.cc:37: > > ./common/packet.h: In constructor > ‘p_info::p_info()’: > > ./common/packet.h:184: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:185: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:186: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:187: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:188: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:189: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:190: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:191: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:192: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:193: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:194: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:195: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:196: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:197: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:198: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:199: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:200: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:201: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:202: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:203: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:205: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:206: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:207: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:208: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:209: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:210: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:212: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:213: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:214: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:215: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:216: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:217: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:218: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:219: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:220: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:221: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:222: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:223: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:224: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:225: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:227: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:228: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:230: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:231: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:232: warning: deprecated conversion from string constant > to ‘char*’ > ./common/packet.h:235: warning: deprecated conversion