Software Defined Radio on LEDE

Love LEDE and run it as a seperate VLAN router inside my network. I'm also an SDR enthusiast and figured out I could run rtl_tcp on LEDE. This freed up a Raspberry Pi I have laying around. Nothing to it.

  • Plug in SDR
  • opkg update
  • opkg install rtl-sdr
  • Add line with ip address of your router to local startup script and reboot
  • configure SDR program to connect to rtl_tcp server.
  • Profit

35%20AMIMG_4324
55%20AM

3 Likes

This is excellent!

I didn't realize those dongles had been included into the Linux Kernel!

I have a NooElec dongle I used with Windows a few times...I'll add mine to a OpenWRT router and test connectivity remotely.

Thanks!!!

What are you using SDR for? Is to listen to AM/FM and chat with radio amateurs over their frequencies or there is something else too?

I'm just asking because I'm curious about the possible applications of SDR, I don't know much about it beyond what I said above.

Should work fine, as it is yet another dongle using the same RTL2832 + R820T chips.

You can receive weather sensors with SDR.



1 Like

Yes, Amateur Radio (including the International Space Station) and Broadcast Radio are 2 applications:

  • @tmomas mentioned WX data
  • You can receive POCSAG (paging)
  • Simple Spectrum analyzer
  • LTE (meaning you could theoretically set your time from the cellular towers)
  • ACARS aircraft data
  • Wireless temperature sensors
  • In the US/Canada, you can monitor your NOAA All Weather Station for the data alert tone
  • anything that can be decoded with a modern PC, since the raw data is delivered to the computer

See: http://osmocom.org/projects/sdr/wiki/rtl-sdr

1 Like

Entering the command into Startup as you pictured in the OP doesn't work. There seems to be an issue with the Kernel space driver running a program detached from userpace.

Attempting the same command detached, I receive:

root@LEDE:~# rtl_tcp -a 192.168.xxx.xxx &
Found 1 device(s):
  0:  Realtek, RTL2838UHIDIR, SN: xxxxxxxx

Using device 0: Generic RTL2832U OEM
usb_claim_interface error -6
Failed to open rtlsdr device #0.

https://github.com/steve-m/librtlsdr/issues/1

Can you confirm that your command works when adding it to Local Startup? I can only get it working from the command line (which won't work on a router).

UPDATE: I successfully detached from the CLI after I ended the process in Local Startup. Although, this still means after each reboot, I have to manually login to userspace to start rtl_tcp.

This sounds like the perfect solution to integrate my 433MHz remotes into the IoT infrastructure.

Many thanks!!!

All, it appears that rtl-sdr is incorporated into UCI!!! The config file is located at /etc/config/rtl_tcp!!!

I changed option disabled to 0 and added a listen IP address! No need for the command line or scripts!

Has anybody managed to build & install rtl_433 into the LEDE device itself? I want to use my router as a bridge from the 433MHz remotes to the MQTT infrastructure, but rtl_433 does not seem to be available for LEDE...

EDIT: This is all you need: https://github.com/openwrt/packages/blob/master/utils/rtl_433/Makefile

1 Like

opkg install rtl-sdr -> unknown package

Has anyone else installed sdr support on their LEDE devices? Please let me know what packages you installed to make your work.

Yes, I noted it above; and the OP even shows pictures of their working config.

I ONLY installed rtl-sdr:

opkg update
opkg install rtl-sdr

Perhaps, you should ask the person who created your image.

Thanks for the response. Do you run a vanilla build?

Hi Mate,

Can you explain a bit more about how you built rtl_433 on LEDE? I'm new to the LEDE system and whilst I've got RTLSDR installed and the dongle is picked up with RTL_TEST, I would like you want to run RTL_433 actually on the system it's self.

Any advise you can offer would be appreciated. I know you pointed to that makefile, but how do I build on LEDE?

Thanks,
Ian

Yes, sure!

You first need to install and configure the "build system", up to the point when you are capable of building a complete firmware (you are not going to install that firmware, however). You might want to use the "config.seed" file for your current firmware as a starting point, so everything comes pre-configured for you. There are several guides about installing and configuring the "build system"; if you need assistance about this step, please open a new thread to avoid filling up this one.

Now copy that Makefile into the package/utils/rtl_433/ folder in your build folder. You can edit the PKG_SOURCE_VERSION variable, so it points to the latest commit on rtl_433's repo. Now configure again your local build system and add the rtl_433 package. Now build the packages with make package/utils/rtl_433/compile && make package/utils/rtl_433/install && make package/index, and if everything goes as expected, your package will appear at bin/packages/arm_cortex-a9_vfpv3/base/.

If something goes wrong, just ask here; and if you own a WRT3200ACM, I can send you my packages.
Hope this helps!

1 Like

Hi Ed,

Thanks for that! I've been playing and reading, and have a build set up working. I am using LEDE on a BT Homehub 5a which has a pre-existing config in the make menuconfig and it seemed to make toolchain/install ok.
What I am unclear on is where to git clone rtl_433 into on the source/ tree, if that is what I need to do? Or where I pull in the RTLSDR source?

I'm sorry I am being thick, I can build stuff for my PC Linux fine, but cross compiling for a diffierent target, and LEDE is a new project on me, but I would like to get the 433 decoder going on LEDE as I am looking for the same solutions you use.

Thanks for help,

Ian

No, you do not need to git clone anything yourself, the build system will take care of that for you: just download the Makefile I linked above, edit it to point to the latest version, and build the package.

Gracis Ed,

I figured it out in the end! New to LEDE so needed to concentrate really.

Your assistance was a big help, I appreciate your support. My BT HH5 is now collecting data from my 433 weather station in the garden! The install part of the build failed, but the binary was in the build_dir/target-mips_24kc_musl-1.1.16/rtl_433-ead85a2 directory, so I could grab it from there and scp it over to the HH5. It ran fine once on there as the HH5 LEDE already had librtlsdr installed.

It would be nice if the RTLSDR in LEDE included the _433 application by default, as it's a really useful tool!

Thank you for your kind help,

Ian

1 Like

Although all the info to do this is here I threw a quick blog page up a while back to document this and why you might want to hook an SDR up. To get to my SDR from the outside world I use a VPN and I don't open the ports up to the internet facing side.

https://www.hagensieker.com/wordpress/2018/05/08/running-an-rtl_tcp-server-off-of-a-router/

Yes, working for me on "vanilla build" from the downloads page - 17.01.4.

FYI - I created https://openwrt.org/inbox/howto/sdr to collect useful information regarding SDR on OpenWrt.

4 Likes