[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