RSPduo dual-tuner: running two rtl_airband processes simultaneously (Master/Slave approach) #547
ukbodypilot
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
I've been running an RSPduo with two independent rtl_airband processes — one per tuner — and documented the working approach after spending a lot of time figuring out why the obvious method doesn't work.
The problem with Mode 2
The RSPduo's "Dual Tuner Independent RX" (rspduo_mode=2) sounds perfect for this use case but doesn't work with rtl_airband. Mode 2 opens the entire device and holds an exclusive lock — a second rtl_airband process cannot open it at all.
What actually works: Master/Slave (modes 4 and 8)
device_string = "driver=sdrplay,rspduo_mode=4"→ Master, Tuner 1device_string = "driver=sdrplay,rspduo_mode=8"→ Slave, Tuner 2One more catch: the Slave device only appears in SoapySDR's device list after the Master is already running and streaming. You must wait ~3 seconds after the Master is confirmed alive before starting the Slave.
Key requirements
Tool
I've packaged this as a standalone Python script + shell scripts:
https://github.com/ukbodypilot/rspduo-airband
It handles config generation, the start sequence, audio sink setup (PipeWire/PulseAudio null sinks), and settings persistence. No pip dependencies — pure stdlib.
Hope this saves someone the hours of trial and error I went through. Happy to answer questions.
Beta Was this translation helpful? Give feedback.
All reactions