Why are APRS RX only iGates bad ?

Every now and then I keep on reading on social networks or forums how people set RX only igates up. RX only igates are just bad, really bad. I could just leave you with the following statement “APRS is a bidirectional network and RX only igates are not bidirectionnal. Period” But let me expose how they are breaking the network.

For most of the people setting up RX only igates the initial premise is to “see their track” on aprs.fi. They completely miss the point that APRS is a tactical two way network and not just icons on a map. APRS has a SMS like messaging capability, which relies on the internet and the APRS-IS system to convey messages between stations that are out of range of the same digipeater. This is this messaging capability which is being broken by RX only iGates.

Consider following scenario where we have two igates in the same area.

  • RX only igates N0RX which has a high speed connection.
  • Full TX/RX igate N0FULL which has a slower sonnection than N0RX
  • N4ABC, a mobile station which can be heard by both igates

Thanks to its good internet connection N0RX is able to push packets faster to the APRS-IS servers. N4ABC packets will be gated through N0RX and N0FULL but since the packets coming through N0FULL will be dropped and marked as duplicates.

Now we have N5DEF which is 1000km away and wants to message N4ABC. N5DEF sends a message from his radio, this will be gated at some point. Now the APRS-IS server have to decide which igate to use to bring back the message back to RF so it can reach its recipient, in our case N4ABC. Since N0RX is the igate “assigned” to N4ABC this is the igate that will be used. Maybe you start now to understand the issue, since N0RX is not TX capable the message aimed at N4ABC will never make it through.

In the example above the RX only igate has a faster internet connection than N0FULL, but if both igates have similar internet connection speed it might also break the network but more randomly. We all want a 100% working network.

The RX only igate use case has never been foreseen, and there is no way for APRS-IS to detect that and igate is not TX capable.  Do not be a jerk, do not run a RX only igate.

