This is the mail archive of the ecos-patches@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PPP Issues


>"John Paul King" <jpking@advantexmail.net> writes:
>
>> The following are various issues I have encountered with the PPP stack.
>> Attached is a  patch for your consideration.
>>
>>
>> 1.  The stack does not prepend initial frames with a starting Flag
Sequence.
>> Per RFC 1549:
>>
>> "Transmitters SHOULD send an open Flag Sequence whenever 'appreciable
time'
>> has elapsed after the prior closing Flag Sequence. The maximum value for
>> 'appreciable time' is likely to be no greater than the typing rate of a
slow
>> typist, say 1 second (S4)."
>>
>> Although a timer could be implemented, this patch prepends every frame
with
>> a Flag sequence, regardless of the time between frames:
>>
>> "Only one Flag Sequence is required between two frames. Two consecutive
Flag
>> Sequences constitute an empty frame, which is ignored, and not counted as
a
>> FCS error (S3.1)."
>>
>> Affects: ppp_io.c
>
>As far as I can see, your patch just adds an extra flag sequence at
>the beginning of each packet. The driver emits a flag sequence at the
>end of each packet anyway. So the extra flag sequence is redundant.
>
>I am very wary of making hastily conceived changes to this code. It
>has been working for about a decade so far and if there were genuinely
>a problem here I would have thought that it would have been identified
>before now.
>
>What is the actual problem you are seeing, and why do you think that
>this patch fixes it?


The following post on the ecos-maintainers mailing list describes the
problem I had w/ the stack.

>John Paul King wrote:
>>I'm not sure if anyone else had this problem, but I thought that I would
>>pass along the information.  I was using the eCos PPP stack in conjunction
>>with an EB40A, and I was able to establish a link w/ a Linux peer
flawlessly
>>(btw, thanks for the cool stack--I was able to create a program in Linux
and
>>have it immediately work in eCos!); however, when trying to connect to
>>another device (in particular, a Kyocera 1xRTT module), a link never
>>occurred (i.e., the Kyocera module never even tried to respond to PPP
>>packets sent).  Further inspection showed that the eCos stack did not send
>>out an initial "flag sequence", and I assume the module timed out before
the
>>next frame was sent (i.e., wasn't able the use the previous ending "flag
>>sequence" as the beginning "flag sequence" of the new frame).  I modified
>>the code in "pppasyncstart" such that the "flag sequence (0x7e)" is sent
>>before every frame, and this seemed to worked great for my application;
>>however, I'm not sure this would be best for all users since a "NULL
frame"
>>would possibly have to be digested by all possible peers.  Anyhow, let me
>>know if this is the right way to go.  Thanks for the great operating
system.
>>
>
>I don't know PPP/LCP off the top of my head, but I suggest you have a look
at the relevant RFCs >as that's the only way to know what's correct and
allowed. If you find something relevant in
>there, feel free to post something in our bugzilla database (see the
website).
>
>
>Jifl
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]