wiki:Tutorials/g0WmLTE/Tutorial4-OAI

Version 14 (modified by shsagari, 10 years ago) ( diff )

OpenAirInterface LTE

Prerequisites

This tutorial series assumes you have an ORBIT account, have scheduled a session on the ORBIT testbed, are familiar with SSH'ing into the testbed itself, and are familiar with the basics of running ORBIT experiments. If you have not done these things yet, you may wish to do so before taking a look at this slightly more advanced experiment. If you are unfamiliar with or are entirely new to ORBIT, you may wish to start here.

This tutorial also assumes basic familiarity with LTE standard. It uses OpenAirInterface open source software implementation of LTE basestation (eNodeB or eNB) and modem (user equipment or UE) developed at Eurecom. The tutorial given here is based on the OAI_real-time_LTEsoftmodem tutorial.

The image used for this experiment is oai-rel_0.1-full.ndz. Image uses Ubunutu 14.04 and has low-latency 3.17 kernel install and UHD drivers needed for B210/X310 USRPs on as well as the OpenAirInteface source code installed in /root/rel_0.1_26.10.2014

Prepare the nodes

  1. Load the image with the OpenAirInterface code on the nodes that have USRP B210 attached. After imaging the nodes are turned off automatically.

    omf load -t inventory:topo:B210 -i oai-rel_0.1-full.ndz

    Load an Image

    1. Before we begin using the nodes, it's a good idea to check their status first. This is done with the omf stat command.

      omf stat

      This omf command is used to display the power status of the node/domain.

      Usage: omf stat

      username@consoles.outdoor:omf stat
      Returns the status of the nodes in a testbed
      Usage:
            omf-5.4 stat [-h] [-s] [-t TOPOLOGY] [-c AGGREGATE]
       
            With: 
            -h, --help                print this help message
            -s, --summary             print a summary of the node status for the testbed
            -c, --config AGGREGATE    use testbed AGGREGATE
            -t, --topology TOPOLOGY   a valid topology file or description (defaults to 'system:topo:all')
       
            Some Examples: 
                          omf-5.4 stat
                          omf-5.4 stat -s
                          omf-5.4 stat -t omf.nicta.node1,omf.nicta.node2 -c sb1
                          omf-5.4 stat -t system:topo:all -c grid
      

      Individual nodes are identified in the output of stat command by their fully qualified domain name (FQDN). This establishes their "coordinates" and the "domain" to which they belong. Nodes in different domains typically can NOT see each other. Node can be in 1 of 3 states:

      POWEROFF Node is Available for use but turned off
      POWERON Node is Available and is on
      NOT REGISTERED Node is not Available for use

      Example: omf stat on the outdoor domain

      user@console.outdoor:~# omf stat -t all
      
       INFO NodeHandler: OMF Experiment Controller 5.4 (git 6d34264)
       INFO NodeHandler: Slice ID: default_slice (default)
       INFO NodeHandler: Experiment ID: default_slice-2012-10-14t14.42.15-04.00
       INFO NodeHandler: Message authentication is disabled
       INFO Experiment: load system:exp:stdlib
       INFO property.resetDelay: value = 210 (Fixnum)
       INFO property.resetTries: value = 1 (Fixnum)
       INFO Experiment: load system:exp:eventlib
       INFO Experiment: load system:exp:stat
       INFO Topology: Loading topology ''.
       INFO property.nodes: value = "system:topo:all" (String)
       INFO property.summary: value = false (FalseClass)
       INFO Topology: Loading topology 'system:topo:all'.
       Talking to the CMC service, please wait
      -----------------------------------------------
       Domain: outdoor.orbit-lab.org
       Node: node3-6.outdoor.orbit-lab.org   	 State: NOT REGISTERED
       Node: node3-3.outdoor.orbit-lab.org   	 State: POWEROFF
       Node: node2-10.outdoor.orbit-lab.org    State: POWEROFF
       Node: node1-10.outdoor.orbit-lab.org    State: POWEROFF
       Node: node1-8.outdoor.orbit-lab.org   	 State: POWERON
       Node: node1-6.outdoor.orbit-lab.org   	 State: POWERON
       Node: node3-2.outdoor.orbit-lab.org   	 State: POWEROFF
       Node: node3-1.outdoor.orbit-lab.org   	 State: POWEROFF
       Node: node1-3.outdoor.orbit-lab.org   	 State: POWERON
       Node: node3-5.outdoor.orbit-lab.org   	 State: POWEROFF
       Node: node2-5.outdoor.orbit-lab.org   	 State: NOT REGISTERED
       Node: node1-2.outdoor.orbit-lab.org   	 State: POWERON
      -----------------------------------------------
       INFO Experiment: Switching ON resources which are OFF
       INFO EXPERIMENT_DONE: Event triggered. Starting the associated tasks.
       INFO NodeHandler: 
       INFO NodeHandler: Shutting down experiment, please wait...
       INFO NodeHandler: 
       INFO run: Experiment default_slice-2012-10-14t14.42.15-04.00 finished after 0:6
      

    2. It is recommended that the node be in the POWEROFF state prior to any experiment process. If the node is in the POWERON state you can use the omf tell command to get the node into the off state.

      omf tell

      OMF command to control the power state/reset the nodes.

      Usage: omf tell

      user@console:omf tell
      Switch ON/OFF and reboot the nodes in a testbed
      Usage:
            omf tell [-h] -t TOPOLOGY -a ACTION [-c AGGREGATE]
       
            With: 
            -h, --help           print this help message
       
            -a, --action ACTION  specify an action
            ACTION:
            on              turn node(s) ON
            offs            turn node(s) OFF (soft)
            offh            turn node(s) OFF (hard)
            reboot          reboots node(s) (soft)
            reset           resets node(s) (hard)
       
            -h, --help                print this help message
            -t, --topology TOPOLOGY   a valid topology file or description (MANDATORY)
            -c, --config AGGREGATE    use testbed AGGREGATE
       
            Some Examples: 
                          omf tell -a reset -t node1-1.grid.orbit-lab.org
                          omf tell -a on -t system:topo:all -c grid
                          omf tell -a reboot -t node1-1
                          omf tell -a offh -t [1..2,1..5]
                          omf tell -a offh -t system:topo:all
                          omf tell -a reset -t system:topo:imaged
      

      The commands are: on, offh (equivalent to pulling out the power cord), offs (software shutdown), reboot (software reboot) and reset (hardware reset).

      Example: turn off node1-1 on the outdoor domain

      user@console.outdoor:~# omf tell -a offh -t node1-1
      
       INFO NodeHandler: OMF Experiment Controller 5.4 (git 3fb37b9)
       INFO NodeHandler: Reading configuration file /etc/omf-expctl-5.4/services.yaml
       INFO NodeHandler: Add domain http - http://internal1.orbit-lab.org:5054/
       INFO NodeHandler: Add domain http - http://repository1.orbit-lab.org:5054/
       INFO NodeHandler: Slice ID: default_slice (default)
       INFO NodeHandler: Experiment ID: default_slice-2014-09-30t00.24.28.504-04.00
       INFO NodeHandler: Message authentication is disabled
       INFO Experiment: load system:exp:stdlib
       INFO property.resetDelay: resetDelay = 230 (Fixnum)
       INFO property.resetTries: resetTries = 1 (Fixnum)
       INFO Experiment: load system:exp:eventlib
       INFO Experiment: load system:exp:winlib
       INFO Experiment: load system:exp:tell
       INFO property.nodes: nodes = "node1-1" (String)
       INFO property.command: command = "offh" (String)
      
      Talking to the CMC service, please wait
      -----------------------------------------------
       Node: node1-1.outdoor.orbit-lab.org   	 Reply: OK
      -----------------------------------------------
      
       INFO EXPERIMENT_DONE: Event triggered. Starting the associated tasks.
       INFO NodeHandler: 
       INFO NodeHandler: Shutting down experiment, please wait...
       INFO NodeHandler: 
       INFO run: Experiment default_slice-2014-09-30t00.24.28.504-04.00 finished after 0:10
      

    3. Once node set is on an POWEROFF state, load an image with omf load command

      omf load

      Load command is used to put an image onto the hard disk of the node.

      Usage: omf load

      Install a given disk image on the nodes in a testbed
      Usage:
            omf-5.4 load [-h] [-i IMAGE_PATH] [-o TIMEOUT] [-t TOPOLOGY] [-c AGGREGATE]
       
            With: 
            -h, --help                print this help message
            -c, --config AGGREGATE    use testbed AGGREGATE
            -t, --topology TOPOLOGY   a valid topology file or description (defaults to 'system:topo:all')
                                      (if a file 'TOPOLOGY' doesn't exist, interpret it as a comma-separated list of nodes)
            -i, --image IMAGE         disk image to load
                                      (default is 'baseline.ndz', the latest stable baseline image)
            -o, --timeout TIMEOUT     a duration (in sec.) after which imageNodes should stop waiting for
                                      nodes that have not finished their image installation
                                      (default is 800 sec, i.e. 13min 20sec)
                --outpath PATH        Path where the resulting Topologies should be saved
                                      (default is '/tmp')
                --outprefix PREFIX    Prefix to use for naming the resulting Topologies
                                      (default is your experiment ID)
       
            Some Examples: 
                          omf-5.4 load
                          omf-5.4 load -t system:topo:all -i baseline-2.4.ndz
                          omf-5.4 load -t omf.nicta.node1 -i wireless-2.6.ndz
                          omf-5.4 load -t omf.nicta.node1,omf.nicta.node2 -i baseline.ndz -o 400
                          omf-5.4 load -t system:topo:circle -i my_Own_Image.ndz
                          omf-5.4 load -t my_Own_Topology -i baseline-2.2.ndz -t 600 -c grid
                          omf-5.4 load -t my_Own_Topology --outpath ./ --outprefix my_Own_Prefix
      

      Two important arguments are TOPOLOGY describing the set of nodes one wishes to image , and !IMAGE specifying the name of the image one wants to load the nodes with. If the imaging process does not does not finish within the default timeout period, that period can be increase by using the -o flag (e.g. -o 1600). Typical command to load both nodes of sandbox 1 with the baseline image would look like:

      Example: omf load-i baseline.ndz -t node1-1

      username@console.sb3:~$ omf load -i baseline.ndz -t node1-1
      
      DEBUG FQDN:console.sb3.orbit-lab.org:
       INFO NodeHandler: OMF Experiment Controller 5.4 (git 861d645)
       INFO NodeHandler: Reading configuration file /etc/omf-expctl-5.4/services.yaml
       INFO NodeHandler: Add domain http - http://internal1.orbit-lab.org:5054/
       INFO NodeHandler: Add domain http - http://repository1.orbit-lab.org:5054/
       INFO NodeHandler: Add domain http - http://external1.orbit-lab.org:5054/
       INFO NodeHandler: Slice ID: pxe_slice
       INFO NodeHandler: Experiment ID: pxe_slice-2018-08-08t13.41.37.814-04.00
       INFO NodeHandler: Message authentication is disabled
       INFO Experiment: load system:exp:stdlib
       INFO property.resetDelay: resetDelay = 230 (Fixnum)
       INFO property.resetTries: resetTries = 1 (Fixnum)
       INFO Experiment: load system:exp:eventlib
       INFO Experiment: load system:exp:winlib
       INFO Experiment: load system:exp:imageNode
       INFO property.nodes: nodes = "node1-1" (String)
       INFO property.image: image = "baseline.ndz" (String)
       INFO property.domain: domain = "sb3.orbit-lab.org" (String)
       INFO property.outpath: outpath = "/tmp" (String)
       INFO property.outprefix: outprefix = "pxe_slice-2018-08-08t13.41.37.814-04.00" (String)
       INFO property.timeout: timeout = 800 (Fixnum)
       INFO property.resize: resize = nil (NilClass)
       INFO Topology: Loaded topology 'system:topo:registered'.
       INFO property.resetDelay: resetDelay = 100 (Fixnum)
       INFO Experiment: Resetting resources
       INFO stdlib: Waiting for nodes (Up/Down/Total): 0/1/1 - (still down: node1-1.sb3.orbit-lab.org) [0 sec.]
       INFO stdlib: Waiting for nodes (Up/Down/Total): 0/1/1 - (still down: node1-1.sb3.orbit-lab.org) [10 sec.]
       INFO stdlib: Waiting for nodes (Up/Down/Total): 0/1/1 - (still down: node1-1.sb3.orbit-lab.org) [20 sec.]
       INFO stdlib: Waiting for nodes (Up/Down/Total): 0/1/1 - (still down: node1-1.sb3.orbit-lab.org) [30 sec.]
       INFO stdlib: Waiting for nodes (Up/Down/Total): 0/1/1 - (still down: node1-1.sb3.orbit-lab.org) [40 sec.]
       INFO stdlib: Waiting for nodes (Up/Down/Total): 0/1/1 - (still down: node1-1.sb3.orbit-lab.org) [50 sec.]
       INFO exp: Progress(0/0/1): 0/0/0 min(node1-1.sb3.orbit-lab.org)/avg/max (59) - Timeout: 790 sec.
       INFO ALL_UP: Event triggered. Starting the associated tasks.
       INFO BRING_UP: Event triggered. Starting the associated tasks.
       INFO Experiment: Bringing up resources
       INFO exp: Progress(0/0/1): 50/50/50 min(node1-1.sb3.orbit-lab.org)/avg/max (59) - Timeout: 780 sec.
       INFO exp: Progress(0/0/1): 80/80/80 min(node1-1.sb3.orbit-lab.org)/avg/max (59) - Timeout: 770 sec.
       INFO exp: Progress(1/0/1): 100/100/100 min()/avg/max (59) - Timeout: 760 sec.
       INFO exp:  -----------------------------
       INFO exp:  Imaging Process Done
       INFO exp:  1 node successfully imaged - Topology saved in '/tmp/pxe_slice-2018-08-08t13.41.37.814-04.00-topo-success.rb'
       INFO exp:  -----------------------------
       INFO EXPERIMENT_DONE: Event triggered. Starting the associated tasks.
       INFO NodeHandler:
       INFO NodeHandler: Shutting down experiment, please wait...
       INFO NodeHandler:
       INFO NodeHandler: Shutdown flag is set - Turning Off the resources
       INFO run: Experiment pxe_slice-2018-08-08t13.41.37.814-04.00 finished after 1:44
      
      

      If the node is in the NOT REGISTERED state, you may need to wait for it to recover the POWEROFF state (it some times requires a few moments for the services to sync up). If the node takes more than 60 seconds to come out of the NODE NOT AVAILABLE state please report it to an administrator.
  2. Turn ON the nodes that successfully imaged (give them some time and check their status with omf stat before proceeding).

    omf tell -a on -t system:topo:imaged

    Turn the Nodes ON

    To turn the nodes on use omf tell command:

    omf tell

    OMF command to control the power state/reset the nodes.

    Usage: omf tell

    user@console:omf tell
    Switch ON/OFF and reboot the nodes in a testbed
    Usage:
          omf tell [-h] -t TOPOLOGY -a ACTION [-c AGGREGATE]
     
          With: 
          -h, --help           print this help message
     
          -a, --action ACTION  specify an action
          ACTION:
          on              turn node(s) ON
          offs            turn node(s) OFF (soft)
          offh            turn node(s) OFF (hard)
          reboot          reboots node(s) (soft)
          reset           resets node(s) (hard)
     
          -h, --help                print this help message
          -t, --topology TOPOLOGY   a valid topology file or description (MANDATORY)
          -c, --config AGGREGATE    use testbed AGGREGATE
     
          Some Examples: 
                        omf tell -a reset -t node1-1.grid.orbit-lab.org
                        omf tell -a on -t system:topo:all -c grid
                        omf tell -a reboot -t node1-1
                        omf tell -a offh -t [1..2,1..5]
                        omf tell -a offh -t system:topo:all
                        omf tell -a reset -t system:topo:imaged
    

    The commands are: on, offh (equivalent to pulling out the power cord), offs (software shutdown), reboot (software reboot) and reset (hardware reset).

    Example: turn off node1-1 on the outdoor domain

    user@console.outdoor:~# omf tell -a offh -t node1-1
    
     INFO NodeHandler: OMF Experiment Controller 5.4 (git 3fb37b9)
     INFO NodeHandler: Reading configuration file /etc/omf-expctl-5.4/services.yaml
     INFO NodeHandler: Add domain http - http://internal1.orbit-lab.org:5054/
     INFO NodeHandler: Add domain http - http://repository1.orbit-lab.org:5054/
     INFO NodeHandler: Slice ID: default_slice (default)
     INFO NodeHandler: Experiment ID: default_slice-2014-09-30t00.24.28.504-04.00
     INFO NodeHandler: Message authentication is disabled
     INFO Experiment: load system:exp:stdlib
     INFO property.resetDelay: resetDelay = 230 (Fixnum)
     INFO property.resetTries: resetTries = 1 (Fixnum)
     INFO Experiment: load system:exp:eventlib
     INFO Experiment: load system:exp:winlib
     INFO Experiment: load system:exp:tell
     INFO property.nodes: nodes = "node1-1" (String)
     INFO property.command: command = "offh" (String)
    
    Talking to the CMC service, please wait
    -----------------------------------------------
     Node: node1-1.outdoor.orbit-lab.org   	 Reply: OK
    -----------------------------------------------
    
     INFO EXPERIMENT_DONE: Event triggered. Starting the associated tasks.
     INFO NodeHandler: 
     INFO NodeHandler: Shutting down experiment, please wait...
     INFO NodeHandler: 
     INFO run: Experiment default_slice-2014-09-30t00.24.28.504-04.00 finished after 0:10
    

Execute the experiment

Primary objective is to establish the LTE connection between the UE and eNB. node6-20 = eNB node19-18 = UE…

  1. In oai.conf file, 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".
  1. Execute commands as
On the eNB node (node6-20) On the UE node (node19-18)
lte-softmodem -Ooai.conf lte-softmodem -U -Ooai.conf with MME support (in oai.conf, MME parameter should be: active = "yes")
lte-softmodem-nomme -Ooai.conf lte-softmodem-nomme -U -Ooai.conf with no MME support (in oai.conf, MME parameter should be: active = "no")
Add "-d" flag if you have enabled X11 forwarding and want to see the signal tracer (requires relatively high bandwidth). No image "Scope.png" attached to Tutorials/g0WmLTE/Tutorial4-OAI

The output on both consoles should look something like this:

root@node19-18:~# lte-softmodem -Ooai.conf
linux; GNU C++ version 4.8.2; Boost_105400; UHD_003.008.000-release

# /dev/cpu_dma_latency set to 0us
num component carrier 1 

----------------------------------------------------------------------
 ENB CONFIG FILE CONTENT LOADED (TBC):
----------------------------------------------------------------------
ENB CONFIG for instance 0:

	eNB name:           	eNB_Eurecom_LTEBox:
	eNB ID:             	3584:
	Cell type:          	CELL_MACRO_ENB:
	TAC:                	1:
	MCC:                	208:
	MNC:                	92:
	eutra band for CC 0:         	7:
	downlink freq for CC 0:      	2680000000:
	uplink freq for CC 0:        	-120000000:

	Cell ID for CC 0:	0:
	N_RB_DL for CC 0:	25:
	rach_numberOfRA_Preambles for CC 0:	15:
	rach_preamblesGroupAConfig for CC 0:	0:
	rach_powerRampingStep for CC 0:	2:
	rach_preambleInitialReceivedTargetPower for CC 0:	6:
	rach_preambleTransMax for CC 0:	6:
	rach_raResponseWindowSize for CC 0:	7:
	rach_macContentionResolutionTimer for CC 0:	5:
	rach_maxHARQ_Msg3Tx for CC 0:	4:
	bcch_modificationPeriodCoeff for CC 0:	0:
	pcch_defaultPagingCycle for CC 0:	2:
	pcch_nB for CC 0:	2:
	prach_root for CC 0:	0:
	prach_config_index for CC 0:	0:
	prach_high_speed for CC 0:	0:
	prach_zero_correlation for CC 0:	1:
	prach_freq_offset for CC 0:	2:
	pdsch_referenceSignalPower for CC 0:	-26:
	pdsch_p_b for CC 0:	0:
	pusch_n_SB for CC 0:	1:
	pusch_hoppingMode for CC 0:	0:
	pusch_hoppingOffset for CC 0:	0:
	pusch_enable64QAM for CC 0:	0:
	pusch_groupHoppingEnabled for CC 0:	1:
	pusch_groupAssignment for CC 0:	0:
	pusch_sequenceHoppingEnabled for CC 0:	0:
	pusch_nDMRS1 for CC 0:	1:
	pucch_delta_shift for CC 0:	0:
	pucch_nRB_CQI for CC 0:	1:
	pucch_nCS_AN for CC 0:	0:
	pucch_n1_AN for CC 0:	32:
	srs_enable for CC 0:	0:
	pusch_p0_Nominal for CC 0:	-108:
	pucch_p0_Nominal for CC 0:	-108:
	pusch_alpha for CC 0:	7:
	pucch_deltaF_Format1 for CC 0:	2:
	pucch_deltaF_Format1b for CC 0:	1:
	pucch_deltaF_Format2 for CC 0:	1:
	pucch_deltaF_Format2a for CC 0:	1:
	pucch_deltaF_Format2b for CC 0:	1:
	msg3_delta_Preamble for CC 0:	6:
	ul_CyclicPrefixLength for CC 0:	0:
	ue_TimersAndConstants_t300 for CC 0:	5:
	ue_TimersAndConstants_t301 for CC 0:	5:
	ue_TimersAndConstants_t310 for CC 0:	5:
	ue_TimersAndConstants_n310 for CC 0:	7:
	ue_TimersAndConstants_t311 for CC 0:	3:
	ue_TimersAndConstants_n311 for CC 0:	0:

	Global log level:  	info
	HW log level:      	info
	PHY log level:     	info
	MAC log level:     	info
	RLC log level:     	info
	PDCP log level:    	info
	RRC log level:     	info

--------------------------------------------------------
Downlink frequency/ uplink offset of CC_id 0 set to 2680000000/-120000000
log init done
configuring for eNB
reported resolution = 1 ns
[PHY][I][INIT] OFDM size             : 512
[PHY][I][INIT] FRAME_LENGTH_SAMPLES  : 153600
[PHY][I][INIT] NUMBER_OF_SYMBOLS_PER_FRAME  : 140
[PHY][I][INIT] Initializing FFT engine using 512 point fft (9, 0x342f6500)
[PHY][I][INIT] twiddle_fft= 0x35087940, twiddle_ifft=0x3508f940, twiddle_fft_tim
es4=0x35097940,twiddle_ifft_times4=0x3509f940
[PHY][I][eNB 0] Initializing DL_FRAME_PARMS : N_RB_DL 25, PHICH Resource 1, PHIC
H Duration 0
[PHY][I]init eNB: Nid_cell 0
[PHY][I]init eNB: frame_type 0,tdd_config 3
[PHY][I]init eNB: number of ue max 16 number of enb max 7 number of harq pid max
 8
HW: Configuring card 0
-- Operating over USB 3.
-- Initialize CODEC control...
-- Initialize Radio control...
-- Performing register loopback test... pass
-- Performing register loopback test... pass
-- Performing CODEC loopback test... pass
-- Performing CODEC loopback test... pass
-- Asking for clock rate 32.000000 MHz
-- Actually got clock rate 32.000000 MHz
-- Performing timer loopback test... pass
-- Performing timer loopback test... pass
-- Asking for clock rate 30.720000 MHz
-- Actually got clock rate 30.720000 MHz
-- Performing timer loopback test... pass
-- Performing timer loopback test... pass
-- Successfully tuned to 2680.000000 MHz
-- 
-- Successfully tuned to 2560.000000 MHz
-- 

Actual TX sample rate: 7.680000MSps...
Actual RX sample rate: 7.680000MSps...
Actual TX frequency: 2.680000GHz...
Actual RX frequency: 2.560000GHz...
Actual TX gain: 89.750000...
Actual RX gain: 62.000000...
Actual TX bandwidth: 56.000000M...
Actual RX bandwidth: 56.000000M...
Actual TX antenna: TX/RX...
Actual RX antenna: RX2...
Device timestamp: 0.000445...
[MAC][I][l2_init] [MAIN] MAC_INIT_GLOBAL_PARAM IN...
[MAC][I][mac_init_global_param] [MAIN] CALLING RLC_MODULE_INIT...
[MAC][I][mac_init_global_param] [MAIN] RLC_MODULE_INIT OK, malloc16 for mac_rlc_
xface...
[MAC][I][mac_init_global_param] [MAIN] malloc16 OK, mac_rlc_xface @ 0x37870b60
[MAC][I][mac_init_global_param] [MAIN] RLC interface setup and init
[PDCP][I]PDCP layer has been initialized
[MAC][I][mac_init_global_param] [MAIN] Init Global Param Done
[MAC][I][l2_init] [MAIN] init eNB MAC functions  
[MAC][I][l2_init] [MAIN] init UE MAC functions 
[MAC][I][l2_init] [MAIN] PHY Frame configuration 
[MAC][I][mac_top_init] [MAIN] Init function start:Nb_UE_INST=0
[MAC][I][mac_top_init] [MAIN] Init function start:Nb_eNB_INST=1
[MAC][I][mac_top_init] [MAIN] calling RRC
[RRC][I][eNB] handover active state is 0 
[MAC][I][mac_top_init] [MAIN][INIT] Init function finished
[MAC][I][mrbch_phy_sync_failure] [eNB 0] Frame 0: PHY Sync failure 
[SCTP][I][sctp_eNB_task] Starting SCTP layer
[S1AP][I][s1ap_eNB_task] Starting S1AP layer
[UDP][I][udp_enb_init] Initializing UDP task interface
[UDP][I][udp_enb_init] Initializing UDP task interface: DONE
[GTPV1U][I][gtpv1u_eNB_init] Initializing GTPU stack 0x12d8e60
ITTI tasks created
[OTG][I][init_all_otg] init done: init_all_otg
[OTG][I][init_seeds] set taus seed to 0 done 
[OTG][I][init_predef_traffic] OTG_CONFIG BCBR, src = 0, dst = 0, dist type for s
ize = 5
[OTG][I][init_predef_traffic] OTG_CONFIG BCBR, src = 0, dst = 1, dist type for s
ize = 5
[OTG][I][init_predef_traffic] OTG_CONFIG BCBR, src = 1, dst = 0, dist type for s
ize = 5
[OTG][I][init_predef_traffic] OTG_CONFIG BCBR, src = 1, dst = 1, dist type for s
ize = 5
setup_eNB_buffers: frame_parms = 0x7f7a335d78e0
rxdata[0] @ 0x378d7a00 (0x378d7a00)
txdata[0] @ 0x37922a10
Setting eNB buffer to all-RX
[UDP][I][udp_eNB_create_socket] Initializing UDP for local address 10.10.19.18 w
ith port 2152
[UDP][I][udp_eNB_create_socket] Inserting new descriptor for task 11, sd 43
[UDP][I][udp_eNB_create_socket] Initializing UDP for local address 10.10.19.18 w
ith port 2152: DONE
Waiting for eNB application to be ready
[RRC][I][eNB 0] Received RRC_CONFIGURATION_REQy .    
[S1AP][I][s1ap_eNB_handle_register_eNB] Registered new eNB[0] and macro eNB id 3
584
[RRC][I][eNB 0] Init (UE State = RRC_IDLE)...
[RRC][I][eNB 0] Checking release 
[RRC][I][eNB 0] Rel8 RRC
[RRC][I][eNB 0] Configuration SIB2/3
[MAC][I][rrc_mac_config_req] [CONFIG][eNB 0] Configuring MAC/PHY
[MAC][I][rrc_mac_config_req] [CONFIG]SIB2/3 Contents (partial)
[MAC][I][rrc_mac_config_req] [CONFIG]pusch_config_common.n_SB = 1
[MAC][I][rrc_mac_config_req] [CONFIG]pusch_config_common.hoppingMode = 0
[MAC][I][rrc_mac_config_req] [CONFIG]pusch_config_common.pusch_HoppingOffset = 0
[MAC][I][rrc_mac_config_req] [CONFIG]pusch_config_common.enable64QAM = 0
[MAC][I][rrc_mac_config_req] [CONFIG]pusch_config_common.groupHoppingEnabled = 1
[MAC][I][rrc_mac_config_req] [CONFIG]pusch_config_common.groupAssignmentPUSCH = 
0
[MAC][I][rrc_mac_config_req] [CONFIG]pusch_config_common.sequenceHoppingEnabled 
= 0
[MAC][I][rrc_mac_config_req] [CONFIG]pusch_config_common.cyclicShift  = 1
[RRC][I][eNB 0] OPENAIR RRC IN....
[SCTP][I][sctp_handle_new_association_req] Setsockopt SOL_SOCKET socket bound to
 : eth1
[SCTP][I][sctp_handle_new_association_req] Converted ipv4 address 10.10.0.100 to
 network type
[SCTP][I][sctp_handle_new_association_req] connectx assoc_id  2 in progress..., 
used 1 addresses
[SCTP][I][sctp_handle_new_association_req] Inserted new descriptor for sd 44 in 
list, nb elements 1, assoc_id 2
[SCTP][I][sctp_eNB_flush_sockets] Found data for descriptor 44
[SCTP][I][sctp_eNB_read_from_socket] Received notification for sd 44, type 32769
[SCTP][I][sctp_eNB_read_from_socket] Client association changed: 0
[SCTP][I][sctp_get_peeraddresses] ----------------------
[SCTP][I][sctp_get_peeraddresses] Peer addresses:
[SCTP][I][sctp_get_peeraddresses]     - [10.10.0.100]
[SCTP][I][sctp_get_peeraddresses] ----------------------
[SCTP][I][sctp_get_sockinfo] ----------------------
[SCTP][I][sctp_get_sockinfo] SCTP Status:
[SCTP][I][sctp_get_sockinfo] assoc id .....: 2
[SCTP][I][sctp_get_sockinfo] state ........: 4
[SCTP][I][sctp_get_sockinfo] instrms ......: 8
[SCTP][I][sctp_get_sockinfo] outstrms .....: 64
[SCTP][I][sctp_get_sockinfo] fragmentation : 1452
[SCTP][I][sctp_get_sockinfo] pending data .: 0
[SCTP][I][sctp_get_sockinfo] unack data ...: 0
[SCTP][I][sctp_get_sockinfo] rwnd .........: 106496
[SCTP][I][sctp_get_sockinfo] peer info     :
[SCTP][I][sctp_get_sockinfo]     state ....: 2
[SCTP][I][sctp_get_sockinfo]     cwnd .....: 4380
[SCTP][I][sctp_get_sockinfo]     srtt .....: 0
[SCTP][I][sctp_get_sockinfo]     rto ......: 3000
[SCTP][I][sctp_get_sockinfo]     mtu ......: 1500
[SCTP][I][sctp_get_sockinfo] ----------------------
[SCTP][I][sctp_eNB_read_from_socket] Comm up notified for sd 44, assigned assoc_
id 2

The command line parameters of lte-softmodem

  1. -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/
  2. -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)
  3. -d: enables xforms signal tracer
  4. -U: start as UE (default: eNB)
  5. -C freq: set carrier frequency to f0 for all chains (extension to independent frequencies trivial)
  6. -V: enables the VCD debugging tool (this is a temporal event tracer, which is useful for real-time debugging using GTKWave)
  7. -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
  8. -S: do not exit for the missing slots, instead increment the counter.
  9. —debug-ue-prach: only send prach but do not connect
  10. —no-L2-connect: only runs rx, does not send prach
Note: See TracWiki for help on using the wiki.