USB Adminrechte und das HackRF

Um zu prüfen, ob das HackRF funktioniert und erkannt wird kann man sich zum einen die verwendeten USB Geräte des Systems unter z.B. Ubuntu anzeigen lassen: (ins Terminal / Shell / Kommandofenster eingeben)

lsusb

Um genauer zu Prüfen, ob das HackRF vom USB Host Controller erkannt wird einfach “hackrf_info” eingeben

hackrf_info

Dies sollte einen ähnlichen Output wie hier erzeugen:

Found HackRF board.
Board ID Number: 2 (HackRF One)
Firmware Version: git-44df9d1
Part ID Number: 0xa000abcd 0x006a4bcde
Serial Number: 0x00000000 0x00000000 0x123456 c8 0x123455f1f

Wenn die Ausgabe sagt, dass es das HackRF nicht öffnen kann, wie hier z.B.:

hackrf_open() failed: HACKRF_ERROR_NOT_FOUND (-5)

Das ganze einmal mit root-Rechten (sudo davor) probieren. Wenn daran liegt, dass ist es ein Rechteproblem. Mittels einer “udev”-Regel, welches die Benutzergruppen des Systems verwaltet und deren Rechte regelt lässt sich das ganze aber leicht lösen:

Mit einem Editor z.B. Nano eine neue Datei mit folgendem Inhalt erzeugen:

ATTR{idVendor}=="1d50", ATTR{idProduct}=="604b", SYMLINK+="hackrf-jawbreaker-%k", MODE="660", GROUP="plugdev"
ATTR{idVendor}=="1d50", ATTR{idProduct}=="6089", SYMLINK+="hackrf-one-%k", MODE="660", GROUP="plugdev"
ATTR{idVendor}=="1fc9", ATTR{idProduct}=="000c", SYMLINK+="hackrf-dfu-%k", MODE="660", GROUP="plugdev"

einfach per Dateibrowser und Rechtsklick neue Datei ins Verzeichnis

/etc/udev/rules.d

wechseln und eine Datei namens 52-hackrf.rules erzeugen. (Endung: “.rules”) oder das ganze mit Nano im Terminal anlegen:

cd /etc/udev/rules.d/52-hackrf.rules

Inhalt von oben einfügen und mittels STRG + O und STRG + B speichern und beenden.

Der Inhalt der Datei instruiert udev nach Geräten mit VendorID und Product ID zu suchen, welche dem HackRF entsprechen. Es sagt UNIX mittels 660 und plugdev der Gruppe ein symlink in /dev für das Gerät zu erstellen.

Nachdem man die Datei erstellt hat die Rechteverwaltung mittels untenstehendem Kommando neu starten oder PC neu starten (nicht nötig).

udevadm control --reload-rules

Nachdem man das HackRF wieder anschließt, kann man das HackRF nun auch als Nicht-Root-User benutzen

hackrf_info