When using the linux kernel AX.25 interface, the fmt()
function in ax25socket.cpp (used to be sockets.cpp)
cleans up the packets a bit too much. Specifically it
uses isprint() to select which characters to pass on
and that breaks mic-e, which uses, among others,
decimal characters 28-31 and 127.
I've attached here a small patch that does away with
the isprint() by specifically passing all bytes of
decimal value 28-127 and discarding all other bytes.
This also discards many national characters that are
over 127 decimal, but to me that is just keeping up
with the APRS specification that only talks about 7-bit
ASCII characters. I guess a similar clearly defined
cleaning procedure could be applied to the plain
command mode TNC interface as well.
Tapio, OH2KKU (@iki.fi)
Log in to post a comment.