Open source SDR 4G/5G software suite from Software Radio Systems (SRS)

Overview

srsRAN

Build Status Language grade: C/C++ Coverity

srsRAN is a 4G/5G software radio suite developed by SRS.

See the srsRAN project pages for information, guides and project news.

The srsRAN suite includes:

  • srsUE - a full-stack SDR 4G/5G-NSA UE application (5G-SA coming soon)
  • srsENB - a full-stack SDR 4G/5G-NSA eNodeB application (5G-SA coming soon)
  • srsEPC - a light-weight 4G core network implementation with MME, HSS and S/P-GW

For application features, build instructions and user guides see the srsRAN documentation.

For license details, see LICENSE file.

Support

Mailing list: https://lists.srsran.com/mailman/listinfo/srsran-users

Comments
  • Configuring LimeSDR-mini with srsLTE

    Configuring LimeSDR-mini with srsLTE

    I have had many difficulties getting LimeSDR mini to work with srsLTE. None of the online guides worked for me.

    I now have a tested setup that works, for me, which I would like to share with others. Apologies for sharing on the 'issues' list, but this is where most people will look for solutions. Admins, feel free to close - unless others repeat this sequence and have issues, I will be happy to assist resolving.

    Setup

    My system is an Intel i7-3770T CPU, 8GB RAM, 128GB SSD. I am running Ubuntu 18.04.3 in a dual boot configuration. The setup described below follows from a fresh installation of the OS, as I wanted a reproducible setup from a clean install. Having worked on this for days, I have got the time for the sequence of "erase old OS, install new OS, build system, get srsLTE running" down to a 25 minute 48 seconds process. I'm sure this time could be improved :)

    This setup was created by following and then adjusting the steps from the following two links:

    https://docs.srslte.com/en/latest/general/source/1_installation.html https://en.dlyang.me/limesdr-mini-on-ubuntu/

    Setup steps.

    Start with the LimeSDR mini not plugged into the PC.

    Install Ubuntu 18.04.3 64 bit desktop OS. Wait for the OS to advise of updates; install these and reboot.

    Open a terminal shell. Enter the following commands, one at a time:

    sudo add-apt-repository -y ppa:pothosware/framework sudo add-apt-repository -y ppa:pothosware/support sudo add-apt-repository -y ppa:myriadrf/drivers sudo apt-get update sudo apt-get install pothos-all -y sudo apt-get install python-pothos -y sudo apt-get install python3-pothos -y sudo apt-get install pothos-python-dev -y sudo apt-get install soapysdr-tools -y sudo apt-get install python-soapysdr python-numpy -y sudo apt-get install python3-soapysdr python3-numpy -y sudo apt-get install soapysdr-module-remote soapysdr-server -y sudo apt remove limesdr0.6-module-audio -y sudo apt install soapysdr-module-all -y sudo add-apt-repository -y ppa:myriadrf/drivers sudo apt-get update sudo apt-get install limesuite liblimesuite-dev limesuite-udev limesuite-images -y sudo apt-get install soapysdr soapysdr-module-lms7 -y

    Now plug your LimeSDR mini into a USB3 port, and run the command:

    SoapySDRUtil --probe

    In the output displayed, confirm the SDR is detected, and that it is on a USB3 port. If not, try another USB port.

    Now enter the following commands, one at a time:

    sudo apt-get install libsoapysdr-dev cmake libfftw3-dev libmbedtls-dev libboost-program-options-dev libconfig++-dev libsctp-dev git build-essential -y

    git clone https://github.com/srsLTE/srsLTE.git cd srsLTE mkdir build cd build cmake ../ make sudo make install sudo ldconfig sudo srslte_install_configs.sh user

    That completes the installation. Before running the code, I edited the enb config file to get the transmission on a frequency (band20) that is used by my phone in Europe.

    In the file ~/.config/srslte/enb.conf change the [rf] section to say [rf] dl_earfcn = 6200 tx_gain = 56 rx_gain = 38 device_name = soapy device_args = rxant=LNAH,txant=BAND2

    Now open up two terminal windows. In one, run the command sudo srsepc

    In the other, run sudo srsenb

    In the output of the above you should see the SDR is detected. The final output should be calibration completed and, in my case, a single "[WARNING] L" message. From this point, I have confirmed on a spectrum analyser that the enb is transmitting.

    I have yet to confirm cell information detection by an actual mobile phone, but those are next steps, followed by full connectivity with a test SIM.

    SDR configuration

    The configuration of the LimeSDR mini used in the tests above can been seen below.

    SoapySDRUtil --probe

    resulting output:

    ######################################################

    Soapy SDR -- the SDR abstraction library

    ######################################################

    Probe device [INFO] Make connection: 'LimeSDR Mini [USB 3.0] 1D4976B5C14D1A' [INFO] Reference clock 40.00 MHz [INFO] Device name: LimeSDR-Mini [INFO] Reference: 40 MHz [INFO] LMS7002M calibration values caching Disable


    -- Device identification

    driver=FT601 hardware=LimeSDR-Mini boardSerialNumber=0x1d4976b5c14d1a firmwareVersion=6 gatewareVersion=1.30 hardwareVersion=2 protocolVersion=1


    -- Peripheral summary

    Channels: 1 Rx, 1 Tx Timestamps: YES Sensors: clock_locked, lms7_temp Registers: BBIC GPIOs: MAIN


    -- RX Channel 0

    Full-duplex: YES Supports AGC: NO Stream formats: CF32, CS12, CS16 Native format: CS16 [full-scale=2048] Stream args: * Buffer Length - The buffer transfer size over the link. [key=bufferLength, units=samples, default=0, type=int] * Link Format - The format of the samples over the link. [key=linkFormat, default=CS16, type=string, options=(CS16, CS12)] * Skip Calibration - Skip automatic activation calibration. [key=skipCal, default=false, type=bool] Antennas: NONE, LNAH, LNAL_NC, LNAW, Auto Corrections: DC removal, DC offset, IQ balance Full gain range: [-12, 61] dB TIA gain range: [0, 12] dB LNA gain range: [0, 30] dB PGA gain range: [-12, 19] dB Full freq range: [0, 3800] MHz RF freq range: [30, 3800] MHz BB freq range: [-10, 10] MHz Tune args: * LO Offset - Tune the LO with an offset and compensate with the baseband CORDIC. [key=OFFSET, units=Hz, default=0.0, type=float, range=[-1e+07, 1e+07]] * BB - Specify a specific value for this component or IGNORE to skip tuning it. [key=BB, units=Hz, default=DEFAULT, type=float, range=[-1e+07, 1e+07], options=(DEFAULT, IGNORE)] Sample rates: [0.1, 65] MSps Filter bandwidths: [1.4, 130] MHz Sensors: lo_locked Other Settings: * TSP DC Level - Digital DC level in LMS7002M TSP chain. [key=TSP_CONST, type=int, range=[0, 32767]]


    -- TX Channel 0

    Full-duplex: YES Supports AGC: NO Stream formats: CF32, CS12, CS16 Native format: CS16 [full-scale=2048] Stream args: * Buffer Length - The buffer transfer size over the link. [key=bufferLength, units=samples, default=0, type=int] * Link Format - The format of the samples over the link. [key=linkFormat, default=CS16, type=string, options=(CS16, CS12)] * Skip Calibration - Skip automatic activation calibration. [key=skipCal, default=false, type=bool] Antennas: NONE, BAND1, BAND2, Auto Corrections: DC offset, IQ balance Full gain range: [-12, 64] dB PAD gain range: [0, 52] dB IAMP gain range: [-12, 12] dB Full freq range: [0, 3800] MHz RF freq range: [30, 3800] MHz BB freq range: [-10, 10] MHz Tune args: * LO Offset - Tune the LO with an offset and compensate with the baseband CORDIC. [key=OFFSET, units=Hz, default=0.0, type=float, range=[-1e+07, 1e+07]] * BB - Specify a specific value for this component or IGNORE to skip tuning it. [key=BB, units=Hz, default=DEFAULT, type=float, range=[-1e+07, 1e+07], options=(DEFAULT, IGNORE)] Sample rates: [0.1, 65] MSps Filter bandwidths: [5, 40], [50, 130] MHz Sensors: lo_locked Other Settings: * TSP DC Level - Digital DC level in LMS7002M TSP chain. [key=TSP_CONST, type=int, range=[0, 32767]]

    LimeSDR 
    opened by mikehibbett 35
  • eNB crahes for VoLTE call when E-RAB ID > 12

    eNB crahes for VoLTE call when E-RAB ID > 12

    Issue Description

    eNB crashes with the following logs, when placing 7th call from the same two UEs

    Opening USRP channels=1, args: recv_frame_size=9232,send_frame_size=9232,type=b200,master_clock_rate=23.04e6
    [INFO] [UHD RF] RF UHD Generic instance constructed
    [INFO] [B200] Detected Device: B210
    [INFO] [B200] Operating over USB 3.
    [INFO] [B200] Initialize CODEC control...
    [INFO] [B200] Initialize Radio control...
    [INFO] [B200] Performing register loopback test... 
    [INFO] [B200] Register loopback test passed
    [INFO] [B200] Performing register loopback test... 
    [INFO] [B200] Register loopback test passed
    [INFO] [B200] Asking for clock rate 23.040000 MHz... 
    [INFO] [B200] Actually got clock rate 23.040000 MHz.
    Setting frequency: DL=2660.0 Mhz, UL=2540.0 MHz for cc_idx=0 nof_prb=25
    
    ==== eNodeB started ===
    Type <t> to view trace
    RACH:  tti=4211, cc=0, preamble=36, offset=0, temp_crnti=0x46
    User 0x46 connected
    User 0x46 connected
    RACH:  tti=8431, cc=0, preamble=17, offset=0, temp_crnti=0x47
    User 0x47 connected
    User 0x47 connected
    User 0x46 connected
    User 0x47 connected
    User 0x46 connected
    User 0x47 connected
    User 0x46 connected
    User 0x47 connected
    User 0x46 connected
    User 0x47 connected
    User 0x46 connected
    User 0x47 connected
    User 0x46 connected
    User 0x47 connected
    User 0x47 connected
    User 0x46 connected
    User 0x46 connected
    User 0x47 connected
    User 0x47 connected
    User 0x46 connected
    User 0x46 connected
    User 0x47 connected
    User 0x46 connected
    User 0x47 connected
    User 0x46 connected
    User 0x47 connected
    terminate called after throwing an instance of 'std::bad_alloc'
      what():  std::bad_alloc
    srsRAN crashed... backtrace saved in './srsRAN.backtrace.crash'...
    ---  exiting  ---
    srsRAN crashed... backtrace saved in './srsRAN.backtrace.crash'...
    ---  exiting  ---
    terminate called recursively
    srsRAN crashed... backtrace saved in './srsRAN.backtrace.crash'...
    ---  exiting  ---
    
    

    Setup Details

    Running srsRAN enB (master) + open5gs EPC (tag v2.2.7) + kamailio IMS all in docker setup - https://github.com/herlesupreeth/docker_open5gs

    SDR - USRP B210 UEs with sysmocom USIM/ISIM - Xiaomi phone and iPhone X

    Expected Behavior

    Should not crash

    Actual Behaviour

    eNB crashes the moment i attempt 7th call and works good for all the previous 6 calls

    Steps to reproduce the problem

    • Run the open5gs EPC + IMS
    • Run the srsRAN eNB
    • Attach the two UEs to IMS
    • UEs successfully register with IMS
    • Make 6 calls between UEs
    • Disconnect the call
    • Place another (7th) call

    Additional Information

    In order to allow E-RAB ID > 12 i.e. LCID > 10, I have done the following modification to srsRAN eNB. No other modification has been done

    diff --git a/lib/include/srsran/common/common.h b/lib/include/srsran/common/common.h
    index c0f5f5598..c341b24c3 100644
    --- a/lib/include/srsran/common/common.h
    +++ b/lib/include/srsran/common/common.h
    @@ -40,8 +40,8 @@
     #define SRSRAN_UE_CATEGORY 4
     
     #define SRSRAN_N_SRB 3
    -#define SRSRAN_N_DRB 11
    -#define SRSRAN_N_RADIO_BEARERS 14
    +#define SRSRAN_N_DRB 8
    +#define SRSRAN_N_RADIO_BEARERS 11
     
     #define SRSRAN_N_MCH_LCIDS 32
    

    I have attached the logs (INFO level), backtrace (taken with -DCMAKE_BUILD_TYPE=RelWithDebInfo), pcaps below. Please let me know if you need further details. log_bt_pcap.zip

    opened by herlesupreeth 26
  • srsLTE crashed

    srsLTE crashed

    srsLTE crashes after fairly long time running OK

    Issue Description

    crash

    Setup Details

    ~/srsLTE/srsepc$ srsenb --version --- Software Radio Systems LTE eNodeB --- Version 20.10.1

    But strangely, can't get the version of srsepc?

    ~/srsLTE/srsepc$ srsepc --version Built in Release mode using commit 45486b6 on branch master. --- Software Radio Systems EPC --- Reading configuration file /home/bts/.config/srslte/epc.conf...

    Expected Behavior

    keep running

    Actual Behaviour

    crash

    Steps to reproduce the problem

    Just wait, runs for a fairly long time but then crash

    Additional Information

    srsLTE.backtrace.crash

    --- command='srsenb' version=20.10.1 signal=11 date='05/02/2021 08:03:33' --- srsenb(+0x17bc33) [0x55cc1d3eac33] /lib/x86_64-linux-gnu/libc.so.6(+0x3f040) [0x7f4138143040] /usr/lib/x86_64-linux-gnu/libstdc++.so.6(_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base+0x13) [0x7f4138b54fa3] srsenb(+0x186d11) [0x55cc1d3f5d11] srsenb(+0x5ea1e) [0x55cc1d2cda1e] /lib/x86_64-linux-gnu/libpthread.so.0(+0x76db) [0x7f4139deb6db] /lib/x86_64-linux-gnu/libc.so.6(clone+0x3f) [0x7f413822571f]

    --- command='srsenb' version=20.10.1 signal=6 date='05/02/2021 08:03:34' --- srsenb(+0x17bc33) [0x55cc1d3eac33] /lib/x86_64-linux-gnu/libc.so.6(+0x3f040) [0x7f4138143040] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xc7) [0x7f4138142fb7] /lib/x86_64-linux-gnu/libc.so.6(abort+0x141) [0x7f4138144921] /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0x8c957) [0x7f4138b37957] /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0x92ae6) [0x7f4138b3dae6] /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0x92b21) [0x7f4138b3db21] /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0x938ff) [0x7f4138b3e8ff] srsenb(+0xd6e43) [0x55cc1d345e43] srsenb(+0xcc70f) [0x55cc1d33b70f] srsenb(+0xc7bf2) [0x55cc1d336bf2] srsenb(+0xc7de0) [0x55cc1d336de0] srsenb(+0xb76b1) [0x55cc1d3266b1] srsenb(+0x826f5) [0x55cc1d2f16f5] srsenb(+0x189ba1) [0x55cc1d3f8ba1] srsenb(+0x5ea1e) [0x55cc1d2cda1e] /lib/x86_64-linux-gnu/libpthread.so.0(+0x76db) [0x7f4139deb6db] /lib/x86_64-linux-gnu/libc.so.6(clone+0x3f) [0x7f413822571f]

    --- command='srsenb' version=20.10.1 signal=11 date='05/02/2021 12:51:47' --- srsenb(+0x17bc33) [0x56300b261c33] /lib/x86_64-linux-gnu/libc.so.6(+0x3f040) [0x7f8e47ab7040] srsenb(+0xb8868) [0x56300b19e868] srsenb(+0x8274c) [0x56300b16874c] srsenb(+0x189ba1) [0x56300b26fba1] srsenb(+0x5ea1e) [0x56300b144a1e] /lib/x86_64-linux-gnu/libpthread.so.0(+0x76db) [0x7f8e4975f6db] /lib/x86_64-linux-gnu/libc.so.6(clone+0x3f) [0x7f8e47b9971f]

    opened by avalori1 25
  • 99% tests passed, 1 tests failed out of 462

    99% tests passed, 1 tests failed out of 462

    Install srsLTE according to the official website tutorial,After executing make and cmake commands, executing make test prompts an error.

    99% tests passed, 1 tests failed out of 462

    Total Test time (real) = 124.20 sec

    The following tests FAILED: 462 - nas_test (SEGFAULT) Errors while running CTest Makefile:140: recipe for target 'test' failed

    Setup Details: Operation System : ubuntu 18.04

    Hardware : USRP-2943R uhd driver versions: V3.14.1.1 release

    CPU : cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 158 model name : Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz stepping : 10 microcode : 0x96 cpu MHz : 3191.994 cache size : 12288 KB physical id : 0 siblings : 1 core id : 0 cpu cores : 1 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 22 wp : yes

    opened by WT4444 22
  • srsRAN AMF-UE-NGAP-ID mismatch on Auth req/resp (Corescope)

    srsRAN AMF-UE-NGAP-ID mismatch on Auth req/resp (Corescope)

    Was unable to find this issue within the mailing list.

    Issue Description

    I am using Corescope which depends on srsRAN for handling the NGAP/NAS-NGS comms. I am currently experiencing a bug where the id-AMF-UE-NGAP-ID is not correctly being processed by srsRAN.

    Setup Details

    • Corescope (a7fd328) and used example Corescope Python test script
    • Using Metaswitch 5G Packet Core (which has been tested against real 5G SA and NSA UEs) -- tested against 3GPP spec, can be substituted by any 5G core.

    corescope.conf

    All settings here match what is within the 5G Core I am testing (Metaswitch 5G Packet Core)

    [api]
    bind_addr = "0.0.0.0"
    bind_port = 8000
    
    [gnb]
    gnb_id  = 0x00
    name    = "srsgnb"
    cell_id = 0x01
    tac     = 0x01
    mcc     = 001
    mnc     = 01
    
    amf_addr      = 192.168.7.131
    n1c_bind_addr = 192.168.1.140
    gtp_bind_addr = 192.168.1.140
    

    Expected Behavior

    I except srsRAN to return the id-AMF-UE-NGAP-ID given by the AMF/5GC on an UplinkNASTransport message.

    Abbreviated expected behavior

    AMF/5GC --> Corescope/srsRAN	
    NGAP/NAS-5GS DownlinkNASTransport, Authentication request
    
    AMF-UE-NGAP-ID: 12920604972
    RAN-UE-NGAP-ID: 1
    
    
    Corescope/srsRAN --> AMF/5GC 
    NGAP/NAS-5GS UplinkNASTransport, Authentication response
    
    AMF-UE-NGAP-ID: 12920604972
    RAN-UE-NGAP-ID: 1 
    

    Actual Behaviour

    srsRAN returns an incorrect id-AMF-UE-NGAP-ID on an UplinkNASTransport message to the 5GC which mismatches causing the authentication handshake to produce an error unknown-local-UE-NGAP-ID (pcap below)

    Steps:

    1. InitialUEMessage is sent from Corescope/srsRAN to AMF/5GC to create a new UE.
    2. AMF/5GC responds with a DownlinkNASTransport, Authentication request which contains a returned UID, in my case was: AMF-UE-NGAP-ID: 12917860624
    3. Corescope/srsRAN responds to AMF/5GC with a UplinkNASTransport, Authentication response which contains a wrong UID, in my case was: AMF-UE-NGAP-ID: 32958739
    4. AMF/5GC responds with ErrorIndication message which contains an error radioNetwork: unknown-local-UE-NGAP-ID.

    Abbreviated actual behavior

    AMF/5GC --> Corescope/srsRAN	
    NGAP/NAS-5GS DownlinkNASTransport, Authentication request
    
    AMF-UE-NGAP-ID: 12920604972
    RAN-UE-NGAP-ID: 1
    
    
    Corescope/srsRAN --> AMF/5GC 
    NGAP/NAS-5GS UplinkNASTransport, Authentication response
    
    AMF-UE-NGAP-ID: 35703087
    RAN-UE-NGAP-ID: 1 
    

    Steps to reproduce the problem

    1. Create new UE
    2. Verify id-RAN-UE-NGAP-ID remains consistent across authentication req/resp of DownlinkNASTransport and UplinkNASTransport calls.

    Full Wireshark pcap:

    Frame 1: 134 bytes on wire (1072 bits), 134 bytes captured (1072 bits)
    Internet Protocol Version 4, Src: 192.168.1.140, Dst: 192.168.7.131
    Stream Control Transmission Protocol, Src Port: 36645 (36645), Dst Port: 38412 (38412)
    NG Application Protocol (InitialUEMessage)
        NGAP-PDU: initiatingMessage (0)
            initiatingMessage
                procedureCode: id-InitialUEMessage (15)
                criticality: ignore (1)
                value
                    InitialUEMessage
                        protocolIEs: 5 items
                            Item 0: id-RAN-UE-NGAP-ID
                                ProtocolIE-Field
                                    id: id-RAN-UE-NGAP-ID (85)
                                    criticality: reject (0)
                                    value
                                        RAN-UE-NGAP-ID: 1
                            Item 1: id-NAS-PDU
                            Item 2: id-UserLocationInformation
                            Item 3: id-RRCEstablishmentCause
                            Item 4: id-UEContextRequest
                                ProtocolIE-Field
                                    id: id-UEContextRequest (112)
                                    criticality: ignore (1)
                                    value
                                        UEContextRequest: requested (0)
    
    
    Frame 2: 150 bytes on wire (1200 bits), 150 bytes captured (1200 bits)
    Internet Protocol Version 4, Src: 192.168.7.131, Dst: 192.168.1.140
    Stream Control Transmission Protocol, Src Port: 38412 (38412), Dst Port: 36645 (36645)
    NG Application Protocol (DownlinkNASTransport)
        NGAP-PDU: initiatingMessage (0)
            initiatingMessage
                procedureCode: id-DownlinkNASTransport (4)
                criticality: ignore (1)
                value
                    DownlinkNASTransport
                        protocolIEs: 3 items
                            Item 0: id-AMF-UE-NGAP-ID
                                ProtocolIE-Field
                                    id: id-AMF-UE-NGAP-ID (10)
                                    criticality: reject (0)
                                    value
                                        AMF-UE-NGAP-ID: 12917860624
                            Item 1: id-RAN-UE-NGAP-ID
                                ProtocolIE-Field
                                    id: id-RAN-UE-NGAP-ID (85)
                                    criticality: reject (0)
                                    value
                                        RAN-UE-NGAP-ID: 1
                            Item 2: id-NAS-PDU
    
    
    Frame 3: 146 bytes on wire (1168 bits), 146 bytes captured (1168 bits)
    Internet Protocol Version 4, Src: 192.168.1.140, Dst: 192.168.7.131
    Stream Control Transmission Protocol, Src Port: 36645 (36645), Dst Port: 38412 (38412)
    NG Application Protocol (UplinkNASTransport)
        NGAP-PDU: initiatingMessage (0)
            initiatingMessage
                procedureCode: id-UplinkNASTransport (46)
                criticality: ignore (1)
                value
                    UplinkNASTransport
                        protocolIEs: 4 items
                            Item 0: id-AMF-UE-NGAP-ID
                                ProtocolIE-Field
                                    id: id-AMF-UE-NGAP-ID (10)
                                    criticality: reject (0)
                                    value
                                        AMF-UE-NGAP-ID: 32958739
                            Item 1: id-RAN-UE-NGAP-ID
                                ProtocolIE-Field
                                    id: id-RAN-UE-NGAP-ID (85)
                                    criticality: reject (0)
                                    value
                                        RAN-UE-NGAP-ID: 1
                            Item 2: id-NAS-PDU
                            Item 3: id-UserLocationInformation
    
    Frame 4: 102 bytes on wire (816 bits), 102 bytes captured (816 bits)
    Internet Protocol Version 4, Src: 192.168.7.131, Dst: 192.168.1.140
    Stream Control Transmission Protocol, Src Port: 38412 (38412), Dst Port: 36645 (36645)
    NG Application Protocol (ErrorIndication)
        NGAP-PDU: initiatingMessage (0)
            initiatingMessage
                procedureCode: id-ErrorIndication (9)
                criticality: reject (0)
                value
                    ErrorIndication
                        protocolIEs: 2 items
                            Item 0: id-AMF-UE-NGAP-ID
                                ProtocolIE-Field
                                    id: id-AMF-UE-NGAP-ID (10)
                                    criticality: ignore (1)
                                    value
                                        AMF-UE-NGAP-ID: 12917860627
                            Item 1: id-Cause
                                ProtocolIE-Field
                                    id: id-Cause (15)
                                    criticality: ignore (1)
                                    value
                                        Cause: radioNetwork (0)
                                            radioNetwork: unknown-local-UE-NGAP-ID (14)
    

    Additional Information

    Full pcap file available if bytes are required for debugging.

    opened by richardjortega 21
  • Dedicated Bearer Support

    Dedicated Bearer Support

    With the last set of fixes I have VoLTE registration succeeding.

    Dedicated Bearers seem to be the last hurdle for VoLTE calls. Since there is already some support in UE would it be possible to get them on the ENB roadmap?

    opened by jdomnitz 19
  • Could srsLTE work with USRP N310??

    Could srsLTE work with USRP N310??

    Issue Description

    I found that in ReadMe, srsLTE was tested with USRP B210 and USRP X310, but N310 is not tested yet, right?? How to install it in USRP N310? N310 support 2 mode: network mode and embedded mode, which mode can be used with srsLTE ?

    opened by zmcrazy 18
  • rf_blade_imp.c.456: RX failed: Operation timed out

    rf_blade_imp.c.456: RX failed: Operation timed out

    Issue Description

    I run the srsLTE UE on the BladeRF, and always meet this "time out" error. The log information is below:

    Opening bladeRF... Set RX sampling rate 1.92 Mhz, filter BW: 1.92 Mhz Waiting PHY to initialize ... done! Attaching UE... Searching cell in DL EARFCN=3400, f_dl=2685.0 MHz, f_ul=2565.0 MHz set RX frequency to 2684999998 set TX frequency to 2564999998 Set RX sampling rate 1.92 Mhz, filter BW: 1.92 Mhz . Found Cell: Mode=FDD, PCI=1, PRB=50, Ports=1, CFO=-4.0 KHz Set RX sampling rate 15.36 Mhz, filter BW: 12.29 Mhz /srsLTE/lib/src/phy/rf/rf_blade_imp.c.456: RX failed: Operation timed out

    SYNC: Receiving from radio while in IDLE_RX /srsLTE/lib/src/phy/rf/rf_blade_imp.c.456: RX failed: Operation timed out

    /srsLTE/lib/src/phy/ue/ue_sync.c.727: Error receiving samples

    /srsLTE/lib/src/phy/rf/rf_blade_imp.c.456: RX failed: Operation timed out

    SYNC: Receiving from radio while in IDLE_RX Set RX sampling rate 1.92 Mhz, filter BW: 1.92 Mhz

    opened by allanjinhui 16
  •  COTS UE not finding the LTE network

    COTS UE not finding the LTE network

    I recently set-up an LTE network to connect to COTS UE, I changed the MCC and MNC values in both the EPC and ENB config files in accordance to the SIM card being used in the UE ,and also the APN name in the EPC file and set the APN name on the COTS UE the same as the set name on the EPC config file, I started the EPC and ENB, but the two user equipment with SIM cards of the same mobile network that I have tried have not been able to at least detect the network, could the issue be because of the authentication parameters like IMSI, K, and other unknown values that I have not been able to find, that is required in the user_db.csv file? and how do I get these values because it seems like recent versions of operating systems of phones have blocked the viewing of IMSI of SIM cards being used?

    Setup Details

    [Specify details of the test setup. This would help us reproduce the problem reliably] e.g. Network configuration, Operation System, Hardware, RF front-end, library and driver versions

    Expected Behavior

    [What you expect to happen]

    Actual Behaviour

    [What happens instead e.g. error message]

    Steps to reproduce the problem

    [Tell us how to reproduce this issue e.g. RF setup, application config fi#322

    opened by Usman-Josh 15
  • Make Test failed

    Make Test failed

    SRSLTE make test failed in the following phases!

    Can anyone help? git cloned from original source and then checkout with version 19_12 I'm using USRP B210 and the PC is i7 6700HQ

        Start 581: scell_search_test
    

    581/587 Test #581: scell_search_test ................................ Passed 14.65 sec Start 582: usim_test 582/587 Test #582: usim_test ........................................ Passed 0.02 sec Start 583: rrc_reconfig_test 583/587 Test #583: rrc_reconfig_test ................................ Passed 0.02 sec Start 584: nas_test 584/587 Test #584: nas_test .........................................***Exception: Child aborted 0.25 sec Start 585: tft_test 585/587 Test #585: tft_test ......................................... Passed 0.04 sec Start 586: rrc_mobility_test 586/587 Test #586: rrc_mobility_test ................................ Passed 0.05 sec Start 587: erab_setup_test 587/587 Test #587: erab_setup_test .................................. Passed 0.05 sec

    98% tests passed, 9 tests failed out of 587

    Total Test time (real) = 252.43 sec

    The following tests FAILED: 357 - phy_dl_test-p6-t2-q-m27 (Failed) 362 - phy_dl_test-p6-t3-q-m27 (Failed) 367 - phy_dl_test-p6-t4-q-m27 (Failed) 422 - phy_dl_test-p25-t3-m28 (Failed) 427 - phy_dl_test-p25-t4-m28 (Failed) 437 - phy_dl_test-p25-t2-q-m27 (Failed) 442 - phy_dl_test-p25-t3-q-m27 (Failed) 447 - phy_dl_test-p25-t4-q-m27 (Failed) 584 - nas_test (Child aborted) Errors while running CTest Makefile:140: recipe for target 'test' failed make: *** [test] Error 8

    Thanks Best regards

    opened by ghost 15
  • Run UE and ENB,after a while,around 1~3 minutes,downlink is not reachable.

    Run UE and ENB,after a while,around 1~3 minutes,downlink is not reachable.

    When I run UE and ENB in different Hosts,and transfer video from UE to ENB using VLC software,after 2~3 minutes,video transmission was stopped.And I used Ping command in ENB side,Ping was not reachable.I used Wireshark to captrue network data packets in UE side and ENB side,found that packet doesn't reach UE.Then,I used Ping in UE sdie,the packet can reach ENB,but UE doesn't recieve the reply.

    Ping is not reachable!! 2018-03-07 15 35 31

    Wireshark show information: 2018-03-07 15 36 15

    opened by liuzhikui 15
Releases(release_22_10)
  • release_22_10(Nov 14, 2022)

    • Fix DL NAS integrity checks in srsUE
    • Remove Travis and LGTM as CI platforms
    • Remove polarssl as optional dependency (only mbedTLS used and required for security)
    • Allow to specify multiple PLMNs in SIB1
    • Allow non-blocking S1AP connect and expose various other SCTP options
    • Add support to broadcast MAC backoff indicator
    • Seperate T300/T301 timer in srsENB
    • Fix in eMBMS payload buffer handling
    • Fix memleak in NR scheduler
    Source code(tar.gz)
    Source code(zip)
  • release_22_04_1(Aug 4, 2022)

    • Various bug fixes in RLC AM and PDCP for NR
    • Fix crash when UE attempted to reestablish in SA
    • Remove fixed coreset0 index for SSB
    • Add support for SIB5 and SIB6 transmission in LTE
    Source code(tar.gz)
    Source code(zip)
  • release_22_04(May 4, 2022)

    • Added baseline 5G-SA support to srsUE and srsENB
    • Added dynamic loading of RF libraries
    • Added RRC Redirect to srsUE
    • Added support for A5 measurement events to srsENB
    • Added Crest Factor Reduction (CFR) for srsENB downlink and srsUE uplink (4G only)
    • Raise C++ standard to C++14
    • Other bug-fixes and improved stability and performance in all parts
    Source code(tar.gz)
    Source code(zip)
  • release_21_10(Oct 29, 2021)

    • Add initial 5G NSA support to srsENB (tested with OnePlus 5G Nord)
    • Improved interoperability of srsUE in NSA mode
    • Added enhanced instrumentation to file using JSON format
    • Fixed stability issues with Ettus N310
    • Added BLER-adaptive MCS scheduling to srsENB
    • Other bug-fixes and improved stability and performance in all parts
    Source code(tar.gz)
    Source code(zip)
  • release_21_04(May 15, 2021)

    • Rename project from srsLTE to srsRAN
    • Add initial 5G NSA support to srsUE (including x86-optimized FEC and PHY layer)
    • Add PDCP discard support
    • Add UL power control, measurement gaps and a new proportional fair scheduler to srsENB
    • Extend GTP-U tunneling to support tunnel forwarding over S1
    • Optimize many data structures, remove dynamic memory allocations in data plane
    • Improved S1AP error handling and enhanced event reporting
    • Update ASN.1 packing/unpacking, RRC to Rel 15.11, S1AP to Rel 16.1
    • Update PCAP writer to use UDP framing
    • Other bug-fixes and improved stability and performance in all parts

    In addition to https://github.com/srsran/srsRAN/releases/tag/release_21_04_pre:

    • Fixed E-RAB to DRB mapping, especially handling for E-RAB IDs > 12
    • Fixed crash when UL info transfer is received for invalid S1AP ID
    • Fixed compilation on some 32bit machines, e.g. RPi2 and above
    Source code(tar.gz)
    Source code(zip)
  • release_21_04_pre(Apr 30, 2021)

    • Rename project from srsLTE to srsRAN
    • Add initial 5G NSA support to srsUE (including x86-optimized FEC and PHY layer)
    • Add PDCP discard support
    • Add UL power control, measurement gaps and a new proportional fair scheduler to srsENB
    • Extend GTP-U tunneling to support tunnel forwarding over S1
    • Optimize many data structures, remove dynamic memory allocations in data plane
    • Improved S1AP error handling and enhanced event reporting
    • Update ASN.1 packing/unpacking, RRC to Rel 15.11, S1AP to Rel 16.1
    • Update PCAP writer to use UDP framing
    • Other bug-fixes and improved stability and performance in all parts
    Source code(tar.gz)
    Source code(zip)
  • release_20_10_1(Nov 20, 2020)

  • release_20_10(Nov 2, 2020)

    • Add Mobility (Intra eNB and S1) and RRC Reestablishment to srsENB
    • Add new logging framework
    • Make UE PHY layer non-blocking
    • Replace some PHY pre-calculations with fast on-the-fly routines
    • Fix QAM256 support in srsENB
    • Add initial NR PHY layer and stack components
    • Other bug-fixes and improved stability and performance in all parts
    Source code(tar.gz)
    Source code(zip)
  • release_20_04_2(Sep 14, 2020)

  • release_20_04_1(May 9, 2020)

  • release_20_04(May 4, 2020)

    NOTE: Recommended to use srsLTE 20.04.1 (see here)

    • Carrier Aggregation and Time Alignment in srsENB
    • Complete Sidelink PHY layer (all transmission modes)
    • Complete NB-IoT PHY downlink signals
    • New S1AP packing/unpacking library
    • EVM and EPRE measurements
    • Remove system timers in srsUE and srsENB
    • Refactor eNB to prepare for mobility support
    • Other bug-fixes and improved stability and performance in all parts
    Source code(tar.gz)
    Source code(zip)
  • release_19_12(Jan 9, 2020)

    • Add 5G NR RRC and NGAP ASN1 packing/unpacking
    • Add sync routines and broadcast channel for Sidelink
    • Add cell search and MIB decoder for NB-IoT
    • Add PDCP discard
    • Improve RRC Reestablishment and cell measurements and procedure handling
    • Add multi-carrier and MIMO support to ZMQ radio
    • Refactor eNB scheduler to support multiple carriers
    • Apply clang-format style on the entire code base
    • Other bug-fixes and improved stability and performance in all parts
    Source code(tar.gz)
    Source code(zip)
  • release_19_09(Oct 16, 2019)

    • Add initial support for NR in MAC/RLC/PDCP
    • Add sync code for NB-IoT
    • Add support for EIA3/EEA3 (i.e. ZUC)
    • Add support for CSFB in srsENB
    • Add adaptation layer to run TTCN-3 conformance tests for srsUE
    • Add High Speed Train model to channel simulator
    • Rework RRC and NAS layer and make them non-blocking
    • Fixes in ZMQ, bladeRF and Soapy RF modules
    • Other bug-fixes and improved stability and performance in all parts
    Source code(tar.gz)
    Source code(zip)
  • release_19_06(Jul 25, 2019)

    • Add QAM256 support in srsUE
    • Add QoS support in srsUE
    • Add UL channel emulator
    • Refactor UE and eNB architecture
    • Many bug-fixes and improved stability and performance in all parts
    Source code(tar.gz)
    Source code(zip)
  • release_19_03(May 13, 2019)

    • PHY library refactor
    • TDD support for srsUE
    • Carrier Aggregation support for srsUE
    • Paging support for srsENB and srsEPC
    • User-plane encryption for srsENB
    • Channel simulator for EPA, EVA, and ETU 3GPP channels
    • ZeroMQ-based fake RF driver for I/Q over IPC/network
    • Many bug-fixes and improved stability and performance in all parts
    Source code(tar.gz)
    Source code(zip)
  • release_18_12(Jan 23, 2019)

    • Add new RRC ASN1 message pack/unpack library
    • Refactor EPC and add encryption support
    • Add IPv6 support to srsUE
    • Fixed compilation issue for ARM and AVX512
    • Add clang-format file
    • Many bug-fixes and improved stability and performance in all parts
    Source code(tar.gz)
    Source code(zip)
  • release_18_09(Oct 15, 2018)

    • Improved Turbo Decoder performance
    • Configurable SGi interface name and M1U params
    • Support for GPTU echo mechanism
    • Added UE detach capability
    • Refactor RLC/PDCP classes
    • Various fixes for ARM-based devices
    • Added support for bladeRF 2.0 micro
    • Many bug-fixes and improved stability and performance in all parts
    Source code(tar.gz)
    Source code(zip)
  • release_18_06_1(Jul 18, 2018)

  • release_18_06(Jul 6, 2018)

    • Added eMBMS support in srsUE/srsENB/srsEPC
    • Added support for hard SIM cards
    • Many bug-fixes and improved stability and performance in all parts
    Source code(tar.gz)
    Source code(zip)
  • release_18_03_1(Apr 9, 2018)

  • release_18_03(Apr 3, 2018)

  • release_17_12(Feb 12, 2018)

    • Added support for MIMO 2x2 in srsENB (i.e. TM3/TM4)
    • Added srsEPC, a light-weight core network implementation
    • Added support for X2/S1 handover in srsUE
    • Added support for user-plane encryption in srsUE
    • Many bug-fixes and improved stability and performance in srsUE/srsENB
    Source code(tar.gz)
    Source code(zip)
  • release_17_09(Oct 7, 2017)

    • Added MIMO 2x2 in the PHY layer and srsUE (i.e. TM3/TM4)
    • eMBMS support in the PHY layer
    • Many bug-fixes and improved stability and performance in srsUE/srsENB
    Source code(tar.gz)
    Source code(zip)
  • release_002_000_000(Jun 8, 2017)

Owner
srsRAN
Open Source 4G/5G from Software Radio Systems (SRS)
srsRAN
Open source file system for small embedded systems

STORfs Open Source File System Release Version 1.0.2 Created by: KrauseGLOBAL Solutions, LLC What is STORfs? STORfs is an open source flash file syste

null 17 Jul 26, 2022
The InitWare Suite of Middleware allows you to manage services and system resources as logical entities called units. Its main component is a service management ("init") system.

InitWare isn't ready to use yet!! Unless you are doing so for fun, to experiment, or to contribute, you most likely do not want to try to install Init

null 164 Dec 21, 2022
A PSOBB Server Emulator Suite for PC PSOBB players

Tethealla Tethealla PSOBB server for linux. Installation If you are opting for database usage, MySQL devel libraries are required along with your stan

Kotori 2 Nov 15, 2022
WiFi Attack + Recon Suite for the ESP8266 WiFi Nugget

Nugget-Invader Welcome to the Nugget Invader repository! The Invader is a WiFi attack suite developed for the WiFi Nugget, an ESP8266 based platform d

HakCat 40 Nov 28, 2022
RakNet is a cross platform, open source, C++ networking engine for game programmers.

RakNet 4.081 Copyright (c) 2014, Oculus VR, Inc. Package notes The Help directory contains index.html, which is full help documentation in HTML format

Facebook Archive 3.1k Dec 30, 2022
An easy to use and powerful open source websocket library written in C.

libwebsock Easy to use C library for websockets This library allows for quick and easy development of applications that use the websocket protocol, wi

Jonathan Hall 47 Nov 13, 2022
Zyre - an open-source framework for proximity-based peer-to-peer applications

Zyre - Local Area Clustering for Peer-to-Peer Applications Linux & MacOSX Windows Contents Overview Scope and Goals Ownership and License Using Zyre B

The ZeroMQ project 813 Jan 3, 2023
RakNet is a cross platform, open source, C++ networking engine for game programmers.

RakNet 4.081 Copyright (c) 2014, Oculus VR, Inc. Package notes The Help directory contains index.html, which is full help documentation in HTML format

Facebook Archive 3.1k Dec 30, 2022
Open Source IoT Operating System

IoTaaP OS Open Source IoT Operating System Usage Include IoTaaP_OS.h to your project and define IoTaaP OS object Usage example #include <IoTaaP_OS.h>

IoTaaP 40 Oct 27, 2022
ASN intelligence information (IP to ASN mapping) collected and distributed in open source and transparent way

ASN Intelligence The main goal of this project to retrieve information required to map IP address to ASN number in open source and transparent way. Wh

Pavel Odintsov 60 Jun 27, 2021
STUNTMAN - An open source STUN server

Version 1.2. This is the source code to STUNTMAN - an open source STUN server and client code by john selbie. Compliant with the latest RFCs including 5389, 5769, and 5780. Also includes backwards compatibility for RFC 3489. Compiles on Linux, MacOS, BSD, Solaris, and Win32 with Cygwin. Windows binaries avaialble from www.stunprotocol.org.

John Selbie 1.2k Dec 29, 2022
OtterCastAmp is an open-source WiFi Speaker amplifier, based on a Sochip S3 SoC. Powered by any USB PD adapter for up to 100W of music.

OtterCastAmp is an open-source WiFi Speaker amplifier, based on a Sochip S3 SoC. Powered by any USB PD adapter for up to 100W of music.

Ottercast 265 Dec 30, 2022
Eclipse Mosquitto - An open source MQTT broker

Mosquitto is an open source implementation of a server for version 5.0, 3.1.1, and 3.1 of the MQTT protocol. It also includes a C and C++ client library, and the mosquitto_pub and mosquitto_sub utilities for publishing and subscribing.

Eclipse Foundation 6.9k Jan 9, 2023
A virtual network Differential GNSS server-client project using Precise Point Positioning (PPP). Global coverage. Without physical base station construction needed. An open-source virtual base station approach.

Virtual-Network-DGNSS-Project This project is the software implementation for a publicly available, open-source, client/server VN-DGNSS implementation

null 13 Oct 24, 2022
rdesktop is an open source client for Microsoft's RDP protocol

?? rdesktop is in need of a new maintainter. Please see the home page for more details. ??

null 1.1k Dec 26, 2022
zMonkey is an open-source 200G network impairment emulator tool

zMonkey is an open-source 200G network impairment emulator tool to emulate the real-world WAN/DC conditions for your applications. it can supp

Mie~~~ 17 Nov 11, 2022
Python bindings for open source MuJoCo

pymujoco Python bindings for open source MuJoCo using pybind11. from pymujoco import * r = mjv_create_renderer() #help(p) m = mj_loadXML("humanoid.xm

null 35 Aug 20, 2022
An open source smart contract platform

EOSIO - The Most Powerful Infrastructure for Decentralized Applications Welcome to the EOSIO source code repository! This software enables businesses

EOSIO 11.3k Jan 5, 2023
A portable MQTT C client for embedded systems and PCs alike.

MQTT-C is an MQTT v3.1.1 client written in C. MQTT is a lightweight publisher-subscriber-based messaging protocol that is commonly used in IoT and net

Liam Bindle 570 Dec 29, 2022