Airspy Mini Help

Received an Airspy Mini today. I’ve set it up following the instructions here: Manual airspy configuration to work with dump1090 fa and piaware · wiedehopf/airspy-conf Wiki · GitHub

…but nothing is happening. I’m using a Rpi3B

Any suggestions of what I could try or do gratefully received

Thank you

This is the error message I get when I use: sudo journalctl -u airspy_adsb --no-pager -n50

pi@raspberrypi:~ $ sudo journalctl -u airspy_adsb --no-pager -n50
– Logs begin at Thu 2021-05-13 16:47:59 BST, end at Thu 2021-05-13 17:22:19 BST. –
May 13 17:10:58 raspberrypi airspy_adsb[5831]: -b Enable Bias-Tee
May 13 17:10:58 raspberrypi airspy_adsb[5831]: -p Enable Bit Packing
May 13 17:10:58 raspberrypi airspy_adsb[5831]: -v Verbose mode
May 13 17:10:58 raspberrypi airspy_adsb[5831]: -h Display this help screen
May 13 17:10:58 raspberrypi airspy_adsb[5831]: Available output formats:
May 13 17:10:58 raspberrypi airspy_adsb[5831]: * AVR - Raw AVR format
May 13 17:10:58 raspberrypi airspy_adsb[5831]: * AVR-STRICT - Raw AVR format with only CRC valid frames
May 13 17:10:58 raspberrypi airspy_adsb[5831]: * ASAVR - Raw Airspy AVR format
May 13 17:10:58 raspberrypi airspy_adsb[5831]: * Beast - Raw Beast Binary format
May 13 17:10:58 raspberrypi systemd[1]: airspy_adsb.service: Main process exited, code=exited, status=1/FAILURE
May 13 17:10:58 raspberrypi systemd[1]: airspy_adsb.service: Failed with result ‘exit-code’.
May 13 17:10:58 raspberrypi systemd[1]: airspy_adsb.service: Service RestartSec=100ms expired, scheduling restart.
May 13 17:10:58 raspberrypi systemd[1]: airspy_adsb.service: Scheduled restart job, restart counter is at 4.
May 13 17:10:58 raspberrypi systemd[1]: Stopped Airspy ADS-B receiver.
May 13 17:10:58 raspberrypi systemd[1]: Started Airspy ADS-B receiver.
May 13 17:10:58 raspberrypi airspy_adsb[5832]: airspy_adsb v1.85
May 13 17:10:58 raspberrypi airspy_adsb[5832]: Listening for beast clients on port 29999
May 13 17:10:58 raspberrypi airspy_adsb[5832]: /usr/local/bin/airspy_adsb: invalid option – ‘1’
May 13 17:10:58 raspberrypi airspy_adsb[5832]: unknown argument ‘-? (null)’
May 13 17:10:58 raspberrypi airspy_adsb[5832]: airspy_adsb v1.85
May 13 17:10:58 raspberrypi airspy_adsb[5832]: Options:
May 13 17:10:58 raspberrypi airspy_adsb[5832]: -s <serial_number> Device serial number
May 13 17:10:58 raspberrypi airspy_adsb[5832]: -t Aircraft timeout in seconds
May 13 17:10:58 raspberrypi airspy_adsb[5832]: -g <rf_gain> RF gain: 0…21
May 13 17:10:58 raspberrypi airspy_adsb[5832]: -f Forward Error Correction (FEC) bits
May 13 17:10:58 raspberrypi airspy_adsb[5832]: -e <preamble_filter> Preamble filter (decimal): 0…20
May 13 17:10:58 raspberrypi airspy_adsb[5832]: -w <whitelist_threshold> Whitelist threshold: 1…20
May 13 17:10:58 raspberrypi airspy_adsb[5832]: -c :[:format] Add a Push Client
May 13 17:10:58 raspberrypi airspy_adsb[5832]: -l [:format] Add a Listener
May 13 17:10:58 raspberrypi airspy_adsb[5832]: -m <mlat_freq> MLAT frequency in MHz: 12, 20 or 24 (Airspy R2 only)
May 13 17:10:58 raspberrypi airspy_adsb[5832]: -n Enable Verbatim mode
May 13 17:10:58 raspberrypi airspy_adsb[5832]: -x Enable DX mode
May 13 17:10:58 raspberrypi airspy_adsb[5832]: -r Reduce the IF bandwidth to 4 MHz
May 13 17:10:58 raspberrypi airspy_adsb[5832]: -b Enable Bias-Tee
May 13 17:10:58 raspberrypi airspy_adsb[5832]: -p Enable Bit Packing
May 13 17:10:58 raspberrypi airspy_adsb[5832]: -v Verbose mode
May 13 17:10:58 raspberrypi airspy_adsb[5832]: -h Display this help screen
May 13 17:10:58 raspberrypi airspy_adsb[5832]: Available output formats:
May 13 17:10:58 raspberrypi airspy_adsb[5832]: * AVR - Raw AVR format
May 13 17:10:58 raspberrypi airspy_adsb[5832]: * AVR-STRICT - Raw AVR format with only CRC valid frames
May 13 17:10:58 raspberrypi airspy_adsb[5832]: * ASAVR - Raw Airspy AVR format
May 13 17:10:58 raspberrypi airspy_adsb[5832]: * Beast - Raw Beast Binary format
May 13 17:10:58 raspberrypi systemd[1]: airspy_adsb.service: Main process exited, code=exited, status=1/FAILURE
May 13 17:10:58 raspberrypi systemd[1]: airspy_adsb.service: Failed with result ‘exit-code’.
May 13 17:10:59 raspberrypi systemd[1]: airspy_adsb.service: Service RestartSec=100ms expired, scheduling restart.
May 13 17:10:59 raspberrypi systemd[1]: airspy_adsb.service: Scheduled restart job, restart counter is at 5.
May 13 17:10:59 raspberrypi systemd[1]: Stopped Airspy ADS-B receiver.
May 13 17:10:59 raspberrypi systemd[1]: airspy_adsb.service: Start request repeated too quickly.
May 13 17:10:59 raspberrypi systemd[1]: airspy_adsb.service: Failed with result ‘exit-code’.
May 13 17:10:59 raspberrypi systemd[1]: Failed to start Airspy ADS-B receiver.

