Code Monkey home page Code Monkey logo

gr-bluetooth's Introduction

GR-Bluetooth

⚠️ This repository is archived. gr-bluetooth is no longer being developed.

gr-bluetooth is an implementation of the Bluetooth baseband layer for GNU Radio for experimentation and teaching students about Software Defined Radio, it should not be used for Bluetooth communications as it is not a complete software stack.

https://github.com/greatscottgadgets/gr-bluetooth

Building

gr-bluetooth currently requires gnuradio 3.7.

To build gr-bluetooth:

  mkdir build
  cd build
  cmake ..
  make
  sudo make install

License

Copyright 2008 - 2013 Dominic Spill, Michael Ossmann

This file is part of gr-bluetooth

gr-bluetooth is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.

gr-bluetooth is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with gr-bluetooth; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Boston, MA 02110-1301, USA.

gr-bluetooth's People

Contributors

777arc avatar dominicgs avatar javantea avatar jkl-caliber avatar joswr1ght avatar jwd270 avatar marksteward avatar miek avatar mossmann avatar samcrow avatar straithe avatar whiterocker avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gr-bluetooth's Issues

Using gr-bluetooth

Hi,

I've installed the gnuradio, gqrx and gr-bluetooth on a xubuntu VM. Everything seemed finish fine but after installation I got to a point where I wanted to test the while setup (specifically using gr-bluetooth with gqrx) but I couldn't find any reference on that. I launched the gnuration-companion as referenced in #5 but I couldn't see the bluetooth section as in the screenshot attached to the issue. So my questions are:

  • What would be the next steps after installing everything to test it out if everything installed without errors?
  • Is it remotely possible to use gqrx with gr-bluetooth for analyzing radio activity in 2.4GHz ISM band? Technically it seems feasible but maybe I'm missing something

Blocks not appearing & AttributeError: 'Block' object has no attribute 'horizontal_label'

Hi,

I seem to be having issues getting the blocks to work - when I drag any of them into a flow graph it goes blank and I get an error in the console "AttributeError: 'Block' object has no attribute 'horizontal_label'", as well as ""TypeError: sequence item 0: expected string; instance found". Some flow graph errors are present too.

Screenshot

I recompiled GNURadio from scratch and I'm getting the same thing. I don't have issues with any other aspects of GNURadio, just gr-bluetooth. I made sure I ran ldconfig both times.

I'm running GNURadio 3.7.5.1 (using the build-gnuradio script).

Cmake accepts Python3 which gr-bluetooth doesn't support

When compiling, the variables that deal with python need to be set to python2.7. If python3.x is present, it will select that version causing gr-bluetooth to become non-functional. It would be nice to eventually support python3, but it's much easier to force Cmake to use python2.7.

Please set them or make sure they are set and tested correctly in the CMake files: LIBBTBB_INCLUDE_DIR (ADVANCED)

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
LIBBTBB_INCLUDE_DIR (ADVANCED)
used as include directory in directory /home/long/Downloads/gr-bluetooth-master/lib
used as include directory in directory /home/long/Downloads/gr-bluetooth-master/lib
used as include directory in directory /home/long/Downloads/gr-bluetooth-master/lib
used as include directory in directory /home/long/Downloads/gr-bluetooth-master/lib
used as include directory in directory /home/long/Downloads/gr-bluetooth-master/lib
used as include directory in directory /home/long/Downloads/gr-bluetooth-master/lib
used as include directory in directory /home/long/Downloads/gr-bluetooth-master/lib
used as include directory in directory /home/long/Downloads/gr-bluetooth-master/lib
LIBBTBB_LIBRARIES (ADVANCED)
linked by target "gnuradio-bluetooth" in directory /home/long/Downloads/gr-bluetooth-master/lib

-- Configuring incomplete, errors occurred!

If the problem below occurs, here https://github.com/greatscottgadgets/libbtbb to install the libbtbb package

Listening to more than 1mhz

Hi,

Even though this library is not maintained, i was wondering if anyone here tried to listen to more than 1mhz of data.
I'm using XTRX which is capable of theoretically 120mhz, but i'll be satisfied with 2mhz currently.

So, I guess we need to "set_bandwidth(2e6)" and sample rate will be 2e6*2 -> but I don't see any effect with btrx.

Any tips?

@mossmann

Jen

Used two HackRF simultaneously to sniff 2 advertising channels

Hello,
I would like to sniff the simultaneously two BTLE advertising signals from beacon with gnuradio companion. Only one Hack RF is "detected", i mean if i used two osmocom sources for that (2.402 and 2.436GHz for example) and i used 2 simples wx gui scope sink, only one window is activated on the both.
Do you have an idea to do that ?

Pybombs.packager.source -error

nice to talk with you ,when i use pybombs install it :


 pybombs install gr-bluetooth
