PPP once more

Mirko Markov mmarkov at dkts.co.yu
Fri Mar 15 14:37:02 UTC 2002


Hi,

I have some questions about PPP in RTEMS.

I've been trying to get PPP running on 68360 board with 4 MB RAM.
A few moths ago, I tried PPP on rtems-ss-20011017. I used 
serial driver based on Eric Norum's driver (it says SMC1/2 raw console
serial driver adopted to work with SCC2/3 to implement ppp modem
connection).
I used that driver in TASK DRIVEN mode.

I connected my Linux box and the board via serial cable at 38400.

With that version, connection worked, I've been able to ping the board,
with
no loss of packets, but I also had problems with large packets.

A few days ago I downloaded rtems-ss-20020301. In README file, it is
stated 
that that this version is more stable, and that task driven mode is no
longer 
required, so I switched to TERMIOS_IRQ_DRIVEN.

The board now has some trouble connecting (i.e. it can't connect every
time),
and when it does, it looses ping packets. I discovered that the board
receives
every ping request, and sends the reply, but somehow Linux box doesn't
receive
it?!?!  Also, in connection phase I see that the board (RTEMS) sends a
number
of LCP IPCP, etc packets, but not all reach the other side.

I also noticed that when I run rtems_monitor (a high priority task),
situation 
gets worse. 

So, my theory is that some higher-priority task (or interrupt handler)
is preempting 
sending task, and ruins the packet that is being sent.

So my questions are:

1. What is the prefered mode of serial driver (IRQ mode seems to be the
only one that works)?

2. What about the priorities of tasks ('ntwk', ppp receiver and
transmitter all have the same priority)?

3. Task modes: all my tasks are RTEMS_PREEMPT. Is that OK?

4. I noticed that the termios splits the logical PPP packet into a
number of hardware buffers.
   Is that supposed to happen? Isn't it more logical that the whole
frame is send through a
   single hardware buffer. 

Thanks in advance.



More information about the users mailing list