Мне просто нужно отправить / получить сообщение через unix-сокет с PPP. Но сначала я хочу запустить pppd с обычным последовательным портом, чтобы убедиться, что я знаю, как он работает. Как я вижу, если я привяжу pppd к последовательному порту, все пришедшие туда пакеты будут развернуты из PPP / IP / ... и перенаправлены на какой-либо порт с моим приложением. Насколько я понимаю, это можно было сделать только путем создания нового сетевого интерфейса с помощью pppd. Поэтому мне нужно дать IP-адрес pppd. После прочтения руководств и получить некоторые проблемы Я выяснил варианты, которые кажутся правильными, но я все еще не могу заставить их работать:
$ pppd local -detach 10.5.57.198: /dev/ttyS4
Using interface ppp0
Connect: ppp0 <--> /dev/ttyS4
LCP: timeout sending Config-Requests
Connection terminated.
Modem hangup
Перед названием LCP: timeout sending Config-Requests
оказывается у меня есть время, и я запустил в это время ifconfig
- Увы, нового сетевого интерфейса здесь не появилось.
Также меня искали для руководств, но все, что я нашел, кажется бесполезным, в основном потому, что они устарели: в них часто упоминаются конфиги, программное обеспечение или сайты, которых сейчас нет. И частично потому, что в них упоминается много действий, которые, кажется, не имеют для меня смысла.
Итак, кто-нибудь знает, какие варианты мне не хватает?
ГЧП в целом и pppd
в частности, в основном использовались для коммутируемых подключений, поэтому все настройки по умолчанию предполагают, что pppd
процесс будет запущен как часть инициируемой вручную последовательности. Предполагается, что предыдущий шаг в последовательности устанавливает последовательное соединение (то есть модем указывает на завершение своего рукопожатия с удаленным модемом, говоря CONNECT
)
Вы хотите изменить порядок вещей, начиная pppd
сначала и заставляя его ждать появления физического соединения. В persist
вариант делает это.
Документация для persist
говорит
В maxfail опция по-прежнему влияет на постоянные соединения.
так что вам также может понадобиться maxfail 0
чтобы отменить это. Другие связанные параметры, которые я могу увидеть при беглом просмотре страницы руководства: demand
, idle
, и holdoff
, все это поможет вам контролировать, как интерфейс ведет себя, когда партнер отсутствует.
И еще один полезный: connect
опция, которая используется в случае коммутируемого доступа, чтобы указать программу, которая набирает номер модема, может быть вам полезна. Вы можете указать connect
сценарий, который просто следит за состоянием последовательного порта и завершает работу при наличии соединения.