Chapter 158. PPP Enabled Device Drivers

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.