HOWTO: Airspy mini and Airspy R2: Piaware / dump1090-fa configuration

@janoskonya @caius

Actually published RC31 with a small change that will provide some (<0.25%) more DF17 messages at preamble filter 60.
This could be a command line flag but it’s simpler to add it like this, plus if people run preamble filter 60 they’ll be with the extra CPU (it’s not that much when already running -e 60 or -C that ends up at 60)

Update script should work for buster, bullseye, bookworm: https://github.com/wiedehopf/airspy-conf?tab=readme-ov-file#update

stretch binaries will stay on RC30 because stretch is really old now and that was already quite annoying to have that all compile.

4 Likes

On my pi5 setup at E60 there is actually a small reduction in CPU utilisation with the increase from RC31 being more than offset by the improvement from the bookworm binary.

2 Likes

I’ve updated. Mine runs with the preamble filter at 60 the majority of the time anyway since it’s using a cpu target.

Hi,

My pi4b has been upgraded - without a complete reinstallation - from Bullseye to Bookworm, but the update script still seems to pick the Buster version of binaries.

sudo bash -c "$(wget -O - https://raw.githubusercontent.com/wiedehopf/airspy-conf/master/update-binary.sh)"
--2024-08-10 18:05:13--  https://raw.githubusercontent.com/wiedehopf/airspy-conf/master/update-binary.sh
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.109.133, 185.199.110.133, 185.199.111.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.109.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2683 (2.6K) [text/plain]
Saving to: 'STDOUT'

-                         100%[=====================================>]   2.62K  --.-KB/s    in 0s      

2024-08-10 18:05:13 (11.3 MB/s) - written to stdout [2683/2683]

avm7l special case only buster (libc-2.28) and later, found libc version: 2.36
Getting this binary: https://github.com/wiedehopf/airspy-conf/raw/master/buster/airspy_adsb-linux-armv7.tgz
2024-08-10 18:05:14 URL:https://raw.githubusercontent.com/wiedehopf/airspy-conf/master/buster/airspy_adsb-linux-armv7.tgz [43928/43928] -> "airspy.tgz"
------------------------
airspy-conf update finished successfully!

I tried also removing and then reinstalling the airspy config part, with the same result at the end.

Anyway, my station works well with this version of binary.

1 Like

Oh you’re on 32bit.
Try again.

Would suggest 64bit images for the future :slight_smile:
Guess various feed clients still haven’t caught the train …

1 Like

Now, it works!

Thanks a lot!

I thought, “and later” means not just libc versions within buster, but newer OS too. :wink:

1 Like

I don’t really remember why there was a special case for armv7 … so kinda confused.

Let me know if the CPU usage is ok.
Don’t have any 32bit systems left to test.

2 Likes

I can see ~3% less overall cpu utilization, with 1C° lower core temperature.

(The config is the same as it was before.)

Maybe, armv7 was introduced for a “rare” board (or chipset) first. For @caius, I think. Not sure.

Passing on a couple points, just in case it helps.

On my Pi 5, I updated to the latest airspy-conf you were working on today. I noticed when I returned the /etc/default/airspy_adsb settings to what I had before (#2 in the graphic below), the CPU utilization is now about 10% higher then before I updated airspy-conf. (#1 in the graphic was just the default airspy-conf setting auto adjusting preamble filter sensitivity and stuff after I updated airspy-conf and didn’t restore my usual /etc/default/airspy_adsb settings). I don’t think any of this matters, just wanted you to know it seems like Pi 5 cpu utilization increased with this change. Perhaps I had previously built my own airspy_adsb binary locally on the Pi 5. I don’t remember.

Now the good news. I just tested for the first time today and discovered with the Pi5, I can finally run airspy_adsb at 20 MSPS and still have stable MLAT, and I can simultaneously run dump978-fa successfully with the other SDR on the Pi5. Previously on the Pi 4 I could never get MLAT working while running airspy_adsb at 20 MSPS with dump978-fa and a second SDR. Hope that makes sense. Seen in #3 in the graphic below.

chrome_9ItNMplEWi

That would be surprising, especially with this magnitude.
Can you show the graph that has the preamble / gain?

Also check the CPU frequency.

Some increased CPU at preamble filter 60 is nothing to be worried about as there is extra computation being done for premable 60.

Others had some improvements overshadow that increased computation but i suppose that might not be the case for everyone.

When i first started replying i wasn’t sure which settings you were comparing.
There is also the -P setting which could be different.

Not sure why you changed the preamble filter, the 100% is just one core so there is plenty of CPU left.
But that’s up to you.

Previously the Pi 5 was running at arm_freq=2500, I increased to 2650 MHz in the reboot after the #3 in the first graphic above. I was increasing CPU freq to try to get single core utilization down below 100%. I ended up reducing -e to 55 from 60 which brings down adsb cpu to just below 100%. I’ve always run with -e instead of -C for sanity. But that all happened after the initial 10% jump I referenced above.

vncviewer_lp2KXDdnjT

Thanks, I’ve always run with -e 60. I’ll go back to that. Let’s see if anyone else on a Pi 5 notices anything with the latest update. I actually can’t remember how I installed airspy_adsb binary on the Pi 5 originally.

Not sure why, airspy will run across all the cores anyhow.

Really you can let it run quite a bit cooler with the default frequency.
Or even change the governor to schedutil, so much CPU headroom.

I’ve got my pi4 set to powersave governor as there is no reason for the pi4 to run any faster for 12 MSPS.

1 Like

Got it! Back to -e 60 :grinning:

Nope not for me. I’ve only every used raspberry pis for adbs. Initially a pi 2, then a pi 4 which is still what I’m using now.

This is because the airspy uses almost all of the USB 2 bandwidth available at 20MHz, and adding a second dongle takes it over the top. The pi 5 has a better USB controller that has two separate USB channels - one for the top ports and one for the bottom ports.

I generally run my airspy with -C set to 95% and then the preamble filter can do what it wants. Normally that means it’s pegged at 60, except where some rare cpu intensive task happens where it can sometimes dip slightly. It means that there usually aren’t any dropped samples.

3 Likes