[aprssig] aprsd drops mic-e characters

Tapio Sokura oh2kku at iki.fi
Sat May 7 08:17:29 EDT 2005


I have been debugging a local packet corruption problem and it turned 
out to be aprsd doing the mangling. When using the kernel ax.25 
interface, aprsd does some of its own filtering on packets before 
passing them on to further processing. This extra filtering is too 
restrictive for mic-e packets as it replaces bytes 28-31 and 127 with a 

I've put a small patch against aprsd 2.2.5-15 to 
http://www.oh2kku.ham.fi/aprs/aprsd-mic-e-pass.patch that modifies the 
checking to be mic-e compatible. In some earlier versions of aprsd the 
file is named sockets.cpp. At the same time the filtering is modified so 
that invalid characters are stripped out of the packets, not replaced 
with spaces. This method of filtering should reduce the number of 
packets containing extra spaces at the end, if the original AX.25 packet 
contained a cr, lf or a combination of them in the end.

This also means that many national characters that are over ASCII value 
127 are dropped, but it should be no surprise to anyone that APRS 
doesn't handle 8-bit characters. Many APRS programs allow the use of 
8-bit characters so other software have to make a decision on what to do 
with those packets: pass without touching the contents, strip or replace 
offending characters fully or just the 8th bit or discard the whole 
packet. All of these methods are seen in the APRS-IS, which makes 
duplicate filtering so much easier..NOT. I guess someone could blaim 
this on the spec that doesn't explicitly say what to do with packets 
containing invalid characters. Ok, enough ranting.

I filed a bug report on this at sourceforge, but as the latest aprsd 
release seems to be over 1,5 years old, I'm not expecting it to make it 
to the official distribution anytime soon. So I'm sending this small 
note here so those running aprsd with kernel AX.25 can be notified about 
it. aprsd running with a command mode TNC without using kernel AX.25 is 
not affected by this.


More information about the aprssig mailing list