Install Radarbox24 feeder AMD64 x86_64 on PC / Laptop with Debian and Ubuntu OS

Radarbo24’s feeder for architecture amd64 / x86_64 is not available in their repositories.

I have forked source-code of airnavsystem/rbfeeder at Github. The last update to airnavsystem source code was made 4 years ago when Bullseys was the latest OS. Now this code fails to compile on Bookworm, Trixie, Jammy & Noble.

I made necessary modifications to my forked copy of airnavsystem/rbfeeder code, and now it compiles successfully on Bookworm, Trixie, Jammy, and Noble.

Using source-code of my updated fork, I have compiled rbfeeder packages on PC running following AMD64 / x86_64 OS

(1) Debian 13 Trixie
(2) Ubuntu 24 Noble

I have uploaded these packages to my GitHub repository.

Using following method, anyone can download & install these pre-built packages on their PC / Laptop running amd64 / x86_64 version of Debian 13 (Trixie) or Ubuntu 24 (Noble) :

(1) DEBIAN 13 TRIXIE

The first command below is very long, and it’s right-most part may be hidden.
Please scroll right to see and copy it in full

wget https://github.com/abcd567a/rbfeeder/releases/download/v1.0/rbfeeder_1.0.20_trixie_amd64.deb

sudo dpkg -i rbfeeder_1.0.20_trixie_amd64.deb

The above dpkg -i command will give error message (Missing dependencies), and halt.
Issue command below to fix the issue of missing dependencies.
It will start installing missing dependencies and complete the installation of rbfeeder
.

sudo apt --fix-broken install 

After above command completes installation, issue followin 3 VERY IMPORTANT commands:

The first command below is very long, and it’s right-most part may be hidden.
Please scroll right to see and copy it in full

sudo wget -O /etc/udev/rules.d/rtl-sdr.rules https://github.com/abcd567a/temp/raw/main/rtl-sdr.rules  

sudo usermod -aG plugdev rbfeeder 

sudo reboot

After reboot check status. Signup for a new key, or enter your existing key in file /etc/rbfeeder.ini

sudo systemctl status rbfeeder 

Install mlat-client pre-built package on Debian 13 (Trixie):

sudo apt install python3-pyasyncore

wget https://github.com/abcd567a/rbfeeder/releases/download/v1.0/mlat-client_0.2.13_trixie_amd64.deb

sudo dpkg -i mlat-client_0.2.13_trixie_amd64.deb

sudo systemctl restart rbfeeder  

(2) UBUNTU 24 NOBLE

The first command below is very long, and it’s right-most part may be hidden.
Please scroll right to see and copy it in full

wget https://github.com/abcd567a/rbfeeder/releases/download/v1.0/rbfeeder_1.0.20_noble_amd64.deb 

sudo dpkg -i rbfeeder_1.0.20_noble_amd64.deb

The above dpkg -i command will give error message (Missing dependencies), and halt.
Issue command below to fix the issue of missing dependencies.
It will start installing missing dependencies and complete the installation of rbfeeder
.

sudo apt --fix-broken install 

After above command completes installation, issue followin 3 VERY IMPORTANT commands:

The first command below is very long, and it’s right-most part may be hidden.
Please scroll right to see and copy it in full

sudo wget -O /etc/udev/rules.d/rtl-sdr.rules https://github.com/abcd567a/temp/raw/main/rtl-sdr.rules  

sudo usermod -aG plugdev rbfeeder 

sudo reboot

After reboot check status. Signup for a new key, or enter your existing key in file /etc/rbfeeder.ini

sudo systemctl status rbfeeder 

Install mlat-client pre-built package on Ubuntu 24 (Noble):

sudo apt install python3-pyasyncore

wget https://github.com/abcd567a/rbfeeder/releases/download/v1.0/mlat-client_0.2.13_noble_amd64.deb 

sudo dpkg -i mlat-client_0.2.13_noble_amd64.deb 

sudo systemctl restart rbfeeder 

 

 

Click on Screenshot to See Larger Size

 

Click on Screenshot to See Larger Size

1 Like

 

If anyone wants to build the rbfeeder package from source code on his Debian or Ubuntu computer, or on Raspberry Pi OS, he can clone source code from my fork at Github site linked below.

Please scroll down to the bottom of the README file to see the all necessary build & install commands for Debian and Ubuntu OS. It includes commands to install build tools and dependencies required, before actually building the package.

https://github.com/abcd567a/rbfeeder/blob/master/README.md

 

 

