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:
CYGINT_IO_SERIAL_FLOW_CONTROL_HW
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.
CYGINT_IO_SERIAL_LINE_STATUS_HW
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.