14 Comments:

  1. I’m not sure if that is true. Have you checked it in the real life?

    I have just done some small simulation. I have opened 3 telnet windows and connected to different servers using my call and different SSIDs. Then I sent a position packet (using my call and different SSID), in the format IGates use to forward radio traffic to the Internet, first using one telnet connection and after few seconds using second connection, so it was a simulation of two IGates, one with slower and one with faster connection, that uploaded the same packet heard via RF with a small delay.

    Then in last telnet window I sent a message packet directly to the server, addressed to the station, which position I have just sent using these two other connections. And this message packet was forwarded from the server to BOTH IGates (both telnet windows). It didn’t matter which IGate was first with uploading the beacon I had sent before.

    I was using NO server filters.
    All servers used for this test use aprsc software. Servers using javaprssrv don’t want to send any packet to client without using filters. These servers don’t forward any message packet addressed to the station, which beacon was received by them. I have no idea why.

    • OK, in the last part I was wrong. Javaprssrvr correctly forwards packets addressed to the station which postion was uploaded to the network by the client. I made a small mistake in a message frame.

      But my thesis remains: it doesn’t matter which IGate was first. I have just done the same test with other callsign and the message was sent to both IGates. So APRS-IS doesn’t choose the IGate which first received the frame before. It send packet to every IGate which received the packet from a destination station.

      • Geoffrey F4FXL

        Thank you for your constructive comment.
        That’s interesting. Did you do the same test when both igates are connected to the same server? How long did you wait between sending the two initial position packets?

      • Geoffrey F4FXL

        I guess all of your connections had the same IP ?

        • The delay between sending packets to the IGates was about 1-3 seconds.
          I have just checked that with three different IPs (first “IGate” connected with my home network, second with cellural network and the message was sent using findu website (other IP)). First IGate was using SQ8L-2 call, second was SQ8VPS, the message addressee was SR8NDR and the sender was TEST. So every callsign was different and every connection had different IP. The effect was still the same. All IGates forwarded the message, no matter which one first received a packet from the addressee.
          With both IGates connected to the same server the effect was also the same.

          I’m not a fan of RX only IGates, but according to my tests they have no negative influence on the RF network. Additionally, APRS-IS specification says that “All core servers and most javAPRSSrvr servers […] support port 14580 as a user-defined filter port. This port begins by only sending message packets addressed to the client or addressed to stations gated to APRS-IS by the client.” I understand “stations gated to IS” as every station gated including duplicates, but in the next stage of processing by a server dupes are filtered. The rule of “first IGate” and that a duplicate frame isn’t a gated frame is not mentioned anywhere.

          I think the best idea is to ask an APRS-IS admin or aprsc or javaprssrvr developer. I will write an e-mail to one of these guys.

          • Geoffrey F4FXL

            It looks like your finding are proving me. I made a similar tests a couple of years ago and my messages never went through. I also once read a post from the developer of javAPRSServer and he was mentionning the dup thing as being a real headache thing.

            • But in my test every message got through. To both IGates.

              Anyway, I contacted AE5PL with the results of the test I did and he didn’t deny it, but he rather gave me an example of another situation, when message will not be forwarded. When an IGate use server-based software, so it creates it’s own local IS server, the problem can appear. When another IGate receives a packet and uploads it to the uplink server, it’s immediatly forwarded to the local server used by the first IGate. Then if that first IGate receives a packet with some delay the local server will drop this packet, because it’s duplicate. In this case an uplink server will know only that the frame was received with that second IGate, so it will forward message packets only to that IGate.
              But because he didn’t deny, that the problem doesn’t exist with IGates both connected directly to the APRS-IS, I may think that standard IGate softwares (not server-based) are not affected by this problem at all. Although I will be intensively observing it.

            • Here I also found some good explanation: https://robust-packet.net/yahoo.html
              Lynn KJ4ERJ wrote there: “Consider if a Receive-Only IGate continuously delivers packets to the APRS-IS faster than the local transmitting gate. The packets gated by the transmitting gate will always be dupe-suppressed at the point of entry and that may cause messages destined for the gated stations to never be delivered to that IGate. […] It actually works fine as long as all IGates are directly connected to an APRS-IS server that is being fed from a full feed. But if an IGate is connected to a filtered APRS-IS server (some are), then dupe suppression can prevent that IGate’s APRS-IS server from ever hearing messages addressed to stations that the IGate may have heard but were gated to the APRS-IS quicker by some other IGate.”. And it’s the same explanation as I wrote a couple of minutes ago, but using different words. So in conclusion, it depends on the area, or more strictly on the software. If you have many RX only IGates and one server-based TX-IGate, messaging may work very poor or even don’t work at all.

              • Geoffrey F4FXL

                This is one of the messages the message I was refering! What he is refering to is that it can lead to issues when the APRSIS server the igates connects to (typically a tier 2 server) has a filtered connection to the tier 1 server. Maybe this is what you meant with “local” APRS-IS server.
                My explanation is far more simplistic and Lynn’s message clearly shows that the issue is actually more complex and the current APRS-IS cannot relilably work with RX-Only igates.

                Some people on social network are arguing “it could be easy to add a flag for the igate to signal as a RX only igate”. IMHO this is not practical as some igates were setup and left untouch for years by their sysops and are not likely to be updated until they break. People just stick to their RX only igates and I am afraid at some point APRS-IS will need to deal with them. Killing messaging one RX igate at a time …

                • Yes, you’re right. We also have some guy in our area, who installs lots of RX only IGates and he also wrongly uses “I” overlay in his stations’ symbols.
                  AE5PL explained “local server” to me as an IGate software which creates it own, very local, APRS server and then this server is connected to some Tier2 server using filtered connection. I think connections between Tier2 and Tier1 server are almost always full feed.

  2. Walter R Francis

    So your opinion is that large gaps with zero APRS coverage at all are better than receive-only iGates? RX-Only iGates are often used to fill missing coverage and let’s be realistic, 99% of the traffic on APRS is just people tracking their cars anyway. But it doesn’t really matter; if there’s nothing to receive the packet at all I feel that’s worse than your hypothetical situation you’ve outlined.

    Not everyone can put up a RX/TX iGate. Either they don’t want the interference to their own stations, don’t have the hardware to dedicate to it, or any other number of reasons. I feel you’ve grossly over simplified and exaggerated your personal opinion and only represented one single aspect of APRS.

    • Geoffrey F4FXL

      Hi Walter,

      Thank your for your comment.

      Bob WB4APR, the father of APRS, says this about RX only iGates

      RX-only IGates kill the functionality of the APRS-IS as a universal system!
      And they give casual observers the impression that APRS has global
      connectivity, when in fact, that view has lots of invisible holes because of
      RX-only IGates

      (source: https://groups.yahoo.com/neo/groups/APRS/conversations/messages/9468)

      As you mentioned “holes”, but holes created by RX only igates are more detrimental than holes caused by the lack of igates. As Bob has written, they give the person observing the network through the prism of APRS-IS that the network is fully operational but it is actually not. It is not because most people have a wrong idea of what APRS is that the others, using it to its full extent have to suffer from a half working network.

      I run a fill-in digi and igate, it is running on a 30 years old HT, a 30 years old TNC and Raspberry pi. Let’s be honest, I am not 24/7 in my shack nor is any ham. If I want to use my station I just flick the switch and the igateis off, no interference. I leave the shack I turn it back on. When I am at work or away from home it is bringing real value to the netowrk.

      • Walter R Francis

        So take away all of the iGates and you’re left with a lot of digipeaters with NO IS capability at all and hundreds of miles of gaps between them to even digipeat. No, sorry, that does not sound better.

        • Geoffrey F4FXL

          When there is a gap it is better practice to put up a digipeater than an igate. A RF user in a zone where only an igate is available will have the false impression he is moving in a complete APRS less zone. Moreover, adding a digipeater might allow RF users to reach a distant igate. APRS is meant to be a bidirectionnal local and tactical awareness network.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.