Skip to content

soapysdr-module-fobos

SoapySDR driver module for the RigExpert Fobos SDR

What it does

A plugin for SoapySDR, the vendor-neutral SDR abstraction layer, that makes the RigExpert Fobos SDR usable through the generic SoapySDR interface, for a board running either firmware family.

Why you would want it

It is what lets one program drive many different radios. SDR++, GQRX, CubicSDR, GNU Radio's Soapy source and a great deal else reach the Fobos through this module, so installing it is usually the difference between an application listing the radio and showing an empty device list. The module takes a driver=fobos argument and, per upstream's versions.txt, index= to choose between several boards.

Before it will work

Both Fobos libraries (libfobos and libfobos-sdr-agile, which this unit depends on), the udev rule and group from the fobos-sdr hardware entry, and SoapySDR itself, which the build pulls in.

How it installs

  • git (cmake) — https://github.com/rigexpert/SoapyFobosSDR at aa8d486cf03c5bc35fd7929e90e9a36c7f61ad8d
  • build dependencies: build-essential, cmake, pkg-config, libsoapysdr-dev, 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 --install into /usr/local) after the two Fobos libraries were installed there: debian:13, ubuntu:24.04 and ubuntu:26.04 exit 0 in about 3 s with no warnings; kali-rolling (gcc 16) also exits 0 with four warnings. The module installs once, to /usr/local/lib/SoapySDR/modules0.8/ libFobosSDRSupport.so, and SoapySDRUtil --info then lists it (aa8d486) and fobos among the factories, with no ldconfig run. --find="driver=fobos" reports no devices, there being none. Built on x86_64 only; arm64 is unmeasured. Not measured: a board, streaming, or a client application.

Files its install rule leaves under the prefix, checked after the run and never copied or removed by the engine:

  • lib/SoapySDR/modules0.8/libFobosSDRSupport.so

Known problems

Both libraries are needed to build it, whichever firmware the board runs. A board on original firmware and one on the agile firmware show the same USB identifier and differ in bcdDevice only (see the libfobos unit); whether this module lists both kinds is upstream's code and not measured here. A module and its libraries must match or the radio is not listed rather than reported as broken: SoapySDRUtil --info shows what loaded and any dlopen error. The module is built into /usr/local/lib/SoapySDR/ modules0.8, which SoapySDR 0.8 searches. This is an untagged pin. Not measured: any board.

Keeping it current

  • probe: none
  • strategy: rebuild
  • No tags. Read the default branch's head (D-032) at each review: six of its twelve commits are from 2026. Move it together with the two library pins, since this tree is written against both.

Where to get help with the software itself

Issues on the repository above and rigexpert.com, who make the hardware. SoapySDR questions go to the SoapySDR project. Licence: LGPL-2.1.

Source: catalog/packages/soapysdr-module-fobos.yaml