HackRF/June 2016
From charlesreid1
Notes from June 2016 - getting the HackRF up and operational, in preparation for a ham shack, antenna, and Defcon.
I was running a MacBook Pro, OS X 10.11.4. The HackRF was running the 2014-08 firmware.
Contents
Installing everything
To get the HackRF working, you need to install GnuRadio - not a trivial task. A bit of advice:
- Check that you will have the latest-and-greatest Gnuradio, 3.7.8. Even minor version numbers like 3.7.5 can cause other things to break.
- Some operating systems only have the latest-and-greatest in the unstable/bleeding-edge repositories (like Debian - the stable branch installs Gnuradio 3.7.5 and breaks all your hackrf stuff, while the unstable Sid branch installs Gnuradio 3.7.8, and will probably break everything except your hackrf stuff.)
- If you can abstract away the details, and avoid installing everything from source, by all means do it. Choose your operating system wisely.
- HackRF folks recommend using Pentoo. Take the hint.
Instructions for using the HackRF via the Mac: HackRF/Mac
Instructions for using the HackRF via a VirtualBox (only if you have a beefy machine): HackRF/VirtualBox
Components
There were a few links I found useful. But first, an explanation of how different tools separate out and how they are organized.
Hardware
HackRF
The HackRF is the hardware we're using - it enables conversion of analog to digital signals. The creator is Michael Ossmann - no connection to Osmo, the Open Source Mobile project.
- Getting started notes for the HackRF: https://github.com/mossmann/hackrf/wiki/Getting-Started-with-HackRF-and-GNU-Radio
I'm using the HackRF version (?) with 2014-08 firmware
Zigbee
I'm also experimenting with Zigbee board. I have two Zigbee radio headers, and two breakout boards. Would like to be able to send/receive signals using 802.15 protocol (useful for sensor networks, used by Zigbee).
Here's a project implementing a Gnuradio flowchart for encoding and decoding 802.15 signals: http://wiesel.ece.utah.edu/media/documents/pdf/2010/03/25/thomas_project_report.pdf
Software
GnuRadio
Also see Gnuradio page
GnuRadio is the software - it implements digital signal processing and other signal analysis functions in software. (This replaces the radio.)
Osmo
Osmo - Open Source Mobile project - provides the Osmocom and Osmosdr software, which provide a bridge for signals passing between hardware and software. This provides the door through which signals on the HackRF enter and exit GnuRadio.
- Link: osmocom blocks/modules: http://gmr.osmocom.org/trac/wiki/GettingStarted
GnuRadio Companion
GnuRadio Companion is the drag-and-drop gui. This is not GnuRadio - GnuRadio is a library of signal processing functions, while GnuRadio Companion is a graphical interface that enables you to use it in one particular way.
- Gnuradio (Companion) tutorials (meh): http://gnuradio.org/redmine/projects/gnuradio/wiki/Guided_Tutorials
Gqrx
Also see Gqrx page
Gqrx is also a software tool. It utilizes GnuRadio to provide a GUI interface for interacting with and modifying signals. Think of this as an alternative interface to the GnuRadio Companion, that uses the same powerful signal processing library under the hood.
Testing
The way you test the HackRF depends on the operating system and software you're using. But the basic "hello world" test is making sure you can receive a radio signal with the HackRF.
Testing Receiver
The HackRF has a high range, and can listen to signals in the Gigahertz (GHz) range. This means we can listen to wifi signals, and that in turn means that if we are in an area with wifi, we can test the HackRF to see if it is receiving signals.
Project
Links
screen command, set baud rate, connect to firmware (e.g., zigbee or embedded router): http://www.cyberciti.biz/faq/unix-linux-apple-osx-bsd-screen-set-baud-rate/
wx to img: http://www.wxtoimg.com/
index of wlan channels: https://en.wikipedia.org/wiki/List_of_WLAN_channels