[aprssig] Error checking within APRS packets

Gregg Wonderly gregg at wonderly.org
Mon Jun 20 18:24:20 EDT 2011

On 6/20/2011 4:32 PM, Lynn W. Deffenbaugh (Mr) wrote:
> On 6/20/2011 2:38 PM, Gregg Wonderly wrote:
>> Do we have any real examples of how the quiet TX 1/2 through packet followed
>> by loud TX complete packet can result in a "packet" too long that would
>> corrupt internal TNC buffers?
>> Will the start of the "loud" packet result in an end of packet recognition of
>> the "quiet TX" packet.
> AX.25 packets on the air not only carry a CRC-16 (which is the error checking
> that PASSALL ignores), but also carry framing bits that positively identify the
> start and end of a packet. "Bit-stuffing" is used to ensure that a framing bit
> sequence doesn't occur within a packet. So, if a TNC is receiving a packet and
> another packet stomps over it, the framing is the first line of defense to drop
> the first packet and restart receiving with the new packet. When the start/end
> framing sequences have been identified, then the CRC-16 is used to ensure that
> everything within the frame is good (hence the name FCS for Frame Check Sequence).

Right.  My thoughts are hovering around whether or not these TNC firmwares are 
paying complete attention to the framing and CRC given some of these discussions 
that keep coming up from time to time.  So, I am just trying to stimulate these 
discussions of the facts so that everyone can read up and understand what is 
going on, and think about what is going on with any firmware they are creating 
for X.25 implementations.

> AX.25 bit streams are documented for those that really want to know the nitty
> gritty details. APRS is transmitted as UI AX.25 packet, so ALL of the AX.25
> packet framing and error checking applies. APRS doesn't use any of the
> connection-oriented AX.25 packet types, but only the single UI packet type.


>> How does all of this play out to indicate that there are failure modes that
>> we've seen but not been able to identify the cause of?
> If you are observing these "corrupted" and/or "concatentated" packets directly
> on RF, then this discussion makes sense. If you are seeing apparent
> concatenations of two packets on APRS-IS, there seems to be a server out there
> at times that has been doing this for over a month now. Those concatenated
> packets are happening on the -IS only and are not actually going over RF unless
> a message packet happens to get concatenated which was my first discovery of
> those particular errors.

Again, I'm just trying to understand what everyone thinks about these issues to 
make sure that we all agree.  I did think that the framing and CRC-16 should be 
the line in the sand that would make it most unlikely that two packets which 
were concatenated in some form should not live to be output by a standards 
compliant TNC.

CRC-16 can be fairly strong in such short packets, so while it can seem 
problematic to some, there is ample world experience to demonstrate that between 
the framing bits and the CRC-16 the chance of concatenated packets surviving as 
a single packet could only happen with a software bug, or when passthru (or 
whatever option ignores the CRC) is on.

It is interesting that we get these things happening on the APRS-IS too, where a 
simple loss of line-separator can create havoc, because we don't have a 
"packetization" mechanism implemented/available there.

Are the problems still happening so prolifically as to be problematic 
continuously and new people are just finding the same old problems that have 
never been solved, or are there new cases each time and the solutions have to be 
discovered each time?

Gregg Wonderly

> Lynn (D) - KJ4ERJ - Author of APRSISCE for Windows Mobile and Win32
> _______________________________________________
> aprssig mailing list
> aprssig at tapr.org
> https://www.tapr.org/cgi-bin/mailman/listinfo/aprssig

More information about the aprssig mailing list