Hi, all I'm testing a sample of wireless in ns2 But I got error like this
kerkerred@kerkerred-VirtualBox:~$ ns wirless.tcl num_nodes is set 2 warning: Please use -channel as shown in tcl/ex/wireless-mitf.tcl INITIALIZE THE LIST xListHead Starting Simulation... Direction for pkt-flow not specified; Sending pkt up the stack on default. (core dumped) and this is my tcl code. Could anyone give me some suggestion? # simple-wireless.tcl # A simple example for wireless simulation # ====================================================================== # Define options # ====================================================================== set val(chan) Channel/WirelessChannel ;# channel type set val(prop) Propagation/TwoRayGround ;# radio-propagation model set val(netif) Phy/WirelessPhy ;# network interface type set val(mac) Mac/802_11 ;# MAC type set val(ifq) Queue/DropTail/PriQueue ;# interface queue type set val(ll) LL ;# link layer type set val(ant) Antenna/OmniAntenna ;# antenna model set val(ifqlen) 50 ;# max packet in ifq set val(nn) 2 ;# number of mobilenodes set val(rp) DSDV ;# routing protocol # ====================================================================== # Main Program # ====================================================================== # # Initialize Global Variables # set ns_ [new Simulator] set tracefd [open simple.tr w] $ns_ trace-all $tracefd set nf [open out.nam w] $ns_ namtrace-all-wireless $nf 500 500 # ----------------------------------------------------------------- # Set up wireless network simulation # ----------------------------------------------------------------- # Create topography object to hold wireless scenario set topo [new Topography] $topo load_flatgrid 500 500 ;# Grid size is 500x500 # # Create god object # create-god $val(nn) set chan_1_ [new $val(chan)] # # Create the specified number of mobilenodes [$val(nn)] and "attach" them # to the channel. # Here two nodes are created : node(0) and node(1) # configure node $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) \ -channelType $val(chan) \ -topoInstance $topo \ -agentTrace ON \ -routerTrace ON \ -macTrace OFF \ -movementTrace OFF # 802.11b Phy/WirelessPhy set Pt_ 0.031622777 Phy/WirelessPhy set bandwidth_ 11Mb Mac/802_11 set dataRate_ 11Mb Mac/802_11 set basicRate_ 1Mb Phy/WirelessPhy set freq_ 2.472e9 Phy/WirelessPhy set CPThresh_ 5.011872e-12 Phy/WirelessPhy set CSThresh_ 5.011872e-12 Phy/WirelessPhy set L_ 1.0 Phy/WirelessPhy set RXThresh_ 5.82587e-09 # -------------------------------------------------------- # Direct mobile node's movements # -------------------------------------------------------- for {set i 0} {$i < $val(nn) } {incr i} { set node_($i) [$ns_ node] $node_($i) random-motion 0 ;# disable random motion } # # Provide initial (X,Y, for now Z=0) co-ordinates for mobilenodes # $node_(0) set X_ 10.0 $node_(0) set Y_ 20.0 $node_(0) set Z_ 0.0 $node_(1) set X_ 10.0 $node_(1) set Y_ 40.0 $node_(1) set Z_ 0.0 $ns_ initial_node_pos $node_(0) 10 $ns_ initial_node_pos $node_(1) 10 # # Now produce some simple node movements # Node_(1) starts to move towards node_(0) # #$ns_ at 50.0 "$node_(1) setdest 25.0 20.0 15.0" #$ns_ at 10.0 "$node_(0) setdest 20.0 18.0 1.0" # Node_(1) then starts to move away from node_(0) #$ns_ at 100.0 "$node_(1) setdest 490.0 480.0 15.0" # --------------------------------------------------------------- # The rest is "ordinary" network connection setup # --------------------------------------------------------------- # Setup TCP connections between node_(0) and node_(1) set tcp [new Agent/TCP] $ns_ attach-agent $node_(0) $tcp $tcp set class_ 2 set sink [new Agent/TCPSink] $ns_ attach-agent $node_(1) $sink $ns_ connect $tcp $sink # Setup FTP flow for TCP connection set ftp [new Application/FTP] $ftp attach-agent $tcp $ns_ at 10.0 "$ftp start" # # Tell nodes when the simulation ends # for {set i 0} {$i < $val(nn) } {incr i} { $ns_ at 150.0 "$node_($i) reset"; } $ns_ at 150.0 "stop" $ns_ at 150.01 "puts \"NS EXITING...\" ; $ns_ halt" proc stop {} { global ns_ tracefd $ns_ flush-trace close $tracefd } puts "Starting Simulation..." $ns_ run