You will need to configure your modem correctly for PPP - to do this READ YOUR MODEM MANUAL! Most modems come with a factory default setting that selects the options required for PPP. The minimum configuration specifies:-
Hardware flow control (RTS/CTS) (&K3 on many Hayes modems)
Other settings (in standard Hayes commands) you should investigate are:
E1 Command/usr/src/linux-2.0.27/include/linux/serial.h Echo ON (required for chat to operate).
Q0 Report result codes (required for chat to operate).
S0=0 Auto Answer OFF (unless you want your modem to answer the phone).
&C1 Carrier Detect ON only after connect.
&S0 Data Set Ready (DSR) always ON.
(depends) Data Terminal Ready.
There is a site offering modem setups for a growing variety of modems, makes and models at Modem setup information which may assist you in this.
It is also worth while investigating how the modem's serial interface between your computer and modem operates. Most modern modems allow you to run the serial interface at a FIXED speed whilst allowing the telephone line interface to change its speed to the highest speed it and the remote modem can both handle.
This is known as split speed operation. If your modem supports this, lock the modem's serial interface to its highest available speed (usually 115,200 baud but maybe 38,400 baud for 14,400 baud modems).
Use your communications software (e.g. minicom or seyon) to find out about your modem configuration and set it to what is required for PPP. Many modems report their current settings in response to AT&V, but you should consult your modem manual.
If you completely mess up the settings, you can return to sanity (usually) by issuing an AT&F - return to factory settings. (For most modem modems I have encountered, the factory settings include all you need for PPP - but you should check).
Once you have worked out the modem setup string required, write it down. You now have a decision: you can store these settings in your modem non-volatile memory so they can be recalled by issuing the appropriate AT command, or you can pass the correct settings to your modem as part of the PPP dialing process.
If you only use your modem from Linux to call into your ISP or corporate server, the simplest set up will have you save your modem configuration in non-volatile RAM.
If on the other hand, you modem is used by other applications and operating systems, it is safest to pass this information to the modem as each call is made so that the modem is guaranteed to be in the correct state for the call. (This has the added advantage also of recording the modem setup string in case the modem looses the contents of its NV-RAM, which can indeed happen).