= SDR Software for using the badge
== overview
=== GNU Radio (Linux/Mac/Windows)
It's highly recommended to build [[http://gnuradio.org/|GNU Radio]] from source to use the most up-to-date version:
[[http://gnuradio.org/redmine/projects/gnuradio/wiki/InstallingGRFromSource|Installation]]
There were two GNU Radio workshops at Easterhegg 2015:
* [[http://media.ccc.de/browse/conferences/eh2015/eh15_-_27_-__-_tagungsraum_1_-_201504041830_-_sdr_for_noobs_-_sec.html#video|SDR for Noobs]]
* [[http://media.ccc.de/browse/conferences/eh2015/eh15_-_28_-__-_tagungsraum_1_-_201504051830_-_sdr_for_non-noobs_-_sec.html|SDR for non-noobs]]
**gnuradio-companion** is the full-fledged signal processing application.
**osmocom_fft** is a nice little graphical tool for quick signal checks.
=== Gqrx SDR (Linux/Mac)
[[http://gqrx.dk]]
=== SDR# (Windows)
[[http://sdrsharp.com/#sdrsharp]]
=== RF Analyzer (Android)
[[:software:sdr#Android]|instructions]]
== installation details
=== Linux
* [[:software:sdr#gnu_radio_linux_mac_windows]|GNU Radio]] - Powerful suit for signal processing. Also contains 'gnuradio-companion', a GUI for designing the the processing blocks.
* [[:software:sdr#gqrx_sdr_linx_mac]|Gqrx SDR]] - Easy display of signal strengths/waterfall etc. with basic filtering and demodulation support.
* [[http://www.baudline.com|Baudline]] (not in the Debian package repository) - Another signal visualizer.
* [[https://github.com/miek/inspectrum|inspectrum]] - Similar to baudline, but OSS.
==== Debian based systems
NOTE: Current versions of gqrx-sdr and gr-osmosdr in Ubuntu 14.04 are known to cause issues with the rad1o. (hackrf_info not detecting the badge, error loading libosmosdr etc.)
The [[https://github.com/mossmann/hackrf/wiki/Installing-gnuradio-on-Ubuntu-14.04-with-the-packaging-manager|original hackrf wiki]] has a PPA with updated versions.
1. Install software:
apt-get install hackrf gqrx-sdr gnuradio gr-osmosdr
2. Make sure the hackrf kernel module is not loaded.
If you don't do this, you'll get a -1000 error from hackrf_info
$ sudo rmmod hackrf
$ sudo vim /etc/modprobe.d/blacklist.conf
# module blacklisted for radi1o / gqrx usage
blacklist hackrf
3. Additionally you will need some UDEV rules.
Replace YOURUSER with your username (whoami)
$ sudo vim /etc/udev/rules.d/51-rad1o.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="1d50", ATTR{idProduct}=="cc15", MODE="0600", OWNER="YOURUSER", GROUP="YOURUSER"
SUBSYSTEM=="usb", ATTR{idVendor}=="1d50", ATTR{idProduct}=="6089", MODE="0600", OWNER="YOURUSER", GROUP="YOURUSER"
4. make sure you boot the hackrf-old on the rad1o, as gqrx somehow only recognized the device as a hackrf then (at least with gqrx from debian testing)
5. check with hackrf_info that everything works
6. launch gqrx, it should autoconfigure itself
==== Archlinux
pacman -S gqrx python2 python2-lxml python2-cheetah # pulls hackrf and gnuradio automatically in
==== Gentoo Linux
Versions known to work:
net-wireless/gnuradio-3.7.7.x
net-wireless/gr-osmosdr-1.4_x
net-wireless/gqrx-2.3.x
Make sure the 'hackrf' useflag is enabled where available.
If you have the 'hackrf' kernel module compiled, prevent it from loading by adding
blacklist hackrf
to your /etc/modprobe.d/blacklist.conf. (update your modprobe config with 'depmod -a')
==== Fedora
1. Install software:
$ sudo dnf install gnuradio gnuradio-doc gnuradio-examples gqrx hackrf hackrf-doc gr-osmosdr gr-air-modes
Fedora 24 also needs hackrf-static.
2. boot into **HKRF-OLD** on the rad1o (for now, hopefully soon in HACKRF mode)
3. check if it's detected with hackrf_info
$ hackrf_info
Found HackRF board.
Board ID Number: 3 (Unknown Board ID)
Firmware Version: [...]
Part ID Number: [...]
Serial Number: [...]
4. run gqrx, accepting the default of //hackrf unknown device//. [[http://gqrx.dk/supported-hardware#hackrf|Gqrx SDR Supported hardware]]
$ gqrx
5. if you get results in gqrx, move on to osmocom_fft, keeping in mind that the built-in [[:antennas|antenna]] is tuned to 2.5GHz
$ osmocom_fft
6. now you are sure the rad1o speaks to your Fedora box and you can move on to GNU Radio
$ gnuradio-companion
To use the rad1o, search for blocks with //osmocom// in the name in GNU Radio.
You may want to check out the files in ''/usr/share/gnuradio/examples/''
=== Windows
* [[:software:sdr#gnu_radio_linux_mac_windows]|GNU Radio]]
* [[:software:sdr#sdr_windows]|SDR#]]
* [[http://sdr-radio.com/Software|SDR Console]]
=== Mac
Follow these instructions to install Gnuradio-Suite on your Mac:
Prerequisites:
* Install either [[http://brew.sh|HomeBrew]], MacPorts or Fink
* Download and install XQuarz via http://xquartz.macosforge.org/landing/
* Download and install MacPorts: https://www.macports.org/install.php
Install GnuRadio with MacPorts:
sudo port install gnuradio
You also want to install the OsmoSDR radio blocks for GnuRadio
sudo port install gr-osmosdr
To install GnuRadio with HomeBrew, you can follow [[https://github.com/robotastic/homebrew-hackrf|this guide]].
Start GnuRadio in the terminal with
gnuradio-companion
* [[:software:sdr#gnu_radio_linux_mac_windows]|GNU Radio]]
* [[:software:sdr#gqrx_sdr_linux_mac|Gqrx-SDR]]
=== Android
* [[:software:sdr#rf_analyzer_android]|RF Analyzer]]
The original RF Analyzer doesn't work with rad1o and it's author hasn't merged our pull request yet. So you need our patched version (see below)
==== RF Analyzer (Android)
Patched version with rad1o support:
* Binary APK: [[https://github.com/rad1o/RFAnalyzer/raw/rad1o/RFAnalyzer-rad1o.apk|RFAnalyzer-rad1o.apk]] (as of 2015-08-23, this APK seem to need HKRF-OLD mode)
* Source: [[https://github.com/rad1o/RFAnalyzer|RFAnalyzer]]
Requires an OTG cable or adapter and an OTG capable mobile (e.g. Jolla and Nexus 4 are **//not//**)