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

Failed to find UHD device #150

Closed tblake84 closed 6 years ago

tblake84 commented 6 years ago

I am running srsenb in a docker container for testing. Previous versions had other problems but this latest commit exhibits an inability to initiate the RF frontend.

root@30f6b07b726a:/opt/lte# srsenb enb.conf
linux; GNU C++ version 5.4.0 20160609; Boost_105800; UHD_003.009.007-0-g50839059

Warning: Failed to create thread with real-time priority. Creating it with normal priority: No such file or directory
Warning: Failed to create thread with real-time priority. Creating it with normal priority: No such file or directory
---  Software Radio Systems LTE eNodeB  ---

Reading configuration file enb.conf...
Opening USRP with args: addr=10.10.210.141,master_clock_rate=30.72e6
-- X300 initialization sequence...
-- Determining maximum frame size... 1472 bytes.
-- Setup basic communication...
-- Loading values from EEPROM...
-- Setup RF frontend clocking...
Error opening UHD: code 44
Error opening RF device
Failed to find device UHD with args addr=10.10.210.141

Here is the relevant portion of the enb.conf

[rf]
dl_earfcn = 5780
tx_gain = 70
rx_gain = 40
device_name = UHD
device_args = addr=10.10.210.141
time_adv_nsamples = auto
burst_preamble_us = auto

The USRP is responding just fine to other applications and uhd_usrp_probe:

root@30f6b07b726a:/opt/lte# uhd_usrp_probe --args=addr=10.10.210.141
linux; GNU C++ version 5.4.0 20160609; Boost_105800; UHD_003.009.007-0-g50839059

-- X300 initialization sequence...
-- Determining maximum frame size... 1472 bytes.
-- Setup basic communication...
-- Loading values from EEPROM...
-- Setup RF frontend clocking...
-- Radio 1x clock:200
-- Initialize Radio0 control...
-- Performing register loopback test... pass
-- Initialize Radio1 control...
-- Performing register loopback test... pass
  _____________________________________________________
 /