PyBOMBS - INFO - PyBOMBS Version 2.2.0
Install tree:
|
\- gr-bluetooth
PyBOMBS.install_manager - INFO - Installing package: gr-bluetooth
Cloning:     (100%) [=========================================================]
PyBOMBS.Packager.source - ERROR - Problem occurred while building package gr-bluetooth:
Unable to fetch recipe gr-bluetooth
PyBOMBS.install_manager - ERROR - Error installing package gr-bluetooth. Aborting.

source build error too:



~/gr-bluetooth-master/build$ cmake ..
-- The CXX compiler identification is GNU 5.4.0
-- The C compiler identification is GNU 5.4.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Build type not specified: defaulting to release.
-- Boost version: 1.58.0
-- Found the following Boost libraries:
--   filesystem
--   system
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") 
Checking for GNU Radio Module: RUNTIME
-- Checking for module 'gnuradio-runtime'
--   Found gnuradio-runtime, version 3.7.9
 * INCLUDES=/usr/include
 * LIBS=/usr/lib/x86_64-linux-gnu/libgnuradio-runtime.so;/usr/lib/x86_64-linux-gnu/libgnuradio-pmt.so
-- Found GNURADIO_RUNTIME: /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
-- Checking for module 'gnuradio-blocks'
--   Found gnuradio-blocks, version 3.7.9
 * 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
-- Found GNURADIO_BLOCKS: /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
-- Checking for module 'gnuradio-filter'
--   Found gnuradio-filter, version 3.7.9
 * 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
-- Found GNURADIO_FILTER: /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 module 'cppunit'
--   Found cppunit, version 1.13.2
-- Found CPPUNIT: /usr/lib/x86_64-linux-gnu/libcppunit.so;dl  
-- Could NOT find LIBBTBB (missing:  LIBBTBB_LIBRARIES LIBBTBB_INCLUDE_DIR) 
-- 
-- Checking for module SWIG
-- Found SWIG version 2.0.12.
-- Found SWIG: /usr/bin/swig2.0  
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython2.7.so (found suitable version "2.7.12", minimum required is "2") 
-- Found PythonInterp: /usr/bin/python2 (found suitable version "2.7.12", minimum required is "2") 
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of size_t
-- Check size of size_t - done
-- Check size of unsigned int
-- Check size of unsigned int - done
-- Check size of unsigned long
-- Check size of unsigned long - done
-- Check size of unsigned long long
-- Check size of unsigned long long - done
-- Performing Test HAVE_WNO_UNUSED_BUT_SET_VARIABLE
-- Performing Test HAVE_WNO_UNUSED_BUT_SET_VARIABLE - Success
CMake Warning (dev) at /usr/lib/x86_64-linux-gnu/cmake/gnuradio/GrTest.cmake:45 (get_target_property):
  Policy CMP0026 is not set: Disallow use of the LOCATION target property.
  Run "cmake --help-policy CMP0026" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  The LOCATION property should not be read from target "gnuradio-bluetooth".
  Use the target name directly with add_custom_command, or use the generator
  expression $<TARGET_FILE>, as appropriate.

Call Stack (most recent call first):
  python/CMakeLists.txt:44 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/lib/x86_64-linux-gnu/cmake/gnuradio/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "/usr/bin/python2".
Call Stack (most recent call first):
  python/CMakeLists.txt:44 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/lib/x86_64-linux-gnu/cmake/gnuradio/GrTest.cmake:45 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target
  "/home/init3/gr-bluetooth-master/python/qa_gr_bluetooth_multi_sniffer.py".
Call Stack (most recent call first):
  python/CMakeLists.txt:44 (GR_ADD_TEST)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found Doxygen: /usr/bin/doxygen (found version "1.8.11") 
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
LIBBTBB_INCLUDE_DIR (ADVANCED)
   used as include directory in directory /home/init3/gr-bluetooth-master/lib
   used as include directory in directory /home/init3/gr-bluetooth-master/lib
   used as include directory in directory /home/init3/gr-bluetooth-master/lib
   used as include directory in directory /home/init3/gr-bluetooth-master/lib
   used as include directory in directory /home/init3/gr-bluetooth-master/lib
   used as include directory in directory /home/init3/gr-bluetooth-master/lib
   used as include directory in directory /home/init3/gr-bluetooth-master/lib
   used as include directory in directory /home/init3/gr-bluetooth-master/lib
LIBBTBB_LIBRARIES (ADVANCED)
    linked by target "gnuradio-bluetooth" in directory /home/init3/gr-bluetooth-master/lib

-- Configuring incomplete, errors occurred!

how to fix it? thanks!

Crash in sniffer during multi_block::channel_samples

btrx -f 2476M -S
gr-osmosdr v0.1.4-48-g86ad5842 (0.1.5git) gnuradio 3.7.8
built-in source types: file fcd rtl rtl_tcp hackrf rfspace
Using HackRF One with firmware 2015.07.2
Using Volk machine: sse4_2_64_orc
history set to 1651 samples: channel=21, noise=401
Segmentation fault (core dumped)

On the second iteration of complex_to_mag_squared::make in multi_block::channel_samples, malloc (called by new) segfaults.

Other OS support?

