New install of PiAware 3 can't communicate with Beast

I’ve followed the suggested steps when working with an existing OS installation (stretch) by installing piaware and dump1090-fa. I’ve configured the device type to Beast. I’ve confirmed my Beast is connected via USB by reviewing dmesg. I’ve claimed the install and everything has been configured through “My ADSB” Configuration. Yet I receive nothing from the Beast. This is what’s reported in the log:

Jul 7 17:01:15 raspberrypi piaware[519]: creating pidfile /run/piaware/piaware.pid
Jul 7 17:01:15 raspberrypi piaware[519]: ****************************************************
Jul 7 17:01:15 raspberrypi piaware[519]: piaware version 3.5.3 is running, process ID 519
Jul 7 17:01:15 raspberrypi piaware[519]: your system info is: Linux raspberrypi 4.14.52-v7+ #1123 SMP Wed Jun 27 17:35:49 BST 2018 armv7l GNU/Linux
Jul 7 17:01:16 raspberrypi piaware[519]: Connecting to FlightAware adept server at piaware.flightaware.com/1200
Jul 7 17:01:17 raspberrypi piaware[519]: Connection with adept server at piaware.flightaware.com/1200 established
Jul 7 17:01:17 raspberrypi piaware[519]: TLS handshake with adept server at piaware.flightaware com/1200 completed
Jul 7 17:01:17 raspberrypi piaware[519]: FlightAware server certificate validated
Jul 7 17:01:17 raspberrypi piaware[519]: encrypted session established with FlightAware
Jul 7 17:01:18 raspberrypi piaware[519]: adept reported location: 37.######, -121.######, 40ft AMSL
Jul 7 17:01:18 raspberrypi piaware[519]: logged in to FlightAware as user Everbero
Jul 7 17:01:18 raspberrypi piaware[519]: my feeder ID is #################
Jul 7 17:01:18 raspberrypi piaware[519]: site statistics URL: http s://flightaware.com/adsb/stats/user/Everbero#stats-83766
Jul 7 17:01:18 raspberrypi piaware[519]: multilateration data requested
Jul 7 17:01:18 raspberrypi piaware[519]: no ADS-B data program is serving on port 30005, not starting multilateration client yet
Jul 7 17:01:18 raspberrypi piaware[519]: no ADS-B data program seen listening on port 30005 for 3 seconds, next check in 60s
Jul 7 17:01:49 raspberrypi piaware[519]: 0 msgs recv’d from the Mode-S Beast serial port; 0 msgs sent to FlightAware
Jul 7 17:02:18 raspberrypi piaware[519]: no ADS-B data program is serving on port 30005, not starting multilateration client yet
Jul 7 17:02:18 raspberrypi piaware[519]: no ADS-B data program seen listening on port 30005 for 63 seconds, next check in 60s

Then later I get this:

Jul 7 17:07:19 raspberrypi piaware[519]: attempting to start beast-splitter…
Jul 7 17:07:19 raspberrypi piaware[519]: can’t start beast-splitter, no services that look like beast-splitter found

dmesg output:
[ 4.927172] usb 1-1.3.4: Detected FT232RL
[ 4.931762] usb 1-1.3.4: FTDI USB Serial Device converter now attached to ttyUSB0

I would imagine the piaware install process would be all encompassing so are there other steps just to get communication with the Beast established?

It looks like you need to install the beast-splitter application.

i’m not too familiar with using beast type receivers but how did you set the receiver type?

I followed the direction here…

Set “receiver-type” to “beast”. No further configuration is needed.

The impression I get is as exactly as it says. To install beast-splitter you have to compile it from source, and I would think FA would indicate this if so.

setting receiver-type to beast seems to be only supported for the sd-card image.

So i have added the flightaware repository to my debian sources, did you do the same?

If so you might be able to just do an “apt-get install beast-splitter”. (i’m running on an rasperry though and the package might not be available for regular pcs.)

if you are not running a raspi you might need to just compile it from source.
running dpkg-buildpackage as stated in the readme on github will probably result in errors until you install quite a few dependencies you need to compile stuff. a bit of a hassle but just give it a try :slight_smile:

Yes, the repository was added. I’m not sure how else piaware and dump1090-fa would be easily obtained. I’ve made sure I’ve gone over the instruction multiple times, and did searches.

