顯示具有 UMTS 標籤的文章。 顯示所有文章
顯示具有 UMTS 標籤的文章。 顯示所有文章

2014年1月4日 星期六

Patch NS2 to Support UMTS

Patch NS2 to Support UMTS(3G)
1. Download EURANE module file
    go to http://eurane.ti-wmc.nl/
    ex. ns-2.30_eurane-1.12.diff.gz
    if your ns2 version is 2.35, patch file in here(ns-2.35_eurane-1.12.diff).[1]
2. Decompress EURANE module file to ns2's home directory
3. run patch
  Change directory to ns2's home directory
  $  patch -p1 < ns-2.30_eurane-1.12.diff  <enter>
4. make or install
5. Download testscripts from http://eurane.ti-wmc.nl/
    ex.test_tcp.tcl (need idealtrace and SNRBLERMatrix.gz files)
6. run ns

ps1. If it have some problem,you modified some file by yourself.
[Makefile.in]
-CCOPT  = @V_CCOPT@
+CCOPT  = -Wall @V_CCOPT@

        apps/pbc.o \
+       umts/am.o umts/classifier-sport.o umts/demuxer.o \
+       umts/demuxerRtModule.o  umts/networkInterface.o \
+       umts/nif-classifier.o  umts/tcs.o umts/um.o \
+       umts/umtslink.o umts/umtstrace.o \
+       umts/hsdpalink.o umts/um-hs.o \
+       umts/umts-timers.o umts/virtual_umtsmac.o \
+       umts/am-hs.o \
+       umts/umts-queue.o umts/dummy_drop_tail.o \
+       umts/error_model.o tools/coot.o \

        tcl/lib/ns-qsnode.tcl \
+       tcl/lib/ns-umts.tcl \
        @V_NS_TCL_LIB_STL@

[common/packet.h]
-static packet_t       PT_NTYPE = 73; // This MUST be the LAST one
+
+// UMTS - used by hdr_cmn class for tracing purpose
+static const packet_t PT_UM = 73;
+static const packet_t PT_AMDA = 74;
+static const packet_t PT_AMPA= 75;
+static const packet_t PT_AMPBPA = 76;
+static const packet_t PT_AMBA= 77;
+static const packet_t PT_AMPBBA= 78;
+// Used for tracking HARQ transmissions (MAC-hs PDUs)
+static const packet_t PT_AMDA_H1= 79;
+static const packet_t PT_AMDA_H2= 80;
+static const packet_t PT_AMDA_H3= 81;
+       // End UMTS
+// COOT packet
+static const packet_t PT_COOT= 82;
+
+// insert new packet types here
+static packet_t       PT_NTYPE = 83; // This MUST be the LAST one

 #endif //STL
+               // UMTS
+               name_[PT_UM] = "UM";
+                name_[PT_AMDA] = "AM_Data";
+                name_[PT_AMPA] = "AM_Pos_Ack";
+                name_[PT_AMPBPA] = "AM_Piggyback_Ack";
+                name_[PT_AMBA] = "AM_Bitmap_ack";
+                name_[PT_AMPBBA] = "AM_Piggyback_Back";
+               // For HARQ transmission tracking
+               name_[PT_AMDA_H1] = "HARQ_1";
+               name_[PT_AMDA_H2] = "HARQ_2";
+               name_[PT_AMDA_H3] = "HARQ_3";
+               // End UMTS


+               // coot
+               name_[PT_COOT]="coot";
+
                // Bell Labs (PackMime OL)