srsRAN_4G
srsRAN_4G copied to clipboard
Trying to run bladeRF with external clock
Issue Description
Hi all, I'm having troubles in connecting the srsUE of Machine1 to the srsENB on Machine2 in via bladeRF using external clock.
Setup Details
I have built Open5gs, srsRAN_4G from sources on two different machines with Ubuntu 22.04.2 LTS.
- Machine1: srsUE with bladeRF
- Machine2: Open5GS + srsENB with bladeRF
the two blades connected by cables. At the blades I provide a 10 MHz reference clock.
See figure bellow.
Expected Behavior
As in the tutorials where UHD is used as the device, I expect srsENB (and consequently also srsUE) to start with
- device_name = BladeRF
- device_args = clock=external
Getting console output like:
Opening 1 channels in RF device=BladeRF with args=clock=external
Supported RF device list: bladeRF zmq file
Opening bladeRF...
Set RX sampling rate 1.92 Mhz, filter DW: 1.92 Mhz
Waiting PHY to initialize ... Set RX sampling rate 11.52 Mhz, filter BW: 9.22 Mhz
done!
Actual Behaviour
Instead, I get the following:
Opening 1 channels in RF device=bladeRF with args=clock=external
Supported RF device list: soapy bladeRF zmq file
Opening bladeRF...
.../git_repo/srsRAN_4G/lib/src/phy/rf/rf_blade_imp.c:192: Unable to open device: Invalid operation or parameter
Error initializing radio.
Steps to reproduce the problem
- Connect BladeRF to the PC.
- Provide 10 MHz reference clock to BladeRF.
- In enb.conf, in the [rf] section, enter device_name = BladeRF and device_args = clock=external
- Start srsENB
Additional Information
Is it possible to set the external clock to the BladeRF as is done for UHD?
Thank you in advance for any help you can provide. Best!
I think in order to use external clock you need to check soapy driver device args for bladerf. I haven't used it myself but I know soapy driver for bladerf has support for using external clock