BladeRF 2.0 openLTE, srsLTE and YateBTS Problem

Discussions related to embedded firmware, driver, and user mode application software development

Moderator: robert.ghilduta

muratsisman
Posts: 8
Joined: Fri Oct 26, 2018 2:54 am

BladeRF 2.0 openLTE, srsLTE and YateBTS Problem

Post by muratsisman » Wed Nov 28, 2018 7:38 pm

I bought the BladeRF 2.0 A4 instead of the X40, believing that YateBTS on the website is running applications like openLTE. But I saw that it was a big mistake. I can't run any software, YateBTS is not compatible in any way, I've run it in srsLTE and openLTE codes, but they don't work properly because of Gain issues.
I told my problems to Nuand.com and Robert, they said they would update themselves about YateBTS, but there hasn't been any news for a long time.

Has anyone here managed to run yateBTS, srsLTE or openLTE with BladeRF 2.0?

fordhamwt
Posts: 1
Joined: Wed Dec 05, 2018 6:12 pm

Re: BladeRF 2.0 openLTE, srsLTE and YateBTS Problem

Post by fordhamwt » Wed Dec 05, 2018 6:15 pm

This issue still exists and they are still advertising they are compatible with YateBTS. I am about to ask for my company's money back. I got the XA9, so I have a bone to pick.

muratsisman
Posts: 8
Joined: Fri Oct 26, 2018 2:54 am

Re: BladeRF 2.0 openLTE, srsLTE and YateBTS Problem

Post by muratsisman » Thu Dec 06, 2018 1:27 pm

I bought the product from outside the USA on October 9 and I worked on customs for 2 weeks. But I still can't work with applications such as YateBTS, openLTE. I'm standing on my desk in a totally garbage way.

Dear Robert, can we replace the BladeRF 2.0 A4 product I bought with the X40?

robert.ghilduta
Posts: 61
Joined: Thu Feb 28, 2013 11:14 pm

Re: BladeRF 2.0 openLTE, srsLTE and YateBTS Problem

Post by robert.ghilduta » Thu Dec 06, 2018 8:21 pm

Hello,

Sorry about the delay getting to this thread. Earlier, we wanted to get out a stable release by early Decemember after a mid Novemember pre-stable release. Unfortunately due to the fires in California and the subsequent holiday, the part of our small team that lives in California had their operations disrupted. We hope to release a pre-stable release by the end of this year, and a stable release around Q1 or Q2 in conjunction with the Yate developers. So currently, our most recent branch of YateBTS that works with the bladeRF 2.0 micro is an older WIP that can be found here: https://nuand.com/downloads/yate.tar . Please note that both yate and yatebts have to be compiled (per instructions included), and installed, normal installation instructions apply otherwise. The only caveat is that you need to have your appropriate .RBF in ~/.config/Nuand/bladeRF directory.

Please note that due to the many years of development and testing the bladeRF 1.0 has enjoyed, the bladeRF 1.0 is a strong fit for YateBTS. If you are not happy with the current YateBTS and bladeRF 2.0, please contact me. If anyone needs prompt support or has any questions regarding these tools and programs feel free to give us a call, email, or contact us via our online inquiry.

We are working hard internally and with the YateBTS developers to enable the bladeRF 2.0 micro's superior hardware and capabilities to far exceed those of the bladeRF 1.0.

Lastly, please note that we do not own or make the YateBTS development schedule. Our codebase is something we have created and maintain, so please direct questions about it solely to us to spare the Yate developers for the time being.

Also, there has been several questions regarding OpenAirInterface. OAI has not moved their libbladeRF 2.0 branch over to master yet. The code for libbladeRF (and thus micro support) is available on the gitlab "develop" branch: https://gitlab.eurecom.fr/oai/openairin ... ee/develop

SRS-LTE upgraded to the libbladeRF 2.0, so the bladeRF micro can be used with the lastest master branch from https://github.com/srsLTE/srsLTE .

gee
Posts: 9
Joined: Fri Dec 07, 2018 12:10 am

Re: BladeRF 2.0 openLTE, srsLTE and YateBTS Problem

