Menu

Installing OpenLTE on Kali Linux

Blinko
2017-03-11
2017-03-11
  • Blinko

    Blinko - 2017-03-11

    Hello, Blinkomaniak here ... trying to learn stuff ...
    I just have installed Kali Linux Rolling (2016.2) and did the typical commands to update, upgrade kernel and distribution, headers

    root@kali:~# cat /etc/*-release
    ID=kali
    VERSION="2016.2"
    VERSION_ID="2016.2"

    root@kali:~# uname -r
    4.9.0-kali3-amd64
    root@kali:~# sudo apt-get clean && apt-get update && apt-get upgrade -y && apt-get dist-upgrade -y
    root@kali:~# apt-get install kali-linux-all
    root@kali:~# apt-get install linux-image-$(uname -r|sed 's,[^-]-[^-]-,,') linux-headers-$(uname -r|sed 's,[^-]-[^-]-,,') broadcom-sta-dkms

    Didn't need to install UHD and GNURADIO, I guess those were installed automatically when I ran apt-get install kali-linux-all, which includes kali-linux-sdr, then I can ran:

    root@kali:~# uhd_find_devices
    linux; GNU C++ version 6.2.0 20161103; Boost_106200; UHD_003.009.005-0-unknown


    -- UHD Device 0

    Device Address:
    type: b200
    name: blinkomaniak
    serial: 30F59C1
    product: B210

    oot@kali:~# uhd_usrp_probe
    linux; GNU C++ version 6.2.0 20161103; Boost_106200; UHD_003.009.005-0-unknown

    -- Detected Device: B210
    -- Operating over USB 2.
    -- Initialize CODEC control...
    -- Initialize Radio control...
    -- Performing register loopback test... pass
    -- Performing register loopback test... pass
    -- Performing CODEC loopback test... pass
    -- Performing CODEC loopback test... pass
    -- Asking for clock rate 16.000000 MHz...
    -- Actually got clock rate 16.000000 MHz.
    -- Performing timer loopback test... pass
    -- Performing timer loopback test... pass
    -- Setting master clock rate selection to 'automatic'.


    /
    | Device: B-Series Device
    | ___________
    .
    .
    . etc....

    But then I tryed to install OPENLTE as recommended at
    https://sourceforge.net/p/openlte/wiki/Installing%20OpenLTE/ following the steps starting from "Installing PolarSSL" as a non-root user with administrative privileges.

    blinko@kali:/root$ sudo apt-get install libpolarssl-dev

    blinko@kali:/root/Documents/openlte/openlte_v00-20-04/build$ sudo cmake ../
    -- Build type not specified: defaulting to release.
    -- Boost version: 1.62.0
    -- Found the following Boost libraries:
    -- system
    Checking for GNU Radio Module: RUNTIME
    * INCLUDES=/usr/include
    * LIBS=/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so
    GNURADIO_RUNTIME_FOUND = TRUE
    Checking for GNU Radio Module: BLOCKS
    * INCLUDES=/usr/include
    * LIBS=/usr/lib/x86_64-linux-gnu/libgnuradio-blocks.so;/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so
    GNURADIO_BLOCKS_FOUND = TRUE
    Checking for GNU Radio Module: FILTER
    * INCLUDES=/usr/include
    * LIBS=/usr/lib/x86_64-linux-gnu/libgnuradio-filter.so;/usr/lib/x86_64-linux-gnu/libgnuradio-fft.so;/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so
    GNURADIO_FILTER_FOUND = TRUE
    Checking for GNU Radio Module: PMT
    * INCLUDES=/usr/include
    * LIBS=/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so
    GNURADIO_PMT_FOUND = TRUE
    -- Checking for module 'uhd'
    -- No package 'uhd' found
    -- UHD LIBRARIES UHD_LIBRARIES-NOTFOUND
    -- UHD INCLUDE DIRS UHD_INCLUDE_DIRS-NOTFOUND
    -- Could NOT find UHD (missing: UHD_LIBRARIES UHD_INCLUDE_DIRS)
    -- Checking for module 'libbladeRF'
    -- No package 'libbladeRF' found
    -- libbladeRF not found.
    -- Checking for module 'polarssl'
    -- No package 'polarssl' found
    -- POLARSSL LIBRARIES /usr/lib/libpolarssl.so
    -- POLARSSL INCLUDE DIRS /usr/include
    CMake Error at CMakeLists.txt:108 (message):
    UHD required to compile openLTE
    (http://code.ettus.com/redmine/ettus/projects/uhd/wiki)

    -- Configuring incomplete, errors occurred!
    See also "/root/Documents/openlte/openlte_v00-20-04/build/CMakeFiles/CMakeOutput.log".

    It seems that I have to specify CMAKE the path to the UHD_LIBRARIES right??
    Problem is that I don't know how to do it

    root@kali:/usr/bin# whereis uhd
    uhd: /usr/lib/uhd /usr/share/uhd

    Thanks in advance, Can you please help me out on this?

     
  • mbindsey

    mbindsey - 2017-03-27

    I was just successful in compiling OpenLTE on Kali. It appears to work, but I've only tested a few things. Here are some notes from memory:

    • I didn't find polarssl in the kali repositories, and chose to use the new version of the package mbedssl instead where did you find that?). Someone on the forum made a patch that makes compiling easier. It's here: https://sourceforge.net/p/openlte/mailman/message/35039389/

    • I had some nasty issues with python versions (i.e. "undeclared sybmols") and paths ("ImportError: No module named LTE_fdd_dl_fs"). If you search this forum and mailing lists, you'll find others with various python troubles. In the end, what worked for me was: 1) setting the paths for PYTHONPATH and LDLIBRARY_PATH, as the README tells you to 2) Forcing OpenLTE to use python 2.7. You can see my paths below. I ended up editing the CMakeCache.txt in the 'build' directory prior to running 'make' to set things as I wanted them.

    • I was unable get the latest version to compile due to issues with missing 'bladerf' dependencies. It looks like you are missing them too. I'll go back and troubleshoot this, but in the interim, I decided to compile a slightly older fork: 'u-breadlybread-openlte'...I pulled it from this site.

    • I think I just installed these UHD packages. I didn't take notes along the way, and I've fogotten details of what I did two weeks ago (some things I compiled/some I didn't). I've installed a lot of SDR software lately, but I digress, I have these packages installed with 'uhd' i name:

    root@kali:~/tools# apt list --installed | grep -i uhd
    WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
    libgnuradio-uhd3.7.10/kali-rolling,now 3.7.10.1-2+b3 amd64 [installed,automatic]
    libuhd-dev/kali-rolling,now 3.9.5-2+b3 amd64 [installed]
    libuhd003/kali-rolling,now 3.9.5-2+b3 amd64 [installed]
    soapysdr0.5-2-module-uhd/kali-rolling,now 0.3.2-1 amd64 [installed,automatic]
    uhd-host/kali-rolling,now 3.9.5-2+b3 amd64 [installed]

    • More details....

    root@kali:~/tools/openlte/fork/u-breadlybread-openlte/build# uname -a
    Linux kali 4.6.0-kali1-amd64 #1 SMP Debian 4.6.4-1kali1 (2016-07-21) x86_64 GNU/Linux
    root@kali:~/tools/openlte/fork/u-breadlybread-openlte/build# cmake ../
    -- Build type not specified: defaulting to release.
    -- Boost version: 1.62.0
    -- Found the following Boost libraries:
    -- system
    Checking for GNU Radio Module: RUNTIME
    * INCLUDES=/usr/include
    * LIBS=/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so
    GNURADIO_RUNTIME_FOUND = TRUE
    Checking for GNU Radio Module: BLOCKS
    * INCLUDES=/usr/include
    * LIBS=/usr/lib/x86_64-linux-gnu/libgnuradio-blocks.so;/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so
    GNURADIO_BLOCKS_FOUND = TRUE
    Checking for GNU Radio Module: FILTER
    * INCLUDES=/usr/include
    * LIBS=/usr/lib/x86_64-linux-gnu/libgnuradio-filter.so;/usr/lib/x86_64-linux-gnu/libgnuradio-fft.so;/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so
    GNURADIO_FILTER_FOUND = TRUE
    Checking for GNU Radio Module: PMT
    * INCLUDES=/usr/include
    * LIBS=/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so
    GNURADIO_PMT_FOUND = TRUE
    -- UHD LIBRARIES /usr/lib/x86_64-linux-gnu/libuhd.so
    -- UHD INCLUDE DIRS /usr/include
    -- MBEDTLS LIBRARIES /usr/lib/x86_64-linux-gnu/libmbedtls.so/usr/lib/x86_64-linux-gnu/libmbedcrypto.so
    -- MBEDTLS INCLUDE DIRS /usr/include
    --
    -- Checking for module SWIG
    -- Found SWIG version 3.0.10.
    -- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython2.7.so (found version "2.7.13")
    -- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython2.7.so (found suitable version "2.7.13", minimum required is "2")
    --
    -- Checking for module SWIG
    -- Found SWIG version 3.0.10.
    -- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython2.7.so (found version "2.7.13")
    -- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython2.7.so (found suitable version "2.7.13", minimum required is "2")
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /root/tools/openlte/fork/u-breadlybread-openlte/build

     
    • demo

      demo - 2017-05-10

      Hi mbindsey

      I was compiling OpenLTE on ubuntu recently, while i was compiling it ,one error always occured,
      -- Checking for module 'polarssl'
      -- No package 'polarssl' found
      I find you were using a patch to compiling openLTE ,i am new to linux and do not know how to use this patch,could you show me your steps when compiling, i'm so confused with this patch.

      demo

       
  • Blinko

    Blinko - 2017-03-27

    Hi Michael

    Three issues here:
    1. I was able to solve the initial problem (openlte cmake installation not being able to find UHD path). The solution was installing "uhd-host":

    root@kali:~# apt-get install uhd-host
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    uhd-host is already the newest version (3.9.5-2+b3).
    0 upgraded, 0 newly installed, 0 to remove and 39 not upgraded.

    Apparently, it was not installed (evethough I always run the update&upgrade&dist_upgrade commands) or maybe I removed it.

    1. On Kali Linux newest versions (which is Kali-rolling), I recommend to install the Metapackage Kali-linux-sdr, https://www.kali.org/news/kali-linux-metapackages/. Because it includes UHD, and GNU-RADIO and given that it is installed as a root user (this is my assumption, please anybody confirm this) you can install openlte as a root user too. Well, you have to know that I am a newbie on linux ... dont know that much about the environment paths and root user privileges difference in contrast with non-root user's.

    2. I was never able to overcome this lines>
      -- Checking for module 'polarssl'
      -- No package 'polarssl' found

    They still appear on my openlte cmake installation, but at least it found the polarssl lib path.

    cheers!

    Blinko

     

Log in to post a comment.