No announcement yet.

Problem with dump1090

  • Filter
  • Time
  • Show
Clear All
new posts

  • Problem with dump1090

    I've Raspbian Buster on a Raspberry Pi Model B Rev 2. I've installed dump-1090 1.15 dev mutability using the guide on the forum (sudo apt-get install dump-1090). I've configured dump1090 as described on the guide, but the program seems not working. ​​​​​​
    When I go on the webpage of dump1090 I see a box saying
    Problem fetching data from dump1090.
    AJAX call failed (error). Maybe dump1090 is no longer running?
    The displayed map data will be out of date.
    I've noted that the files in the folder dump1090/data are not updated. I'm serving with ngnix instead of lighttpd but I don't think that is a problem since if i run dump1090 in net-only mode all is working correct (aircraft.json is updated every second etc...)
    It's my first installation of dump1090, so maybe I've forgot something simple, but It's not my first time using raspberryPi and run it as a little server.

    lsusb output:
    Bus 001 Device 004: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T
    Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
    Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. SMC9512/9514 USB Hub
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    rtl_test -t output:
    Found 1 device(s):
    0: Realtek, RTL2838UHIDIR, SN: 00000001
    Using device 0: Generic RTL2832U OEM
    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.
    systemctl status dump1090-mutability output:
    ● dump1090-mutability.service - LSB: dump1090 daemon (mutability variant)
    Loaded: loaded (/etc/init.d/dump1090-mutability; generated)
    Active: active (exited) since Tue 2020-05-19 11:15:23 CEST; 25min ago
    Docs: man:systemd-sysv-generator(8)
    Process: 966 ExecStart=/etc/init.d/dump1090-mutability start (code=exited, status=0/SUCCESS)
    May 19 11:15:22 raspberrypi systemd[1]: Starting LSB: dump1090 daemon (mutability variant)...
    May 19 11:15:23 raspberrypi systemd[1]: Started LSB: dump1090 daemon (mutability variant).
    /etc/default/dump1090-mutability (removed coordinates of my house, but they are set on my configuration)
    # dump1090-mutability configuration file
    # This is a POSIX shell fragment.
    # You can edit this file directly, or use
    # "dpkg-reconfigure dump1090-mutability"
    # Set to "yes" to start dump1090 on boot.
    # User to run dump1090 as.
    # Logfile to log to
    # Receiver options
    # RTLSDR device index or serial number to use
    # If set to "none", dump1090 will be started in --net-only mode
    # RTLSDR gain in dB.
    # If set to "max" (the default) the maximum supported gain is used.
    # If set to "agc", the tuner AGC is used to set the gain.
    # RTLSDR frequency correction in PPM
    # Decoding options
    # If yes, fixes messages with correctable CRC errors.
    # If set, supplies a reference location for local position decoding.
    # If set, provides the absolute maximum receiver range used to
    # filter bad position reports, and to determine when local position
    # decoding is safe to use. Specify this in nautical miles (NM).
    # Networking options
    # Port to listen on for raw (AVR-format) input connections. 0 disables.
    # Port to listen on for raw (AVR-format) output connections. 0 disables.
    # Port to listen on for SBS-format output connections. 0 disables.
    # Port to listen on for Beast-format input connections. 0 disables.
    # Port to listen on for Beast-format output connections. 0 disables.
    # TCP heartbeat interval in seconds. 0 disables.
    # Minimum output buffer size per write, in bytes.
    # Maximum buffering time before writing, in seconds.
    # TCP buffer size, in bytes
    # Bind ports on a particular address. If unset, binds to all interfaces.
    # This defaults to binding to localhost. If you need to allow remote
    # connections, change this.
    # Misc options
    # Interval (in seconds) between logging stats to the logfile. 0 disables.
    # Path to write json state to (for use with an external webserver). Blank disables.
    # Interval between writing json state (in seconds). 0 disables.
    # Accuracy of receiver location to write to json state, one of "exact" / "approximate" / "none"
    # Set to yes to log all decoded messages
    # This can get large fast!
    # Additional options that are passed to the Daemon.

  • #2
    Originally posted by Oblivian
    The only way around while keeping 1.15 is to use an older RTL rules file it seems.
    Instead of using an older RTL rules file, a better way around is to add user dump1090 to group plugdev

    sudo usermod -a -G plugdev dump1090
    sudo systemctl restart dump1090-mutability


    • #3
      I should have kept reading. Didn't spot it was 4 pages, and forgot I was basically the one to notice the username change that lead to it
      Posts not to be taken as official support representation - Just a helpful uploader who tinkers


      • #4
        Thanks! I've tried both and both works! I think I'll go for the abcd567 one because I prefer to use more flexible dump1090-mutability.
        fa version has a better UI, so since I'm going to install the webserver on a different machine, I'd like to install dump1090-fa on the webserver anf get the data from raspberry running dump1090-mutability. Is it possible? Are data folder compatible? If no, do you have any suggestion for a better UI compatible with mutability?


        • #5
          It is. Similar to my setup now. You would need to set the remote server as a remote push-to (-BO) destination using something like modesmixer2

          For me dump1090-fa is listening

          RECEIVER_OPTIONS="--net-only --net-bo-port 0"
          DECODER_OPTIONS="--max-range 360 --fix"
          NET_OPTIONS="--net --net-heartbeat 60 --net-ro-size 1000 --net-ro-interval 1 --net-ri-port 0 --net-ro-port 0 --net-sbs-port 0 --net-bi-port 30004,30104"

          My decoder pushes to 30004 (and the MLAT results from FA also pushed to 30104)
          Posts not to be taken as official support representation - Just a helpful uploader who tinkers


          • #6

            This will pull messages off the receiver:

            If the install seems complicated, use this:
            You can then still use the --net-only configuration described above.

            Then use either the readsb UI at /radar, or this which runs on top of readsb using its data
            You can even use the old dump1090 mutability webinterface using the readsb data:

            Lots of possibilities.


            • #7
              Thanks you all! Unfortunately the web server I'm going to use can run only PHP (and HTML & javascript of course), since it's my public space on the University server. I've tried to copy dump1090-fa html files in the sever and modifying the script.json to get the data folder (dump1090/data) on my raspberry and it works, but I the altitude aren't shown. Probably this is happening because the two version of dump-1090 have different formats in saving files. Of course just copying the dump1090-mutability html files in the webserver will work fine, but as I said I dont like the UI.

              I'm looking for something that is compatible with dump1090-mutability json data.


              • #8
                I changed my mind and now I think I will go for one of yours solution. I would like to install less thing as possible because my raspberry is only 512 MB, so for the moment I don't want to install modesmixer2. Then I've also seen that modesmixer is not run as a service, so I prefer to avoid it.
                So basically my plan is now: run dump1090-mutability that interacts with the USB, but not producing output JSON or web interface. Then thought Beast port 30005 communicate to dump1090-fa the data collected. dump1090-fa will run in --net-only mode and produce the JSONs that will be used from the web server. Well, what I'm not able to do is make dump1090-fa take the data from mutability. Should I try to set as beast input port what is set to output in mutability? Probably I'm missing something in the functionality of beast protocol. If modesmixer2 is necessary, is there a ready-to-use package that run as service that do the same thing?

                @wiedehopf: you suggest to install readsb. What is that? Is compatible with dump1090-fa? I want to use FA's interface so I don't want to install other type of UI. Thanks for your reply anyway.


                • #9
                  Originally posted by arna View Post
                  Then I've also seen that modesmixer is not run as a service, so I prefer to avoid it.

                  If modesmixer2 is necessary, is there a ready-to-use package that run as service that do the same thing?
                  Install modesmixer by the bash script given at the page linked below, and the script creates needed systemd service.


                  To see status
                  sudo systemctl status mm2

                  To restart
                  sudo systemctl restart mm2

                  To stop
                  sudo systemctl stop mm2



                  • #10
                    Thanks! I will try it!


                    • #11
                      I'm trying to install modesmixer2 using your installation script, but I always get
                      Illegal Instruction
                      Even if I run
                      cd /usr/share/mm2
                      ./modesmixer2 --help
                      as super user the result is always illegal instruction. Any help?


                      • #12
                        Seems mismatch or corrupted file

                        Please post output of the last 3 commands
                        cd /usr/share/mm2
                        file modesmixer2
                        readelf -a modesmixer2


                        • #13
                          LICENSE.MIT  mm2.conf  modesmixer2  modesmixer2_rpi2-3_deb9_20190223.tgz  modesmixer2.txt
                          file modesmixer2
                          modesmixer2: ELF 32-bit LSB executable, ARM, EABI5 version 1 (GNU/Linux), dynamically linked, interpreter /lib/, for GNU/Linux 3.2.0, BuildID[sha1]=f32cf37c7080d01a97997c21aee39777f98345b4, stripped
                          readelf -a modesmixer2: the output is really long (more than 7000 lines!). I've pasted it here:
                          Thanks for your help!


                          • #14
                            Examining contents of folder /usr/share/mm2 revealed following:

                            The script is for RPi models 2/3/4 and downloaded "modesmixer2_rpi2-3_deb9_20190223.tgz", then from it extracted binary file "modesmixer2"

                            You have Raspberry Pi Model B Rev 2, for which "modesmixer2_rpi1_deb9_20190413.tgz" is required to be downloaded, and binary file "modesmixer2" to be extracted from it.

                            Do following:

                            (1) Delete wrong files
                            sudo rm /usr/share/mm2/modesmixer2
                            sudo rm /usr/share/mm2/modesmixer2_rpi2-3_deb9_20190223.tgz

                            (2) Download correct .tgz file
                            This is very long line of code. Scroll right to see and copy in full
                            sudo wget -O /usr/share/mm2/modesmixer2_rpi1_deb9_20190413.tgz ""

                            (3) Unzipp downloaded .tgz file to get binary file "modesmixer2"
                            sudo tar xvzf /usr/share/mm2/modesmixer2_rpi1_deb9_20190413.tgz -C /usr/share/mm2
                            (4) Restart mm2 and check status
                            sudo systemctl restart mm2  
                            sudo systemctl status mm2
                            Last edited by abcd567; 2020-06-25, 11:06.


                            • #15
                              It works! Thanks!