Code depends on linux/if_tun.h which throws an error while running make on Mac OS

gr-bluetooth/lib/../include/tun.h:16:10: fatal error: 'linux/if_tun.h' file not found
#include <linux/if_tun.h>
^~~~~~~~~~~~~~~~
1 error generated.
make[2]: *** [lib/CMakeFiles/gnuradio-bluetooth.dir/tun.cc.o] Error 1
make[1]: *** [lib/CMakeFiles/gnuradio-bluetooth.dir/all] Error 2
make: *** [all] Error 2

how do I build it on Mac OS?

Will not build on macOS

Maybe give a hint, that this will not build on macOS:

~/gr-bluetooth/build(master*) » make                                          
Scanning dependencies of target gnuradio-bluetooth
[  4%] Building CXX object lib/CMakeFiles/gnuradio-bluetooth.dir/tun.cc.o
In file included from ~/gr-bluetooth/lib/tun.cc:4:
~/gr-bluetooth/include/tun.h:16:10: fatal error: 'linux/if_tun.h' file not found
#include <linux/if_tun.h>
         ^~~~~~~~~~~~~~~~
1 error generated.
make[2]: *** [lib/CMakeFiles/gnuradio-bluetooth.dir/tun.cc.o] Error 1
make[1]: *** [lib/CMakeFiles/gnuradio-bluetooth.dir/all] Error 2
make: *** [all] Error 2

wireshark connector

I am using a fairwaves xtrx sdr, GNU-Radio 3.8.1 on ubuntu 20.04. Gr-bluetooth sniffer is working the way it is supposed to but the wireshark connector from gr-foo does not allow for wireshark use. Is there a way I can sink to wireshark or at the very least provide a hexdump in order to post analyze with wireshark?

Error in importing in python

Hi,
I'm trying to "import gr_bluetooth" in python and I've done the build process. I'm getting this error:

Traceback (most recent call last):
File "", line 1, in
File "/usr/local/lib/python2.7/dist-packages/gr_bluetooth/init.py", line 45, in
from gr_bluetooth import *
File "/usr/local/lib/python2.7/dist-packages/gr_bluetooth/gr_bluetooth.py", line 17, in
_gr_bluetooth = swig_import_helper()
File "/usr/local/lib/python2.7/dist-packages/gr_bluetooth/gr_bluetooth.py", line 16, in swig_import_helper
return importlib.import_module('_gr_bluetooth')
File "/usr/lib/python2.7/importlib/init.py", line 37, in import_module
import(name)
ImportError: No module named _gr_bluetooth

Does this block support gnuradio 3.8.0?

When I use pybombs to install this block,there is an error:
PyBOMBS.Packager.source - WARNING - Configuration failed. Re-trying with higher verbosity.
-- Boost version: 1.65.1
-- Found the following Boost libraries:
-- filesystem
-- system
CMake Error at CMakeLists.txt:87 (find_package):
Could not find a configuration file for package "Gnuradio" that is
compatible with requested version "3.7.0".

The following configuration files were considered but not accepted:

/home/gnu/gnuradio-prefix/lib/cmake/gnuradio/GnuradioConfig.cmake, version: 3.8.0.0

-- Configuring incomplete, errors occurred!
How can I reslove it?

Installation Done, but make test fails

I followed the installation steps and everything got installed. However, btrx isnt running and make test gives following error:

Running tests...
/usr/local/bin/ctest --force-new-ctest-process
Test project /home/narmeen/Downloads/gr-bluetooth-master/build
Start 1: qa_gr_bluetooth_multi_sniffer
1/1 Test #1: qa_gr_bluetooth_multi_sniffer ....***Failed 0.17 sec

0% tests passed, 1 tests failed out of 1

Total Test time (real) = 0.18 sec

The following tests FAILED:
1 - qa_gr_bluetooth_multi_sniffer (Failed)
Errors while running CTest
Makefile:107: recipe for target 'test' failed
make: *** [test] Error 8

install issue

  • Found Doxygen: /usr/bin/doxygen (found version "1.8.11")
    CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
    Please set them or make sure they are set and tested correctly in the CMake files:
    LIBBTBB_INCLUDE_DIR (ADVANCED)
    used as include directory in directory /home/hack/sdr/gr-bluetooth/lib
    used as include directory in directory /home/hack/sdr/gr-bluetooth/lib
    used as include directory in directory /home/hack/sdr/gr-bluetooth/lib
    used as include directory in directory /home/hack/sdr/gr-bluetooth/lib
    used as include directory in directory /home/hack/sdr/gr-bluetooth/lib
    used as include directory in directory /home/hack/sdr/gr-bluetooth/lib
    used as include directory in directory /home/hack/sdr/gr-bluetooth/lib
    used as include directory in directory /home/hack/sdr/gr-bluetooth/lib
    LIBBTBB_LIBRARIES (ADVANCED)
    linked by target "gnuradio-bluetooth" in directory /home/hack/sdr/gr-bluetooth/lib

-- Configuring incomplete, errors occurred!

Do you know why ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.