[Xastir-dev] strange chars in APRS packets, xastir failed to decode path !
Thomas Hoffmann
DK5GR at web.de
Thu Feb 17 15:40:57 EST 2005
Hi everybody,
I'm new on xastir and I hope I do well by posting to this list. If not please
excuse.
I'm running xastir since 2 weeks on a SuSE 9.2 box. Unitl last sunday
everything was well, but then from one day to the other xastir stopped to
decode APRS packets tranmitted by our local digi (DB0LC).
Investigation revealed that there are some strange "<UI>" characters in the
digi path which prevented xastir from decoding the digi path. A log of my TNC
traffic is shown below.
---------------------------------------------------------------
0:TNC-> IK3XTM-12>APRS,IQ3VO,WIDE7* <UI>:!4529.59N/01057.58Ej035/005
Op.Gianluca ARI/R.E. Member
0:TNC-> DL9GJ-4>APTW01,DB0LC*,WIDE3-3
<UI>:_02162116c050s000g000t023r000p000P000h89b10170tRSW
0:TNC-> IR3BT>RELAY,WIDE7* <UI R>:DX de IR3BT> 432.800 T77GR 155
dg frm IR3BT 268km
0:TNC-> DO9ST>APU25N,DB0KUN,DB0BL,DB0ZD,DB0LC*,TRACE3 <UI
C>:}DO9BHA-6>APU25N,TCPIP,DO9ST*:@162017z/5l3sPfgg_N!bg000t029r000p000P028b10191h77/fWD/
Wetter Leonberg mit WS2300 {UIV32}
0:TNC-> HB9TPR-9>APTW01,HB9ZRH,DB0LC*,TRACE7-7 <UI>:!4721.82N/00821.97E_WX
STN Berikon
0:TNC-> OE7XGR>APRS,WIDE7-4 <UI C>:!4702.31NT01141.18E#PHG2250/ sysop OE7FTJ
0:TNC-> DJ5SO-1>APZ186,DB0LC*,WIDE <UI C>:!4825.35N/00957.33E#/Ulm/Donau
0:TNC-> DJ5SO-1>APZ186,OE9XPT,DB0LC* <UI C>:!4825.35N/00957.33E#/Ulm/Donau
0:TNC-> DJ5SO-1>APZ186,DB0ZD*,WIDE <UI C>:!4825.35N/00957.33E#/Ulm/Donau
0:TNC-> DJ5SO-1>APZ186,DB0ZD,DB0LC* <UI C>:!4825.35N/00957.33E#/Ulm/Donau
------------------------------------------------------------
I went to my M$ windows box to check whether uiview was still decoding these
packets. For my suprise it did well on them.
Meanwhile I got in contact with the sysop of DB0LC. He told me that nothing
has changed on the digi side and he could not explain why these <UI>'s are
there, but promised to follow up the issue.
My last chance was to fix the xastir code, what I finally did. I added the
following lines of c-code at the very beginning of the "valid_path"
function.
------------------------------------------------------------------------------------------------------
int valid_path(char *path) {
int i,len,hops,j;
int type,ast,allast,ins;
char ch;
len = (int)strlen(path);
type = 0; // 0: unknown, 1: AEA '>', 2: TAPR2 ',', 3: mixed
hops = 1;
ast = 0;
allast = 0;
// 20050216 THO!
// check for something like <UI R> or <UI> at the end and remove it
if (len > 6 && path[len-1] == '>') { // found an '>' at the end
fprintf(stderr,"THO! 000: %s\n",path);
for (i=len-1; i>len-7; i--) { // search for the
corrensponding '<UI'
if (path[i] == '<' && path[i+1] == 'U' && path[i+2] == 'I' ) {
path[i-1] = '\0'; // remove everything in
between+the blank before
len = (int)strlen(path);
fprintf(stderr,"THO! 001: %s\n",path);
}
}
}
--------------------------------------------------------------------------------------------------------
This eats up all unwanted stuff from the digi path, so xastir is now workng
well again.
I'm not an APRS guru and not very familiar with the protocol, so I don't know
whether I did right on that.
May be somebody of you guys could give me feedback on this issue.
Please reply directly, I've not (yet) subscribed to the list.
Thank you in advance !!
73!
Thomas Hoffmann
DK5GR
More information about the Xastir-dev
mailing list