Success on RPI4 - notes/commentary

431 views
Skip to first unread message

Jeff Thompson

unread,
Nov 1, 2020, 2:23:18 PM11/1/20
to sdrtrunk
Using the great instructions in the other thread, I was able to get SDRT up and running with just a handful of glitches. 

There are some limitations that people should be aware of, but I'm happy with the performance so far. 

Some notes on the installation process:

  • Overall, the process for getting Ubuntu Mate up and running on the RPI4 is the same as any other OS, download to a host computer then flash the image to an SD card, then insert the card into the PI and turn the power on. Be aware there's a setup process for Mate that's a bit longer than Raspian, so budget a few minutes for that.
  • If you're setting up on a TV with a keyboard and mouse, you can skip the ssh steps and the xrdp steps. While ssh works fine for me, I couldn't remotely access the system for some reason, I decided to fix that later.
  • The wget for Java fails, I suspect the file moved. It's relatively easy to find on the Bellsoft webpage though - you can use the Firefox browser directly on the RPI to fetch it. NOTE: for some reason, when I browse that site on MacOS, what was displayed to me was slightly different than Firefox on Ubuntu. Be careful and make sure you get the 64 bit file JDK for Linux, ARM version. Follow the rest of the Java steps as documented, with the following exception:
  • In the line directly below step 7, do not include the last slash after aarch64
  • The filename for sdr-trunk was slightly different, but it is not a critical difference
  • You MUST build and install JMBE or you will get no audio for any calls, including Phase 1 call.
  • Instead of moving the the .jar in step 5, you can specifiy where the .jar is within SDRT, which I chose to do
Performance:
  • Understand that the storage on an RPI is a simple, very slow SD card. Finally, you can now set up RPIs to boot and run from USB devices. I have not done this yet but it's on the list. SD cards are prone to failure, and writing a lot of logs to them is courting disaster.
  • The RPI does heat up a bit over time, but I have mine heatsinked and there's a small fan on the case, which sadly isn't working for some reason. It's not hot, but warm. The dongles are much much warmer than the RPI.
  • With 3 RTL-SDRs plugged into a powered USB 3.0 hub, I'm probably maxed out on CPU at 70-95%, varying over time/system activity. The trough - when nothing is being decoded - is 40%. It never quite hits 100% but with 2 channels of audio coming through, it's very close.
  • I'm happy with 3 dongles - it give me one for the control channel, and one each for each SDR dongle. Since I'm listening only on this setup, I don't feel the need to add another dongle - I don't stream or save recordings. 
  • Heterodyne must be used. Polyphase hits 100% even on 2 dongles and the system becomes unresponsive/locked up where I had to power it off.
  • There's less audio latency on this setup vs. my other setup with 2 Airspys.
  • This is an 8Gb model, memory usage is not a factor at all. I haven't increased the Java settings at all. RAM is not the constraint here, CPU is. Based on this, it would seem that a 4Gb model may be usable. 
  • Audio on Mate can require poking around a bit, e.g. clicking on settings a few times and it pops in. Mildly irritating at worst.
To do:
  • I will see if I can't clone my current SD card to a USB 3.0 flash drive that I have handy and update the RPI4 to boot from it. 
  • I will see how large that image is - some other SDR RPI communities set up iso repositories so that people can flash their own SD cards, then all they have to do to change up functionality is to shut down and swap SD cards. 
  • I'll try more dongles and increasing the JAVA memory settings, but I don't expect success or increased utility.
  • Try RR talkgroup installation - right now I'm listening to everything without any tags or priority
  • Fiddle with headless operation - see if I can autoboot and start SDRTrunk without being married to a screen
This setup should be great for scanner-like use. No, it won't decode every conversation on multiple systems, but if you can carve out just the important talkgroups and put them into priority order, you're still going to have a good setup. 

The following would be enhancements that may be helpful here:
  • Reduce RTL-SDR sample size to lowest possible
    • If a dongle is only going to decode one CC or traffic channel, we should be able to lower the sampling rate significantly, which should help both CPU load and latency at the same time
  • Headless operation
    • Even with a case, RPIs are small, as are SDR dongles. Combining the two with a battery pack brings SDRT into the portable realm, or at least the mobile realm. 

whit...@gmail.com

unread,
Nov 3, 2020, 8:04:48 PM11/3/20
to sdrtrunk
Jeff, 

I am using the RPi 4GB and I find the memory usage hasn't topped 2GB Running one dongle on Heterodyne. 
I am still having java memory errors though. If I use two (Branded) RTL-SDR dongles, SDRTrunk will only run for 5 minutes and then poops out. 
The sweet-spot for me is to use my one (Branded) NOOLECTRIC SMARTxtr. SDRTrunk will run unhindered for days with the waterfall off and polyphase on. 
I have ordered an eight GB Pi because my 4GB model has been busy. It used to be a torrent machine. 

