For PPP to function fully over a serial device, its driver must implement certain features. At present not all eCos serial drivers implement these features. A driver indicates that it supports a certain feature by including an "implements" line in its CDL for the following interfaces:
This interface indicates that the driver implements hardware flow control using the RTS and CTS lines. When data is being transferred over high speed data lines, it is essential that flow control be used to prevent buffer overrun.
The PPP subsystem functions best with hardware flow control. If this is not available, then it can be configured to use software flow control. Since software flow control is implemented by the device independent part of the serial device infrastructure, it is available for all serial devices. However, this will have an effect on the performance and reliability of the PPP link.
This interface indicates that the driver implements a callback interface for indicating the status of various RS232 control lines. Of particular interest here is the ability to detect changes in the Carrier Detect (CD) line. Not all drivers that implement this interface can indicate CD status.
This functionality is only needed if it is important that the link be dropped immediately a telephone connection fails. Without it, a connection will only be dropped after it times out. This may be acceptable in many situations.
At the time of writing, the serial device drivers for the following platforms implement some or all of the required functionality:
All drivers that use the generic 16x5x driver implement all functions:
ARM CerfPDA
ARM IQ80321
ARM PID
ARM IOP310
i386 PC
MIPS Atlas
MIPS Ref4955
SH3 SE77x9
The following drivers implement flow control but either do not support line status callbacks, or do not report CD changes:
SH4 SCIF
A&M AdderI
A&M AdderII
All other drivers can support software flow control only.