|       Device: X-Series Device
|     _____________________________________________________
|    /
|   |       Mboard: X300
|   |   revision: 6
|   |   product: 30518
|   |   mac-addr0: 00:80:2f:19:e2:3c
|   |   mac-addr1: 00:80:2f:19:e2:3d
|   |   gateway: 192.168.10.1
|   |   ip-addr0: 10.10.210.141
|   |   subnet0: 255.255.255.0
|   |   ip-addr1: 192.168.20.2
|   |   subnet1: 255.255.255.0
|   |   ip-addr2: 192.168.1.141
|   |   subnet2: 255.255.255.0
|   |   ip-addr3: 192.168.30.141
|   |   subnet3: 255.255.255.0
|   |   serial: c083280
|   |   FW Version: 4.0
|   |   FPGA Version: 19.0
|   |
|   |   Time sources:  internal, external, gpsdo
|   |   Clock sources: internal, external, gpsdo
|   |   Sensors: ref_locked
|   |     _____________________________________________________
|   |    /
|   |   |       RX DSP: 0
|   |   |   Freq range: -100.000 to 100.000 MHz
|   |     _____________________________________________________
|   |    /
|   |   |       RX DSP: 1
|   |   |   Freq range: -100.000 to 100.000 MHz
|   |     _____________________________________________________
|   |    /
|   |   |       RX Dboard: A
|   |   |   ID: SBX-120 (0x0083)
|   |   |   Serial: 308FFB2
|   |   |     _____________________________________________________
|   |   |    /
|   |   |   |       RX Frontend: 0
|   |   |   |   Name: SBX-120 RX
|   |   |   |   Antennas: TX/RX, RX2, CAL
|   |   |   |   Sensors: lo_locked
|   |   |   |   Freq range: 400.000 to 4400.000 MHz
|   |   |   |   Gain range PGA0: 0.0 to 31.5 step 0.5 dB
|   |   |   |   Bandwidth range: 120000000.0 to 120000000.0 step 0.0 Hz
|   |   |   |   Connection Type: IQ
|   |   |   |   Uses LO offset: No
|   |   |     _____________________________________________________
|   |   |    /
|   |   |   |       RX Codec: A
|   |   |   |   Name: ads62p48
|   |   |   |   Gain range digital: 0.0 to 6.0 step 0.5 dB
|   |     _____________________________________________________
|   |    /
|   |   |       RX Dboard: B
|   |   |   ID: SBX-120 (0x0083)
|   |   |   Serial: 3098325
|   |   |     _____________________________________________________
|   |   |    /
|   |   |   |       RX Frontend: 0
|   |   |   |   Name: SBX-120 RX
|   |   |   |   Antennas: TX/RX, RX2, CAL
|   |   |   |   Sensors: lo_locked
|   |   |   |   Freq range: 400.000 to 4400.000 MHz
|   |   |   |   Gain range PGA0: 0.0 to 31.5 step 0.5 dB
|   |   |   |   Bandwidth range: 120000000.0 to 120000000.0 step 0.0 Hz
|   |   |   |   Connection Type: IQ
|   |   |   |   Uses LO offset: No
|   |   |     _____________________________________________________
|   |   |    /
|   |   |   |       RX Codec: B
|   |   |   |   Name: ads62p48
|   |   |   |   Gain range digital: 0.0 to 6.0 step 0.5 dB
|   |     _____________________________________________________
|   |    /
|   |   |       TX DSP: 0
|   |   |   Freq range: -100.000 to 100.000 MHz
|   |     _____________________________________________________
|   |    /
|   |   |       TX DSP: 1
|   |   |   Freq range: -100.000 to 100.000 MHz
|   |     _____________________________________________________
|   |    /
|   |   |       TX Dboard: A
|   |   |   ID: SBX-120 (0x0082)
|   |   |   Serial: 308FFB2
|   |   |     _____________________________________________________
|   |   |    /
|   |   |   |       TX Frontend: 0
|   |   |   |   Name: SBX-120 TX
|   |   |   |   Antennas: TX/RX, CAL
|   |   |   |   Sensors: lo_locked
|   |   |   |   Freq range: 400.000 to 4400.000 MHz
|   |   |   |   Gain range PGA0: 0.0 to 31.5 step 0.5 dB
|   |   |   |   Bandwidth range: 120000000.0 to 120000000.0 step 0.0 Hz
|   |   |   |   Connection Type: QI
|   |   |   |   Uses LO offset: No
|   |   |     _____________________________________________________
|   |   |    /
|   |   |   |       TX Codec: A
|   |   |   |   Name: ad9146
|   |   |   |   Gain Elements: None
|   |     _____________________________________________________
|   |    /
|   |   |       TX Dboard: B
|   |   |   ID: SBX-120 (0x0082)
|   |   |   Serial: 3098325
|   |   |     _____________________________________________________
|   |   |    /
|   |   |   |       TX Frontend: 0
|   |   |   |   Name: SBX-120 TX
|   |   |   |   Antennas: TX/RX, CAL
|   |   |   |   Sensors: lo_locked
|   |   |   |   Freq range: 400.000 to 4400.000 MHz
|   |   |   |   Gain range PGA0: 0.0 to 31.5 step 0.5 dB
|   |   |   |   Bandwidth range: 120000000.0 to 120000000.0 step 0.0 Hz
|   |   |   |   Connection Type: QI
|   |   |   |   Uses LO offset: No
|   |   |     _____________________________________________________
|   |   |    /
|   |   |   |       TX Codec: B
|   |   |   |   Name: ad9146
|   |   |   |   Gain Elements: None
andrepuschmann commented 6 years ago

Just to double check. The problem also exists if you run srsENB from outside of the Docker container, right?

tblake84 commented 6 years ago

Sorry for the late response. Yes, it occurs outside the docker container as well. I have tried various versions of UHD (3.9.7, 3.9.10 and the latest 3.11.0.1) and all of them show the same error:

root@srslte:/opt/srslte# srsenb enb.conf
---  Software Radio Systems LTE eNodeB  ---

