[Hackrf-dev] PyBombs - Updated

Martin d'Allens martin.dallens at gmail.com
Fri Sep 19 05:51:18 EDT 2014


Rich, do you plan to update the wiki page with your instructions?
https://github.com/mossmann/hackrf/wiki/Operating-System-Tips

I had tried to write the PyBOMBS procedure there, but yours is much more
detailed.

Martin

On Fri, Sep 19, 2014 at 11:46 AM, Rich Sanders <richnsanders at gmail.com>
wrote:

> No problem.  I'm hoping to have a few more fixes to the PyBombs install
> and a  better explanation of the "env" procedure this weekend.
>
> Rich
>
> On Thu, Sep 18, 2014 at 5:58 PM, Iluta V <iluta2009 at gmail.com> wrote:
>
>> Thank you, Rick,
>>
>> Your explanation for Pybombs and Gnuradio installation worked like a
>> magic for a non IT specialist like myself, and was the best I could find
>> during the last 24 hours.
>>
>> setup_env.sh part was tricky at firslt, though.
>>
>> Thank you so much!
>>
>> With my best regards,
>>
>> Iluta
>> iluta.vilcane at securityconcierge.lv
>> Security Concierge
>> Riga, LATVIA
>>
>> On Thu, Sep 18, 2014 at 5:54 PM, Rich Sanders <richnsanders at gmail.com>
>> wrote:
>>
>>> Fosphor is supposed to work with AMD  and Intel chips too, however, I
>>> don't have either graphic card to test with.  The gr-fosphor page should
>>> shed some light.
>>>
>>> http://sdr.osmocom.org/trac/wiki/fosphor
>>>
>>> Rich
>>>
>>> On Thu, Sep 18, 2014 at 10:48 AM, Bruce Barnett <grymoire at gmail.com>
>>> wrote:
>>>
>>>> So fosphor only works if you have an nVidia graphics card?
>>>> p.s. installing nvidia-libopencl1-331-updates and nvidia-opencl-dev
>>>> breaks wine AFAICT
>>>>
>>>> and thanks for the tips...
>>>>
>>>> On Wed, Sep 17, 2014 at 7:25 PM, Rich Sanders <richnsanders at gmail.com>
>>>> wrote:
>>>>
>>>>> 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/
>>>>>
>>>>> _______________________________________________
>>>>> HackRF-dev mailing list
>>>>> HackRF-dev at greatscottgadgets.com
>>>>> https://pairlist9.pair.net/mailman/listinfo/hackrf-dev
>>>>>
>>>>>
>>>>
>>>
>>> _______________________________________________
>>> HackRF-dev mailing list
>>> HackRF-dev at greatscottgadgets.com
>>> https://pairlist9.pair.net/mailman/listinfo/hackrf-dev
>>>
>>>
>>
>
> _______________________________________________
> HackRF-dev mailing list
> HackRF-dev at greatscottgadgets.com
> https://pairlist9.pair.net/mailman/listinfo/hackrf-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist9.pair.net/pipermail/hackrf-dev/attachments/20140919/59a6bc9d/attachment.html>


More information about the HackRF-dev mailing list