libfobos¶
Host library and command-line tools for the RigExpert Fobos SDR receiver
- Version recorded: 2.4.1
- Categories:
sdr-hardware - Upstream: https://github.com/rigexpert/libfobos
What it does¶
The host side of the RigExpert Fobos SDR, a USB software defined radio receiver: a shared library (libfobos) that opens the board, tunes it and streams samples, and three command-line programs. fobos_devinfo lists the boards and prints their hardware revision, firmware version and serial, fobos_recorder records samples to a WAV file, and fobos_fwloader writes firmware to the board. The library's API is receive-only: it sets a frequency, gain and sample rate and reads samples, and has no transmit call.
Why you would want it¶
It is the layer the SoapySDR module (soapysdr-module-fobos), and through it SDR++, GQRX and GNU Radio, reach the board through, and fobos_devinfo is the first check that the board and its permissions are right before an application is involved. RigExpert sells the Fobos as an HF-to-microwave wideband receiver; this project has not measured its coverage or sensitivity (D-027) and quotes none.
Before it will work¶
A Fobos SDR, which the maintainer does not own, and the udev rule and plugdev membership from the fobos-sdr hardware entry (hammunition hardware apply). Upstream's versions.txt, at v.2.3.2, says "please update the firmware to v.2.1.1" and "HW rev 3.0.0 or higher only"; fobos_fwloader writes firmware. The sibling library libfobos-sdr-agile says it supports revision 4 natively and revisions 2 and 3 only with special firmware.
How it installs¶
- git (cmake) — https://github.com/rigexpert/libfobos at
1e0fab3d361ee553faa88f67d2ef0ae502483151 - build dependencies:
build-essential,cmake,pkg-config,libusb-1.0-0-dev - Built on 2026-10-02 in rootless containers the way this block runs it -- cmake configure,
cmake --build --parallel 2,cmake --installinto /usr/local: debian:13 (cmake 3.31, gcc 14), ubuntu:24.04, ubuntu:26.04 and kali-rolling (gcc 16) all exit 0 in about a second with no compiler warnings. It leaves libfobos.so (version 2.4.1, soname 0), fobos.h, libfobos.pc and three tools in the prefix, and the udev rule in the inert directory named above; /etc/udev/rules.d was not created. Run without a device: fobos_devinfo prints "API Info lib: 2.4.1 ... found devices: 0", exit 0, and without any ldconfig. Built on x86_64 only; arm64 is unmeasured. Not measured: a board.
Binaries this produces:
fobos_devinfofobos_recorderfobos_fwloader
Files its install rule leaves under the prefix, checked after the run and never copied or removed by the engine:
lib/libfobos.solib/libfobos.so.0lib/pkgconfig/libfobos.pcinclude/fobos.h
Known problems¶
The board presents the same USB identifier (16d0:132e) under two firmware families, the original and the "agile" one, and tells them apart only by the device descriptor's bcdDevice: this library opens bcdDevice 0x0000 and its sibling libfobos-sdr-agile opens 0x0101. Loading the wrong firmware makes the board invisible to the library you have, not broken. Builds install into /usr/local and the library is found through an embedded run path, so a program of your own that links it needs -L/usr/local/lib -Wl,-rpath,/usr/local/lib or ldconfig. This is an untagged pin: the unit is built from a commit, not a release. Not measured: everything that needs a board, including firmware writes.
Keeping it current¶
- probe: none
- strategy: rebuild
- 50 commits since the v2.4.0 tag, 28 of them in June 2026 (a contributor's Debian packaging among them). Read the default branch's head (D-032) at each review; a v2.4.1 tag would replace this commit pin with a tag, and versions.txt in the tree already lists "v.2.4.1(beta)".
Where to get help with the software itself¶
Issues on the repository above and rigexpert.com, who make the hardware. Licence: LGPL-2.1.
Source: catalog/packages/libfobos.yaml