Reading configuration file enb.conf...
[INFO] [UHD] linux; GNU C++ version 5.4.0 20160609; Boost_105800; UHD_3.11.0.HEAD-0-ga1b5c4ae
Opening USRP with args: addr=10.10.210.147,master_clock_rate=30.72e6
[INFO] [X300] X300 initialization sequence...
[INFO] [X300] Determining maximum frame size...
[INFO] [X300] Maximum frame size: 1472 bytes.
[INFO] [X300] Setup basic communication...
[INFO] [X300] Loading values from EEPROM...
[INFO] [X300] Setup RF frontend clocking...
Error opening UHD: code 44
Error opening RF device
Failed to find device UHD with args addr=10.10.210.147

I have now tried this on two different hosts with three different versions of UHD both in and outside of a docker container and I am getting all the same result.

I am using Ubuntu 16.04 and installing UHD via PyBOMBS.

tblake84 commented 6 years ago

Another update:

I tried running some of the example binaries and receive the same exact error.

root@srslte:/opt/srslte/build/lib/examples# ./usrp_txrx -o test.tmp -a addr=10.10.210.147 -f 1940e6 -g 10 -G 10
Opening RF device...
[INFO] [UHD] linux; GNU C++ version 5.4.0 20160609; Boost_105800; UHD_3.11.0.HEAD-0-ga1b5c4ae
Opening USRP with args: addr=10.10.210.147,master_clock_rate=30.72e6
[INFO] [X300] X300 initialization sequence...
[INFO] [X300] Determining maximum frame size...
[ERROR] [X300] receive_from: Message too long
[INFO] [X300] Setup basic communication...
[INFO] [X300] Loading values from EEPROM...
[INFO] [X300] Setup RF frontend clocking...
Error opening UHD: code 44
No compatible RF frontend found
Error opening rf

I have tried as many different USRPs as I have (N310, N210, and X300) and they all exhibit the same problem. I get no ENB log output and these radios work fine in our other applications.

andrepuschmann commented 6 years ago

Thanks for checking again. We are working on it.

andrepuschmann commented 6 years ago

Fixed in release 18.06

Hetti commented 6 years ago

For People which use maybe still an old Version and get this error for the srsUE with "Error opening UHD: code 44": For me the problem was, that I had an old FPGA Image for the USRP. After downloading new images via uhd_images_downloader tool and uploading the new images to the USRP the problem was fixed.

pgoyal1 commented 5 years ago

Fixed in release 18.06 of what ? Also i tried installing latest USRP images but error still coming for me.

wilmar-arcila commented 4 years ago

I'm using version 19.12.0 of srsLTE and getting the same error. My device is USRP-2901 and using UHD 3.14.1.1-release

Screenshot from 2020-02-05 08-10-10

hanif81 commented 4 years ago

Hi, I am running srsenb on 18.04 ubuntu machine, but when i try to run it, it gives the the following error: srsenb-UHD-problem Could anyone please help me in this regard

twei7 commented 4 years ago

Having the exact same issue. It used to run fine for me. After I make some small change in the code (just add more logging), and do an incremental build. The problem happens. Reboot the computer and USRP don't help. However, after deleting the build directory, recompiling and make install the srsLTE again (i.e., making a full new build) solve the issue for me.

aes5001 commented 4 years ago

Hi guys, The same problem happened to me. I did what "twei7" suggested, but did not work. Any idea what would be the problem? I deploy srs LTE on ubuntu 18.04 cloud image, do you think this may cause the problem?

Capture
sadiqzq commented 3 years ago

I am having the same issue when I run

"osboxes@osboxes:~$ sudo srsenb [sudo] password for osboxes: --- Software Radio Systems LTE eNodeB ---

Reading configuration file /root/.config/srsran/enb.conf... WARNING: Could not verify cpu0 scaling governor

Built in Release mode using commit 89f16eed2 on branch master.

Opening 1 channels in RF device=default with args=default [zmq] Error: RF device args are required for ZMQ no-RF module /home/osboxes/srsRAN/lib/src/phy/rf/rf_imp.c.129: No compatible RF frontend found Error initializing radio."

Can anybody guide me on this?