GithubHelp home page GithubHelp logo

robertdigital / grc-install Goto Github PK

View Code? Open in Web Editor NEW

This project forked from paulgclark/grc-install

0.0 1.0 0.0 36.14 MB

Helpful files for installing and testing gnuradio-companion and assorted SDR HW drivers

License: MIT License

Shell 80.36% Python 19.64%

grc-install's Introduction

grc-install

This repo contains files for installing and testing gnuradio-companion with support for the UHD drivers. There are also a few additional scripts for installing other useful software.

Prerequisites

These scripts have been tested on Ubuntu 20.04 LTS (with some testing on 18.04). I can't make any promises for other distros or versions. I've tested on both fresh installs as well as not-so-fresh and haven't had any problems. If your machine does already have a version of gnuradio or the uhd drivers, however, you may want to disable (if you have a PyBombs installation) or remove it.

General Approach

These scripts will download the source code for uhd, gnuradio and other software and automatically build and compile them to a target directory. Although I'm not using PyBombs, this is a similar approach to what it does. This approach allows you to maintain multiple gnuradio/uhd installs and easily switch between them as needed. It's also a lot easier to recover from a botched installation (just rm -r the target and start over).

Basic Setup

Before running any scripts, you should create directory for all the source code as well as the target. Do this with:

cd
mkdir install
cd install

Then install git and use it to grab this repo.

sudo apt -y install git
git clone https://github.com/paulgclark/grc-install

Then navigate to the first script and run it:

cd grc-install/install_scripts
sudo ./grc_from_source.sh

This will take a while, probably 30-60 minutes. If you want to tinker with the script before running, you can bump up the number of cores used in the make step to match your multi-core monster rig.

Testing The Build

You will need to open a new terminal window. Then type:

cd install/grc-install/grc/uhd-test
gnuradio-companion fm_receiver_hardware_uhd.grc

If all has gone well, you should see the gnuradio-companion interface, pre-populated with a flowgraph. Attach a 100 MHz-capable antenna to the TRX port of your Ettus hardware. Then connect the Ettus device to your computer via USB3 (sometimes labeled SS or SuperSpeed). You can then run the flowgraph by clicking the execute button from the toolbar. If all has gone well, you should see a Frequency plot. You can tune to one of the spikes there by typing the corresponding frequency into the entry labeled "freq". If you know there's a station at 97.1, for example, you can type "97.1M" into the box and hit enter.

Installation Scripts

These scripts should all be run with sudo, as I've designed them not to require entering in the password throughout execution. I've used the -u option frequently to keep a bunch of root-owned files from messing up your file system.

sudo ./install_scripts/grc_from_source.sh

  • installs gnuradio 3.7.13.5, the uhd drivers and other things required to make them work
  • if you want a different version of either gnuradio or uhd, you can set the environment variable near the top of the script accordingly

sudo ./install_scripts/grc_simple_install.sh

  • a quicker and simpler script that installs 3.7.11 from the repository
  • this install is not to a target but is a global install
  • this script is a quick and dirty standalone and shouldn't be expected to work with any of the others here

./hackrf_from_source.sh

  • note that this runs without needing root privileges
  • installs hackrf tools as well as osmocom GRC blocks

sudo -E ./install_scripts/fosphor_install.sh

  • installs OpenCL and gr-fosphor from source to your target
  • currently, this only works for gnuradio 3.8
  • currently, this only works on Intel machines with integrated graphics

sudo -E ./install_scripts/grc_install_flabs_class.sh

  • contains additional software for those taking a Factoria Labs SDR class
  • you may find it useful even if you're not taking a class...

Test Flowgraphs

./grc/uhd-test
./grc/hackrf-test
./grc/lime-test # this one not currently useful

The lime-test won't be so useful until I restore the limesdr installation script, but each of these directories has some flowgraphs you can use to check that your system is running OK. The ook and gfsk flowgraphs require two sets of gnuradio-computer + sdr-hardware.

grc-install's People

Contributors

paulgclark avatar bkerler avatar

Watchers

 avatar

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.