From f4b38a8ee75ee8bb3bcc3007fa3372a0730591f8 Mon Sep 17 00:00:00 2001 From: Alister Amo Date: Wed, 13 Feb 2019 02:49:15 +0100 Subject: [PATCH 01/25] more ignores --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 706d848..95fef18 100644 --- a/.gitignore +++ b/.gitignore @@ -46,3 +46,4 @@ TransceiverRAD1/transceiver apps/OpenBTS-UMTS apps/OpenBTS-UMTSCLI apps/OpenBTS-UMTSDo +vlm-asn1c-0959ffb/ From b3fb974e7ecf7e5573b1ae7a2c54beb1c8f98e62 Mon Sep 17 00:00:00 2001 From: Alister Amo Date: Wed, 13 Feb 2019 02:57:43 +0100 Subject: [PATCH 02/25] more ignores --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 95fef18..584ca3d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +*~ ._* *.a *.o @@ -17,6 +18,7 @@ apps/fpga.rbf apps/transceiver build-arch-stamp build-indep-stamp +compile config/libtool.m4 config/ltoptions.m4 config/ltsugar.m4 @@ -47,3 +49,4 @@ apps/OpenBTS-UMTS apps/OpenBTS-UMTSCLI apps/OpenBTS-UMTSDo vlm-asn1c-0959ffb/ +README From 5f087a9342038c3a3b23c9fbcf8d2e81b71fca92 Mon Sep 17 00:00:00 2001 From: Alister Amo Date: Wed, 13 Feb 2019 03:26:37 +0100 Subject: [PATCH 03/25] add a fix to the encoding format for UMTS Cell ID - by @auhing --- UMTS/UMTSConfig.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/UMTS/UMTSConfig.cpp b/UMTS/UMTSConfig.cpp index 7ca6723..e540f83 100644 --- a/UMTS/UMTSConfig.cpp +++ b/UMTS/UMTSConfig.cpp @@ -1027,7 +1027,10 @@ void BeaconConfig::regenerate() uint32_t *cellID = RN_CALLOC(uint32_t); // (pat) TODO: Is this right? network order is high byte first. // Luckily, hardly matters. - *cellID = htonl(gConfig.getNum("UMTS.Identity.CI")); + *cellID = gConfig.getNum("UMTS.Identity.CI"); + // UMTS protocol specifies that the cell ID is a 28 bit number, but it is casted into a 32 bit value. The 4 LSB bits are considered padding, so the "real" data must be shifted about this padding. + *cellID = *cellID << 4; + *cellID = htonl(*cellID); // cellID is a 28-bit BIT_STRING setAsnBIT_STRING(&mSIB3.cellIdentity,(uint8_t*)cellID,28); // ASN CellSelectReselectInfoSIB_3_4 cellSelectReselectInfo, 10.3.2.3 From 5a9b3ef2e28596f0021d01bdc978a7ffca77db11 Mon Sep 17 00:00:00 2001 From: Alister Amo Date: Wed, 13 Feb 2019 03:50:29 +0100 Subject: [PATCH 04/25] picked fixes from @KonstantinZavertkin's fork --- ASN/makefile | 3 --- README.md | 2 ++ SGSNGGSN/Sgsn.cpp | 4 ++-- SIP/SIPInterface.cpp | 2 +- SMS/SMSMessages.cpp | 2 +- UMTS/UMTSRadioModem.h | 2 +- 6 files changed, 7 insertions(+), 8 deletions(-) diff --git a/ASN/makefile b/ASN/makefile index 4da1ee8..747ac17 100644 --- a/ASN/makefile +++ b/ASN/makefile @@ -4916,7 +4916,4 @@ check: ${TARGET} @echo ================ distclean: clean - rm -f $(ASN_MODULE_SOURCES) - rm -f $(ASN_MODULE_HEADERS) - rm -f $(ASN_CONVERTER_SOURCES) $(ASN_CONVERTER_HEADERS) rm -f Makefile.am.sample diff --git a/README.md b/README.md index 74b0bad..e3e9f06 100644 --- a/README.md +++ b/README.md @@ -3,3 +3,5 @@ Welcome to the OpenBTS-UMTS source code For information on supported hardware, and build, install, setup and run instructions see [the wiki page](http://openbts.org/w/index.php/OpenBTS-UMTS). +Notes for this fork: You can run ./install_dependences.sh to get dependencies satisfied before installation. + diff --git a/SGSNGGSN/Sgsn.cpp b/SGSNGGSN/Sgsn.cpp index 74dd92c..fe8b9dd 100644 --- a/SGSNGGSN/Sgsn.cpp +++ b/SGSNGGSN/Sgsn.cpp @@ -124,7 +124,7 @@ void SgsnInfo::sirm() { std::ostringstream ss; sgsnInfoDump(this,ss); - SGSNLOG("Removing SgsnInfo:"<19)||(namelen<18)) { LOG(WARNING) << "INVITE with malformed username \"" << IMSI << "\""; - return false; + return nullptr; } // Skip first 4 char "IMSI". return IMSI+4; diff --git a/SMS/SMSMessages.cpp b/SMS/SMSMessages.cpp index 2b33d01..adbc6d3 100644 --- a/SMS/SMSMessages.cpp +++ b/SMS/SMSMessages.cpp @@ -75,7 +75,7 @@ RPData *SMS::hex2rpdata(const char *hexstring) BitVector RPDUbits(strlen(hexstring)*4); if (!RPDUbits.unhex(hexstring)) { - return false; + return nullptr; } LOG(DEBUG) << "SMS RPDU bits: " << RPDUbits; diff --git a/UMTS/UMTSRadioModem.h b/UMTS/UMTSRadioModem.h index 82df8a4..07bc8d0 100644 --- a/UMTS/UMTSRadioModem.h +++ b/UMTS/UMTSRadioModem.h @@ -178,7 +178,7 @@ class RadioModem friend void *RACHLoopAdapter(RadioModem*); friend void *DCHLoopAdapter(DCHLoopInfo*); - static const float mRACHThreshold = 10.0; + static constexpr float mRACHThreshold = 10.0; private: From a71f50789f5afec043b03d7e1e6c85adbcbd77f2 Mon Sep 17 00:00:00 2001 From: Alister Amo Date: Wed, 13 Feb 2019 03:51:49 +0100 Subject: [PATCH 05/25] fixes --- install_dependences.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 install_dependences.sh diff --git a/install_dependences.sh b/install_dependences.sh new file mode 100644 index 0000000..36696ac --- /dev/null +++ b/install_dependences.sh @@ -0,0 +1,11 @@ +#!/bin/bash +sudo apt-get install git autoconf libtool libtool-bin gpp g++ libzmq3-dev pkg-config libosip2-dev libortp-dev libusb-dev libusb-1.0-0-dev libreadline-dev libsqlite3-dev libuhd-dev -y +git submodule init +git submodule update + +tar -xvzf asn1c-0.9.23.tar.gz +cd ./vlm-asn1c-0959ffb/ +./configure +make +sudo make install +cd ../ From ec9044a6c7f9593bd55054d4744b67936ac46a5f Mon Sep 17 00:00:00 2001 From: Alister Amo Date: Wed, 13 Feb 2019 04:07:30 +0100 Subject: [PATCH 06/25] more ignores --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 584ca3d..85ae554 100644 --- a/.gitignore +++ b/.gitignore @@ -24,6 +24,7 @@ config/ltoptions.m4 config/ltsugar.m4 config/ltversion.m4 config/lt~obsolete.m4 +config/test_ortp_version config.guess config.h config.log From 9534de09733d55618a982a25a93ae21120fc06c4 Mon Sep 17 00:00:00 2001 From: Alister Amo Date: Wed, 13 Feb 2019 04:35:29 +0100 Subject: [PATCH 07/25] fix code for building against modern versions of UHD driver and libs --- TransceiverUHD/UHDDevice.cpp | 28 +--------------------------- 1 file changed, 1 insertion(+), 27 deletions(-) diff --git a/TransceiverUHD/UHDDevice.cpp b/TransceiverUHD/UHDDevice.cpp index 454d036..73e24a4 100644 --- a/TransceiverUHD/UHDDevice.cpp +++ b/TransceiverUHD/UHDDevice.cpp @@ -22,8 +22,7 @@ #include #include -#include -#include +#include #include "Threads.h" #include "Logger.h" @@ -109,28 +108,6 @@ static void *async_event_loop(UHDDevice *dev) return NULL; } -/* - * Catch and drop underrun 'U' and overrun 'O' messages from stdout - * since we already report using the logging facility. Direct - * everything else appropriately. - */ -void uhd_msg_handler(uhd::msg::type_t type, const std::string &msg) -{ - switch (type) { - case uhd::msg::status: - LOG(INFO) << msg; - break; - case uhd::msg::warning: - LOG(WARNING) << msg; - break; - case uhd::msg::error: - LOG(ERR) << msg; - break; - case uhd::msg::fastpath: - break; - } -} - static void thread_enable_cancel(bool cancel) { cancel ? pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL) : @@ -410,9 +387,6 @@ bool UHDDevice::start() setPriority(); - /* Register msg handler */ - uhd::msg::register_handler(&uhd_msg_handler); - /* Start receive streaming */ if (!restart()) return false; From 87008748660f6b88224c014e0a5975ec61eda950 Mon Sep 17 00:00:00 2001 From: Alister Amo Date: Wed, 13 Feb 2019 13:20:45 +0100 Subject: [PATCH 08/25] Update README.md --- README.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index e3e9f06..17741ac 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,11 @@ -Welcome to the OpenBTS-UMTS source code -======================================== +OpenBTS-UMTS reloaded 2019 +========================== +OpenBTS-UMTS reloaded. Compatibility with latest UHD drivers, several fixes and updated install documentation for ubuntu 18.04 + +Original notes from Range Networks: For information on supported hardware, and build, install, setup and run instructions see [the wiki page](http://openbts.org/w/index.php/OpenBTS-UMTS). -Notes for this fork: You can run ./install_dependences.sh to get dependencies satisfied before installation. +Notes for this fork: +You can run ./install_dependences.sh to get dependencies satisfied before installation. From b65487a556cb674adc2f1b36fc6abc722f9f6656 Mon Sep 17 00:00:00 2001 From: Alister Amo Date: Wed, 13 Feb 2019 13:41:21 +0100 Subject: [PATCH 09/25] Update install_dependences.sh --- install_dependences.sh | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/install_dependences.sh b/install_dependences.sh index 36696ac..3db7a0c 100644 --- a/install_dependences.sh +++ b/install_dependences.sh @@ -1,11 +1,21 @@ #!/bin/bash -sudo apt-get install git autoconf libtool libtool-bin gpp g++ libzmq3-dev pkg-config libosip2-dev libortp-dev libusb-dev libusb-1.0-0-dev libreadline-dev libsqlite3-dev libuhd-dev -y +# This script has been tested in Ubuntu 16.04 and 18.04. Please report any problem you find. + +# Latest UHD from Ettus PPA +sudo add-apt-repository ppa:ettusresearch/uhd +sudo apt-get update +sudo apt-get install libuhd-dev libuhd003 uhd-host + +# Other dependencies, mostly build-time +sudo apt-get install git autoconf libtool libtool-bin gpp g++ libzmq3-dev pkg-config libosip2-dev libortp-dev libusb-dev libusb-1.0-0-dev libreadline-dev libsqlite3-dev -y +# Clone submodules from base repo git submodule init git submodule update - +# Uncompress, configure, compile and install bundled version of ASN1 compiler, necessary in build-time tar -xvzf asn1c-0.9.23.tar.gz cd ./vlm-asn1c-0959ffb/ ./configure make sudo make install cd ../ +# TODO: possibly more dependencies to be added here. Please suggest any requirement package you detect as missing. From 37d46b6149f43dd834692a807b60d7c9bd164e81 Mon Sep 17 00:00:00 2001 From: Alister Amo Date: Wed, 13 Feb 2019 12:49:24 +0000 Subject: [PATCH 10/25] fixes --- install_dependences.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 install_dependences.sh diff --git a/install_dependences.sh b/install_dependences.sh old mode 100644 new mode 100755 From cfcd34b06ea3a9349bfc1d5b6637f3c893cce533 Mon Sep 17 00:00:00 2001 From: FlUxIuS Date: Wed, 4 Jan 2023 13:29:18 +0100 Subject: [PATCH 11/25] Fixes for C++17 --- CommonLibs/ScalarTypes.h | 24 ++++++++++++++++++++++-- SIP/SIPEngine.cpp | 2 +- install_dependences.sh | 8 ++------ 3 files changed, 25 insertions(+), 9 deletions(-) diff --git a/CommonLibs/ScalarTypes.h b/CommonLibs/ScalarTypes.h index b6072fb..7dc0666 100644 --- a/CommonLibs/ScalarTypes.h +++ b/CommonLibs/ScalarTypes.h @@ -3,7 +3,7 @@ * traditionally complex, proprietary hardware systems. * * Copyright 2011-2014 Range Networks, Inc. - * + * Patched by FlUxIuS @ Penthertz SAS * This software is distributed under the terms of the GNU Affero General * Public License version 3. See the COPYING and NOTICE files in the main * directory for licensing information. @@ -31,6 +31,18 @@ Basetype* operator&() { return &value; } \ +#define _INITIALIZED_SCALAR_FUNCSBOOL(Classname,Basetype,Init) \ + Classname() : value(Init) {} \ + Classname(Basetype wvalue) { value = wvalue; } /* Can set from basetype. */ \ + operator Basetype(void) const { return value; } /* Converts from basetype. */ \ + Basetype operator++() { return true; } \ + Basetype operator++(int) { return true; } \ + Basetype operator=(Basetype wvalue) { return value = wvalue; } \ + Basetype operator+=(Basetype wvalue) { return value = value + wvalue; } \ + Basetype operator-=(Basetype wvalue) { return value = value - wvalue; } \ + Basetype* operator&() { return &value; } \ + + #define _DECLARE_SCALAR_TYPE(Classname_i,Classname_z,Basetype) \ template \ struct Classname_i { \ @@ -39,6 +51,14 @@ }; \ typedef Classname_i<0> Classname_z; +#define _DECLARE_SCALAR_TYPEBOOL(Classname_i,Classname_z,Basetype) \ + template \ + struct Classname_i { \ + Basetype value; \ + _INITIALIZED_SCALAR_FUNCSBOOL(Classname_i,Basetype,Init) \ + }; \ + typedef Classname_i<0> Classname_z; + // Usage: // Where 'classname' is one of the types listed below, then: @@ -55,7 +75,7 @@ _DECLARE_SCALAR_TYPE(UInt8_i, UInt8_z, uint8_t) _DECLARE_SCALAR_TYPE(UInt16_i, UInt16_z, uint16_t) _DECLARE_SCALAR_TYPE(UInt32_i, UInt32_z, uint32_t) _DECLARE_SCALAR_TYPE(Size_t_i, Size_t_z, size_t) -_DECLARE_SCALAR_TYPE(Bool_i, Bool_z, bool) +_DECLARE_SCALAR_TYPEBOOL(Bool_i, Bool_z, bool) // float is special, because C++ does not permit the template initalization: struct Float_z { diff --git a/SIP/SIPEngine.cpp b/SIP/SIPEngine.cpp index 8cb2ed3..583ff52 100644 --- a/SIP/SIPEngine.cpp +++ b/SIP/SIPEngine.cpp @@ -754,7 +754,7 @@ void SIPEngine::InitRTP(const osip_message_t * msg ) #ifdef ORTP_NEW_API rtp_session_set_local_addr(mSession, "0.0.0.0", mRTPPort, -1); #else - rtp_session_set_local_addr(mSession, "0.0.0.0", mRTPPort); + rtp_session_set_local_addr(mSession, "0.0.0.0", mRTPPort, mRTPPort+1); #endif rtp_session_set_remote_addr(mSession, d_ip_addr, atoi(d_port)); diff --git a/install_dependences.sh b/install_dependences.sh index 3db7a0c..774b9af 100755 --- a/install_dependences.sh +++ b/install_dependences.sh @@ -1,13 +1,9 @@ #!/bin/bash # This script has been tested in Ubuntu 16.04 and 18.04. Please report any problem you find. -# Latest UHD from Ettus PPA -sudo add-apt-repository ppa:ettusresearch/uhd -sudo apt-get update -sudo apt-get install libuhd-dev libuhd003 uhd-host +# Install all package dependencies +sudo apt install autoconf libtool build-essential libuhd-dev uhd-host libzmq3-dev libosip2-dev libortp-dev libusb-1.0-0-dev asn1c libtool-bin libsqlite3-dev libreadline-dev -# Other dependencies, mostly build-time -sudo apt-get install git autoconf libtool libtool-bin gpp g++ libzmq3-dev pkg-config libosip2-dev libortp-dev libusb-dev libusb-1.0-0-dev libreadline-dev libsqlite3-dev -y # Clone submodules from base repo git submodule init git submodule update From f886516d6825929fe3329df35cc44e67fb709f15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Dudek?= Date: Wed, 4 Jan 2023 13:31:49 +0100 Subject: [PATCH 12/25] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 17741ac..a69eb88 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ -OpenBTS-UMTS reloaded 2019 +OpenBTS-UMTS reloaded 2023 ========================== -OpenBTS-UMTS reloaded. Compatibility with latest UHD drivers, several fixes and updated install documentation for ubuntu 18.04 +OpenBTS-UMTS reloaded. Compatibility with latest UHD drivers, several fixes and updated install documentation for ubuntu 22.04 Original notes from Range Networks: For information on supported hardware, and build, install, setup and run instructions see [the wiki page](http://openbts.org/w/index.php/OpenBTS-UMTS). From 619f601f5a9cd3566b98fb7f0d35a928cc5fea5d Mon Sep 17 00:00:00 2001 From: FlUxIuS Date: Wed, 4 Jan 2023 13:37:28 +0100 Subject: [PATCH 13/25] Adding support to B205mini* --- TransceiverUHD/UHDDevice.cpp | 58 +++++++++++++++++++----------------- 1 file changed, 31 insertions(+), 27 deletions(-) diff --git a/TransceiverUHD/UHDDevice.cpp b/TransceiverUHD/UHDDevice.cpp index 73e24a4..a72cb51 100644 --- a/TransceiverUHD/UHDDevice.cpp +++ b/TransceiverUHD/UHDDevice.cpp @@ -4,6 +4,7 @@ * * Copyright 2010-2011 Free Software Foundation, Inc. * Copyright 2014 Ettus Research LLC + * Patched by FlUxIuS @ Penthertz SAS * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -234,33 +235,36 @@ double UHDDevice::setRxGain(double db) */ bool UHDDevice::parse_dev_type() { - std::string mboard_str, dev_str; - uhd::property_tree::sptr prop_tree; - size_t usrp2_str, b200_str, b210_str, x300_str, x310_str; - - prop_tree = usrp_dev->get_device()->get_tree(); - dev_str = prop_tree->access("/name").get(); - mboard_str = usrp_dev->get_mboard_name(); - - usrp2_str = dev_str.find("USRP2"); - b200_str = mboard_str.find("B200"); - b210_str = mboard_str.find("B210"); - x300_str = mboard_str.find("X300"); - x310_str = mboard_str.find("X310"); - - if (b200_str != std::string::npos) { - dev_type = B2XX; - } else if (b210_str != std::string::npos) { - dev_type = B2XX; - } else if (usrp2_str != std::string::npos) { - dev_type = USRP2; - } else if (x300_str != std::string::npos) { - dev_type = X300; - } else if (x310_str != std::string::npos) { - dev_type = X300; - } else { - goto nosupport; - } + std::string mboard_str, dev_str; + uhd::property_tree::sptr prop_tree; + size_t usrp2_str, b200_str, b210_str, x300_str, x310_str, b205mini_str; + + prop_tree = usrp_dev->get_device()->get_tree(); + dev_str = prop_tree->access("/name").get(); + mboard_str = usrp_dev->get_mboard_name(); + + usrp2_str = dev_str.find("USRP2"); + b200_str = mboard_str.find("B200"); + b205mini_str = mboard_str.find("B205mini"); + b210_str = mboard_str.find("B210"); + x300_str = mboard_str.find("X300"); + x310_str = mboard_str.find("X310"); + + if (b200_str != std::string::npos) { + dev_type = B2XX; + } else if (b205mini_str != std::string::npos) { + dev_type = B2XX; + } else if (b210_str != std::string::npos) { + dev_type = B2XX; + } else if (usrp2_str != std::string::npos) { + dev_type = USRP2; + } else if (x300_str != std::string::npos) { + dev_type = X300; + } else if (x310_str != std::string::npos) { + dev_type = X300; + } else { + goto nosupport; + } tx_window = TX_WINDOW_FIXED; LOG(INFO) << "Using fixed transmit window for " From f700f390d99991672c0b76404a629a7756836c27 Mon Sep 17 00:00:00 2001 From: FlUxIuS Date: Wed, 4 Jan 2023 13:46:10 +0100 Subject: [PATCH 14/25] Replacing NodeManager submodule URL --- .gitmodules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitmodules b/.gitmodules index f515ff8..2d80048 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,4 +1,4 @@ [submodule "NodeManager"] path = NodeManager - url = https://github.com/RangeNetworks/NodeManager.git + url = https://github.com/FlUxIuS/NodeManager branch = master From 21e0935c780ae4dea254387f7b6306c40e549388 Mon Sep 17 00:00:00 2001 From: FlUxIuS Date: Wed, 4 Jan 2023 13:59:26 +0100 Subject: [PATCH 15/25] Updated NodeManager --- NodeManager | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NodeManager b/NodeManager index 45420fe..720d812 160000 --- a/NodeManager +++ b/NodeManager @@ -1 +1 @@ -Subproject commit 45420fe5f81a18e029f56f6cca24f2b6eeeba0cd +Subproject commit 720d812f285e01e68ad18a49036b30ae132208cc From 1600835ac12120d282e621aef9d9d97f1770bde5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Dudek?= Date: Wed, 4 Jan 2023 15:29:54 +0100 Subject: [PATCH 16/25] Update README.md --- README.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index a69eb88..b5a1589 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,10 @@ -OpenBTS-UMTS reloaded 2023 -========================== +# OpenBTS-UMTS reloaded 2023 OpenBTS-UMTS reloaded. Compatibility with latest UHD drivers, several fixes and updated install documentation for ubuntu 22.04 -Original notes from Range Networks: -For information on supported hardware, and build, install, setup and run instructions see [the wiki page](http://openbts.org/w/index.php/OpenBTS-UMTS). +## Documentation -Notes for this fork: -You can run ./install_dependences.sh to get dependencies satisfied before installation. +Refer to this wiki page for the new documentation: https://github.com/PentHertz/OpenBTS-UMTS/wiki +## Original notes from Range Networks (obsolete): +For information on supported hardware, and build, install, setup and run instructions see [the wiki page](http://openbts.org/w/index.php/OpenBTS-UMTS). From ac66bfa89d3d8cffbd988956fb9c1e7fbdf20103 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Dudek?= Date: Wed, 4 Jan 2023 15:31:42 +0100 Subject: [PATCH 17/25] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b5a1589..d76af0f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # OpenBTS-UMTS reloaded 2023 -OpenBTS-UMTS reloaded. Compatibility with latest UHD drivers, several fixes and updated install documentation for ubuntu 22.04 +OpenBTS-UMTS reloaded for 2023. This fork extends changes from @EurecatSecurity make it compatiblee with latest UHD drivers, several fixes to work on Ubuntu 22.04. ## Documentation From ae166a03e75b45308b2c9cb37d82311a24803a6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Dudek?= Date: Wed, 4 Jan 2023 16:42:18 +0100 Subject: [PATCH 18/25] Update README.md --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index d76af0f..649f775 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,14 @@ OpenBTS-UMTS reloaded for 2023. This fork extends changes from @EurecatSecurity make it compatiblee with latest UHD drivers, several fixes to work on Ubuntu 22.04. +## Compatible devices + +* USRP + * B200/B210/B205-mini* + * X300/X310 + * N200/N210 + * USRP2 + ## Documentation Refer to this wiki page for the new documentation: https://github.com/PentHertz/OpenBTS-UMTS/wiki From 8e0ccf059e809edc0400f21543bb978775b65bac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Dudek?= Date: Wed, 4 Jan 2023 18:34:59 +0100 Subject: [PATCH 19/25] Update README.md --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index 649f775..02ece33 100644 --- a/README.md +++ b/README.md @@ -14,5 +14,12 @@ OpenBTS-UMTS reloaded for 2023. This fork extends changes from @EurecatSecurity Refer to this wiki page for the new documentation: https://github.com/PentHertz/OpenBTS-UMTS/wiki +## Docker images + +We are also providing a Docker images, so you will not to follow the installation instructions and run it straightfoward even if system dependencies are broken in the future (in theory!). + +Checkout the images there: https://hub.docker.com/r/penthertz/openbts-umts + + ## Original notes from Range Networks (obsolete): For information on supported hardware, and build, install, setup and run instructions see [the wiki page](http://openbts.org/w/index.php/OpenBTS-UMTS). From eedf560b79a1d2cc749b250646c7b0cea9084793 Mon Sep 17 00:00:00 2001 From: FlUxIuS Date: Mon, 9 Jan 2023 11:39:47 +0100 Subject: [PATCH 20/25] Updating versions displayed in the CLI --- Globals/Globals.cpp | 1 + configure.ac | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Globals/Globals.cpp b/Globals/Globals.cpp index bf89bef..87f9bda 100644 --- a/Globals/Globals.cpp +++ b/Globals/Globals.cpp @@ -33,6 +33,7 @@ const char *gOpenWelcome = "Copyright 2008, 2009, 2010 Free Software Foundation, Inc.\n" "Copyright 2010 Kestrel Signal Processing, Inc.\n" "Copyright 2011, 2012, 2013, 2014 Range Networks, Inc.\n" + "Reloaded for 2023 by FlUxIuS @ Penthertz SAS.\n" "Release " VERSION " " PROD_CAT " formal build date " TIMESTAMP_ISO " " REPO_REV "\n" "\"OpenBTS\" is a trademark of Range Networks, Inc.\n" "\"OpenBTS-UMTS\" is a trademark of Range Networks, Inc.\n" diff --git a/configure.ac b/configure.ac index 9cd991a..e1cb14e 100644 --- a/configure.ac +++ b/configure.ac @@ -15,7 +15,7 @@ dnl See the LEGAL file in the main directory for details. dnl FIXME -- Need to add dependency check for asn1c. AC_PREREQ(2.57) -AC_INIT(openbts-umts,1.0-master) +AC_INIT(openbts-umts,1.1-master) AC_CANONICAL_BUILD AC_CANONICAL_HOST From b76ca31318226c9cf9b262f013bb5346326cec03 Mon Sep 17 00:00:00 2001 From: FlUxIuS Date: Mon, 9 Jan 2023 11:59:15 +0100 Subject: [PATCH 21/25] Adding support for LimeSDR --- TransceiverUHD/UHDDevice.cpp | 10 +++++++--- TransceiverUHD/UHDDevice.h | 1 + 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/TransceiverUHD/UHDDevice.cpp b/TransceiverUHD/UHDDevice.cpp index a72cb51..b71bab3 100644 --- a/TransceiverUHD/UHDDevice.cpp +++ b/TransceiverUHD/UHDDevice.cpp @@ -82,11 +82,12 @@ static struct uhd_dev_offset uhd_offsets[NUM_USRP_TYPES] = { { B2XX, 99 }, { X300, 73 }, { UMTRX, 0 }, + { LimeSDRUSB, 50 }, // picked from http://swigerco.com/UHDDevice.cpp.diff }; static int get_dev_offset(enum uhd_dev_type type) { - if ((type != B2XX) && (type != USRP2) && (type != X300)) { + if ((type != B2XX) && (type != USRP2) && (type != X300) && (type != LimeSDRUSB)) { LOG(ALERT) << "Unsupported device type"; return 0; } @@ -237,7 +238,7 @@ bool UHDDevice::parse_dev_type() { std::string mboard_str, dev_str; uhd::property_tree::sptr prop_tree; - size_t usrp2_str, b200_str, b210_str, x300_str, x310_str, b205mini_str; + size_t usrp2_str, b200_str, b210_str, x300_str, x310_str, b205mini_str, LimeSDRUSB_str; prop_tree = usrp_dev->get_device()->get_tree(); dev_str = prop_tree->access("/name").get(); @@ -249,6 +250,7 @@ bool UHDDevice::parse_dev_type() b210_str = mboard_str.find("B210"); x300_str = mboard_str.find("X300"); x310_str = mboard_str.find("X310"); + LimeSDRUSB_str = mboard_str.find("LimeSDR-USB"); if (b200_str != std::string::npos) { dev_type = B2XX; @@ -262,7 +264,9 @@ bool UHDDevice::parse_dev_type() dev_type = X300; } else if (x310_str != std::string::npos) { dev_type = X300; - } else { + } else if (LimeSDRUSB_str != std::string::npos) { + dev_type = LimeSDRUSB; + } else { goto nosupport; } diff --git a/TransceiverUHD/UHDDevice.h b/TransceiverUHD/UHDDevice.h index e01172d..f354b98 100644 --- a/TransceiverUHD/UHDDevice.h +++ b/TransceiverUHD/UHDDevice.h @@ -14,6 +14,7 @@ enum uhd_dev_type { B2XX, X300, UMTRX, + LimeSDRUSB, // picked from http://swigerco.com/UHDDevice.h.diff NUM_USRP_TYPES, }; From 20c7f287c7d9fc57950e9b2dbfe1670db3e464d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Dudek?= Date: Mon, 9 Jan 2023 12:02:46 +0100 Subject: [PATCH 22/25] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 02ece33..a81c138 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ OpenBTS-UMTS reloaded for 2023. This fork extends changes from @EurecatSecurity * X300/X310 * N200/N210 * USRP2 +* LimeSDR (experimental) ## Documentation From abacf99c2c5f8c45967cfa6dfb85ef7000df76d4 Mon Sep 17 00:00:00 2001 From: FlUxIuS Date: Tue, 10 Jan 2023 11:12:08 +0100 Subject: [PATCH 23/25] Adding support for all kind of LimeSDRs --- TransceiverUHD/UHDDevice.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TransceiverUHD/UHDDevice.cpp b/TransceiverUHD/UHDDevice.cpp index b71bab3..fab60ba 100644 --- a/TransceiverUHD/UHDDevice.cpp +++ b/TransceiverUHD/UHDDevice.cpp @@ -250,7 +250,7 @@ bool UHDDevice::parse_dev_type() b210_str = mboard_str.find("B210"); x300_str = mboard_str.find("X300"); x310_str = mboard_str.find("X310"); - LimeSDRUSB_str = mboard_str.find("LimeSDR-USB"); + LimeSDRUSB_str = mboard_str.find("LimeSDR"); if (b200_str != std::string::npos) { dev_type = B2XX; From 21a79cfc7783b515c23191b9e1d601a7ba3205bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Dudek?= Date: Fri, 28 Jun 2024 12:59:18 +0200 Subject: [PATCH 24/25] Update install_dependences.sh --- install_dependences.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install_dependences.sh b/install_dependences.sh index 774b9af..20cb8d9 100755 --- a/install_dependences.sh +++ b/install_dependences.sh @@ -2,7 +2,7 @@ # This script has been tested in Ubuntu 16.04 and 18.04. Please report any problem you find. # Install all package dependencies -sudo apt install autoconf libtool build-essential libuhd-dev uhd-host libzmq3-dev libosip2-dev libortp-dev libusb-1.0-0-dev asn1c libtool-bin libsqlite3-dev libreadline-dev +sudo apt-get install -y autoconf libtool build-essential libuhd-dev uhd-host libzmq3-dev libosip2-dev libortp-dev libusb-1.0-0-dev asn1c libtool-bin libsqlite3-dev libreadline-dev # Clone submodules from base repo git submodule init From e45141ec05e0e02d78605db5d4a4e3054876bcc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Dudek?= Date: Thu, 4 Jul 2024 11:18:38 +0200 Subject: [PATCH 25/25] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a81c138..348bee6 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# OpenBTS-UMTS reloaded 2023 +# OpenBTS-UMTS reloaded 2024 -OpenBTS-UMTS reloaded for 2023. This fork extends changes from @EurecatSecurity make it compatiblee with latest UHD drivers, several fixes to work on Ubuntu 22.04. +OpenBTS-UMTS reloaded for 2024. This fork extends changes from @EurecatSecurity make it compatiblee with latest UHD drivers, several fixes to work on Ubuntu 22.04. ## Compatible devices