You have something wrong in your airspy_adsb file.

Thanks. This is my airspy_adsb file which is basically a copy from the installation guide, apart from adding -b in the options to switch on bias-t

#gain is 0 to 21, each step of gain is equivalent to about 3dB, so reduce in increments of 1 if 21 is too high
GAIN= 18

#other options, append or remove from the line starting with OPTIONS=
#-f: error correction bits, 0, 1 or 2: default and recommended is 1 for now.

(-f 2 is not recommended at the moment when feeding FlightAware and maybe others

as they have expressed concern about 2 bit error correction)

#-v: leave it on, will provide messages to system log, read with sudo journalctl -u airspy_adsb
#-x: dx mode, improves reception of weak messages, introduces bogus messages (opinion: not worth it)
#-p: bit packing, reduces USB bandwidth but slightly increases CPU load. Not recommended in most cases.
#-e: preamble filter sensitivity, values: 0.1 to 10.0 (higher values increase CPU load and can improve detection)
#-w <whitelist_threshold> Whitelist threshold: 1…10 (default: 3, lower not recommended due to bogus messages)
#-b: enable bias-t

OPTIONS= -v -f 1 -b

please always check the following command for the options used by the current version:

airspy_adsb -h

#sample rate can be 12 or 20, 20 may not work depending on the system
SAMPLE_RATE= 12

when trying a sample rate of 20 on the Raspberry Pi

checking journalctl -efn -u airspy_adsb for lost samples

is recommended. A few lost samples after a reboot is not a problem,

but during peak traffic there should be no lost samples otherwise MLAT

will not work properly and a sample rate of 12 is most likely better.

#network settings
NET= -l 29999:beast -1 47806:asavr -c localhost:30004:beast

#don’t change:
G=-g
M=-m

#processor affinity, for XU4 you can try 4-7, for the N2 try 2-5
AFFINITY=“0-7”

Your problem is the -1 after beast. It should be an l.

1 Like

That’s a -1 and not -l

And please either learn how to format correctly for this forum or use pastebin.com and then post a link to whatever log or document you want to show.

I’m still getting the same error although I have changed that line in airspy_adsb to:

NET= -1 29999:beast -1 47806:asavr -c localhost:30004:beast

