= 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//**)