Help with serializing dongles on Ubuntu 22.04.3LTS - computer can't find 978 - Update: I solved my own problem so I'm leaving this here as a fix for when I break it again

Hi – been using my Ubuntu 22.04.3lts system with 1090 dongle, all set up and working, seeing data, sending to flightaware, etc. etc.
Orange dongle came in the mail yesterday.
I followed @abcd567 steps for serializing the dongle, and I have the blue dongle with 00001090 serial # and orange dongle as 00000978 per @abcd567 instructions.
However, my piaware can find the 1090 and use it, but can’t find the 978.
I have dump1090-fa and dump978-fa both running without problems.
I think I probably need to change something in a dump978-fa config file to get it to see the dongle.
How do I do that?

FYI-
output of rtl_test -t shows they’re serialized correctly.

Found 2 device(s):
 0:  Realtek, RTL2832U, SN: 00001090
  1:  Realtek, RTL2832U, SN: 00000978
 
 Using device 0: Generic RTL2832U
 usb_claim_interface error -6
 Failed to open rtlsdr device #0.

web 192.168.1.40 (server address) shows both dump1090-fa and dump978-fa running:

**PiAware Version:** 9.0.1
**Dump1090-fa Version:** dump1090-fa 9.0~bpo11+1
**Dump978-fa Version:** dump978-fa 9.0~bpo11+1

the flightaware webpage shows green blocks for everything except for the UAT978 as red…

So I’m sure dump978-fa isn’t finding the dongle due to not knowing its serial number. this seems like an easy config file fix, as long as I can find the config file!

thanks!

btw my flightaware.conf reads-

# This file configures piaware and related software.
# You can edit it directly or use piaware-config from the command line
# to view and change settings.
#
# If /boot/piaware-config.txt also exists, then settings present in
# that file will override settings in this file.
feeder-id xxxxx   # updated by fa_piaware_config
uat-receiver-type sdr   # updated by fa_piaware_config
rtlsdr-device-index 00001090
uat-sdr-device driver=rtlsdr,serial=00000978

thanks

even better I found the dump* config files.
Here’s dump978

# dump978-fa configuration
# This is sourced by /usr/share/dump978-fa/start-dump978-fa as a
# shellscript fragment.

# If you are using a PiAware sdcard image, this config file is regenerated
# on boot based on the contents of piaware-config.txt; any changes made to this
# file will be lost.

# dump978-fa won't automatically start unless ENABLED=yes
ENABLED=yes

RECEIVER_OPTIONS="--sdr driver=rtlsdr --format CS8"
DECODER_OPTIONS=""
NET_OPTIONS="--raw-port 30978 --json-port 30979"

and dump1090

# dump1090-fa configuration
# This is sourced by /usr/share/dump1090-fa/start-dump1090-fa as a
# shellscript fragment.

# dump1090-fa won't automatically start unless ENABLED=yes
ENABLED=yes

# SDR device type. Use "none" for a net-only configuration
RECEIVER=rtlsdr
# serial number or device index of device to use (only needed if there is more than one SDR connected)
RECEIVER_SERIAL=00001090
# Initial receiver gain, in dB. If adaptive gain is enabled (see below) the actual gain
# may change over time
RECEIVER_GAIN=60

# Adjust gain to try to achieve optimal dynamic range / noise floor?
ADAPTIVE_DYNAMIC_RANGE=yes
# Target dynamic range in dB (leave blank to autoselect based on SDR type)
ADAPTIVE_DYNAMIC_RANGE_TARGET=
# Reduce gain when loud message bursts from nearby aircraft are seen?
ADAPTIVE_BURST=no
# Gain range to allow when changing gain, in dB (empty = no limit)
ADAPTIVE_MIN_GAIN=
ADAPTIVE_MAX_GAIN=

# Turn on options to reduce load on slower CPUs, at the expense of slightly worse decoder performance.
# Setting "auto" will enable these options only if the CPU appears to be a slow CPU (currently this
# means armv6 only, e.g. Pi Zero)
SLOW_CPU=auto
# Local wisdom file used to select DSP implementations; uses built-in ranking if the file is missing
WISDOM=/etc/dump1090-fa/wisdom.local

