Вам нужен сам pppd (Point to Point Protocol Daemon) и понимание, как он работает. Если необходимо, прочитайте RFC или Linux PPP HOWTO. Вы не используете процедуру входа, не используете (m)getty и вам не нужна (липовая) аутентификация, вам не нужны никакие чат-скрипты. На самом деле, из-за того, что модемы тоже настроены, вам нужно настроить pppd на работу с нуль-модемным кабелем.
Для надежной связи, вам нужно использовать следующие критерии:
Сразу после загрузки системы pppd должен поднять DTR и дождаться DCD (поднимется соединение).
Если удаленная система не отвечает, pppd должен дождаться ответа.
Если соединение разрывается, pppd должен сбросить модем (сбросить и поднять DTR) и попытаться снова поднять связь.
Если качество связи ухудшается, pppd должен сбросить модем и снова поднять связь.
Должен существовать процесс, контролирующий pppd. В случае чего, он должен перезапустить pppd.