Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue in OpenLTE installation #3

Closed
dominicantonyv opened this issue Dec 18, 2018 · 9 comments
Closed

Issue in OpenLTE installation #3

dominicantonyv opened this issue Dec 18, 2018 · 9 comments

Comments

@dominicantonyv
Copy link

dominicantonyv commented Dec 18, 2018

Hi

I was successful in running the command "./build-gnuradio -v". All the prerequisites were built and installed. But at the time of OpenLTE installation, the following error occurred.

The following is a part of output on running "make" for OpenLTE

[ 74%] Building CXX object LTE_fdd_enodeb/CMakeFiles/LTE_fdd_enodeb.dir/src/LTE_fdd_enb_radio.cc.o
In file included from /home/xxx/OpenLTE/OpenLTE-master/LTE_fdd_enodeb/hdr/LTE_fdd_enb_radio.h:56,
from LTE_fdd_enb_radio.cc:63:
LTE_fdd_enb_radio.cc: In member function ‘LTE_FDD_ENB_ERROR_ENUM LTE_fdd_enb_radio_bladerf::setup(uint32, double, int16, int16, uint8, uint32, uint32)’:

LTE_fdd_enb_radio.cc:825:34: error: invalid conversion from ‘bladerf_channel’ {aka ‘int’} to ‘bladerf_channel_layout’ [-fpermissive]

/usr/local/include/libbladeRF.h:2541:58: note: initializing argument 2 of ‘int bladerf_sync_config(bladerf*, bladerf_channel_layout, bladerf_format, unsigned int, unsigned int, unsigned int, unsigned int)’
bladerf_channel_layout layout,


LTE_fdd_enb_radio.cc:845:34: **error**: invalid conversion from ‘bladerf_channel’ {aka ‘int’} to ‘bladerf_channel_layout’ [-fpermissive]

/usr/local/include/libbladeRF.h:2541:58: note: initializing argument 2 of ‘int bladerf_sync_config(bladerf*, bladerf_channel_layout, bladerf_format, unsigned int, unsigned int, unsigned int, unsigned int)’
bladerf_channel_layout layout,
~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
LTE_fdd_enb_radio.cc: In member function ‘void LTE_fdd_enb_radio_bladerf::receive(LTE_FDD_ENB_RADIO_PARAMS_STRUCT*)’:

LTE_fdd_enb_radio.cc:977:40: **error**: invalid conversion from ‘bladerf_channel’ {aka ‘int’} to ‘bladerf_direction’ [-fpermissive]

/usr/local/include/libbladeRF.h:2467:55: note: initializing argument 2 of ‘int bladerf_get_timestamp(bladerf*, bladerf_direction, bladerf_timestamp*)’
bladerf_direction dir,
~~~~~~~~~~~~~~~~~~^~~
make[2]: *** [LTE_fdd_enodeb/CMakeFiles/LTE_fdd_enodeb.dir/src/LTE_fdd_enb_radio.cc.o] Error 1
make[1]: *** [LTE_fdd_enodeb/CMakeFiles/LTE_fdd_enodeb.dir/all] Error 2
make: *** [all] Error 2

Could someone please help me to fix this issue?

@mgp25
Copy link
Owner

mgp25 commented Dec 18, 2018

This issue might help you: f4exb/sdrangel#217. Let us know if that worked.

Regards

@dominicantonyv
Copy link
Author

@mgp25 No it didn't work it seems. The following is what I have done.

I edited the line in "build-gnuradio" file where the bladerf is cloned from github.
The original line was

git clone https://github.com/Nuand/bladeRF.git >>$LOGDEV 2>&1.

I changed it to

git clone --branch 2016.06 https://github.com/Nuand/bladeRF.git >>$LOGDEV 2>&1.

Then I ran "./build-gnuradio -v" and everything was fine. But again at the time of OpenLTE installation, the process failed for the same issue.

Did I do anything wrong or missed anything. Please help.

@mgp25
Copy link
Owner

mgp25 commented Dec 25, 2018

I found a guide to install OpenLTE with BladeRF support: https://cn0xroot.com/2016/07/06/how-to-build-4g-lte-base-station-with-gnuradio-bladerf-openlte-part-1/