# Correct CRC errors where possible
ERROR_CORRECTION=yes

# Receiver location, used for some types of position decoding. Provide the location as
# signed decimal degrees. If not given here, dump1090 will also try to read a receiver
# location from /var/cache/piaware/location.env (written automatically by PiAware, if installed)
RECEIVER_LAT=
RECEIVER_LON=
# Maximum range, in NM. Positions more distant than this are ignored. No limit if not set.
MAX_RANGE=360

# Network ports to listen on for connections
NET_RAW_INPUT_PORTS=
NET_RAW_OUTPUT_PORTS=30002
NET_SBS_OUTPUT_PORTS=30003
NET_BEAST_INPUT_PORTS=30004,30104
NET_BEAST_OUTPUT_PORTS=30005

# Accuracy of location written to JSON output
JSON_LOCATION_ACCURACY=1

# Additional options can be added here:
EXTRA_OPTIONS=""

# If OVERRIDE_OPTIONS is set, only those options are used; all other options
# in this config file are ignored.
OVERRIDE_OPTIONS=""

# This is a marker to make it easier for scripts to identify a v6-style config file
CONFIG_STYLE=6

Ok, I fixed it. Thank you for letting me keep replying to my own problems and figuring it out step by step. I’ll leave this up here so when I inevitably reimage my computer and can’t figure it out again it’ll be there for me. :rofl: and for anyone else running into problems. I had to add serial=00000978 to the dump978-fa config file.

sudo nano /etc/default/dump978-fa

opens the file (remember – I am in Ubuntu 22.04.3. For those with a Pi setup you need to use piaware-config)
then changed RECEIVER_OPTIONS="--sdr driver=rtlsdr --format CS8" to RECEIVER_OPTIONS="--sdr driver=rtlsdr,serial=00000978 --format CS8"
and then restart dump978 with sudo systemctl restart dump978-fa
and it works! All green bars!

1 Like

and lastly it went from a green 978 bar to yellow - “connected to receiver but no data seen” because it’s a) 720am and very dark, b) raining like crazy from the edge of a winter storm.
so I don’t expect to see any data today. I’ll need a clear day for VFR to test it out, but on very nice days we get tons of small planes from local/regional airports flying overhead.

1 Like

https://github.com/abcd567a/piaware-ubuntu-debian-amd64#43—configure-dump1090-fa–dump978-fa-to-use-dongles-of-assigned-serial-numbers-

(4.3) - Configure dump1090-fa & dump978-fa to use dongles of assigned serial numbers

sudo sed -i 's/^RECEIVER_SERIAL=.*/RECEIVER_SERIAL=00001090/' /etc/default/dump1090-fa  

sudo sed -i 's/driver=rtlsdr[^ ]* /driver=rtlsdr,serial=00000978 /' /etc/default/dump978-fa  

(4.4) - Reboot so that dump1090-fa & dump978-fa can pick their assigned dongles at boot

sudo reboot

1 Like

that would have been much easier had I seen that step. :slight_smile:

I did that manually I guess. Well, at least I know how it works.

I obviously need my eyes and/or brain checked!

:slightly_smiling_face:
No need to feel that way. All of us make mistake and oversights.

To err is human, to forgive divine (a quote from Alexander Pope’s poem An Essay on Criticism)

Errare humanum est (a Latin proverb)

2 Likes

Hey at least I kludged my way to an answer in 45 minutes that you already solved and would have taken 10 seconds to cut and paste your code. :rofl:

1 Like

Making mistakes gives you also insight in the inner workings of the software. Once you have that it will make future changes easier to comprehend and you can start aiding others in their ads-b quests :wink:

4 Likes

Sie sind sehr nett zu mir…
Ich bin nur 0,00001% of the way to being a Linux Experte

I’m not German :wink::sunglasses::partying_face: but I can read it :stuck_out_tongue_winking_eye:

Scheiss… :poop:

oh well… @abcd567 's combine1090 map with yours showed lots of planes in Germany…

Oh wait - NL! :grinning: I have a friend who lives in Nijmegen

1 Like

yup NL is still a separate country indeed :innocent: I’m in the Amsterdam area :partying_face: