Hi,
I am trying to learn ns2 for a 802.11 simulation and wrote a simple csma script.
I am using ns-2.27. I have a .tr file that outputs the results, but when the
nam animator window shows up, there are no nodes displayed and the window
crashes. An error in the shell says that node 2 and node 0 are undefined. Here
is the ns2 code I am trying to run. Hope someone can help.
Thanks,
Pupun Das
set val(chan) Channel/WirelessChannel
set val(prop) Propagation/TwoRayGround
set val(netif) Phy/WirelessPhy
set val(mac) Mac/802_11
set val(ant) Antenna/OmniAntenna
set val(ll) LL
set val(ifq) Queue/DropTail/PriQueue
set val(ifqlen) 50
set val(rp) DSR
set val(nn) 3
set ns_ [new Simulator]
$ns_ use-newtrace
set tracefd [open csma2.tr w]
$ns_ trace-all $tracefd
set nf [open csma2.nam w]
#$ns_ namtrace-all-wireless $nf 600 600
$ns_ namtrace-all $nf
proc finish {} {
global ns_ nf
global ns_ tracefd
$ns_ flush-trace
close $tracefd
close $nf
exec ../nam-1.10/nam csma2.nam &
exit 0
}
create-god $val(nn)
set chan_ [new $val(chan)]
set topo [new Topography]
$topo load_flatgrid 500 500
$ns_ node-config -adhocRouting $val(rp)\
-llType $val(ll) \
-macType $val(mac) \
-ifqType $val(ifq) \
-ifqLen $val(ifqlen) \
-antType $val(ant) \
-propType $val(prop) \
-phyType $val(netif) \
-channel $chan_ \
-topoInstance $topo \
-agentTrace ON \
-routerTrace OFF \
-macTrace OFF \
-movementTrace OFF
for {set i 0} {$i < $val(nn) } {incr i} {
set WT($i) [$ns_ node]
$WT($i) random-motion 0;
$WT($i) set Y_ 0.0
$WT($i) set Z_ 0.0
}
$WT(0) set X_ 0.0
$WT(1) set X_ 200.0
$WT(2) set X_ 400.0
set udp0 [new Agent/UDP]
set udp1 [new Agent/UDP]
set udp2 [new Agent/UDP]
set sink0 [new Agent/Null]
set sink1 [new Agent/Null]
set sink2 [new Agent/Null]
$ns_ attach-agent $WT(0) $udp0
$ns_ attach-agent $WT(1) $udp1
$ns_ attach-agent $WT(2) $udp2
$ns_ attach-agent $WT(0) $sink0
$ns_ attach-agent $WT(1) $sink1
$ns_ attach-agent $WT(2) $sink2
set cbr [new Application/Traffic/CBR]
$cbr set packetSize_ 1500
$cbr set interval_ 0.005
$cbr attach-agent $udp0
$cbr attach-agent $udp1
$cbr attach-agent $udp2
$ns_ connect $udp0 $sink1
$ns_ connect $udp1 $sink2
$ns_ connect $udp2 $sink0
$ns_ at 10.0 "$cbr start"
$ns_ at 120.0 "finish"
$ns_ run