I have been investigating ‘lost APRS packets’, a result of many root causes.
One is a perception that when I drive in the local area, I often do not hear my own digi ‘echo’ yet I find that it did receive a packet and submit it to APRS-IS. This problem is much more apparent using a TNC-X that with any other KISS TNC in its place.
A possible explanation is that it did echo but I did not hear it due to collision with another digi.
So that led me to explore whether TNC-X fails to quickly detect the other digi already transmitting.
A test was conducted with the receiver squelched, to compare the MX614 modem’s DET response with the TNC-X DCD LED. Note that these tests are done with squelched receiver for convenience of triggering the data logger, normal operation is with open squelch wich the TNC-X supports.
Above is capture of the TNC-X /DCD signal and the MX614 DET pin on a packet from VK2AMW-1, the DCD signal responds about 4ms after the DET transition, all much as expected. VK2AMW-1 transmits a preamble of frame codes.
Above is the response receiving a packet from VK2RHR-1. The DCD response is around 49ms after DET. Notably, VK2RHR-1 is an Argent Data OT3 and sends a preamble of isochronous data followed by two frame codes, and it appears that the TNC-X does not recognise the isochronous data and responds only to the frame code.
Most TNCs depend on their DCD to block the transmitter, and it would seem very likely that the TNC-X being delayed in detecting OT3 data may be transmitting over the top of the OT3 preamble and possibly the cause of my observed of collisions.
It is my reading of the APRS, AX.25 and X.25 specifications that Argent Data are non-compliant, but it also seems a weakness that TNC-X needs to accurately decode frame code before holding off its transmitter (if that is what has happened).
APRS is characterised by lack of clear specification or standards, and then when clear guidance exists, failure to comply.
It is my view that the most important role of DCD is to block the transmitter when there is a reasonable hint that there is a transmitter on the channel since collisions resulting in data loss are not recovered in UI mode, and that should guide algorithms for detecting data carrier (rather than detecting a frame code).
(TNC-X is also sold as MFJ-1270X. Claims of “true DCD” would seem to be unsound, as warned by the use of “true”.)