@seangrogan05
How did you install dump1090-fa on Ubuntu 22 on Odroid N2?
I followed the instructions in the readme of the below post:
I followed the similar set of instructions for the previous version of PiAware, and used the Odroid N2 on 20.04, it worked for over a year until I updated the OS to 22.04 (due to some cache issues resulting from a corrupted microSD card which I replaced with a more stable eMMC storage device)
My dump1090-fa on Ubuntu 22 Jammy works OK.
To test if dump1090-fa outputs Beast format data on port 30005, I use following method:
First install netcat
sudo apt install netcat
Next give following command:
nc 127.0.0.1 30005
Above command causes continous flow of data. Break the flow by pressing Ctrl and C keys togather.
`
Yeah, but itâs claiming an estimated noise floor of 0dBFS i.e. full power! (it estimates it by looking at, essentially, the 40th percentile power level of all received samples). Thatâs clearly wrong, but Iâm not sure offhand whether it is a calculation bug, a reporting bug, or that the received data is garbage. The zero-copy bug would essentially give dump1090 random memory pages instead of the actual data received from the SDR, and a page full of zeros looks like a continuous full-power signal.
You could try with adaptive gain disabled and see if it works better; if it works with adaptive gain disabled then itâs probably a bug in the adaptive gain stuff.
It means that the port is open, but no messages are being produced, i.e. dump1090 is running but deaf.
@seangrogan05
The arm packages you have installed were built on RPi model 4 with Ubuntu 22 jammy OS.
Possibly there is some mismatch with Ordoid N2. I suggest that instead of using the pre-built packge, you build the package right on your Ordoid/Ubuntu22 from source code. This is a somewhat lengthy process compared to pre-built package install, but gives perfect matching to your hardwsre+OS.
First purge the already installed package:
sudo apt purge dump1090-fa
sudo apt purge skyaware
Next run the bash script given below. This bash script does all the following things automatically:
(1) installs all the required tool and dependency packages
(2) Downloads/Clones dump1090-fa source code from Flightaware Github repository.
(3) Detects the hardware architecture and OS version
(4) Builds the dump1090-fa and skyaware .deb
package matching with your machineâs hardware and OS.
(5) Installs the dump1090-fa and skyaware packages built by it.
sudo bash -c "$(wget -O - https://raw.githubusercontent.com/abcd567a/piaware-ubuntu-debian-amd64/master/install-dump1090-fa.sh)"
For details, visit this site:
https://github.com/abcd567a/piaware-ubuntu-debian-amd64/blob/master/README.md
Running netcat I had one piece of data be reported out (see below)
root@odroid:~# nc 127.0.0.1 30005
�1�1
That makes sense!
That could be quite possible. When doing the skyaware purge, I got âUnable to Locate Package Skyawareâ.
I might try reimaging the Odroid again tonight and starting with a fresh OS install again and go that route. I am also going to go through my network/firewall logs and see if something is preventing connection (same result on my mobile hotspot, but worth looking at). The only thing I havenât ruled out is a faulty Odroid (replaced the dongles, USB cables, antennas, coax, wifi system, and storage drives).
I am pretty sure of mismatch. The Ubuntu 22 arm64 packages which you installed from my Github repository, were built on RPi Model 4/Ubuntu22 for RPi. These work perfectly OK on RPi, but most likely have some mismatch with Ordoid N2/Armbian Jammy.
The Skyaware package was installed from my repository as a dependency of dump1090-fa, and not separately by you. The purge command of dump1090-fa already uninstalled all its dependencies including Skyaware. You ran command to purge skyawsre after purging dump1090-fa, that is why it did not find skyaware.
If you ran command to purge skyaware without purging dump1090-fa, it will refuse to remove skyaware as it is dependency of dump1090-fa which still exists.
Those all make sense. Thank you for your time helping. Iâm surprised I got it to work the first time for the past year.
I will try resetting and starting over tonight again.
Did a quick dive into my firewall/network, and port 30000 was being used by PiAware and my firewall it turns out (that was also the root of an issue on the firewall that has had me stumped for a week). Iâll reassign the firewall port, and see if that helps as well.
(1) The process of building packages from source code is very lenghty. It first installs all build tool packages and dependency packsges, then clones source code and starts builfing the package. You need to be very patient.
(2) How much GB ram your Ordoid has? The process of building dump978-fa is memory intensive. I failed to build dump978-fa on RPi with 1 GB ram. I could only succeed when I used RPi with 4 GB ram.
Thatâs a good point. Now that RPi prices have come down, I was thinking of buying another RPi 4, but wondering whether I should get 2GB memory or 4 GB. For normal ADSB processing, 2 GB is plenty â probably 1 GB is enough. But if you want to compile stuff, probably 4 GB is needed (although I have compiled things with only 2 GB on the current RPi without problems). If you get 4 GB you have that extra memory always sitting there consuming power and raising the temp (I guess). DecisionsâŚ
Patience is definitely the key! While frustrating it does not work, it has been a phenomenal learning experience.
The Odroid has 4GB of ram as ordered. Similar to @jimMerk2 I am debating getting a RPi now that pricing has come down. The Odroid N2 is good, but it has been very tricky to work with.
I could easily compile dump1090-fa and piaware on RPi Model 4 with 1 GB ram (special edition at discount price). However dump978-fa failed to compile.
I experienced same results on Orange Pi PC which also hss 1 GB ram.
I then decided to buy RPi Model4 with 4 GB ram spevifically for building 64-bit packages from source-code.
Both the Orange Pi PC (with 1 GB ram) and RPi Model 4 (with 1 GB ram) work perfectly well with dump1090-fa, piawre, rbfeeder, fr24feed, pfclient, adsbexchange feed, OpenSky feeder, and graphs1090.
As I do not have a Pi with 2 GB ram, cannot say if it will be sufficient or not for compiling the packages.
Did you try to build packages (dump1090-fa, piaware, dump978-fa) on Odroid/Ubuntu22? If yes, did you succeed?
I did try building, and get to the end with the following errors.
Cloning tcl-tls source code
mv: cannot stat 'tcltls-rebuild': No such file or directory
Cloning into 'tcltls-rebuild'...
fatal: unable to access 'https://github.com/flightaware/tcltls-rebuild/': Couldn't connect to server
bash: line 96: cd: /root/tcltls-rebuild: No such file or directory
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
building tcl-tls package
bash: line 100: ./prepare-build.sh: No such file or directory
bash: line 101: cd: package-bullseye: No such file or directory
dpkg-buildpackage: error: cannot open file debian/changelog: No such file or directory
Installing tcl-tls package
dpkg: error: cannot access archive 'tcl-tls_*.deb': No such file or directory
And
Building the piaware package
sudo: ./sensible-build.sh: command not found
bash: line 126: cd: /root/piaware_builder/package-bullseye: No such file or directory
sed: can't read debian/control: No such file or directory
sed: can't read debian/control: No such file or directory
dpkg-buildpackage: error: cannot open file debian/changelog: No such file or directory
grep: debian/piaware/DEBIAN/control: No such file or directory
Installing piaware package
dpkg: error: cannot access archive 'piaware__*.deb': No such file or directory
Failed to enable unit: Unit file piaware.service does not exist.
Failed to restart piaware.service: Unit piaware.service not found.
Your Odfoid has failed to download/clone source-code from Flightaware. Check your internet connection.
Also check if you have packahe git
installed. If not, install it.
apt-cache policy git
sudo apt update
sudo apt install git
Well, that was definitely part of the issue, moved the USB Wifi Dongle around and it started smoking (probably not a good sign). I have a replacement ordered, but in the meantime brought it in to use on my ethernet connection.
Things seem to be going well with the exception of step 4.1. I get the following error at the end
g++: fatal error: Killed signal terminated program cc1plus
compilation terminated.
make[2]: *** [<builtin>: dump978_main.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/root/dump978/package-bullseye'
dh_auto_build: error: make -j6 VERSION=8.2 dump978-fa skyaware978 returned exit code 2
make[1]: *** [debian/rules:13: override_dh_auto_build] Error 2
make[1]: Leaving directory '/root/dump978/package-bullseye'
make: *** [debian/rules:23: build] Error 2
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2
grep: debian/dump978-fa/DEBIAN/control: No such file or directory
Installing dump978-fa and SkyAware978
dpkg: error: cannot access archive 'skyaware978__*.deb': No such file or directory
Failed to enable unit: Unit file skyaware978.service does not exist.
Failed to restart skyaware978.service: Unit skyaware978.service not found.
dpkg: error: cannot access archive 'dump978-fa__*.deb': No such file or directory
Failed to enable unit: Unit file dump978-fa.service does not exist.
Failed to restart dump978-fa.service: Unit dump978-fa.service not found.
uat-receiver-type is unchanged
DUMP978-FA INSTALLATION COMPLETED
Which then does not allow me to Configure dump978-fa to use the right dongle. with that said, the dump978-fa dongle appears to work (dongle 0), but the 1090 dongle does not. Maybe the dongle is also shot?
root@odroid:~# rtl_test -t -d 1
Found 2 device(s):
0: Generic, RTL2832U DVB-T, SN: 00000978
1: Generic, RTL2832U DVB-T, SN: 00001090
Using device 1: Generic RTL2832U
usb_claim_interface error -6
Failed to open rtlsdr device #1.
root@odroid:~# rtl_test -t -d 0
Found 2 device(s):
0: Generic, RTL2832U DVB-T, SN: 00000978
1: Generic, RTL2832U DVB-T, SN: 00001090
Using device 0: Generic RTL2832U
Found Rafael Micro R820T tuner
Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6
[R82XX] PLL not locked!
Sampling at 2048000 S/s.
No E4000 tuner found, aborting.
for some reason compilation of package dump978-fa failed.
Delete folder dump978 cloned from Flightaware Github:
rm -rf dump978
Next run the installation script again.
If the script again fails to build the package, then Install the pre-build package of dump978-fa as you have done before. That dump978-fa package was OK, only dump1090-fa package gave you trouble. So build dump1090-fa from source code.
Did you first stop dump1090-fa before testing dongle serial 00001090?
sudo systemctl stop dump1090-fa piaware
rtl_test -t -d 1
Likely this is because you ran out of memory.
@abcd567: you should really put a set -e
in that script so that it halts on errors.
Thanks for the advise.
OK, I will add following at top of all scripts.
#!/bin/bash
set -e
trap 'echo "[ERROR] Error in line $LINENO when executing: $BASH_COMMAND"' ERR
DONE
set -e
trap 'echo "[ERROR] Error in line $LINENO when executing: $BASH_COMMAND"' ERR
Added today above 2 lines of code just below shebang ( #!/bin/bash
) in scripts for building and installing packages from Flightaware source-code for following packages:
(1) piaware
(2) dump1090-fa
(3) dump978-fa