PPP once more

Mike Siers mikes at poliac.com
Fri Mar 15 15:47:17 UTC 2002


Hi Mirko,
Below are my answers to your PPP questions.  Please try using
the pppd example program to see if it behaves any better.  You
will probably have to modify the pppd example program so it
just brings up the link and waits forever.  This is the program
that I used for my ping testing.

>>1. What is the prefered mode of serial driver (IRQ mode seems to be the
>>only one that works)?
In the latest snapshots only the IRQ mode will work.  Are you using
hardware flow control on your direct serial link?  I did most of
my testing at 57600 with hardware flow control.  You may be running
into some problems even at 38400.  Please ensure you Linux host is
also configured correctly.

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

>>3. Task modes: all my tasks are RTEMS_PREEMPT. Is that OK?
This should also be fine. 

>>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. 
I noticed something similar to this and I do not think this is
your problem.  I believe it was described to me as just how the
TCP/IP network stack works.  Are you running out of MBUFS?

Good Luck
Mike Siers


-----Original Message-----
From: mirko at dkts.co.yu [mailto:mirko at dkts.co.yu]On Behalf Of Mirko
Markov
Sent: Friday, March 15, 2002 8:37 AM
To: Mike Siers; RTEMS
Subject: PPP once more


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