From: chad...@hotmail.com To: ns-users@isi.edu Subject: creating an access point in IEEE 802.11p Date: Mon, 11 Apr 2011 06:49:22 +0000 hi I'm working on ns2.34 under ubuntu8.10 and I'm trying to create a handover scenario using the IEEE802.11p I get an error "invoked from within" while I'm creating the access point. My TCL script is the following: #----------------------------------------------------- #802.11p default parameters Phy/WirelessPhyExt set CSThresh_ 3.162e-12 ;#-85 dBm Wireless interface sensitivity (sensitivity defined in the standard) Phy/WirelessPhyExt set Pt_ 0.001 Phy/WirelessPhyExt set freq_ 5.9e+9 Phy/WirelessPhyExt set noise_floor_ 1.26e-13 ;#-99 dBm for 10MHz bandwidth Phy/WirelessPhyExt set L_ 1.0 ;#default radio circuit gain/loss Phy/WirelessPhyExt set PowerMonitorThresh_ 6.310e-14 ;#-102dBm power monitor sensitivity Phy/WirelessPhyExt set HeaderDuration_ 0.000040 ;#40 us Phy/WirelessPhyExt set BasicModulationScheme_ 0 Phy/WirelessPhyExt set PreambleCaptureSwitch_ 1 Phy/WirelessPhyExt set DataCaptureSwitch_ 0 Phy/WirelessPhyExt set SINR_PreambleCapture_ 2.5118; ;# 4 dB Phy/WirelessPhyExt set SINR_DataCapture_ 100.0; ;# 10 dB Phy/WirelessPhyExt set trace_dist_ 1e6 ;# PHY trace until distance of 1 Mio. km ("infinty") Phy/WirelessPhyExt set PHY_DBG_ 0 Mac/802_11Ext set CWMin_ 15 Mac/802_11Ext set CWMax_ 1023 Mac/802_11Ext set SlotTime_ 0.000013 Mac/802_11Ext set SIFS_ 0.000032 Mac/802_11Ext set ShortRetryLimit_ 7 Mac/802_11Ext set LongRetryLimit_ 4 Mac/802_11Ext set HeaderDuration_ 0.000040 Mac/802_11Ext set SymbolDuration_ 0.000008 Mac/802_11Ext set BasicModulationScheme_ 0 Mac/802_11Ext set use_802_11a_flag_ true Mac/802_11Ext set RTSThreshold_ 2346 Mac/802_11Ext set MAC_DBG 0 #===================================================================== #configure RF model parameters Antenna/OmniAntenna set Gt_ 1.0 Antenna/OmniAntenna set Gr_ 1.0 Propagation/Nakagami set use_nakagami_dist_ false Propagation/Nakagami set gamma0_ 2.0 Propagation/Nakagami set gamma1_ 2.0 Propagation/Nakagami set gamma2_ 2.0 Propagation/Nakagami set d0_gamma_ 200 Propagation/Nakagami set d1_gamma_ 500 Propagation/Nakagami set m0_ 1.0 Propagation/Nakagami set m1_ 1.0 Propagation/Nakagami set m2_ 1.0 Propagation/Nakagami set d0_m_ 80 Propagation/Nakagami set d1_m_ 200 #======================================================================= set val(chan) Channel/WirelessChannel set val(prop) Propagation/TwoRayGround set val(netif) Phy/WirelessPhyExt set val(mac) Mac/802_11Ext set val(ifq) Queue/DropTail/PriQueue set val(ll) LL set val(ant) Antenna/OmniAntenna set val(x) 1000 ;# X dimension of the topography set val(y) 1000 ;# Y dimension of the topography set val(ifqlen) 50 ;# max packet in ifq set val(nn) 3 ;# how many nodes are simulated set val(rp) DumbAgent set val(stop) 150 ;# simulation time # ===================================================================== set ns [new Simulator] set tracefd [open trace.tr w] set namtrace [open out.nam w] $ns trace-all $tracefd $ns namtrace-all-wireless $namtrace $val(x) $val(y) $ns namtrace-all $namtrace # set up topography object set topo [new Topography] $topo load_flatgrid $val(x) $val(y) #God (General Operations Director) is the object that is used to store global information about the state of the environment, network or nodes create-god $val(nn) # Create channel set chan_ [new $val(chan)] # nodes configuration $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 OFF \ -routerTrace OFF \ -macTrace ON \ -movementTrace ON \ -phyTrace OFF #Create nodes for {set i 0} {$i < $val(nn) } { incr i } { set node_($i) [$ns node] $node_($i) random-motion 0 ;# disable random motion set mac_($i) [$node_($i) getMac 0] } #Set node_(0) and node_(1) as the APs set AP_ADDR1 [$mac_(0) id] $mac_(0) ap $AP_ADDR1 $mac_(0) ScanType PASSIVE set AP_ADDR2 [$mac_(1) id] $mac_(1) ap $AP_ADDR2 $mac_(1) ScanType PASSIVE #$ns at 4.0 "$mac_(2) ScanType ACTIVE" # Provide initial location of mobile nodes $node_(0) set X_ 100.0 $node_(0) set Y_ 400.0 $node_(0) set Z_ 0.0 $node_(1) set X_ 400.0 $node_(1) set Y_ 400.0 $node_(1) set Z_ 0.0 $node_(2) set X_ 20.0 $node_(2) set Y_ 300.0 $node_(2) set Z_ 0.0 # Generation of movements $ns at 5.0 "$node_(2) setdest 700.0 300.0 80.0" for {set i 0} {$i < $val(nn) } {incr i} { set agent_($i) [new Agent/PBC] $ns attach-agent $node_($i) $agent_($i) $agent_($i) set Pt_ 1e-4 $agent_($i) set payloadSize 1000 $agent_($i) set peroidcaBroadcastInterval 0.2 $agent_($i) set peroidcaBroadcastVariance 0.05 $agent_($i) set modulationScheme 1 $agent_($i) PeriodicBroadcast ON } # Define node initial position in nam for {set i 0} {$i < $val(nn)} { incr i } { # 30 defines the node size for nam $ns initial_node_pos $node_($i) 30 } # Telling nodes when the simulation ends for {set i 0} {$i < $val(nn) } { incr i } { $ns at $val(stop) "$node_($i) reset"; } # ending nam and the simulation $ns at $val(stop) "$ns nam-end-wireless $val(stop)" $ns at $val(stop) "stop" $ns at 150.01 "puts \"end simulation\" ; $ns halt" proc stop {} { global ns tracefd namtrace $ns flush-trace close $tracefd close $namtrace exec nam out.nam & } $ns at 60 "stop" $ns run #------------------------------------------------------------------ I got the following error (while creating the access point): (_o19 cmd line 1) invoked from within "_o19 cmd ap 0" invoked from within "catch "$self cmd $args" ret" invoked from within "if [catch "$self cmd $args" ret] { set cls [$self info class] global errorInfo set savedInfo $errorInfo error "error when calling class $cls: $args" $..." (procedure "_o19" line 2) (SplitObject unknown line 2) invoked from within "$mac_(0) ap $AP_ADDR1" (file "wave_ap.tcl" line 115) ------------------------------------------------------- Note that, when i replace: set val(netif) Phy/WirelessPhyExt by set val(netif) Phy/WirelessPhy set val(mac) Mac/802_11Ext by set val(mac) Mac/802_11 I don't get any error and my program work well how i should create an access point using the IEEE 802.11p extension? thanks