Linux

將 pppd 與串列埠一起使用?

  • June 20, 2014

我只需要通過帶有 PPP的unix-socket發送/接收消息。但起初我想用普通的串口啟動 pppd 以確保我知道它是如何工作的。如我所見,如果我將 pppd 綁定到串列,所有到達那裡的數據包都將從 PPP/IP/… 解包,並使用我的應用程序重定向到某個埠。據我了解,這只能通過 pppd 創建一個新的網路介面來完成。所以我需要給pppd一個IP。在閱讀手冊並遇到一些問題後,我想出了一個似乎正確的選項,但我仍然無法讓它工作:

$ 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——唉,這裡沒有出現新的網路介面。

我還被要求提供教程,但我發現的所有內容似乎都沒有用,主要是因為這些已被棄用:這些經常提到配置、軟體或現在不存在的站點。部分原因是這些提到了許多對我來說似乎沒有意義的行為。

那麼,有人知道,我缺少哪些選項?

一般來說,PPPpppd主要用於撥號連接,因此所有預設設置都假定該pppd過程將作為手動啟動序列的一部分啟動。序列中的前一步應該是建立一個串列連接(即調製解調器通過說 表示它與遠端調製解調器的握手完成CONNECT

您想顛倒事情的順序,首先開始pppd並使其等待物理連接出現。該persist選項可以做到這一點。

文件persist

maxfail選項仍然對持久連接有影響**。**

所以你可能還需要maxfail 0覆蓋它。通過快速查看手冊頁,我可以看到其他相關選項是demandidleholdoff,所有這些選項都將幫助您控制在對等方不存在時介面的行為方式。

另一個有用的connect選項:在撥號情況下用於指定撥號調製解調器的程序的選項可能對您有用。您可以指定一個connect腳本,它只監視串列埠狀態並在存在連接時退出。

引用自:https://serverfault.com/questions/606773