And I tried doing an apt install for beast-splitter but that doesn’t go so well…

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
beast-splitter : Depends: libboost-program-options1.55.0 but it is not installable
Depends: libboost-regex1.55.0 but it is not installable
Depends: libboost-system1.55.0 but it is not installable
E: Unable to correct problems, you have held broken packages.

Ah i see the problem after trying do to the same on my stretch install.

add
deb Index of /raspbian jessie main contrib non-free rpi
to you /etc/apt/sources.list
do an apt-get update and then the install should work.

the required library is too old to be available for stretch :wink:

Have you tried this?

sudo apt-get update

Install packages needed to meet dependencies

sudo apt-get install debhelper libboost-system-dev libboost-program-options-dev libboost-regex-dev dh-systemd

sudo apt-get install git
git clone https://github.com/jprochazka/adsb-receiver.git
cd adsb-receiver/bash/extras
./beastsplitter.sh
1 Like

At the end of execution of cammand ./beastsplitter.sh on RPi/Raspbian Stretch

.... ... ... ....
.... ... ... ....
  Entering the beast-splitter build directory...
  Installing the beast-splitter package...

Selecting previously unselected package beast-splitter.
(Reading database ... 53442 files and directories currently installed.)
Preparing to unpack beast-splitter_3.5.0_armhf.deb ...
Unpacking beast-splitter (3.5.0) ...
Setting up beast-splitter (3.5.0) ...
Created symlink /etc/systemd/system/default.target.wants/beast-splitter.service → /lib/systemd/system/beast-splitter.service.

  Moving the beast-splitter package into the archive directory...

'/home/pi/adsb-receiver/bash/extras/build/beast-splitter/beast-splitter_3.5.0_armhf.deb' -> '/home/pi/adsb-receiver/bash/extras/build/package-archive/beast-splitter_3.5.0_armhf.deb'
'/home/pi/adsb-receiver/bash/extras/build/beast-splitter/beast-splitter-dbgsym_3.5.0_armhf.deb' -> '/home/pi/adsb-receiver/bash/extras/build/package-archive/beast-splitter-dbgsym_3.5.0_armhf.deb'

  Creating the file beast-splitter_maint.sh...
  Setting file permissions for beast-splitter_maint.sh...

mode of '/home/pi/adsb-receiver/bash/extras/build/beast-splitter/beast-splitter_maint.sh' retained as 0755 (rwxr-xr-x)

  Checking if the beast-splitter startup line is contained within the file /etc/rc.local...

  Starting beast-splitter...

  Checking for any running beast-splitter processes...
  Killing the current beast-splitter_maint.sh process...
  Executing the beast-splitter script...

  Entering the ADS-B Receiver Project root directory...

  ------------------------------------------------------------------------------
  beast-splitter setup is complete.

.

Checked installtion:

pi@raspberrypi:~/adsb-receiver/bash/extras $ apt-cache policy beast-splitter
beast-splitter:
  Installed: 3.5.0
  Candidate: 3.5.0
  Version table:
     3.5.0 500
        500 http://flightaware.com/adsb/piaware/files/packages jessie/piaware armhf Packages
 *** 3.5.0 100
        100 /var/lib/dpkg/status

Thank you, I appreciate the effort. But I had already gone ahead and installed the PiAware SD card image since I had a Model 3 available. Everything is functioning now. Not the direction I wanted but it works. It doesn’t appear FA’s instructions on working with an existing OS install are applicable to starting from a vanilla raspbian install.

Thanks everyone for the help!

Fully Manual Method to Install Beast Splitter

Credits:

I have derived this manual method from file beastsplitter.sh of Joe Prochazka’s “adsb-receiver project”.

STEP-BY-STEP METHOD

(1) Update your system
sudo apt-get update

(2) Install packages needed to meet dependencies

sudo apt-get install debhelper libboost-system-dev libboost-program-options-dev libboost-regex-dev dh-systemd

(3) Make new directory to hold build files of beast-splitter, enter the build-bs directory, and clone the soutce-code of beast-splitter

sudo mkdir build-bs
cd build-bs

sudo apt-get install git
sudo git clone https://github.com/flightaware/beast-splitter.git

(4) Enter the cloned directory and build package

Note: It will take long time to complete build process.

cd beast-splitter
sudo dpkg-buildpackage -b

(5) After above build process is completed, and beast-splitter package is built, install it

cd ../
sudo dpkg -i beast-splitter_*.deb

