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: