[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#606338: ax25ipd transmission bug



On 12/08/2010 06:35 PM, Thomas Osterried wrote:
Which kernel version do you use?

2.6.32

If your way is
   kernel-ax25 ->  kissattach ->  pty ->  ax25ipd ->  inet
then kiss packets from kernel-ax25 ->  pty never have the kiss byte != \0,
except kiss param commands (i.e. setting txdeleay).

I'm not sure if that's exactly it or not.

I wrote this script:

#!/bin/bash

tmpfile="/tmp/$$.startipd.pts"

kissnetd -p2 > "$tmpfile" &

sleep 2

attachthem () {
	read PTS1 PTS2
	echo "Starting ipd on $PTS1 and $PTS2"
	kissattach -l $PTS1 ipct 44.254.254.20
	sleep 1
	sed -i "s,device /dev/.*$,device $PTS2," /etc/ax25/ax25ipd.conf
	ax25ipd
}

tail -n 1 $tmpfile | attachthem
rm $tmpfile

Is this not the proper way to go?

"if ((*iframe&  0xf) == 0)"
is not the correct way. Because:
1. it will discard all kiss frames with kiss byte == 0 (!!!) - these are all ax25 packets. This will break every system except yours.

I think you have your logic reversed. If it passes this test, it is processed. ((0 & 0xf) == 0) is true, after all. But Ralf probably ought to chime in here.


Could you send us a dump what's really coming from the pty?

I would love to, but I can't seem to reproduce the problem any more. I tried to reproduce it when I made it log the value of the bytes it was rejecting, but that didn't work. I can try to recreate my exact steps here and see if I can make it happen again. I am unsure why it changed. Does kissnetd or kissattach ever set the port bits?

-- John



Reply to: