Running the Network

With the cellular stack configured and subscribers provisioned we can now start the network.

First we need to enable masquerading if we’d like connected user equipment to have Internet access:

sudo /usr/bin/ <primary network interface>

Next the eNodeB can be started with:

sudo srsenb /etc/srsran/enb.conf

Following which we should see output similar to that shown below and indicating that an external reference of 10 MHz has been configured.


If we enter t this will enable tracing.

As this point, without the EPC started we would actually see an error that it cannot connect to this, but in the above screenshot it has already been started.

We should also see an LED on the LimeSDR-USB illuminate to indicate that we are locked to an external frequency reference.


With the SDR fitted in this particular enclosure, the LED is top-left.

The EPC can be started with:

sudo srsenb /etc/srsran/epc.conf

Here we can see the EPC starting up, an incoming S1 request as the eNodeB connects, and then an IMSI attach request and bearer setup as a handset camps on to the network.

Finally, a speed test was run in a web browser on the handset.


In the above eNodeB trace we can first see the download speed test, resulting in a downlink speed of 10Mbps. Following which the upload test results in uplink speeds of around 5Mbps. This is with a 3MHz RF channel (15 PRBs) and SISO configuration.

Automatic startup

Automatic start-up can be configured by enabling srsepc.service and srsepc.service.


The srsRAN documentation provides troubleshooting information for both srsENB and srsEPC.

Questions concerning the srsENB fork with LMS API support should be directed to the MyriadRF forum and issues logged via the MyriadRF srsRAN repo.