Big rtl_fm (and more) improvements, testing requested

keenerd keenerd at
Thu Dec 5 14:14:27 UTC 2013

Hi all.  Been hacking a bit on rtl_fm again.  My repository is at

Pretty much everything has been overhauled.  The first year of
rtl_fm's life saw a lot of features jammed into dumb places in the
code.  There was no organization and a lot of problems stemmed from
that.  Now the code is cleaner, faster and should be much simpler for
future features such as multiple dongle/demodulator support.

Major fixes: The most common complaint that people have had is poor
selectivity.  Rtl_fm was great for strong signals but could not pick
up weak signals.  This was from shoddy (but very fast) filters.  Now
there are better filters available.  Access them with '-F 0' and '-F
9'.  These will use more cpu but still run fine on low end ARMs.
There is some more headroom for optimization, but nothing to be
premature about.   Rtl_power has these same filters if you'd like a
visual comparison of how they work.

Due to some stupid misunderstandings on my part, data modes were
completely broken.  These work again.

New features: You can choose devices by the text in the serial eeprom.
 This is overloaded onto the existing -d (device index number) option.
 If it looks like a simple int, do the traditional -d behavior.  If it
looks like a string, check the eeproms of all devices for exact
matches, prefix matches and suffix matches.  If your rtl dongles don't
have eeproms, my apologies.

Minor improvements: All of the rtl_* utilities have these features,
including metric/standard units as well as nearest-gain values and the
serial matching.

Going Further: There are also a lot of patches to add various features
to rtl_fm.  With the new overhaul it should be much easier to add
features, but the patches will have to be re-written first.  If there
are patch sets you you'd to see merged sooner rather than later,
please mention them so I can gauge interest.


More information about the osmocom-sdr mailing list