Post by gee » Fri Dec 07, 2018 12:55 am

I made my purchase off of what Nuands site claimed...I spent around $600+ for my setup thinking I would have all the features I was looking at.. it arrived the anticipation was killing me- unboxed it, went through a couple installs using pybombs which didnt work on 2 different OSes, tried tweaking pybombs and it was a nightmare (Brian was extremely helpful in guiding me through the errors I was receiving)..3rd x is a charm though..changed my distro - did a fresh install of ubuntu, ran pybombs and everything worked...played with gnuradio and got to learn about it..went on to install yate/yatebts and then ran into issues after doing further research found out that the mirco xa4 is not currently supported. I am not regretting my purchase because I understand that the micro will eventually be supported and this gives me opportunity to keep learning about all the other things i can do with this device while yate/yateBTS is in progress. I do wish this issue was advertised differently though.

That said I would like to try out the yate/yatebts you have linked to so I downloaded the .tar off the Nuand site..

Read Me instructions in the tar:

Code: Select all

[Update the following options in yate/modules/Makefile after running ./autogen.sh && ./configure

------- yate/modules/Makefile -----------
LDFLAGS:= -lbladeRF -g3
YATELIBS:= -L.. -lyate  -lbladeRF -g3
In my head that means just build and install yate+yatebts then edit /yate/modules/Makefile to reflect changes in the tars Read Me.

Yate Read Me instructions:

Code: Select all

To build Yate the quick way is:
  ./configure
  make
  make install
Seems simple enough..
when doing the ./configure for yate i get this error:

Code: Select all

./configure: line 6113: syntax error near unexpected token `fi'
./configure: line 6113: `fi'
@robert.ghilduta could you please help walk me through what I am doing wrong?

I am on Ubuntu 18.10
Linux PC 4.18.0-12-generic

Thank you to the staff being prompt with responses and willing to help - Although I can't do too much with it currently and have a lot to learn about this device I will say it is the coolest thing I own. I do appreciate the staff and everyone who contributes towards the projects. I understand that you guys are doing your best and working with what you have.

Thanks for your time!
Last edited by gee on Fri Dec 07, 2018 12:06 pm, edited 2 times in total.

robert.ghilduta
Posts: 61
Joined: Thu Feb 28, 2013 11:14 pm

Re: BladeRF 2.0 openLTE, srsLTE and YateBTS Problem

Post by robert.ghilduta » Fri Dec 07, 2018 3:01 am

The ./configure error is surprising. I would suggest trying to see if your "sh" is actually "sh" as opposed to "dash" . On my system /bin/sh points to dash,

-rwxr-xr-x 1 root root 119K Jan 24 2018 /bin/dash
lrwxrwxrwx 1 root root 4 May 16 2018 /bin/sh -> dash

which might be necessary to compile things. Please take a look at https://wiki.ubuntu.com/DashAsBinSh
By the way, please make sure you only edit the yate/modules/Makefile after running autogen and configure.

Thank you for the kind words, and the feedback. We are taking them all into account to improve our products, and the open source ecosystem. Can you please let me know by private message or start another thread about initial failures and ultimate success you had with PyBOMBS? Most systems I encounter PyBOMBS on, things take a while but eventually GNURadio and GQRX boot up pretty reliably.

In regards to all on this thread, I apologize for the hiccups in getting to an official stable from the Yate devs, we've been offering our support to them for many months. However we did fork the project and work on it ourselves, which we have been doing to bring Yate/YateBTS to the bladeRF 2.0 before the official YateBTS. The aforementioned link ( https://nuand.com/downloads/yate.tar ) is that separate Yate/YateBTS fork. We will maintain and develop it independently until the Yate developers adopt part of our patchsets and/or have a major release. We have been hoping this fork will suffice in the meantime, if not please let me know us how we can rectify any issues or concerns you may have.

I do agree, the Github documentation has not been updated to reflect the exact steps for our fork of YateBTS -- it's really only missing the readme from yate.tar. And the Github wiki only talks about the official one. I am adding "updating documentation" to my to-do list for the stable pre-release (ETA by the end of Dec). Again, if you have any suggestions, questions, or concerns, or ideas how to better clarify this, please let me know.

gee
Posts: 9
Joined: Fri Dec 07, 2018 12:10 am

Re: BladeRF 2.0 openLTE, srsLTE and YateBTS Problem

Post by gee » Fri Dec 07, 2018 8:56 am

Robert, thank you for the quick response!

This is my output to check and see if i am indeed pointing to dash instead of bash:

Code: Select all

me@PC:~$ ls -al /bin/sh
lrwxrwxrwx 1 root root 4 Dec  7 09:40 /bin/sh -> dash
me@PC:~$ ls -al /bin/dash
-rwxr-xr-x 1 root root 121432 Jan 25  2018 /bin/dash

So my system is pointing to dash (like your system) but I am still receiving this error.

Output from running ./configure within the yate folder:

Code: Select all

checking whether SCTP_UNCONFIRMED is present... yes
checking whether SCTP_PF is present... yes
checking for resolver library... yes -lresolv
checking for dn_skipname... yes
checking whether to use the internal regexp library... no
checking for regcomp... yes
./configure: line 6113: syntax error near unexpected token `fi'
./configure: line 6113: `fi'
This is a snippet of the code from configure the very last fi is the line i am receiving the error on (line 6113):

Code: Select all

# check for Mac OS X Support
MACOSX_INC=""
HAVE_MACOSX_SUPPORT=no
OBJCFLAGS=""
if [ "x$uname_os" = "xDarwin" ]; then
save_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS -x objective-c++"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Mac OS X Objective-C support" >&5
$as_echo_n "checking for Mac OS X Objective-C support... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h.  */
#import <Foundation/Foundation.h>
int
main ()
{

[NSFileManager defaultManager]

  ;
  return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :

HAVE_MACOSX_SUPPORT="yes"
OBJCFLAGS="-x objective-c++"
MACOSX_INC="-DHAVE_MACOSX_SUPPORT"
else


fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $HAVE_MACOSX_SUPPORT" >&5
$as_echo "$HAVE_MACOSX_SUPPORT" >&6; }
CPPFLAGS=$save_CPPFLAGS
fi

robert.ghilduta
Posts: 61
Joined: Thu Feb 28, 2013 11:14 pm

Re: BladeRF 2.0 openLTE, srsLTE and YateBTS Problem

Post by robert.ghilduta » Fri Dec 07, 2018 10:41 am

Could you please upload your configure in its entirety to the forum? Maybe try switching away from dash back to sh?

gee
Posts: 9
Joined: Fri Dec 07, 2018 12:10 am

Re: BladeRF 2.0 openLTE, srsLTE and YateBTS Problem

Post by gee » Fri Dec 07, 2018 11:06 am

Robert, I have tried switching between the 2 and still receive the same error.

I removed and then downloaded the .tar again, this is my process as of now:
i used dos2unix to convert the autogen and yate-config (after doing this i was able to succesfully use the autogen script)
i removed the "else" from lines 6113 and 6757 of the configuration file.

My entire process:
https://pastebin.com/bdQU4Nd3

My current configuration file:
https://pastebin.com/20T7bkfh

error:

Code: Select all

configure: creating ./config.status
.in'ig.status: error: cannot find input file: `packing/rpm/yate.spec
EDIT: this fixed the error.

Code: Select all

@PC:~/Downloads/yate/yate$ dos2unix *
@PC:~/Downloads/yate/yate$ ./autogen.sh
@PC:~/Downloads/yate/yate$ ./configure
when moving to build i get this error:

Code: Select all

ybladerf.cpp:(.text+0x16747): undefined reference to `bladerf_open'
/usr/bin/ld: ybladerf.cpp:(.text+0x16a95): undefined reference to `bladerf_load_fpga'
/usr/bin/ld: ybladerf.cpp:(.text+0x16b54): undefined reference to `bladerf_open'
/usr/bin/ld: ybladerf.cpp:(.text+0x16bac): undefined reference to `bladerf_load_fpga'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:315: radio/ybladerf.yate] Error 1
make[1]: Leaving directory '/home/pete/Downloads/yate/yate/modules'
make: *** [Makefile:186: modules] Error 2
After editing the /modules/Makefile to reflect the README:

Code: Select all

LDFLAGS:= -lbladeRF -g3
YATELIBS:= -L.. -lyate  -lbladeRF -g3
then finish with installing - success.

yateBTS was able to install following normal instructions.
Last edited by gee on Fri Dec 07, 2018 5:25 pm, edited 2 times in total.

robert.ghilduta
Posts: 61
Joined: Thu Feb 28, 2013 11:14 pm

Re: BladeRF 2.0 openLTE, srsLTE and YateBTS Problem

Post by robert.ghilduta » Fri Dec 07, 2018 3:18 pm

Nice! Now it looks like the yate/modules/Makefile is missing the -bladeRF being specified for YLIBS.

gee
Posts: 9
Joined: Fri Dec 07, 2018 12:10 am

Re: BladeRF 2.0 openLTE, srsLTE and YateBTS Problem

Post by gee » Fri Dec 07, 2018 3:47 pm

this is my output after editing the Makefile:
https://pastebin.com/3mhwccp2

robert.ghilduta
Posts: 61
Joined: Thu Feb 28, 2013 11:14 pm

Re: BladeRF 2.0 openLTE, srsLTE and YateBTS Problem

Post by robert.ghilduta » Fri Dec 07, 2018 3:51 pm

You should run `make' in the upper directory. So cd .. down from modules. If you run make in yate/ it will invoke yate/modules's Make as well.
The output looks good though, there were no errors. I would suggest running a make clean in yate/modules now to ensure no stale files.

.

gee
Posts: 9
Joined: Fri Dec 07, 2018 12:10 am

Re: BladeRF 2.0 openLTE, srsLTE and YateBTS Problem

Post by gee » Fri Dec 07, 2018 5:27 pm

Yate and YateBTS successfully installed.

Here is output of when I try to run yate -s

https://pastebin.com/2b3ZX2ec

have a couple of errors - definitely made progress today though :)

output from: sudo yate -sd -vvvvv -l /var/yate.log
https://pastebin.com/28tmGphv

muratsisman
Posts: 8
Joined: Fri Oct 26, 2018 2:54 am

Re: BladeRF 2.0 openLTE, srsLTE and YateBTS Problem

Post by muratsisman » Sat Dec 08, 2018 3:34 am

Hi, Robert;
BladeRF with YateBTS has worked successfully, but it gives the following errors and turns off the device. Why do you think it would be?


2018-12-08_13:29:48.666724 <gsmtrx:NOTE> ARFCN[0]: Duplicate burst received at 448 56/0 [0x7f4fd4033bb0]
EMERG 140214413788928 13:29:52.4 proc 14278 TRXManager.cpp:266:clockHandler: thread 140214413788928: TRX clock interface timed out, assuming TRX is dead.
2018-12-08_13:29:52.429785 <mbts:CRIT> proc 14278 TRXManager.cpp:266:clockHandler: thread 140214413788928: TRX clock interface timed out, assuming TRX is dead.
2018-12-08_13:29:52.429988 <ybts-signalling:NOTE> Peer stop notification 'RadioLost' [0x1e12fa0]
2018-12-08_13:29:53.002847 <mbts:NOTE> proc 14278 TRXManager.cpp:127:sendCommandPacket: thread 140214414673728: this:0x865cc0 command CMD STOP
2018-12-08_13:29:53.004092 <gsmtrx:NOTE> Stopping transceiver: received STOP command

gee
Posts: 9
Joined: Fri Dec 07, 2018 12:10 am

Re: BladeRF 2.0 openLTE, srsLTE and YateBTS Problem

Post by gee » Sat Dec 08, 2018 2:12 pm

Did a fresh install of ubuntu 18.10 and used these steps:

Code: Select all

$ sudo add-apt-repository ppa:bladerf/bladerf
$ sudo apt-get update
$ sudo apt-get install bladerf
$ sudo apt-get install libbladerf-dev
$ sudo apt-get install bladerf-fpga-hostedxa4
was able to console into the bladeRF-cli and check basic commands.
Now onto Yate:

Code: Select all

sudo addgroup yate
sudo usermod -a -G yate me
Next onto the yate tar:

Code: Select all

dos2unix *
./autogen.sh
./configure --prefix=/usr/local
edited the lines of Makefile according:

Code: Select all

LDFLAGS:= -lbladeRF -g3
YATELIBS:= -L.. -lyate  -lbladeRF -g3
so far so good...

Code: Select all

make
sudo make install 
the make install fails erroring on line 259 of Makefile.

To fix this:

Code: Select all

sudo make install-noapi

Try again:

Code: Select all

sudo make install
sudo ldconfig
everything installs.
go on to build and install yateBTS:

Code: Select all

./autogen.sh
./configure --prefix=/usr/local
make
sudo make install
sudo ldconfig

Code: Select all

sudo touch /usr/local/etc/yate/snmp_data.conf /usr/local/etc/yate/tmsidata.conf
sudo chown root:yate /usr/local/etc/yate/*.conf
sudo chmod g+w /usr/local/etc/yate/*.conf

start apache and create the link to nipc:

Code: Select all

sudo ln -s /usr/local/share/yate/nipc_web/ nipc

Code: Select all

sudo yate -vvvvvv -CDoa
I was getting an error saying it couldnt find the .RBF file in " /home/x1y/ ..."
To fix this:

Code: Select all

sudo find / -xdev -type f -print0 | xargs -0 grep -H "/home/x1y/"
led to this:

Code: Select all

/home/me/Downloads/yate/yate/modules/radio/ybladerf.cpp:            bladerf_load_fpga((struct bladerf *)lb_dev, "/home/x1y/.config/Nuand/hostedxA4.rbf");
used vim to staticly add my username (me) to make it the proper path..created the proper path and then moved the xA4.RBF to the /Nuand/


Complete output of:

Code: Select all

sudo yate -vvvvvv -CDoa 
https://pastebin.com/63fZZAfF

TLDR:

Code: Select all

EMERG 140035957196544 13:32:06.7 proc 16019 TRXManager.cpp:266:clockHandler: thread 140035957196544: TRX clock interface timed out, assuming TRX is dead.
2018-12-09_13:32:06.714768 <ybts-signalling:INFO> Received [0x55beb4ff1780]
-----
Primitive: Stop
Info: 1
-----
2018-12-09_13:32:06.714782 <ybts-signalling:NOTE> Peer stop notification 'RadioLost' [0x55beb4ff1780]
2018-12-09_13:32:06.714788 <ybts:ALL> Restart scheduled in 1ms [0x7fa7686f5500]
2018-12-09_13:32:06.714794 <ybts:ALL> Scheduled stop in 0ms
2018-12-09_13:32:06.714798 <ybts-signalling:ALL> Worker thread terminated [0x55beb4ff1780]
2018-12-09_13:32:06.714805 <mbts:CRIT> proc 16019 TRXManager.cpp:266:clockHandler: thread 140035957196544: TRX clock interface timed out, assuming TRX is dead.
2018-12-09_13:32:07.003701 <mbts:NOTE> proc 16019 TRXManager.cpp:127:sendCommandPacket: thread 140035958077248: this:0x55abba24d5c0 command CMD STOP
2018-12-09_13:32:07.004788 <gsmtrx:INFO> Module state changed Running -> Waiting
2018-12-09_13:32:07.004798 <gsmtrx:NOTE> Stopping transceiver: received STOP command
2018-12-09_13:32:07.004848 <gsmtrx:ALL> Radio device read thread (0x7fa73c002470) terminated [0x7fa73c01ac60]
2018-12-09_13:32:07.004868 <gsmtrx:ALL> Radio device send thread (0x7fa73c028c70) terminated [0x7fa73c01ac60]
2018-12-09_13:32:07.004920 <gsmtrx:ALL> Stopping [0x7fa73c01ac60]
2018-12-09_13:32:07.004943 <gsmtrx:ALL> Sending 'EXITING' on clock interface [0x7fa73c01ac60]
Hope this is useful...

Post Reply