Skip to content

hydrasdr-rfone

HydraSDR RFOne -- a USB receive-only SDR, successor to the Airspy host design

Vendor: HydraSDR

Status: supported — the identifiers and setup recipe are believed correct.

Not maintainer-verified: nobody on this project has run this hardware yet. The two facts are recorded separately on purpose (D-027) — a correct recipe and a tested device are different claims.

What it is

A USB software defined radio receiver from HydraSDR, designed by Benjamin Vernoux, the author of the Airspy host code and firmware this design descends from. Upstream's README gives it a range of 24 MHz to 1.8 GHz at up to 10 MSPS and three RF ports, one of them with a bias tee. It is a receiver: the host library has no transmit call.

What you can do with it

General wideband listening through any program that speaks SoapySDR (SDR++, GQRX, CubicSDR, GNU Radio) or the vendor's own tools. Coverage, sensitivity and dynamic range are deliberately not quoted beyond upstream's README: this project has enumerated the software against no board, and D-027 keeps "the identifiers are right" and "it was run here" apart.

Setup

Install the hydrasdr-host and soapysdr-module-hydrasdr units, run hammunition hardware apply to write the udev rule and add yourself to plugdev, and log out and back in. hydrasdr_info then reports the board and its firmware, and SoapySDRUtil --find should list a hydrasdr device. Debian 13, Parrot and Ubuntu 24.04 build the host software into /usr/local; Kali and Ubuntu 26.04 take it from apt.

Known problems

It shares an identifier with the Airspy R2 and Mini on boards still on the legacy one (1d50:60a1), which no rule here can tell apart; programs that select by VID:PID pick either. Nothing was run against a board. The vendor's firmware tools write the board's flash. A board in DFU recovery is indistinguishable from a HackRF in DFU by identifier. Ubuntu 26.04's package is 1.0.3, older than the 1.1.1 the other targets get.

How it identifies itself

USB id What Confirmed Node
38af:0001 HydraSDR RFOne in normal operation -- its own USB identifier yes libusb

What is not yet known

Not owned, so no descriptor has been read. Unknown: the manufacturer and product strings and whether the board reports a per-unit serial (the vendor's rule matches VID:PID only, so a rule that tells two RFOnes apart, or an RFOne from an Airspy on the legacy identifier, has nothing to match on); whether a board still on legacy firmware exists in the field; and every behaviour past enumeration. Closing it needs an RFOne attached, in normal mode, from an owner; scripts/identify-device.sh hydrasdr-rfone does it read-only, no root.

Who can close it: nobody on this project owns one — an operator who does can close it with one lsusb (how).

Access and permissions

Group membership required: plugdev — added at install, applies at next login.

The generated udev rule provides a /dev/hydrasdr-rfone symlink, mode 0660, group plugdev.

Firmware modes

  • vendor_tool — tooling: hydrasdr-host Upstream's firmware guide (hydrasdr/rfone_fw, Linux-how-to-flash-hydrasdr-firmware.md, head 6c7c1fe, 2026-09-11) updates a working board over USB with hydrasdr_spiflash -w <file> from the host tools, then a replug. This writes the board's flash: not run here, and the firmware file is upstream's to download, not carried.
  • dfu — tooling: dfu-util Upstream's recovery procedure (the same rfone_fw guide) needs the case opened and a boot switch, SW2, moved to 1-2 before attaching, then its own lpcdfu download from hydrasdr.com, and moving the switch back afterwards. That download is not carried and is not checksummed by this catalog. In this mode the board is an NXP part and says nothing about being a HydraSDR: select it by the port you plugged it into, and do not have two LPC4330 boards in DFU at once.

Software that makes it useful

hydrasdr-host, soapysdr-module-hydrasdr

Upstream: https://hydrasdr.com/