(6) Create necessary scripts to start beast-splitter at boot, and keep it alive.

6.1 - Create new blank file bs-maint.sh

cd build-bs
sudo nano bs-maint.sh

6.2 - Copy-paste following code in the newly created blank file bs-maint.sh
Note: Replace [BEASTSPLITTER_LISTEN_PORT] and [BEASTSPLITTER_CONNECT_PORT] by their actual values.

#! /bin/bash
while true
  do
    sleep 30
    beast-splitter --serial /dev/beast --listen [BEASTSPLITTER_LISTEN_PORT]:R --connect localhost:[BEASTSPLITTER_CONNECT_PORT]:R
  done

6.3 - Make file bs-maint.sh executeable

sudo chmod +x bs-maint.sh

6.4 - Open file rc.local for editing

sudo nano /etc/rc.local 

6.5 - Add following line in the above file, just above last line, i.e. above exit 0.

/home/pi/build-bs/bs-maint.sh &

6.6 - Reboot Pi
sudo reboot

1 Like

Failed to create a new package from the source code beast-splitter 7.1 on debian 11 bullseye on the board Raspberry with RAM 1GB.
To create a package, you need more RAM

you need to place ready-made deb packages with arm architecture on the site armhf and arm64 !

We provide armhf packages for bullseye already.

If you need aarch64 packages, you’ll need to build them yourself, and that may well need a Pi (or other arm system) with more RAM or more swap - recent g++ versions seem particularly memory-hungry. beast-splitter is not a particularly complex bit of code, I suspect you’ll run into similar problems building other things that use boost.

it may well be!
I am enlarging the swap file: sudo nano /etc/dphys-swapfile

when building a package, the system freezes

other users have assembled a deb package for arm64 and sent it to me. thanks to them.

I was told that 1.5 GB of RAM is required to build the package

where can I download the ready-made deb package beast-splitter for armhf?

I had issues building on 1 and 2GB RPIs. It would just hang there for a long time. I opened any ssh session and ran top or htop on it and could see I was running out of physical memory and even swap memory. I moved the SD card to a 4GB RPI and it worked like a charm.

I don’t have a RPI 4 with 4GB RAM to build

I faced the same problem when building dump978-fa on RPi4 with 1 Gb ram. I have another RPi4 with 4 Gb ram. I built dump978-fa package on it successfully.

Ok, this weekend I will try to build 64-bit beast-splitter on my RPi4 with 4 Gb ram (running Raspberry Pi OS Bullseye OS), and upload it to my ppa (personal package archive) at Github

https://github.com/abcd567a/rpi

NOTE: Above ppa is only for 64-bit packages
 

 

1 Like

@antonipls
@jonhawkes2030

I also tried to build dump978-fa on OrangePiPC. It has 1 Gb ram and an additional 1/2 Gb swap. Still the Pi hanged during the build process. Both memories were fully used up, and Pi went into “swap death”.

1 Like

 

The armhf package of beast-splitter is available from Flightaware repository.

pi@raspberrypi:~ $ apt-cache policy beast-splitter
beast-splitter:
  Installed: (none)
  Candidate: 7.1
  Version table:
     7.1 500
        500 http://flightaware.com/adsb/piaware/files/packages bullseye/piaware armhf Packages 

 

You can install it by command

sudo apt-get install beast-splitter

However before issuing above command, you will have to add Flightaware repo to your RPi by commands below:

wget https://flightaware.com/adsb/piaware/files/packages/pool/piaware/p/piaware-support/piaware-repository_7.1_all.deb
sudo dpkg -i piaware-repository_7.1_all.deb
sudo apt-get update   

 

If you want the .deb package itself, give following command (after adding Flightaware repo as above):

sudo apt-get download beast-splitter

 

You will get following warning, but still the package will be downloaded

pi@raspberrypi:~ $ sudo apt-get download beast-splitter

Get:1 http://flightaware.com/adsb/piaware/files/packages bullseye/piaware armhf beast-splitter armhf 7.1 [106 kB]
Fetched 106 kB in 1s (148 kB/s)
W: Download is performed unsandboxed as root as file '/home/pi/beast-splitter_7.1_armhf.deb' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)

pi@raspberrypi:~ $ ls
beast-splitter_7.1_armhf.deb 

 

1 Like

htop shows it graphically(It is much easier to spot when memory and swap are in the red).

1 Like