Bug#606338: ax25ipd transmission bug
Hi Ralf and Thomas,
First of all, thank you very much for your work on the AX.25 userland
tools. It is much appreciated. I am new both to amateur radio and to
AX.25 in general and am thus being exposed to them for the first time.
I have discovered a bug in ax25ipd. I was setting up ax25ipd last
night, and it would receive data fine, but wouldn't transmit anything
out the IP side. After looking in my log files, I observed this message
every time I tried to send a packet out via ax25ipd:
Dec 7 17:49:56 hephaestus ax25ipd: assemble_kiss: dumped - control byte
non-zero
I investigated, and found a check on the control byte in kiss.c. I
studied the control bytes, and believe that they are used primarily to
select a port on multi-port TNCs. I don't know why kissnetd or
kissattach cares about them, but there it is.
Now then, this is trivial to fix with the attached patch. This is a
minimally-invasive one; a more proper upstream patch would remove the
whole test. I have tested this patch and it works beautifully.
The procedure I'm using to set up ax25ipd is documented here:
http://wiki.complete.org/LinuxPacketRadio#ax25ipd
I have other kissnetd / kissattach instances running on my system, which
may possibly explain why the control byte is nonzero.
Thank you,
-- John Goerzen
KR0L
diff -durN ax25-apps-0.0.6/ax25ipd/kiss.c fixed/ax25-apps-0.0.6/ax25ipd/kiss.c
--- ax25-apps-0.0.6/ax25ipd/kiss.c 2001-10-08 20:03:12.000000000 -0500
+++ fixed/ax25-apps-0.0.6/ax25ipd/kiss.c 2010-12-07 18:35:19.444623640 -0600
@@ -72,7 +72,7 @@
if (c == FEND) {
if (ifcount > 0) {
/* Make sure that the control byte is zero */
- if (*iframe == '\0' || *iframe == 0x10) {
+ if (1) {
/* Room for CRC in buffer? */
if (ifcount < (MAX_FRAME - 2)) {
stats.kiss_in++;
Reply to: