[Hackrf-dev] PyBombs - Updated
Rich Sanders
richnsanders at gmail.com
Wed Sep 17 19:25:38 EDT 2014
Installing Pybombs
The general disclaimer..This technique/approach has worked for me various
times, it is the method I prefer, it may not work for you. You might
prefer other steps. I assume no liability.
HELPFUL/CONSTRUCTIVE criticism is always welcome. Pybombs is not perfect,
some recipes do not work.
When you see the word user in my instructions, that refers to the
user name you're using, ie,
run /home/user/pybombs/src/uhd/host/build/utils/uhd_images_downloader.py
and your user is steve, the line becomes
run /home/steve/pybombs/src/uhd/host/build/utils/uhd_images_downloader.py
For me, I had issues with the following packages:
gr-rds (solution included)
wireshark connectors (solution included)
gr-ieeee802154 (solution included)
gr-ieee80211 (solution included)
gqrx (solution included)
gr-fosphor (solution included)
Ettus B200/B2100 (solution included)
gr-as (no solution yet), this breaks my gnuradio install , I'll try to find
a fix in the near future
gr-extras (no solution yet) this has a pre-requisite of gr-as, which breaks
my gnuradio install, I'll try to find a fix in the near future
pocsag-mpt (no solution yet) this has a pre-requisite of gr-as, which
breaks my gnuradio install, I'll try to find a fix in the near future
gr-smartnet (no solution yet), I don't think this is maintained any more
gr-bluetooth (no solution yet), I don't think this is maintained any more
openlte (no solution yet)
niusprio (no solution yet)
I always start with a fresh Ubuntu load, this one is based on Ubuntu 14.04
After install, perform the typical:
apt-get update
apt-get dist-upgrade
Pybombs will by default try to install all dependencies, but I have found
the install goes much smoother if I install some packages in advance:
type sudo apt-get -y install git-core cmake g++ python-dev swig
pkg-config libfftw3-dev libcppunit-dev libgsl0-dev libusb-dev libsdl1.2-dev
python-wxgtk2.8 python-numpy python-cheetah python-lxml doxygen libxi-dev
python-sip libqt4-opengl-dev libqwt-dev libfontconfig1-dev libxrender-dev
python-qwt5-qt4 python-sip python-sip-dev cmake xorg-dev libglu1-mesa-dev
python-zmq pypy-zmq
reboot Ubuntu
terminal into your home directory
type git clone git://github.com/pybombs/pybombs
type cd pybombs
type ./pybombs config
In the configuration setup you can press enter for every option, I changed
the install prefix location because this helps prevent errors when I
manually install non pybombs packages later on, if you are only going to
use pybombs “recipes” leave the default location. If you change to
"/usr/local" you'll have to run "sudo ./pybombs config" after the config
files run
type sudo ./pybombs config
Output of ./pybombs config
Initializing config file...
Username for GIT access
gituser [user]:
Install Prefix prefix [/home/user/target]:/usr/local/
Order in which to attempt installations when available, options are: src,
rpm, deb satisfy_order [deb,src]:
Comma seperated list of package names to assume are already installed
forcepkgs []:
Time the monitor thread waits (in seconds) before retrying downloads
timeout [30]:
CMAKE_BUILD_TYPE args to pass to cmake projects, options are: Debug,
Release, RelWithDebInfo, MinSizeRel, cmakebuildtype [RelWithDebInfo]:
Build doxygen while compiling packages? options are: ON, OFF builddocs
[OFF]:
C Compiler Executable [gcc, clang, icc, etc] cc [gcc]:
C++ Compiler Executable [g++, clang++, icpc, etc] cxx [g++]:
Concurrent make threads [1,2,4,8...] makewidth [4]:
done
Settled on prefix: /usr/local
[Errno 13] Permission denied: '/usr/local/lib64'
Error! Configured install prefix requires root privileges. Please re-run as
sudo!
This error is normal if you ran sudo ./pybombs config, rerun the config
typing sudo ./pybombs config
Output of ./pybombs config
Settled on prefix: /usr/local
Initializing environmental variables...
/usr/local//python/:/usr/local//lib/python2.6/site-packages/:/usr/local//lib64/python2.6/site-packages/:/usr/local//lib/python2.6/dist-packages/:/usr/local//lib64/python2.6/dist-packages/:/usr/local//lib/python2.7/site-packages/:/usr/local//lib64/python2.7/site-packages/:/usr/local//lib/python2.7/dist-packages/:/usr/local//lib64/python2.7/dist-packages/:/usr/local//python/:/usr/local//lib/python2.6/site-packages/:/usr/local//lib64/python2.6/site-packages/:/usr/local//lib/python2.6/dist-packages/:/usr/local//lib64/python2.6/dist-packages/:/usr/local//lib/python2.7/site-packages/:/usr/local//lib64/python2.7/site-packages/:/usr/local//lib/python2.7/dist-packages/:/usr/local//lib64/python2.7/dist-packages/
no existing inventory found, creating an empty one...
---------- loading recipes -------------------
Loading recipes ...
Loading recipes ... done
---------- loading recipes finished ----------
gituser = user
prefix = /usr/local/
satisfy_order = deb,src
forcepkgs =
timeout = 30
cmakebuildtype = RelWithDebInfo
builddocs = OFF
cc = gcc
cxx = g++
makewidth = 4
from this point forward, you only need "sudo" if you installed into a
custom directory instead of the default /home/user/target
type sudo ./pybombs install gnuradio
THIS WILL TAKE A WHILE
When it is done type sudo ./app_store.py
Click on the packages you want to install, you can only install one at a
time. The app_store may go dark. You can monitor the progress in the
terminal window that you launched app_store in. If everything installs
correctly, the app_store will brighten and your terminal window will
display "installation ok via: src" if it errored out, the app_store will
close and your terminal window will have some information.
I suggest starting with gr-osmosdr (<--- this will install many of your
app_store blocks such as hackrf and osmosdr) and gr-pyqt
Click the "X" to exit the app_store.
type sudo ./pybombs env
Using the Ubuntu file manager, navigate to the location listed after
running ./pybombs env. Open setup_env.sh and copy everything below the
following line:
# WARNING: This file is auto-generated by pybombs, any manual changes to it
may be overwritten!
It should look similar to:
export
PATH="/usr/local//bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib64/qt4/bin/"
export
PYTHONPATH="/usr/local//python/:/usr/local//lib/python2.6/site-packages/:/usr/local//lib64/python2.6/site-packages/:/usr/local//lib/python2.6/dist-packages/:/usr/local//lib64/python2.6/dist-packages/:/usr/local//lib/python2.7/site-packages/:/usr/local//lib64/python2.7/site-packages/:/usr/local//lib/python2.7/dist-packages/:/usr/local//lib64/python2.7/dist-packages/:/usr/local//python/:/usr/local//lib/python2.6/site-packages/:/usr/local//lib64/python2.6/site-packages/:/usr/local//lib/python2.6/dist-packages/:/usr/local//lib64/python2.6/dist-packages/:/usr/local//lib/python2.7/site-packages/:/usr/local//lib64/python2.7/site-packages/:/usr/local//lib/python2.7/dist-packages/:/usr/local//lib64/python2.7/dist-packages/"
export LD_LIBRARY_PATH="/usr/local//lib/:/usr/local//lib64/:"
export
PKG_CONFIG_PATH="/usr/local//lib/pkgconfig/:/usr/local//lib64/pkgconfig/:"
In the termianl window, CD to your home directory
type sudo nano .bashrc
scroll to the bottom and paste the copied lines, then Ctrl X, Yes, Enter
You should generate the env file and check your .bashrc to see if you need
to update the file after installing new recipes
------------------------------
Updating libhackrf
type git clone https://github.com/mossmann/hackrf.git
type cd hackrf/host/libhackrf/
type mkdir build
type cd build
type cmake ..
type make
type sudo make install
type sudo ldconfig
copy /home/hackrf/host/libhackrf/53-hackrf.rules to /etc/udev/rules.d
type sudo udevadm control --reload-rules
reboot
type hackrf_info
You should see something SIMILAR to:
Found HackRF board.
Board ID Number: 2 (HackRF One)
Firmware Version: git-44df9d1
Part ID Number: 0xa000cb3c 0x004d4f3f
Serial Number: 0x00000000 0x00000000 0x457863c8 0x2f1b511f
type gnuradio-companion to run gnuradio
You should be good to go!
If you need to update the firmware, follow Mike's directions at:
https://github.com/mossmann/hackrf/wiki/Updating-Firmware
-------------------
Ettus B200
run /home/user/pybombs/src/uhd/host/build/utils/uhd_images_downloader.py
copy the rules from /usr/local/lib/uhd/utils to /etc/udev/rules.d
type sudo udevadm control --reload-rules
reboot
-----------------------------------------------
Gqrx
Edit the gqrx.lwr file and remove only the BOOST_SUFFIX=-mt from the qmake
line
If you've already tried to install, remove by typing sudo ./pybombs
clean gqrx
Re-install by clicking gqrx button
------------------------------------------------
gr-rds
type sudo apt-get install libxml2 cmake libboost-all-dev
libcppunit-dev liblog4cpp5-dev swig
cd to your home directory
type git clone https://github.com/bastibl/gr-rds
type cd gr-rds
type mkdir build
type cd build
type cmake ..
type make
type sudo make install
type sudo ldconfig
--------------------------------------
Wireshark connectors
cd to your home directory
type git clone https://github.com/bastibl/gr-foo.git
type cd gr-foo
type mkdir build
type cd build
type cmake ..
type make
type sudo make install
type sudo ldconfig
-----------------------------
gr-ieee802-15-4
cd to your home directory
type git clone git://github.com/bastibl/gr-ieee802-15-4.git
type cd gr-ieee802-15-4
type mkdir build
type cd build
type cmake ..
type make
type sudo make install
type sudo ldconfig
The hierarchical block has to be installed separately:
Open examples/ieee802_15_4_PHY.grc in gnuradio-companion and generate the
flow graph. This installs the hierarchical block in your home, where
gnuradio-companion can find it (typically ~/.grc_gnuradio).
-----------------
gr-ieee802-11
type sudo apt-get install liblog4cpp5-dev libitpp-dev
cd to your home directory
type git clone git://github.com/bastibl/gr-ieee802-11.git
type cd gr-ieee802-11
type mkdir build
type cd build
type cmake ..
type make
type sudo make install
type sudo ldconfig
The physical layer is encapsulated in a hierarchical block to allow for a
clearer transceiver structure in GNU Radio Companion. This hierarchical
block is not included in the installation process. You have to open
/examples/wifi_phy_hier.grc with GNU Radio Companion and build it. This
will install the block in ~/.grc_gnuradio/.
-----------
gr-fosphor
type sudo apt-get install opencl-headers
type sudo ./app_store
click the fosphor button
Then edit:
File /usr/local/lib/python2.7/dist-packages/gnuradio/fosphor/__init__.py
below this line:
from fosphor_swig import *
type import sys
save the file
Because of dependency issues, do these seperately, in this order
type sudo apt-get install nvidia-libopencl1-331-updates
type sudo apt-get install nvidia-opencl-dev
reboot
Type sudu apt-get install pyopengl (freeglut3 will be installed too)
If you try to run fosphor and get an error about
glsl 1.5 not supported in Ubuntu, go to the "additional drivers" at load
the Nvidia drivers.
Posted on my site:
http://www.celestialphotographer.com/2014/09/17/pybombs-gnuradio/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist9.pair.net/pipermail/hackrf-dev/attachments/20140917/fcdf6922/attachment.html>
More information about the HackRF-dev
mailing list