Keep in mind that this is not the official repository and although I am happy to answer all your questions, in OpenLTE forum they will give you a more accurate answer.

Regards

@dominicantonyv
Copy link
Author

@mgp25 I would like to check with you if it is possible to disable or unplug the BladeRF support in OpenLTE, so that it doesn't matter if BladeRF is installed or not. Actually, the hardware in my interest is only USRP.

@mgp25
Copy link
Owner

mgp25 commented Jul 26, 2019

All the installation steps mentioned in this repository readme are based for an USRP device, in specific the B200 series board.

I am not sure if you managed to solve the issue, if so let us know.

I am closing this issue, but feel free to open it again if the issue persists.

Regards

@mgp25 mgp25 closed this as completed Jul 26, 2019
@tranzmatt
Copy link

tranzmatt commented Jan 31, 2020

I am still having this issue trying to build the latest openlte against the latest bladeRF.

[ 77%] Building CXX object LTE_fdd_enodeb/CMakeFiles/LTE_fdd_enodeb.dir/src/LTE_fdd_enb_radio.cc.o
In file included from LTE_fdd_enb_radio.cc:70:
/home/matt/gnuradio-3.7/include/uhd/utils/thread_priority.hpp:10:17: note: #pragma message: This header is deprecated - please use <uhd/utils/thread.hpp> instead.
 #pragma message "This header is deprecated - please use <uhd/utils/thread.hpp> instead."
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/matt/gnuradio-3.7/src/openlte/LTE_fdd_enodeb/hdr/LTE_fdd_enb_radio.h:56,
                 from LTE_fdd_enb_radio.cc:63:
LTE_fdd_enb_radio.cc: In member function ‘LTE_FDD_ENB_ERROR_ENUM LTE_fdd_enb_radio_bladerf::setup(uint32, double, int16, int16, uint8, uint32, uint32)’:
/home/matt/gnuradio-3.7/include/libbladeRF.h:551:32: error: invalid conversion from ‘bladerf_channel’ {aka ‘int’} to ‘bladerf_channel_layout’ [-fpermissive]
 #define BLADERF_CHANNEL_TX(ch) (bladerf_channel)(((ch) << 1) | 0x1)
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/matt/gnuradio-3.7/include/libbladeRF.h:567:27: note: in expansion of macro ‘BLADERF_CHANNEL_TX’
 #define BLADERF_MODULE_TX BLADERF_CHANNEL_TX(0)
                           ^~~~~~~~~~~~~~~~~~
LTE_fdd_enb_radio.cc:825:34: note: in expansion of macro ‘BLADERF_MODULE_TX’
/home/matt/gnuradio-3.7/include/libbladeRF.h:2463:58: note:   initializing argument 2 of ‘int bladerf_sync_config(bladerf*, bladerf_channel_layout, bladerf_format, unsigned int, unsigned int, unsigned int, unsigned int)’
                                   bladerf_channel_layout layout,
                                   ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
/home/matt/gnuradio-3.7/include/libbladeRF.h:536:32: error: invalid conversion from ‘bladerf_channel’ {aka ‘int’} to ‘bladerf_channel_layout’ [-fpermissive]
 #define BLADERF_CHANNEL_RX(ch) (bladerf_channel)(((ch) << 1) | 0x0)
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

@davmar88
Copy link

davmar88 commented Apr 15, 2020

Yup. Having another issue too

