sdr-enthusiasts / docker-piaware

Multi-arch PiAware docker container including support for bladeRF, RTLSDR, SoapySDR. Includes dump1090 & dump978 (amd64, arm/v6, arm/v7, arm64v8)
MIT License
158 stars 29 forks source link

Missing MLAT data on FlightAware #137

Closed FabioEight closed 1 month ago

FabioEight commented 1 year ago

Hello,

I have an issue with docker-piaware and MLAT. I've configured my location on FA website and followed the instruction, but I'm unable to send MLAT data while other integrations are working (ex. RadarBox).

image

The current setup is: remote host with RTL-SDR dongle+antenna with readsb >>> other host with readsb and all integrations >>> feeding data.

My docker-compose on the host providing the data to feeds:

  readsb:
    image: ghcr.io/sdr-enthusiasts/docker-readsb-protobuf:latest
    tty: true
    container_name: readsb
    hostname: readsb
    restart: always
    ports:
      - 18082:8080
      - 30005:30005
    environment:
      - TZ=${FEEDER_TZ}
      - READSB_STATS_RANGE=true
      - READSB_NET_ENABLE=true
      - READSB_NET_CONNECTOR=neptune.fritz.box,30005,beast_in
      - READSB_NET_ONLY=true
    volumes:
      - readsbpb_rrd:/run/collectd
      - readsbpb_autogain:/run/autogain
    tmpfs:
      - /run/readsb
      - /var/log
      - 
#######

  piaware:
    image: ghcr.io/sdr-enthusiasts/docker-piaware:latest
    tty: true
    container_name: piaware
    restart: always
    depends_on:
      - readsb
    ports:
      - 18083:8080
    environment:
      - BEASTHOST=readsb
      - LAT=${FEEDER_LAT}
      - LONG=${FEEDER_LONG}
      - TZ=${FEEDER_TZ}
      - FEEDER_ID=${PIAWARE_FEEDER_ID}
      - ALLOW_MLAT=yes
      - MLAT_RESULTS=yes
    tmpfs:
      - /run:exec,size=64M
      - /var/log

PiAware logs:

docker logs piaware -f | grep -i mlat
Set allow-mlat to yes in /etc/piaware.conf:4
Set mlat-results to yes in /etc/piaware.conf:5
[piaware] 2023/01/02 18:05:46 Starting multilateration client: /usr/lib/piaware/helpers/fa-mlat-client --input-connect localhost:30005 --input-type auto --results beast,connect,localhost:30104 --results beast,listen,30105 --results ext_basestation,listen,30106 --udp-transport 206.253.84.194:13588:2613707405
[piaware] 2023/01/02 18:05:46 mlat-client(365): fa-mlat-client 0.2.12 starting up
[piaware] 2023/01/02 18:05:46 mlat-client(365): Using UDP transport to 206.253.84.194 port 13588
[piaware] 2023/01/02 18:05:46 mlat-client(365): Listening for Beast-format results connection on port 30105
[piaware] 2023/01/02 18:05:46 mlat-client(365): Listening for Extended Basestation-format results connection on port 30106
[piaware] 2023/01/02 18:05:46 mlat-client(365): Route MTU changed to 1500
[piaware] 2023/01/02 18:05:46 mlat-client(365): Input connected to localhost:30005
[piaware] 2023/01/02 18:05:47 mlat-client(365): Beast-format results connection with 127.0.0.1:30104: connection established
[piaware] 2023/01/02 18:05:51 mlat-client(365): Beast-format results connection with 127.0.0.1:30104: connection lost
[piaware] 2023/01/02 18:05:51 mlat-client(365): Lost connection to localhost:30005
[piaware] 2023/01/02 18:05:51 mlat-client(365): Reconnecting in 30.0 seconds
[piaware] 2023/01/02 18:06:21 mlat-client(365): Beast-format results connection with ::1:30104: [Errno 99] EADDRNOTAVAIL
[piaware] 2023/01/02 18:06:21 mlat-client(365): Input connected to localhost:30005
[piaware] 2023/01/02 18:06:43 mlat-client(365): Detected BEAST format input
[piaware] 2023/01/02 18:06:43 mlat-client(365): Input format changed to BEAST, 12MHz clock
[piaware] 2023/01/02 18:06:51 mlat-client(365): Beast-format results connection with 127.0.0.1:30104: connection established

docker-compose on the host using the RTL-SDR:

services:
  readsb:
    image: ghcr.io/sdr-enthusiasts/docker-readsb-protobuf:latest
    tty: true
    container_name: readsb
    hostname: readsb
    restart: always
    devices:
      - /dev/bus/usb:/dev/bus/usb
    ports:
      - 8080:8080
      - 30005:30005
    environment:
      - TZ=${FEEDER_TZ}
      - READSB_DEVICE_TYPE=rtlsdr
      - READSB_RTLSDR_DEVICE=1090
      - READSB_GAIN=autogain
      - READSB_LAT=${FEEDER_LAT}
      - READSB_LON=${FEEDER_LONG}
      - READSB_RX_LOCATION_ACCURACY=2
      - READSB_STATS_RANGE=true
      - READSB_NET_ENABLE=true
      - DISABLE_WEBAPP=true
      - DISABLE_PERFORMANCE_GRAPHS=true
      - READSB_DCFILTER=true
      - READSB_FIX=true
    volumes:
      - readsbpb_rrd:/run/collectd
      - readsbpb_autogain:/run/autogain
    tmpfs:
      - /run/readsb
      - /var/log

Any hint?

Thank you!

mikenye commented 1 year ago

The screenshot you provided shows that you aren't synchronising with any nearby receivers.

Looking at the log you posted, there appears to be something wrong with the BEAST connection to readsb.

Can you describe the network between your two hosts?

You could also try setting the BEASTHOST variable for your piaware container to neptune.fritz.box (which I assume is your readsb instance with the SDR attached).