YateeNB commands

The purpose of this page is to document rmanager commands in the yateenb module.

This content should be move to the public wiki when it is presentable.

Full-Module Commands

These are commands that touch multiple layers in the yateenb module.

"enb start|stop|restart"

These commands start, stop, and restart the yateenb module independently of the Yate engine and the rest of the eNodeB.

"enb time"

This command shows the processing timeline inside the yateenb module, in terms of what subframe is being processed in each layer of UL and DL and the number of samples of lag between the RX and TX sides of the radio interface.


> enb time
Scheduler:   61476736|601:6:0:0
Modulator:   61476732|601:2:0:0 (860674248)
Radio TX:    61476730|601:0:0:0 (860674220) sample=472141286400
Radio RX:    61476729|600:9:0:0 (860674206) sample=472141278720
Demodulator: 61476729|600:9:0:0 (860674206)
TX-RX:       1|0:1:0:0 (14) sample: 7680
RadioDevTX:  472141276087 delta_from_us=-10313
RadioDevRX:  472141279717 delta_from_us=997

"enb measurements" commands

Commands in the “measurements” group operate on the KPI-related measurements in the yateenb module. These measurements are kept in the ENB by an object called the Measurement Engine.

"enb measurements report"

Clear the MeasurementEngine and start a new "baseline" for measurement recording.

Print only summations and averages from the MeasurementEngine.

"enb measurements pat="

Print measurements with names matching a regular expression. For example, this can be used to show the raw information used to generate “enb measurements report”, or to isolate a group of measurements defined in the standard.

Some useful ones:

  • "DlMcs" - histogram of DL MCS used by the scheduler
  • "UlMcs" - histogram of UL MCS used by the scheduler

"status enb"

This command works with the MeasurementEngine, like “enb measurements”, but is intended for automation interfaces instead of human use. The form is:

status enb [summary] [clear] [rrc] [carriers] [drb] [erab] [equipment] [rru] [paging] [s1ap] [tb] [srb] [bearers] [phy] [all]

The first options are control options:

  • summary - Report only the standard measurements, leaving out vendor-specific measurements.
  • clear - Clear the measurement engine after generating the report.

The next options select measurement groups. (See KPI-related measurements for definitions of these groups.)

OptionGroups selected
paging PAG
bearers DRB ERAB SRB
allall groups

Upper-Layer Commands

These are commands that operate at and above the MAC layer.

"enb capture" commands

"enb scheduler" commands

The are commands specific to the scheduler.

"enb scheduler stats"

This command prints performance statistics for the scheduler, including processing times for UL and DL transport blocks.

Example (from an idle ENB):

> enb scheduler stats 
Scheduler subframe starts and abort counts since last restart:
total subframes 61991884
Request aborts 264
PdcchAlloc aborts 0
UeAlloc aborts 0
PdcchSending aborts 5
PdschSending aborts 0
PuschSending aborts 0
total aborted subframes 269 0%
subframes skipped due to late PHY 1130 0%

Scheduled transfer stats since last restart:
UplinkTransportBlocks 20
UplinkResourceBlocks 80
UplinkBytes 220
UplinkHarqRetires 0 0%
DownlinkTransportBlocks 0
DownlinkResourceBlocks 0
DownlinkBytes 0
DownlinkHarqRetires 0 0%

DL demand scale 1
UL demand scale 1

UL RB utilization 5.60519e-45
DL RB utilization 0.016713
PDCCH utilization 0.380952

Avg connection life 14 ms

Scheduler latest processing times in microseconds:

PHY Worker Loop ExecTimer stats:
UlRxWorker0: phase List avg 1 us, phase Demod avg 0 us, 
UlRxWorker1: phase List avg 1 us, phase Demod avg 0 us, 
DlTxWorker0: phase Mod avg 32 us, 
DlTxWorker1: phase Mod avg 29 us,

Commands Related to the PHY

This are commands the monitor or control the PHY.

"enb phy" commands

Commands in the “phy” group operate on lower PHY layer of the ENB.

"enb phy radiotest"

"enb phy simtraffic"

This command fills unused resource elements in the DL grid with random QPSK symbols to simulate active DL transmissions. It purpose is to provide test signals for the analog part of the radio system.

To start the simulation:

enb phy simtraffic [fill=pct] [sumframes=[0123456789]]

To stop the simulation:

enb phy simtraffic stop=true