Build & Install mlat-client

Install build tools & dependencies:

`sudo apt install git build-essential debhelper dh-python python3-dev python3-setuptools

sudo apt install python3-pyasyncore   

Build & install:

git clone --depth 1 https://github.com/mutability/mlat-client 

cd mlat-client

sudo dpkg-buildpackage -b --no-sign

cd ../ 

sudo dpkg -i mlat-client_0.2.13_*.deb 

sudo apt-mark hold mlat-client

sudo systemctl restart rbfeeder 

 

 

Please see attached screenshot showing status. If you look at green boxes, then you will note that following 3 are running:

(1) rbfeeder
(2) mlat-client
(3) dump1090-rb (After I have set network_mode=false in file /etc/rbfeeder.ini)

     CGroup: /system.slice/rbfeeder.service
             ├─680 /usr/bin/rbfeeder
             ├─726 /usr/bin/python3 /usr/bin/mlat-client --input-type dump1090 --input-connect 127.0.0.1:32457 --server mlat1.rb24.com:40900 --lat 43.580000 --lon -79.620000 --alt 155 --user EXTRPI007295 --results beast,connect,127.0.0.1:32004
             └─752 /usr/bin/dump1090-rb --write-json /dev/shm/ --net --quiet --mlat --forward-mlat --net-bo-port 30105 --lat 43.580000 --lon -79.620000 --modeac --fix --adaptive-burst --adaptive-range --gnss

 

Click on Screenshot to See larger Size

 

 

1 Like

I noted that raw / avr outputs from dump1090-fa and dump1090-rb have following difference:
The dump1090-fa outputs with each line starting with an Asterisk (*) while dump1090-rb outputs with each line starting with at (@)

I tested both by feeding these to Flightradar24 (setting avr-tcp; 30002) and the FR24 was happy with both feeds.

I googled to find out difference. AI said one with @ at start has time-stamp, while one with * at start is without time stamp. As the answers from AI are often wrong, I am not sure of it. Anyone knows the answer?

Output from Flightaware’s dump1090-fa port 30002

pi@rpios-trixie:~ $ nc localhost 30002
*20001498F8D578;
*5DC0473BAC0A69;
*5DA9B85B03F234;
*02E19498F3B8DD;
*0022;
*1624;
*200009325682F7;
*200002BBA5A9D4;
*02E19A30A165F7;
*8D4D21475853E487FF83EAAA4BAE;
*8D4D21479908E2A280BC992F334F;
*20000335ACA900;
*8DA3236758A580BF9335C5D8AF23;
*020582BBB1A04C;
*2004;
*2004;
*8D0C6062583BD0E92B096106642F;


Output from Radarbox24’s dump1090-rb port 30002

abcd@debian-13:~$ nc localhost 30002
@00000FF73B298DA838E5E1172000000000386EE4;
@00000FF815950261821AB00F1A;
@00000FFD6B185DC01D2D5CE98E;
@00000FFDFA692000021A5CD3FD;
@00000FFDD6880004;
@00001007F3CE02A18596958717;
@0000100C802C8061821A5811A4A7EF7031E4A102;
@0000100C95A002A18713190AD5;
@00001010449D5DC00DCE469D8C;
@00001010510E2000031E52C988;
@0000100E33636540;
@0000100FE6B56322;
@00001012161F6322;
@0000101262466322;
@000010151EB76322;


 

Yes, AI is correct on this. If the output begins with an @ character, the following 12-characters (48 bits) are a time stamp.
See here for more details.

Thank you @jimMerk2 for providing confirmation & link to Beast Wiki.

I have noted one more thing which I dont understand. As you see in my previous post, in case of both dump1090-fa and dump1090-rb, the length of messages vary from message to message. I have run rtl_adsb, and it’s stdout is also in raw / avr format, and it’s messages also start with *, but unlike the two dump1090, the rtl_adsb’s output message’s length is same for all messages. Please see output of command rtl_adsb below.

Do you, or anyone else, has any idea why this difference?

pi@armbian-forky:~$ rtl_adsb
Found 2 device(s):
  0:  Realtek, RTL2838UHIDIR, SN: 00001090
  1:  Realtek, RTL2838U-AIS, SN: 00000162

Using device 0: Generic RTL2832U OEM
Detached kernel driver
Found Rafael Micro R820T tuner
Tuner gain set to automatic.
Tuned to 1090000000 Hz.
Exact sample rate is: 2000000.052982 Hz
Sampling at 2000000 S/s.
Allocating 12 zero-copy buffers
*a80017b6d3a9dd223e7fd1940caa;
*8fc01ec5990d2c87b060a0ca9b8c;
*8dc01ca9f823000223682c2282e6;
*a0401190a32d1970a44000e36566;
*8dc2daf5993cddbb182ca67ab49d;
*a8000a918414b335600ccd7847d1;
*8fe89ef5bf6fda66c95c08c7a94d;
*8da8e20b59a600ba985423b5e1b9;
*dd4e6cb4e78f73969f14ece137be;
*8dc05ef7587d81ba74284ceae7e4;
*8dc00dceea1f5866ab5c18eb9a9c;
*adc0271bdc8b526e8adc1ef6e8ab;
*c0da77346e033acccc4771295264;
*8daad3f8ea485a5d4b3c089d7d46;
*b87e129d750d6f4a7923a92a5a48;
*adc03d1a585bf4dbdf9a096a4e52;
*8b3117cf1f8b1b80a18ab17e02e5;
*8d44ae2999155a9fd015aa31a42d;
*d87246f865bdcd8314b16c1649f1;
*8dc00cce9914db9a5864a776bcfc;
*9da389a39b3123339009aa91e76a;
*8da0572b23041331c74e3018ca95;
*8dc060b99911588b1050a62c65f7;
*8dab02248909d8953840a8e84f55;
*b12371e154562d55354c30810bcb;
*8dc05ef7990cdd981804a20ab49d;
*8da533ab58c3808cf1c7451529f0;
*bb2513eaea4a5866d75c08c08ac5;
*ccb0f20b4ca7344003afbb0b3c2e;
*b87b8af8ef93375b7be5bcfbc0c7;
*8cc00dce587524eb3392474d445e;
*85800303fffea200327a000009e6;
*8d4eae2958c3848fa009bc5e55b4;
*85c4504423863073db08305641d5;
*8daa12f8990908b35004b0dfc679;
*85e02099483982237fbb7cf8ed98;

 

 

 

Because you may need to enable the output of short messages with rtl_adsb -S. However, i do not know what you are trying to do here. rtl_adsb is not really a very good demodulator.

*ccb0f20b4ca7344003afbb0b3c2e;

DF-25?

Just comparing avr / raw outputs of various decoders to understand the difference.

The Radarbox24 feeder on first run sends information to Radarbox Server which identifies the computer / OS architecture and also the CPU Serial from /proc/cpuinfo.

The Radarbox24 server sends back the sharing key and station number which is saved in file /etc/rbfeeder.ini

For unknown and unfortunate reason, the key and station number supplied by Radarbox24 Server are INVALID if the it is a non-RPi machine.

This problem is overcome by installing rbfeeder arm64 on amd64 / x86_64 machines under QEMU.

This QEMU install is NOT a Docker install.

  • It is simpler than Docker
  • It behaves just like a native amd64 install
  • It does not require / use spoofing of any kind to get a Valid Sharing Key, such as spoofing cpu serial, spoofing mac address, or spoofing cpu temperature etc.

I have prepared a script which does this.
Just run the following bash script on your Debian amd64 / x86_64 machine, and the rbfeeder:arm64 will be installed, a valid Sharing-Key will be obtained, and rbfeeder will run successfully.

(1) For Debian 12 & 13 (bookworm & trixie)

This script is very long, and it’s right-most part may not be visible directly.
Please scroll right to view and copy it in full

sudo bash -c "$(wget -O - https://github.com/abcd567a/temp/raw/main/install-rb24-qemu-debian.sh)"  

(2) For Ubuntu 22 & 24 (jammy & noble)

This script is very long, and it’s right-most part may not be visible directly.
Please scroll right to view and copy it in full

sudo bash -c "$(wget -O - https://github.com/abcd567a/temp/raw/main/install-rb24-qemu-ubuntu.sh)"  

 

Description:
Both the above noted scripts do following:

  • install QEMU (qemu-user, qemu-user-binfmt, and binfmt-support)
  • add architecture ARM64 to system
  • add apt sources.list “ubuntu-ports-arm64.sources” for arm64 (Ubuntu only, Debian doe not require user to add separate list for arm64)
  • install necessary ARM64 library (libc6:arm64)
  • install arm64 dependencies required by rbfeeder:arm64 package
  • download the rbfeeder:arm64 package from radarbox repository
  • install rbfeeder:arm64 on AMD64 / x86_64 machine. The QEMU emulates arm64 / aarch64 environment.

 

(post deleted by author)