Scanning dependencies of target LTE_fdd_enodeb [ 77%] Building CXX object LTE_fdd_enodeb/CMakeFiles/LTE_fdd_enodeb.dir/src/LTE_fdd_enb_radio.cc.o In file included from /home/marietjie/openlte_v00-20-05/LTE_fdd_enodeb/hdr/LTE_fdd_enb_radio.h:56:0, from LTE_fdd_enb_radio.cc:63: LTE_fdd_enb_radio.cc: In member function ‘LTE_FDD_ENB_ERROR_ENUM LTE_fdd_enb_radio_bladerf::setup(uint32, double, int16, int16, uint8, uint32, uint32)’: LTE_fdd_enb_radio.cc:825:34: error: invalid conversion from ‘bladerf_channel {aka int}’ to ‘bladerf_channel_layout’ [-fpermissive] /usr/local/include/libbladeRF.h:2577:15: note: initializing argument 2 of ‘int bladerf_sync_config(bladerf*, bladerf_channel_layout, bladerf_format, unsigned int, unsigned int, unsigned int, unsigned int)’ int CALL_CONV bladerf_sync_config(struct bladerf *dev, ^~~~~~~~~~~~~~~~~~~ LTE_fdd_enb_radio.cc: In member function ‘void LTE_fdd_enb_radio_bladerf::receive(LTE_FDD_ENB_RADIO_PARAMS_STRUCT*)’: LTE_fdd_enb_radio.cc:977:40: error: invalid conversion from ‘bladerf_channel {aka int}’ to ‘bladerf_direction’ [-fpermissive] /usr/local/include/libbladeRF.h:2503:15: note: initializing argument 2 of ‘int bladerf_get_timestamp(bladerf*, bladerf_direction, bladerf_timestamp*)’ int CALL_CONV bladerf_get_timestamp(struct bladerf *dev, ^~~~~~~~~~~~~~~~~~~~~ LTE_fdd_enodeb/CMakeFiles/LTE_fdd_enodeb.dir/build.make:302: recipe for target 'LTE_fdd_enodeb/CMakeFiles/LTE_fdd_enodeb.dir/src/LTE_fdd_enb_radio.cc.o' failed make[2]: *** [LTE_fdd_enodeb/CMakeFiles/LTE_fdd_enodeb.dir/src/LTE_fdd_enb_radio.cc.o] Error 1 CMakeFiles/Makefile2:961: recipe for target 'LTE_fdd_enodeb/CMakeFiles/LTE_fdd_enodeb.dir/all' failed make[1]: *** [LTE_fdd_enodeb/CMakeFiles/LTE_fdd_enodeb.dir/all] Error 2 Makefile:140: recipe for target 'all' failed make: *** [all] Error 2

@davmar88
Copy link

davmar88 commented Apr 15, 2020

Nevermind, here is the fix:

> diff --git a/LTE_fdd_enodeb/src/LTE_fdd_enb_radio.cc b/LTE_fdd_enodeb/src/LTE_fdd_enb_radio.cc
index 7e03e08..9f1a011 100755
--- a/LTE_fdd_enodeb/src/LTE_fdd_enb_radio.cc
+++ b/LTE_fdd_enodeb/src/LTE_fdd_enb_radio.cc
@@ -822,7 +822,7 @@ LTE_FDD_ENB_ERROR_ENUM LTE_fdd_enb_radio_bladerf::setup(uint32 idx,
         buffer_size = 1024;
     }
     status = bladerf_sync_config(bladerf,
-                                 BLADERF_MODULE_TX,
+                                BLADERF_TX_X1,
                                  BLADERF_FORMAT_SC16_Q11_META,
                                  BLADERF_NUM_BUFFERS,
                                  buffer_size,
@@ -842,7 +842,7 @@ LTE_FDD_ENB_ERROR_ENUM LTE_fdd_enb_radio_bladerf::setup(uint32 idx,
 
     // Setup sync RX
     status = bladerf_sync_config(bladerf,
-                                 BLADERF_MODULE_RX,
+                                BLADERF_RX_X1,
                                  BLADERF_FORMAT_SC16_Q11_META,
                                  BLADERF_NUM_BUFFERS,
                                  buffer_size,
@@ -974,7 +974,7 @@ void LTE_fdd_enb_radio_bladerf::receive(LTE_FDD_ENB_RADIO_PARAMS_STRUCT *radio_p
     if(radio_params->init_needed)
     {
         // Assume RX_timestamp and TX_timestamp difference is 0
-        bladerf_get_timestamp(bladerf, BLADERF_MODULE_RX, (uint64_t*)&rx_ts);
+        bladerf_get_timestamp(bladerf, BLADERF_RX, (uint64_t*)&rx_ts);
         next_tx_ts            = rx_ts + radio_params->samp_rate; // 1 second to make sure everything is setup
         metadata_rx.flags     = 0;
         metadata_rx.timestamp = next_tx_ts - (radio_params->N_samps_per_subfr*2); // Retard RX by 2 subframes

@Keskebeu
Copy link

@davmar88 that fixed it for me too. Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants