HackRF
HackRF ist ein Open Source Hardware SDR Halbduplex Transceiver für den Frequenzbereich von 1MHz bis 6GHz. Die Steuerung und die Übertragung von 8bit Quadratur Samples mit einer Rate von 8 bis 20Ms/s erfolgt über eine Hi-Speed USB 2.0 Schnittstelle. Weitere Anschlüsse sind für eine Antenne, Taktgeber Ein- und Ausgänge und einige interne Signale vorgesehen.
Das Projekt
Alle Dateien zu Hardware, Firmware und der Host API sind in einem git repository verfügbar. Darin überträgt Michael Ossmann als Projektleiter und Rechteinhaber das Nutzungsrecht an „HackRF“ allen Lizenznehmern der GPL2 Lizenz.
Es existieren verschiedene Prototypen und GREAT SCOTT GADGETS vertreibt ein Fertiggerät im Gehäuse. Dort ist auch die Bezugsquelle in Deutschland zu finden.
Bekannte Versionen
- Jellybean ist der Name einer der Platinen der Entwicklungsversion.
- Jawbreaker ist der Name einer veröffentlichten Vorserienversion ohne Antennenanschluss.
- HackRF ONE ist im Handel. Ein USB 2.0 Micro-B-Anschluss versorgt das Gerät auch mit Strom. Der Antennenanschluss und die Anschlüsse für ClockIn und ClockOut sind SMA weiblich. Vier interne Erweiterungsbuchsen und viele Testpunkte machen wichtige Signale zugänglich, ausserdem sind 6 LEDs, ein RESET-Taster und ein weiterer Taster enthalten, der, bei einem Reset gehalten, den DFU-Boot Modus aktiviert und im weiteren Betrieb frei nutzbar ist.
Hardware
Der Schaltplan ist, zusammen mit allen weiteren Dateien, im Repository enthalten.
Die Datenblätter der ICs sind im Internet leicht zu finden.
Beschreibungen ihrer Register schon schwieriger. Die Firmware enthält Registerdefinitionen.
Software
Die Software unterteilt sich in 5 Komponenten:
- libopencm3 in einer angepassten Version kennt die Chips, welche die
- Firmware über die USB Schnittstelle ansprechbar macht.
- libhackrf bildet die hostseitige API.
- hackrf-tools stellen alle Funktionalität auf der Kommandozeile bereit.
- Anwendungen unter Linux und Windows unterstützen das HackRF zum größten Teil, entweder über die libhackrf, oder den gr-osmosdr Source Block für gnuradio.
Voraussetzungen für einen Host
für echte Freude am HackRF ist in jedem Fall eine gute USB 2.0 Schnittstelle für 20Ms/s zu je 16bit.
Der RaspberryPi scheidet hier aus, ebenso PCs mit USB Problemen.
Soll dann noch eine SDR Software mit vielen FFTs und Grafik laufen, ist CPU Power gefragt.
Mein AMD 64X2 2000 HP reicht nicht aus, ohne opencl in gqrx oder linrad noch FM zu demodulieren.
Debian und Ubuntu Linux
stellen eine problemlose Softwareumgebung dar, denn die meisten Pakete, die man braucht und haben möchte, sind leicht aus Archiven im Netz zu installieren – bis hin zur Entwicklungsumgebung, um eigene Firmware auf dem HackRF zu installieren.
Die aktuelle Ubuntu LTS 14.04 (trusty) enthält allerdings noch eine alte Version der libhackrf, die HackRF ONE noch nicht kennt. Das Debian Paket hackrf-2014.08.1 enthält die neueste Version zusammen mit dem Inhalt des gesamten Git Repository's, also auch die Firmware und sämtliche Dokumente zur Hardware.
Caveat
Die Mailingliste zum HackRF verzeichnet zwei beachtenswerte Fälle, die das HackRF unter Umständen beschädigen können:
- ESD Sensitivität: Die Transistoren Q1-Q4 nahe der Antenne sind MosFET Typen, die auf statische Elektrizität sensibel reagieren.
- ist ein Fall bekannt, bei dem der Empfänger des HackRF, nach dem er der HF einer 5W Handfunke im Abstand von 0,5m ausgesetzt war, nicht mehr funktionierte.
Daß das Senden ohne geeigneten Abschluss an der Antennenbuchse (Dummyload oder 50Ω Antenne) keine gute Idee ist, ist sicher bekannt.
Der HackRF One kann, über eine etwas unglücklich benannte Funktion (Antenna enable), an der Antennenbuchse eine aktive Antenne mit Strom versorgen. Dieser wird aus der USB Schnittstelle über einen Downkonverter bereit gestellt. Bei einem Gleichstromkurzschluss an der Antennenbuchse, beispielsweise durch eine direkt gespeiste BiQuadantenne, wird das schwächste Glied in dieser Kette schnell aufgeben.
Mit SMD Lötausrüstung alles kein Problem, ohne möchte ich es nicht probieren.
Anwendungsbereiche
Betrachtet man die Leistungsmerkmale und die zu beachtenden Einschränkungen und Vorteile, stellt sich die Frage, für wen und für was der HackRF gebaut ist und in welchen Bereichen er einzusetzen ist.
Bereiche
Der HackRF bedient den Wunsch nach einem portablen, breitbandigen Transceiver, geeignet für Messungen und Experimente im Nahfeld an ISM Geräten, Bluetooth, Wifi, GSM, LTE und anderen, vorzugsweise digitalen Funkanwendungen.
Viele Funkamateure dürften, angesichts des Frequenzbereichs und der Möglichkeit des Sendebetriebs, die Frage stellen, ob sich der HackRF für den Einsatz als Amateurfunktransceiver eignet.
Anwendungen
In allen Fällen ist derzeit die libhackrf Voraussetzung für den Betrieb von Anwendungsprogrammen.
- Am Antennenausgang liegen im Sendebetrieb modulierte Wechselströme im Bereich von 1MHz bis 6GHz an.
- osmocom_siggen aus dem gr-osmocom Paket, hackrf_transfer.
- Messempfänger
- von 1MHz bis 6GHz, Impedanz nominal 50Ω (Vorsichtshalber immer ein Dämpfungsglied verwenden).
- osmocom_fft und _spectrum, SDR Programme, hackrf_transfer.
- Breitbandempfänger
- Die maximale ZF Bandbreite beträgt 20MHz. AM, NFM, WFM und viele digitale Modi lassen sich damit empfangen.
- Zum Empfang von mehr, als den stärksten Sendern, empfiehlt sich dringend der Einsatz von Preselektorfiltern,
- andernfalls sinkt die Empfindlichkeit und es werden viele Spiegelfrequenzen empfangen.
- SDR Programme gqrx.
- Empfänger für einzelne Funkdienste leistet der HackRF in der Entwicklung. Zur dauerhaften Anwendung sind zB. SDR Dongles erheblich kostengünstiger.
- ADSB, POCSAG, proprietäre Protokolle der Fernwirktechnik.
- AIS: gr-ais mit gnuais, aisdecoder.
- Amateurfunk - Hierzu gibt es eine eigene Seite HackRF for Amateur Radio
- TV Empfänger und Sender in analogen und digitalen Betriebsarten (PAL, NTSC, ATSC, DVB-T).
Umfassende Liste von (open source) SDR Anwendungen.
War das etwa schon alles?
Nein!
More to come, beispielsweise die Dokumentation der
- libhackrf API mit Hintergrund aus der Firmware
- des (wirklich einladenden) DFU-Boot-Modus für eigene Firmware
- der Hardware
- und wie alle Amateurfunk- und andere Programme das Potential des HackRF nutzen können.
Anregungen, Kommentare, Beteiligung herzlich willkommen.