srsran / srsRAN_4G

Open source SDR 4G software suite from Software Radio Systems (SRS) https://docs.srsran.com/projects/4g
https://www.srsran.com
GNU Affero General Public License v3.0
3.48k stars 1.14k forks source link

For v21.04, there are some HW combinations where the UE cannot detect the cell. #699

Closed ghost closed 3 years ago

ghost commented 3 years ago

Issue Description

For v21.04, there are some HW combinations where the UE cannot detect the cell.

My Experiment result is bellow;

version = srsRAN_21_04 OK:(eNB,UE)=(bladeRFxA4, USRP ) NG:(eNB,UE)=(USRP, bladeRFxA4 ) NG:(eNB,UE)=(bladeRFxA4, bladeRFxA4 )

It seems that UE=bladeRFxA4 pattern is not working well.

On the other hand, It has been coonfirmed that it can be done with srsLTE_20_10_1.

Setup Details

[ue] Ubunt18.04LTS srsRAN-release_21_04

[enb,epc] Ubunt18.04LTS srsRAN-release_21_04

[HW] bladeRFxA4 BladeRF-cli = 1.8.0 BladeRF-lib = 2.4.0 BladeRF-fw = 2.4.0 BladeRF-fpga= 0.12.0

USRP b210 UHD_4.0.0.0

Expected Behavior

This is OK:(eNB,UE)=(bladeRFxA4, USRP ) pattern;

~$ sudo srsue
[sudo] password for tcu: 
Reading configuration file /home/tcu/.config/srsran/ue.conf...
WARNING: cpu0 scaling governor is not set to performance mode. Realtime processing could be compromised. Consider setting it to performance mode before running the application.

Built in Release mode using commit 1c6dd8c4a on branch HEAD.

Opening 1 channels in RF device=default with args=default
[INFO] [UHD] linux; GNU C++ version 7.5.0; Boost_106501; UHD_4.1.0.0-13-g240c7fdd
[INFO] [LOGGING] Fastpath logging disabled at runtime.
Opening USRP channels=1, args: 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.
Waiting PHY to initialize ... done!
Attaching UE...
.
Found Cell:  Mode=FDD, PCI=1, PRB=50, Ports=1, CFO=-1.1 KHz
Found PLMN:  Id=00101, TAC=7
Random Access Transmission: seq=20, tti=1301, ra-rnti=0x2
RRC Connected
Random Access Complete.     c-rnti=0x4b, ta=10
Network attach successful. IP: 172.16.0.3
Software Radio Systems RAN (srsRAN) 14/7/2021 6:42:26 TZ:0

Actual Behaviour

This is NG:(eNB,UE)=(USRP, bladeRFxA4 ) pattern. It is the same as NG:(eNB,UE)=(bladeRFxA4, bladeRFxA4 ) pattern.

~$ sudo srsue
Reading configuration file /home/tcu/.config/srsran/ue.conf...
WARNING: cpu0 scaling governor is not set to performance mode. Realtime processing could be compromised. Consider setting it to performance mode before running the application.

Built in Release mode using commit 1c6dd8c4a on branch HEAD.

Opening 1 channels in RF device=default with args=default
[INFO] [UHD] linux; GNU C++ version 7.5.0; Boost_106501; UHD_4.1.0.0-13-g240c7fdd
[INFO] [LOGGING] Fastpath logging disabled at runtime.
Opening USRP channels=1, args: 
[INFO] [UHD RF] RF UHD Generic instance constructed
/home/tcu/srsRAN-release_21_04/lib/src/phy/rf/rf_uhd_imp.cc.776: USRP reported the following error: LookupError: KeyError: No devices found for ----->
Empty Device Address
/home/tcu/srsRAN-release_21_04/lib/src/phy/rf/rf_uhd_imp.cc.946: uhd_init failed, freeing...
Opening bladeRF...
Set RX sampling rate 1.92 Mhz, filter BW: 1.92 Mhz
Waiting PHY to initialize ... done!
Attaching UE...
Set RX sampling rate 1.92 Mhz, filter BW: 1.92 Mhz
set RX frequency to 2680000000
set TX frequency to 2560000000
...
.
Found Cell:  Mode=FDD, PCI=1, PRB=50, Ports=1, CFO=1.7 KHz
Set RX sampling rate 11.52 Mhz, filter BW: 9.22 Mhz

^ Srsue stop here all the time.

Steps to reproduce the problem

Build and Install srsRAN

git clone https://github.com/srsran/srsRAN.git -b release_21_04 srsRAN-release_21_04 sudo apt-get update sudo-apt-get upgrade sudo apt-get install cmake libfftw3-dev libmbedtls-dev libboost-program-options-dev libconfig++-dev libsctp-dev cd ~/srsRAN-release_21_04 mkdir build cd build cmake ../ make make test sudo make install sudo ldconfig srsran_install_configs.sh user --force

RUN srsRAN

sudo srsepc_if_masq.sh wlp6s0 sudo srsepc sudo srsenb

sudo srsue

Additional Information

andrepuschmann commented 3 years ago

Hey, sorry for the late reply. We are usually using the SoapySDR drivers to access the bladeRF rather than the native one. You can give this a try.

Set RX sampling rate 11.52 Mhz, filter BW: 9.22 Mhz

The driver might set the filter bandwidth too narrow. Try with --expert.lte_sample_rates perhaps.

I am closing the issue until further notice.

Thanks Andre