On the image repository, I don't have a solution but I do have an addition. I ran my setup protocol sans some steps like setting up RDP and upgrading the distro. I removed libreoffice and I got an image that is bare bones and works with SDRTrunk right out of the box(including sound out of the 1/8 inch jack). All it needs is an alias list. The image is for a 16GB micro SD card but it is only two and a half gigs in size. Anyone who wants to look at it is more than welcome. HERE 

Tonight's goal is to see if I can run it completely headless. I have the pi set up to log in without a password prompt and then I am going to try to launch SDRTrunk a minute or two after boot. 

Jeff Thompson

unread,
Nov 6, 2020, 10:42:23 AM11/6/20
to sdrtrunk
Just a quick note - with the fan running, the RPI4 doesn't even get warm. 

It's a tiny fan, as one might imagine, and it's only audible when you hold it up to your ear, but it's extremely effective in making sure the RPI & case don't heat up. 

I am not having any issues at all with 3 RTL-SDR branded dongles. 

CT POLICE LIVE

unread,
Nov 6, 2020, 5:45:47 PM11/6/20
to sdrtrunk
Fun stuff.

You could just grab one of these SATA to USB 3.0 cables on Amazon and you can use any drive you want. I have my pi4 booting off a ssd drive, and it even works good using the multiboot Berryboot.  https://www.amazon.com/dp/B07PVX682Q/ref=cm_sw_em_r_mt_dp_P1CPFbWMZWXW4?_encoding=UTF8&psc=1

I was messing around with my Pi, using a ssd drive, mini wifi router, sdr, all on a battery pack. And it was running a VPN OS. So I could just turn it on and access from anywhere. Was working pretty sweet. I didn't have much luck with Sdrtrunk on pi, it taxes the little thing too much, even with the SSD drive.

Thanks for the updates

62480284_2350891608518569_7281467535348727808_o.jpg

Ceanothus

unread,
Feb 15, 2021, 2:34:31 PM2/15/21
to sdrtrunk
I've got it running on an RPI4 also, however, the performance is so bad it's not able to decode or produce calls.  Lots and lots of error messages.  It will intermittently work, producing a minimal amount of audio but not actually enough to make it worth the effort and that's only when minimal sample size is used.  I think for this to work on an RPI it needs to be scaled back to minimal resource usage, perhaps headless ...sans JavaFX would work.

Neil Harvey

unread,
Feb 15, 2021, 3:08:14 PM2/15/21
to sdrtrunk

My comments below reflect running it against the RSP1A on the RPI.  When running against the RTL-SDR you are also using in your picture…I get better performance, but the sample size is very limited.  It could be the SDRPlay API adds overhead.  When running top, with one RTL-SDR:

 

 

That 1st Java command (sdrtrunk) would often go up to %CPU 230.

 

Sent from Mail for Windows 10

 

From: Ceanothus
Sent: Monday, February 15, 2021 11:34 AM
To: sdrtrunk
Subject: Re: Success on RPI4 - notes/commentary

 

I've got it running on an RPI4 also, however, the performance is so bad it's not able to decode or produce calls.  Lots and lots of error messages.  It will intermittently work, producing a minimal amount of audio but not actually enough to make it worth the effort and that's only when minimal sample size is used.  I think for this to work on an RPI it needs to be scaled back to minimal resource usage, perhaps headless ...sans JavaFX would work.

On Friday, November 6, 2020 at 2:45:47 PM UTC-8 CT POLICE LIVE wrote:

Fun stuff.

 

You could just grab one of these SATA to USB 3.0 cables on Amazon and you can use any drive you want. I have my pi4 booting off a ssd drive, and it even works good using the multiboot Berryboot.  https://www.amazon.com/dp/B07PVX682Q/ref=cm_sw_em_r_mt_dp_P1CPFbWMZWXW4?_encoding=UTF8&psc=1

 

I was messing around with my Pi, using a ssd drive, mini wifi router, sdr, all on a battery pack. And it was running a VPN OS. So I could just turn it on and access from anywhere. Was working pretty sweet. I didn't have much luck with Sdrtrunk on pi, it taxes the little thing too much, even with the SSD drive.

 

Thanks for the updates

 

--
You received this message because you are subscribed to the Google Groups "sdrtrunk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sdrtrunk+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sdrtrunk/a1bb0081-3b6a-4e82-804e-c6faee081f3cn%40googlegroups.com.

 

Jeff Thompson

unread,
Feb 26, 2021, 12:34:37 PM2/26/21
to sdrtrunk
I'm really puzzled here - I had clean, clear success with an RPI4 - with 8GB RAM, which I did mention in my original post. 

Unclear why others are having issues - why mileage varies. 

Note, do turn off the waterfall. I mentioned that before, but it's worth repeating. Waterfall sucks CPU. 

Jeff Thompson

unread,
Feb 26, 2021, 12:39:18 PM2/26/21
to sdrtrunk
Just realized that I mentioned turning waterfall off elsewhere. 

1) Turn off waterfall
2) Use heteodyne

I was listening in real time and not recording any calls, that may be a difference as well. 

Reply all
Reply to author
Forward
0 new messages