Changes between Version 4 and Version 5 of Tutorials/g0WmLTE/Tutorial4-OAI/Tutorial0


Ignore:
Timestamp:
Jan 7, 2017, 12:51:23 AM (8 years ago)
Author:
msherman
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Tutorials/g0WmLTE/Tutorial4-OAI/Tutorial0

    v4 v5  
     1=== Under Construction ===
    12=== Basic OAI Tutorial ===
    23
    34[[TOC(noheading, Tutorials/g0WmLTE*, depth=3)]]
    45
    5 Two nodes...
    6 
    76==== Objective ====
    8 Primary objective is to establish the LTE connection between the SDR based  UE and eNB. In order to that we need to prepare configuration files on two nodes: node9-1 and node6-20.
     7This objective of this tutorial is to establish a LTE connection between the SDR based  UE and eNB. In order to that we need to prepare configuration files on two nodes in sandbox 1, node1-1 and node1-2.
    98
    109------------------------------
    1110
    12 The code was compiled with USRP support i.e. with:
    13 {{{
    14 cd trunk/targets/bin; build_oai.bash -l ENB -c -w USRP
    15 }}}
    16 More details on various build options are available on [https://twiki.eurecom.fr/twiki/bin/view/OpenAirInterface/AutoBuild OpenAirInterface build page].
     11The image was built following the tutorial available at:
     12[https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/HowToConnectOAIENBWithOAIUEWithoutS1Interface OAI no S1]
    1713
    18 In this tutorial we will use nodes with USRP b310 and have the basestation on node9-1 and modem on node6-20.
    1914
    2015==== Prepare the nodes ====
    2116
    22  1. Load the image with the !OpenAirInterface code on the nodes that have USRP B210 attached. After imaging the nodes are '''turned off automatically'''. [[CollapsibleStart(omf load -t inventory:topo:B210 -i oai-master.ndz)]] [[Include(Documentation/Short/LoadImage)]][[CollapsibleEnd]]
    23  1. Turn ON the nodes that successfully imaged (give them some time and check their status with '''omf stat''' before proceeding). [[CollapsibleStart(omf tell -a on -t system:topo:imaged)]][[Include(Documentation/Short/TellOn)]][[CollapsibleEnd]]
     171. Load the two images with the OAI code to nodes 1-1 and 1-2. This enables running the experiment with no compilation needed. [[Include(Documentation/Short/LoadImage)]][[CollapsibleEnd]]
     18 1. Load the eNB image to node1-1.
     19  1. {{{omf load -t node1-1 -i mf-oai-enb.ndz}}}
     20 1. Load the UE image to node1-2.
     21  1. {{{omf load -t node1-2 -i mf-oai-ue.ndz}}}
     221. Turn ON the nodes that successfully imaged (give them some time and check their status with '''omf stat''' before proceeding). [[CollapsibleStart(omf tell -a on -t system:topo:imaged)]][[Include(Documentation/Short/TellOn)]][[CollapsibleEnd]]
    2423
    2524==== Execute the experiment ====
    2625
    27   1. '''ssh into nodes:''' Open the two ssh sessions from the console to the two nodes
    28 || [[Image(node9-1.png, width=200)]] || [[Image(node6-20.png, width=200)]] ||
    29   2. '''Prepare configuration files:''' Make sure to have correct parameters in oai.conf file in roots home directory on the node (/root) as follows:
    30      i. Operating frequency band parameters:
    31           a. E-UTRA band
    32           b. Corresponding duplex mode (e.g. FDD/TDD),
    33           c. Downlink frequency [Hz], uplink frequency offset [Hz] (which is given in reference to the downlink frequency).
    34           d. LTE bandwidth: N_RB_DL = {6,15,25,50,75,100} corresponding to bandwidth = {1.4,3,5,10,15,20} MHz
    35           For example:
    36           {{{
    37     ////////// Physical parameters:
    38     component_carriers = (
    39                          {
    40                            frame_type                                         = "FDD";
    41                            eutra_band                                         = 7;
    42                            downlink_frequency                                 = 2660000000L;
    43                            uplink_frequency_offset                            = -120000000;
    44                            N_RB_DL                                            = 25; #N_RB_DL choice: 6,15,25,50,75,100
    45                          }
    46                          );
    47           }}}
    48           In this example, LTE operates in E-UTRA band 7 which allows the FDD mode. LTE operates at 5 MHz bandwidth around downlink and uplink center frequencies which are at 2660 MHz and 2540 MHz, respectively.
    49 
    50           Parameters in oai.conf can be varied as long as they are within predefined set of values which can be found in file ~/rel_0.1_26.10.2014/openair2/ENB_APP/enb_config.c or ~/trunk/openair2/ENB_APP/enb_config.c
    51 
    52      ii. Make sure to have correct IP address configuration for parameters "ENB_IPV4_ADDRESS_FOR_S1_MME" and "ENB_IPV4_ADDRESS_FOR_S1U" to match node numbers.   For example, for nodeX-Y, these IP address parameters become as "10.10.X.Y/16". So for our basestation node the relevant sections in the oai.conf file in /root directory on the nodes we should look like (we don't want MME support and have to adjust the ip addresses to match what we have on the control interface of the node):
    53      {{{
    54     ////////// MME parameters:
    55     mme_ip_address      = ( { ipv4       = "10.10.0.100";
    56                               ipv6       = "10:10:0::100";
    57                               active     = "no";
    58                               preference = "ipv4";
    59                             }
    60                           );
    61 
    62     NETWORK_INTERFACES :
    63     {
    64         ENB_INTERFACE_NAME_FOR_S1_MME            = "eth1";
    65         ENB_IPV4_ADDRESS_FOR_S1_MME              = "10.10.9.1/24";
    66 
    67         ENB_INTERFACE_NAME_FOR_S1U               = "eth1";
    68         ENB_IPV4_ADDRESS_FOR_S1U                 = "10.10.9.1/24";
    69         ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
    70     };
    71      }}}
    72   3. '''Run the lte-softmodem:''' Depending on whether you want to run it with or without mme, execute lte-softmodem on corresponding nodes:
    73 
    74  || || On the eNB node (node9-1) || On the UE node (node6-20)  ||
    75  || w/o MME || {{{ lte-softmodem-nomme -Ooai.conf -V}}} || {{{ lte-softmodem -U -Ooai.conf -C 2660000000 -V}}} ||
    76  || w MME || {{{ lte-softmodem -Ooai.conf -V}}} || {{{ lte-softmodem -U -Ooai.conf -C 2660000000 -V}}} ||
    77 
    78 If the above commands are executed with the "-d" flag and if X11 forwarding is enabled for the current ssh session, the signal tracer will pop out as shown in Figure 1 (not that this requires relatively high bandwidth).
    79 [[Image(Scope.png, width=300)]] ||
    80 
    81 [[CollapsibleStart(The output on both consoles should look something like this:)]]
    82 {{{
    83 [RRC][I][eNB 0] Init (UE State = RRC_IDLE)...
    84 [RRC][I][eNB 0] Checking release
    85 [RRC][I][eNB 0] Rel8 RRC
    86 [RRC][I][eNB 0] Configuration SIB2/3
    87 [MAC][I][rrc_mac_config_req] [CONFIG][eNB 0] Configuring MAC/PHY
    88 [MAC][I][rrc_mac_config_req] [CONFIG]SIB2/3 Contents (partial)
    89 [MAC][I][rrc_mac_config_req] [CONFIG]pusch_config_common.n_SB = 1
    90 [MAC][I][rrc_mac_config_req] [CONFIG]pusch_config_common.hoppingMode = 0
    91 [MAC][I][rrc_mac_config_req] [CONFIG]pusch_config_common.pusch_HoppingOffset = 0
    92 [MAC][I][rrc_mac_config_req] [CONFIG]pusch_config_common.enable64QAM = 0
    93 [MAC][I][rrc_mac_config_req] [CONFIG]pusch_config_common.groupHoppingEnabled = 1
    94 [MAC][I][rrc_mac_config_req] [CONFIG]pusch_config_common.groupAssignmentPUSCH = 0
    95 [MAC][I][rrc_mac_config_req] [CONFIG]pusch_config_common.sequenceHoppingEnabled = 0
    96 [MAC][I][rrc_mac_config_req] [CONFIG]pusch_config_common.cyclicShift  = 1
    97 [RRC][I][eNB 0] OPENAIR RRC IN....
    98 [SCTP][I][sctp_handle_new_association_req] Setsockopt SOL_SOCKET socket bound to : eth1
    99 [SCTP][I][sctp_handle_new_association_req] Converted ipv4 address 10.10.0.100 to network type
    100 [SCTP][I][sctp_handle_new_association_req] connectx assoc_id  1 in progress..., used 1 addresses
    101 [SCTP][I][sctp_handle_new_association_req] Inserted new descriptor for sd 56 in list, nb elements 1, assoc_id 1
    102 [SCTP][I][sctp_eNB_flush_sockets] Found data for descriptor 56
    103 [SCTP][I][sctp_eNB_read_from_socket] Received notification for sd 56, type 32769
    104 [SCTP][I][sctp_eNB_read_from_socket] Client association changed: 0
    105 [SCTP][I][sctp_get_peeraddresses] ----------------------
    106 [SCTP][I][sctp_get_peeraddresses] Peer addresses:
    107 [SCTP][I][sctp_get_peeraddresses]     - [10.10.0.100]
    108 [SCTP][I][sctp_get_peeraddresses] ----------------------
    109 [SCTP][I][sctp_get_sockinfo] ----------------------
    110 [SCTP][I][sctp_get_sockinfo] SCTP Status:
    111 [SCTP][I][sctp_get_sockinfo] assoc id .....: 1
    112 [SCTP][I][sctp_get_sockinfo] state ........: 3
    113 [SCTP][I][sctp_get_sockinfo] instrms ......: 8
    114 [SCTP][I][sctp_get_sockinfo] outstrms .....: 64
    115 [SCTP][I][sctp_get_sockinfo] fragmentation : 1452
    116 [SCTP][I][sctp_get_sockinfo] pending data .: 0
    117 [SCTP][I][sctp_get_sockinfo] unack data ...: 0
    118 [SCTP][I][sctp_get_sockinfo] rwnd .........: 106496
    119 [SCTP][I][sctp_get_sockinfo] peer info     :
    120 [SCTP][I][sctp_get_sockinfo]     state ....: 2
    121 [SCTP][I][sctp_get_sockinfo]     cwnd .....: 4380
    122 [SCTP][I][sctp_get_sockinfo]     srtt .....: 0
    123 [SCTP][I][sctp_get_sockinfo]     rto ......: 3000
    124 [SCTP][I][sctp_get_sockinfo]     mtu ......: 1500
    125 [SCTP][I][sctp_get_sockinfo] ----------------------
    126 [SCTP][I][sctp_eNB_read_from_socket] Comm up notified for sd 56, assigned assoc_id 1
    127 [S1AP][I][s1ap_eNB_generate_s1_setup_request] 3584 -> 00e000
    128 [SCTP][I][sctp_send_data] Successfully sent 53 bytes on stream 0 for assoc_id 1
    129 [SCTP][I][sctp_eNB_flush_sockets] Found data for descriptor 56
    130 [SCTP][I][sctp_eNB_read_from_socket] Received notification for sd 56, type 32777
    131 [SCTP][I][sctp_eNB_flush_sockets] Found data for descriptor 56
    132 [SCTP][I][sctp_eNB_read_from_socket] [1][56] Msg of length 27 received from port 36412, on stream 0, PPID 18
    133 [S1AP][I][s1ap_decode_s1ap_s1setupresponseies] Decoding message S1ap_S1SetupResponseIEs (/root/trunk/targets/RT/USER/objs/openair-cn/S1AP/s1ap_decoder.c:3544)
    134 [ENB_APP][I][eNB_app_task] [eNB 0] Received S1AP_REGISTER_ENB_CNF: associated MME 1
    135 Waiting for eNB application to be ready
    136 [HW][I][SCHED] eNB TX thread 0 started on CPU 5
    137 [HW][I][SCHED][eNB] eNB RX thread 0 started on CPU 0
    138 [HW][I][SCHED] eNB TX thread 1 started on CPU 0
    139 [HW][I][SCHED][eNB] eNB RX thread 1 started on CPU 5
    140 [HW][I][SCHED] eNB TX thread 2 started on CPU 2
    141 [HW][I][SCHED][eNB] eNB RX thread 2 started on CPU 0
    142 [HW][I][SCHED] eNB TX thread 3 started on CPU 5
    143 [HW][I][SCHED][eNB] eNB RX thread 3 started on CPU 5
    144 [HW][I][SCHED] eNB TX thread 4 started on CPU 4
    145 [HW][I][SCHED][eNB] eNB RX thread 4 started on CPU 1
    146 [HW][I][SCHED] eNB TX thread 5 started on CPU 4
    147 [HW][I][SCHED][eNB] eNB RX thread 5 started on CPU 4
    148 [HW][I][SCHED] eNB TX thread 6 started on CPU 0
    149 [HW][I][SCHED][eNB] eNB RX thread 6 started on CPU 1
    150 [HW][I][SCHED] eNB TX thread 7 started on CPU 1
    151 [HW][I][SCHED][eNB] eNB RX thread 7 started on CPU 0
    152 [HW][I][SCHED] eNB TX thread 8 started on CPU 1
    153 [HW][I][SCHED][eNB] eNB RX thread 8 started on CPU 0
    154 [HW][I][SCHED] eNB TX thread 9 started on CPU 0
    155 [HW][I][SCHED][eNB] eNB RX thread 9 started on CPU 1
    156 Creating main eNB_thread
    157 [SCHED][eNB] Started eNB main thread on CPU 4
    158 eNB_thread: mlockall in ...
    159 eNB_thread: mlockall out ...
    160 waiting for sync (eNB_thread)
    161 TYPE <CTRL-C> TO TERMINATE
    162 Entering ITTI signals handler
    163 
    164 }}}
    165 [[CollapsibleEnd]]
    166 
    167 
    168 ==== The command line parameters of lte-softmodem ====
    169 Relevant (i.e. for USRP command line parameters for the lte-softmodem command are:
    170  * -O file: eNB configuration file (this is the preferred way to pass basic parameters and there are several examples in $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE_EPC/CONF/
    171  * -g LEVEL: set the level of debug for the log generation (-g7 is quite high and useful to trace bugs in the procedures/protocols, -g9 even dumps packets at all levels of the protocol stack)
    172  * -d: enables xforms signal tracer
    173  * -U: start as UE (default: eNB)
    174  * -C freq: set carrier frequency to f0 for all chains (extension to independent frequencies trivial)
    175  * -V: enables the VCD debugging tool (this is a temporal event tracer, which is useful for real-time debugging using GTKWave)
    176  * -K file: ITTI logfile. ITTI is an intertask tracing utility which helps debugging with an EPC. It can traces all exchanges between RRC<->S1AP, RRC<->PDCP, PDCP<->S1
    177  * -S: do not exit for the missing slots, instead increment the counter.
    178  * --debug-ue-prach: only send prach but do not connect
    179  * --no-L2-connect: only runs rx, does not send prach
    180 
    181 More details on running lte-softmodem are available on [https://twiki.eurecom.fr/twiki/bin/view/OpenAirInterface/OpenAirLXRT OpenAirInterface real-time LTE softmodem page].
    18226
    18327[[CollapsibleStart(If you intend to use graphical user interface please make sure to install appropriate tools on your local machine and configure X11 forwarding.)]]