Hello,
we are connecting using ppp and serial line to linux and windows computers. While connected to windows there is not problem, but when connected to linux we are getting TCP ERR: Out of range sequence number received
Every time this error ocured there is delay in response from telnet. If we type to telnet application key by key slowly with pause between characters, we are not getting this error, but when we press key and hold it down, the error appears.
Could you adivce us what could be the problem ?
We investigated the data communication and we found that the ppp procotocl starting flag 0x7E is missing sometimes. The linux pppd is not sending this flag. We have not found reason for it, could you please advice us ? Is there any reason why the PPP packet should not start with 0x7E ?
Are you sure that it is definitely not being sent?
ie, are you sure that it's not just getting lost somewhere inside your system?
If it is really not being sent, then that is obviously nothing to do with Keil or anything else on the target, and you will need to debug your UNIX stuff...
We found that linux pppd is not sending starting 0x7E under some conditions: /usr/src/linux/drivers/net/ppp_async.c if (islcp || flag_time == 0 || time_after_eq(jiffies, ap->last_xmit + flag_time)) *buf++ = PPP_FLAG;
starting linux kernel ppp_async module with parameter flag_time=0 solves the problem
I am not sure, if this linux implementation is RFC compliant, we will send you bug report details via our support account.
The Flag Sequence 0x7E is used to mark the start and an end of ppp packet. However according to RFC 1662:
Only one Flag Sequence is required between two frames. Two consecutive Flag Sequences constitute an empty frame, which is silently discarded, and not counted as a FCS error.
This means that when ppp packets are transmitted with no delay in between, only ONE Flag Sequence is allowed to mark an end of a previous packet and a start of the next packet.
RL-ARM TCPnet can properly handle 1 or 2 Framing Flags. Maybe you have an older version of RL-ARM where the Flag Character handling has not yet been corrected.
I guess there is nothing wrong with your linux pppd.
Franc