I've never had success with my xA5 and srsRAN over around 2 years of trying on and off. It's the only thing I bought the SDR for, and it's left a sour taste in my mouth.
Many people have posted GitHub issues on the bladeRF repo and a couple of posts on here too, and noone has ever gotten anywhere with finding a solution to whatever is causing this (most posts go unanswered, but one got a couple of back and forth messages followed by silence).
I have tried using a laptop running a Ryzen 4600H, as well as my desktop with an i5 9600K, followed by my desktop again after an upgrade to a Ryzen 5900X, and my server (Ryzen 3700X) running ProxMox and srsRAN in a VM, as well as a Dell XPS 13 with an i7-1250U. It's definitely not a processing power issue, that's for sure, and rather unlikely to be an OS issue considering each of these attempts would have been fresh installs each time.
I've tried using bladeRF lib from source and from the Ubuntu PPA.
I've tried using the srsRAN 4G bladeRF driver (back before the new srsRAN Project launched) which didn't work; neither did the the Soapy driver.
I've also even tried using Open Air Interface instead (which was a complete pain coming from srsRAN, but might as well try). lol no, that didn't work either.
Now today I've tried the new srsRAN Project with SoapySDR and SoapyUHD to provide a UHD-compatible interface to the bladeRF. Guess what? Same issue.
Code: Select all
ubuntu@srsran:~$ sudo gnb -c bladerf-config.yml
The PRACH detector will not meet the performance requirements with the configuration {Format 0, ZCZ 0, SCS 1.25kHz, Rx ports 1}.
Lower PHY in quad executor mode.
--== srsRAN gNB (commit dcd905cc6) ==--
Connecting to AMF on 10.30.3.10:38412
Available radio types: uhd.
[INFO] [UHD] linux; GNU C++ version 11.4.0; Boost_107400; UHD_4.6.0.0-3-g080b1baa
[INFO] [LOGGING] Fastpath logging disabled at runtime.
No device type given, found device with address 'backend=libusb,device=0x03:0x02,driver=bladerf,instance=0,label=BladeRF #0 [4c4ceb8c..4e613cf3],serial=4c4ceb8c96ee47e6977a37dc4e613cf3,type=soapy'
Making USRP object with args 'biastee_tx=true,type=soapy'
[INFO] [UHDSoapyDevice] bladerf_open_with_devinfo()
[INFO] [UHDSoapyDevice] bladerf_get_serial() = 4c4ceb8c96ee47e6977a37dc4e613cf3
[INFO] [UHDSoapyDevice] setSampleRate(Rx, 0, 4.000000 MHz), actual = 4.000000 MHz
[INFO] [UHDSoapyDevice] setSampleRate(Tx, 0, 4.000000 MHz), actual = 4.000000 MHz
[INFO] [UHDSoapyDevice] setSampleRate(Tx, 0, 19.200000 MHz), actual = 19.200000 MHz
[INFO] [UHDSoapyDevice] setSampleRate(Tx, 1, 19.200000 MHz), actual = 19.200000 MHz
[INFO] [UHDSoapyDevice] setSampleRate(Rx, 0, 19.200000 MHz), actual = 19.200000 MHz
[INFO] [UHDSoapyDevice] setSampleRate(Rx, 1, 19.200000 MHz), actual = 19.200000 MHz
Cell pci=1, bw=5 MHz, dl_arfcn=375500 (n3), dl_freq=1877.5 MHz, dl_ssb_arfcn=375410, ul_freq=1782.5 MHz
==== gNodeB started ===
Type <t> to view trace
[ERROR @ host/libraries/libbladeRF/src/backend/usb/libusb.c:1089] Transfer timed out for buffer 0x55fe10135e30
[ERROR @ host/libraries/libbladeRF/src/backend/usb/libusb.c:1089] Transfer timed out for buffer 0x55fe10139e40
[ERROR @ host/libraries/libbladeRF/src/backend/usb/libusb.c:1089] Transfer timed out for buffer 0x55fe1013de50
[ERROR @ host/libraries/libbladeRF/src/backend/usb/libusb.c:1089] Transfer timed out for buffer 0x55fe10141e60
[ERROR @ host/libraries/libbladeRF/src/backend/usb/libusb.c:1089] Transfer timed out for buffer 0x55fe10145e70
Code: Select all
amf:
addr: 10.30.3.10 # The address or hostname of the AMF.
bind_addr: 10.30.3.20 # A local IP that the gNB binds to for traffic from the AMF.
port: 38412
ru_sdr:
device_driver: uhd # The RF driver name.
device_args: biastee_tx=true # Optionally pass arguments to the selected RF driver.
clock: default # Specify the clock source used by the RF.
sync: default # Specify the sync source used by the RF.
srate: 19.2 # RF sample rate might need to be adjusted according to selected bandwidth.
tx_gain: 0 # Transmit gain of the RF might need to adjusted to the given situation.
rx_gain: 60 # Receive gain of the RF might need to adjusted to the given situation.
cell_cfg:
dl_arfcn: 375500 # ARFCN of the downlink carrier (center frequency).
band: 3 # The NR band.
channel_bandwidth_MHz: 5 # Bandwith in MHz. Number of PRBs will be automatically derived.
common_scs: 15 # Subcarrier spacing in kHz used for data.
plmn: "23469" # PLMN broadcasted by the gNB.
tac: 1 # Tracking area code (needs to match the core configuration).
pci: 1 # Physical cell ID.
# nof_antennas_ul: 1
# nof_antennas_dl: 1
log:
filename: /tmp/gnb.log # Path of the log file.
all_level: info # Logging level applied to all layers.
pcap:
mac_enable: false # Set to true to enable MAC-layer PCAPs.
mac_filename: /tmp/gnb_mac.pcap # Path where the MAC PCAP is stored.
ngap_enable: false # Set to true to enable NGAP PCAPs.
ngap_filename: /tmp/gnb_ngap.pcap # Path where the NGAP PCAP is stored.
Only one time out of about 20 launches have I got a working gNB for approximately 15 seconds before it then had the same libusb error again. I've not had it work again after that.
Code: Select all
Cell pci=1, bw=5 MHz, dl_arfcn=375500 (n3), dl_freq=1877.5 MHz, dl_ssb_arfcn=375410, ul_freq=1782.5 MHz
==== gNodeB started ===
Type <t> to view trace
Late: 0; Underflow: 0; Overflow: 1;
Late: 0; Underflow: 0; Overflow: 3;
t
Late: 0; Underflow: 0; Overflow: 3;
Late: 0; Underflow: 0; Overflow: 20;
Late: 0; Underflow: 0; Overflow: 1;
Late: 0; Underflow: 0; Overflow: 3;
Late: 0; Underflow: 0; Overflow: 13;
-----------------DL-----------------------|------------------UL--------------------
pci rnti cqi ri mcs brate ok nok (%) dl_bs | pusch mcs brate ok nok (%) bsr
1 4601 15 1 22 4.8k 4 0 0% 0 | 6.0 9 3.5k 1 0 0% 0
Late: 0; Underflow: 0; Overflow: 6;
Late: 0; Underflow: 0; Overflow: 10;
Late: 0; Underflow: 0; Overflow: 1;
Late: 0; Underflow: 0; Overflow: 5;
Late: 0; Underflow: 0; Overflow: 3;
[ERROR @ host/libraries/libbladeRF/src/backend/usb/libusb.c:1076] Got transfer error for buffer 0x5601111bff40
[ERROR @ host/libraries/libbladeRF/src/backend/usb/libusb.c:1089] Transfer timed out for buffer 0x5601112180a0
I've given up hope that I will ever get my SDR working as a 4G eNB or 5G gNB. No-one seems to care.