– Logs begin at Thu 2021-05-13 18:15:01 BST, end at Thu 2021-05-13 18:18:16 BST. –
May 13 18:15:05 raspberrypi airspy_adsb[446]: -r Reduce the IF bandwidth to 4 MHz
May 13 18:15:05 raspberrypi airspy_adsb[446]: -b Enable Bias-Tee
May 13 18:15:05 raspberrypi airspy_adsb[446]: -p Enable Bit Packing
May 13 18:15:05 raspberrypi airspy_adsb[446]: -v Verbose mode
May 13 18:15:05 raspberrypi airspy_adsb[446]: -h Display this help screen
May 13 18:15:05 raspberrypi airspy_adsb[446]: Available output formats:
May 13 18:15:05 raspberrypi airspy_adsb[446]: * AVR - Raw AVR format
May 13 18:15:05 raspberrypi airspy_adsb[446]: * AVR-STRICT - Raw AVR format with only CRC valid frames
May 13 18:15:05 raspberrypi airspy_adsb[446]: * ASAVR - Raw Airspy AVR format
May 13 18:15:05 raspberrypi airspy_adsb[446]: * Beast - Raw Beast Binary format
May 13 18:15:05 raspberrypi systemd[1]: airspy_adsb.service: Main process exited, code=exited, status=1/FAILURE
May 13 18:15:05 raspberrypi systemd[1]: airspy_adsb.service: Failed with result ‘exit-code’.
May 13 18:15:05 raspberrypi systemd[1]: airspy_adsb.service: Service RestartSec=100ms expired, scheduling restart.
May 13 18:15:05 raspberrypi systemd[1]: airspy_adsb.service: Scheduled restart job, restart counter is at 4.
May 13 18:15:05 raspberrypi systemd[1]: Stopped Airspy ADS-B receiver.
May 13 18:15:05 raspberrypi systemd[1]: Started Airspy ADS-B receiver.
May 13 18:15:05 raspberrypi airspy_adsb[467]: airspy_adsb v1.85
May 13 18:15:05 raspberrypi airspy_adsb[467]: /usr/local/bin/airspy_adsb: invalid option – ‘1’
May 13 18:15:05 raspberrypi airspy_adsb[467]: unknown argument ‘-? (null)’
May 13 18:15:05 raspberrypi airspy_adsb[467]: airspy_adsb v1.85
May 13 18:15:05 raspberrypi airspy_adsb[467]: Options:
May 13 18:15:05 raspberrypi airspy_adsb[467]: -s <serial_number> Device serial number
May 13 18:15:05 raspberrypi airspy_adsb[467]: -t Aircraft timeout in seconds
May 13 18:15:05 raspberrypi airspy_adsb[467]: -g <rf_gain> RF gain: 0…21
May 13 18:15:05 raspberrypi airspy_adsb[467]: -f Forward Error Correction (FEC) bits
May 13 18:15:05 raspberrypi airspy_adsb[467]: -e <preamble_filter> Preamble filter (decimal): 0…20
May 13 18:15:05 raspberrypi airspy_adsb[467]: -w <whitelist_threshold> Whitelist threshold: 1…20
May 13 18:15:05 raspberrypi airspy_adsb[467]: -c :[:format] Add a Push Client
May 13 18:15:05 raspberrypi airspy_adsb[467]: -l [:format] Add a Listener
May 13 18:15:05 raspberrypi airspy_adsb[467]: -m <mlat_freq> MLAT frequency in MHz: 12, 20 or 24 (Airspy R2 only)
May 13 18:15:05 raspberrypi airspy_adsb[467]: -n Enable Verbatim mode
May 13 18:15:05 raspberrypi airspy_adsb[467]: -x Enable DX mode
May 13 18:15:05 raspberrypi airspy_adsb[467]: -r Reduce the IF bandwidth to 4 MHz
May 13 18:15:05 raspberrypi airspy_adsb[467]: -b Enable Bias-Tee
May 13 18:15:05 raspberrypi airspy_adsb[467]: -p Enable Bit Packing
May 13 18:15:05 raspberrypi airspy_adsb[467]: -v Verbose mode
May 13 18:15:05 raspberrypi airspy_adsb[467]: -h Display this help screen
May 13 18:15:05 raspberrypi airspy_adsb[467]: Available output formats:
May 13 18:15:05 raspberrypi airspy_adsb[467]: * AVR - Raw AVR format
May 13 18:15:05 raspberrypi airspy_adsb[467]: * AVR-STRICT - Raw AVR format with only CRC valid frames
May 13 18:15:05 raspberrypi airspy_adsb[467]: * ASAVR - Raw Airspy AVR format
May 13 18:15:05 raspberrypi airspy_adsb[467]: * Beast - Raw Beast Binary format
May 13 18:15:05 raspberrypi systemd[1]: airspy_adsb.service: Main process exited, code=exited, status=1/FAILURE
May 13 18:15:05 raspberrypi systemd[1]: airspy_adsb.service: Failed with result ‘exit-code’.
May 13 18:15:06 raspberrypi systemd[1]: airspy_adsb.service: Service RestartSec=100ms expired, scheduling restart.
May 13 18:15:06 raspberrypi systemd[1]: airspy_adsb.service: Scheduled restart job, restart counter is at 5.
May 13 18:15:06 raspberrypi systemd[1]: Stopped Airspy ADS-B receiver.
May 13 18:15:06 raspberrypi systemd[1]: airspy_adsb.service: Start request repeated too quickly.
May 13 18:15:06 raspberrypi systemd[1]: airspy_adsb.service: Failed with result ‘exit-code’.
May 13 18:15:06 raspberrypi systemd[1]: Failed to start Airspy ADS-B receiver.