> enb phy simtraffic 
Lower phy traffic simulation disabled.
> enb phy simtraffic subframes= 02468
Lower phy traffic simulation enabled on subframes 02468 with fill level 100%.
> enb phy simtraffic fill= 50
Lower phy traffic simulation enabled on subframes 02468 with fill level 50%.
> enb phy simtraffic stop=true 
Lower phy traffic simulation disabled.

"enb phy printgrid"

The printgrid command generates a .png file that shows an image in three parts:

  • First part, on the left, shows the DL resource grid, color coded by channel type. For east comparison, it follows the same color codes as this web site:
  • CSRS – red
  • reserved – black
  • PSS – yellow
  • SSS – green
  • PBCH – blue
  • PDCCH – orange
  • PDSCH – white active, grey unused
  • The middle part shows the DL resource grid in black and white, colored by power:
  • black – no power
  • white – maximum allowed power
  • The third part, on the right, shows the UL resource grid colored by power:
  • black – the quantization noise floor of the eNodeB receiver
  • white – the saturation point of the the eNodeB receiver

The file name is based on the Unix epoch time when the file is generated.

This is an example grid image showing a 5 MHz 1×1 configuration. It shows:

  • PDSCH activity on the DL
  • PDCCH activity on the DL, with unused resource elements having zero power
  • PUSCH and PUCCH activity on the UL
  • signs of I/Q imbalance in UL
  • signs of intermodulation distortion on the PUCCH transmissions
YateeNB commands 1

"enb phy trxstats"

The trxstats command gives overall configuration and performance statistics for the lower PHY and the radio interface.


PHY config
Band 3 EARFCN 1490 (1834000 kHz DL, 1739000 kHz UL)
NID1 3 NID2 1 (PHY-CID 10)
DL Bandwidth 25
PDCCH format 3
PRACH config index 0, 4 preambles, freq offset 0

PRACHEvents:            0
SentSymbols:            5233578
SendLateSymbols:        98
ModulatedSymbols:       5233575
ModLateSymbols:         101
SendLost:               0.00%
RecvSymbols:            5233662
RecvLateSymbols:        0
DemodSymbols:           5233648
DemodLateSymbols:       0
RecvLost:               0.00%
SchedulerLateSubframes: 0
UlMeanWaveformPwr:      -44.7347
UlMaxWaveformPwr:       -37.6643
UlMeanCarriersPwr:      -61.9032
UlMaxCarriersPwr:       -60.0146
UlMeanNoisePwr:         -61.7437
UlMaxNoisePwr:          -60.3681
Connection Pool 0 modems in use, 10 available


  • The "symbols" are OFDMA/SC-FDMA symbols send and received through the radio.
  • Power levels are given in dB relative to the saturation point of the radio.

"enb phy crestfactor"

This command shows or sets the crest factor headroom of the OFDM transmitter. (The initial crest factor headroom setting comes from the configuration file and has a default value of 12 dB, but it can be adjusted here in real time for testing.)


> enb phy crestfactor 
Crest factor compensation is 10 dB
> enb phy crestfactor dB= 13
Setting crest factor compensation to 13 dB

The example raises the crest factor headroom by 3 dB, which will give a more linear signal, but will also lower the output power by 3 dB.

The theoretical crest factor for LTE OFDMA is 12 dB. Lowering the crest factor headroom allows for higher output power, but also raises the noise level in the transmitter, possibly limiting the useful MCS on DL.

"enb phy prach"

The prach command is a test feature in the PRACH detector. The form is

enb phy prach oper= <oper>

The allowed operations are:

  • enable - Turn on the PRACH detector (the normal state).
  • disable - Turn off the PRACH detector.
  • stats - Print PRACH detector performance statistics.
  • clearstats - Clear the PRACH detector performance statistics.

"enb phy forcepucch"

The forcepucch command is a test feature that forces PUCCH Format 1 decoding on every subframe for a given RNTI. This force mode stops automatically when the first valid PUCCH Format 1 message is received. The arguments are:

  • start - "true" to start this mode, "false" to stop it
  • rnti - The RNTI to test.


enb phy forcepucch rnti=1234 start=true

"enb uepool" commands

Commands in the “uepool” group operate on upper PHY layers of the UE connections in the ENB.

"enb uepool chans"

"enb uepool sim"

"enb snaplog"

This command is only available in XDEBUG builds.

See MATLAB eNodeB Testing System.