Skip to content

lars18th/rtl_mus

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rtl_mus

RTL Multi-User Server is a small python script to allow multiple clients control the same RTL-SDR compatible DVB-T tuner, while also receiving I/Q samples. It has also the functionality to serve IQ samples from an external process (aka fake dongle mode).

How does it work?

  • rtl_mus requires an instance of rtl_tcp to connect to.
  • When it receives a command from any of its clients, rtl_mus resends it to the rtl_tcp server.
  • It continously reads samples from rtl_tcp, and resends them to the clients.

Other features

DSP processing

rtl_mus can also execute a command to perform DSP processing on the I/Q stream; then the processed I/Q stream is sent to its clients. A sample command for FLAC processing is included in the config file. FLAC is a loseless codec originally intended for audio, but it seems to work on sampled RF, too... 😄 As of a FLAC processed I/Q stream requires about 20% less bandwidth than the original, it might help to transport I/Q signals over a low-bandwidth internet link, but as of none of the SDR software can decode FLAC right now, another instance of rtl_mus has to be run locally, to decode the FLAC-encoded signal.

DSP fake dongle mode

When configuring the tool for reading the samples from an external tool you don't need to use a real rtl_tcp server. You can use this mode for reading the samples from a file (in RAW format) or from a FIFO (for example connected to the PIPE output of another tool that generates the samples). Then you don't need at all to have a real RTL dongle for using any RTL-SDR tool.

Inside the config file you can found and example for read the samples from a fifo file using the simple dd tool. You need to fill up the fifo using another process (for example with cat /my-file > /raw-fifo). This mode it's enabled setting the client port to 0.

Permissions on commands

By changing the source code, one can easily allow and deny remote clients execute particular commands on the rtl_tcp server. Commands that are not allowed are simply not forwarded by rtl_mus.

On rtl_tcp crash it fills clients with zeros

It can be particularly useful to avoid your GNU Radio flowgraph hang when using an OsmoSDR Source block.

Authors

András Retzler [email protected]

About

RTL Multi-User & Fake Dongle Server

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%