It should be the letter l for listener not the numeral 1. Change that line to this:

NET= -l 29999:beast -l 47806:asavr -c localhost:30004:beast

If you want to quote text, then put three backticks before it and three backticks after it.

Backticks look like this: ``` It’s on the key above tab and below escape.

So your text would look like:

```
your text here line 1
your text here line 2
```

giving the result:

your text here line 1
your text here line 2

It makes it easier to read things like logs.

1 Like

Well spootted caius , i have done the same mistake

Many thanks. I’ve edited that change am am now getting this:

May 13 18:36:52 raspberrypi airspy_adsb[284]: airspy_open() failed: AIRSPY_ERROR _NOT_FOUND (-5)
May 13 18:36:53 raspberrypi airspy_adsb[284]: airspy_open() failed: AIRSPY_ERROR _NOT_FOUND (-5)

I’ve just noticed a small switch on the side of the Airspy. I’ve moved that and now getting the following error:

– Logs begin at Thu 2019-02-14 10:11:59 GMT, end at Thu 2021-05-13 18:43:57 BST. –
May 13 18:35:11 raspberrypi systemd[1]: Started Airspy ADS-B receiver.
May 13 18:35:11 raspberrypi airspy_adsb[322]: airspy_adsb v1.85
May 13 18:35:11 raspberrypi airspy_adsb[322]: Listening for beast clients on port 29999
May 13 18:35:11 raspberrypi airspy_adsb[322]: Listening for asavr clients on port 47806
May 13 18:35:11 raspberrypi airspy_adsb[322]: Acquired Airspy device with serial 285467E633873093
May 13 18:35:11 raspberrypi airspy_adsb[322]: Decoding started at 12 MSPS
May 13 18:35:11 raspberrypi airspy_adsb[322]: /!\ Lost 131072 samples /!
May 13 18:35:11 raspberrypi airspy_adsb[322]: /!\ Lost 131072 samples /!
May 13 18:35:11 raspberrypi airspy_adsb[322]: /!\ Lost 131072 samples /!
May 13 18:35:11 raspberrypi airspy_adsb[322]: /!\ Lost 131072 samples /!
May 13 18:35:11 raspberrypi airspy_adsb[322]: /!\ Lost 262144 samples /!
May 13 18:35:11 raspberrypi airspy_adsb[322]: /!\ Lost 131072 samples /!
May 13 18:35:11 raspberrypi airspy_adsb[322]: /!\ Lost 131072 samples /!
May 13 18:35:15 raspberrypi airspy_adsb[322]: Push client connected to localhost:30004 (beast)
May 13 18:35:15 raspberrypi airspy_adsb[322]: Push client disconnected from localhost:30004 (beast)
May 13 18:35:19 raspberrypi airspy_adsb[322]: /!\ Lost 131072 samples /!
May 13 18:35:19 raspberrypi airspy_adsb[322]: /!\ Lost 131072 samples /!
May 13 18:35:19 raspberrypi airspy_adsb[322]: /!\ Lost 262144 samples /!
May 13 18:35:19 raspberrypi airspy_adsb[322]: /!\ Lost 131072 samples /!
May 13 18:35:19 raspberrypi airspy_adsb[322]: /!\ Lost 131072 samples /!
May 13 18:35:28 raspberrypi airspy_adsb[322]: Push client connected to localhost:30004 (beast)
May 13 18:35:28 raspberrypi airspy_adsb[322]: Push client disconnected from localhost:30004 (beast)
May 13 18:42:53 raspberrypi airspy_adsb[322]: Push client connected to localhost:30004 (beast)
May 13 18:42:53 raspberrypi airspy_adsb[322]: Push client disconnected from localhost:30004 (beast)
May 13 18:43:06 raspberrypi airspy_adsb[322]: Push client connected to localhost:30004 (beast)
May 13 18:43:06 raspberrypi airspy_adsb[322]: Push client disconnected from localhost:30004 (beast)
May 13 18:43:19 raspberrypi airspy_adsb[322]: Push client connected to localhost:30004 (beast)
May 13 18:43:19 raspberrypi airspy_adsb[322]: Push client disconnected from localhost:30004 (beast)
May 13 18:43:32 raspberrypi airspy_adsb[322]: Push client connected to localhost:30004 (beast)
May 13 18:43:32 raspberrypi airspy_adsb[322]: Push client disconnected from localhost:30004 (beast)
May 13 18:43:45 raspberrypi airspy_adsb[322]: Push client connected to localhost:30004 (beast)
May 13 18:43:45 raspberrypi airspy_adsb[322]: Push client disconnected from localhost:30004 (beast)

Acceptable on startup of the program.

That is dump1090-fa restarting for whatever reason … check the dump1090-fa log

Debug commands · wiedehopf/adsb-wiki Wiki · GitHub

This link also describes how to properly format logs.

Thanks, the dump1090-fa log shows repeats of the following:

May 13 19:37:20 raspberrypi systemd[1]: Started dump1090 ADS-B receiver (FlightAware customization).
May 13 19:37:20 raspberrypi dump1090-fa[10810]: dump1090-fa not enabled in /etc/default/dump1090-fa
May 13 19:37:20 raspberrypi systemd[1]: dump1090-fa.service: Main process exited, code=exited, status=64/USAGE
May 13 19:37:20 raspberrypi systemd[1]: dump1090-fa.service: Failed with result ‘exit-code’

So, you also have a problem in /etc/default/dump1090-fa
either look there for the problem or post the content of the file here.

Make sure you have
ENABLED=“yes”
in /etc/default/dump1090-fa

Thanks, I’ve now added ENABLED=“yes”, so this is what it looks like but still getting the error

ENABLED=“yes”
RECEIVER_OPTIONS="--net-only"
DECODER_OPTIONS="--max-range 360"
NET_OPTIONS="--net --net-heartbeat 60 --net-ro-size 1000 --net-ro-interval 1 --net-ri-port 0 --net-ro-port 30002 --net-sbs-port 30003 --net-bi-port 30004,30104 --net-bo-port 30005"
JSON_OPTIONS="--json-location-accuracy 1"

Yeah wrong quotes.

I’ve amended the guide … the automatic version that basically everyone uses was fixed quite some time ago.

RECEIVER_OPTIONS="--net-only"
DECODER_OPTIONS="--max-range 360"
NET_OPTIONS="--net --net-heartbeat 60 --net-ro-size 1000 --net-ro-interval 1 --net-ri-port 0 --net-ro-port 30002 --net-sbs-port 30003 --net-bi-port 30004,30104 --net-bo-port 30005"
JSON_OPTIONS="--json-location-accuracy 1"
ENABLED="yes"

It’s now working :grinning:

Thank you so much for everyone’s guidance and patience

Very much appreciated

2 Likes

Does the Airspy mini require power? I know it has the bias-t option in airspy_adsb. I don’t have bias-t power, so I don’t use the -b option. Am I not getting all I can out of the Airspy? Does it work just as well without external power? My setup is antenna > low-loss coax > filter/amp > FA blue filter > Airspy mini > USB port.

The Airspy gets the power from the USB Port connected to your Raspberry.
Power is required for an additional LNA (amp) you might want to use.

I am using the Uputronics combined filter/LNA which is getting the power via second USB-Port on Raspberry.
However the Airspy is able to power the LNA by enabling Bias-T

where is your LNA getting power from you have between cable and blue filter?
I haven’t tried it but changing the order of these two can help as well.

like antenna → cable → blue filter → lna → airspy → Pi

Have you tried this combination as well? I would expect that the LNA is then amplyfing only the already filtered signal

2 Likes