使用串口调制解调器

来自 Alpine Linux


要求

安装 alpine-2.1.3 或更新版本 (如果您不确定如何操作,请参阅这些说明)。

确定要使用的串口,并将调制解调器连接到它。
在下面的示例中,将 ttyS0 替换为 ttySX,其中 X 与您的 COM 端口号匹配。
(/dev/ttyS0 与 COM1 相同,ttyS1=COM2,ttyS2=COM3,ttyS3=COM4,...)

安装软件包

安装所需的软件包

apk add ppp

加载模块

加载所需的模块,并确保它们在下次重启时自动加载

modprobe ppp_generic echo "ppp_generic" >> /etc/modules-load.d/ppp.conf

配置文件

/etc/ppp/peers/serialmodem

(文件名 'serialmodem' 可以更改,但运行 pon/poff 命令时需要记住它)

debug
/dev/ttyS0
115200
modem
crtscts
asyncmap 0
defaultroute
lock
noauth
user '{login_id}'
connect '/usr/sbin/chat -v -f /etc/ppp/chat-serialmodem'

/etc/ppp/chat-serialmodem

(文件名 'chat-serialmodem' 可以更改,但您需要修改上面显示的配置文件以反映您的选择)

ABORT 'BUSY'
ABORT 'ERROR'
ABORT 'NO ANSWER'
ABORT 'NO CARRIER'
ABORT 'NO DIALTONE'
ABORT 'Invalid Login'
ABORT 'Login incorrect'
REPORT 'CONNECT'
TIMEOUT '60'
'' 'ATZ'
OK 'ATDT{phonenumber}'
CONNECT '\d\c'
Username: '{login_id}'
Password: '{your_password}'

/etc/ppp/pap-secrets

如果您的 pppd 日志报告类似这样的内容

daemon.debug pppd[5665]: rcvd [LCP ConfReq id=0xf6 <asyncmap 0xa0000> <auth pap> <magic 0xa239b2b1> <pcomp> <accomp>]

(注意 "<auth pap>" 部分)
您可能需要使用 pap-secrets 文件(或 chap-secrets,具体取决于 pppd 在日志中报告的内容)。
您的文件可能看起来像这样

# client     server  secret            IP addresses
{login_id}   *       {your_password}   *

如果您使用 'pap-secrets' (或 'chap-secrets'),您很可能应该注释掉 '/etc/ppp/chat-serialmodem' 配置文件中的 'Username:' 和 'Password:' 行。

上述示例配置的注意事项

注意: 将上面的单词 {login_id}{your_password}{phonenumber} 替换为您从 ISP 收到的内容。字符 {} 也应删除。
注意: 您可能需要替换 'Username:''Password:' 部分,以反映您的 ISP 用于要求您输入凭据的词语
提示: 您可能需要在您的 chat-serialmodem 配置中将 "CONNECT '\d\c'" 替换为 "CONNECT 'CLIENT'"

参考

启动/停止

启动连接

pon serialmodem

停止连接

poff serialmodem

如果出现问题...

检查进程是否正在运行

pidof pppd

日志文件可能会为您提供有关哪里出错的线索

egrep "pppd|chat" /var/log/messages

检查网卡信息

ifconfig ppp0

pppd 有一个状态信息功能,可能会派上用场

pppstats