ubuntu与 一台特殊的MCU进行PPP连接的问题
现象:
双方利用pppd进行连接,双方都已显示IP。但是ping不通,2.5min后断开连接。
原因:
pppd默认硬件流控制,而我们的MCU恰好CTS信号线是存在问题的,MCU上的linux系统是检测不到的。但是为什么能走到连接这一步,学识浅薄还不能解释。只能推测说,正式建立连接前的包,不受ctsrts流控制。
解决方案:
pppd选项加一个 nocrtscts
过程:
①最初发现是因为测试写的libppp.so
②使用最简单pppd命令测试,问题存在
③设置iptables 顺便了解以下,防火墙规则,设置命令啥的
④查看syslog,没发现啥。在NetworkManager那花了大功夫,啥也没懂。
Nov 25 15:32:14 hzfuji-VirtualBox systemd-udevd[7520]: ethtool: autonegotiation is unset or enabled, the speed and duplex are not writable.
Nov 25 15:32:14 hzfuji-VirtualBox NetworkManager[522]: <info> [1637825534.1941] manager: (ppp0): new Ppp device (/org/freedesktop/NetworkManager/Devices/7)
Nov 25 15:32:15 hzfuji-VirtualBox pppd[7518]: not replacing default route to enp0s3 [10.0.2.2]
Nov 25 15:32:15 hzfuji-VirtualBox NetworkManager[522]: <info> [1637825535.5300] device (ppp0): state change: unmanaged -> unavailable (reason 'connection-assumed', sys-iface-state: 'external')
Nov 25 15:32:15 hzfuji-VirtualBox pppd[7518]: local IP address 192.168.244.4
Nov 25 15:32:15 hzfuji-VirtualBox pppd[7518]: remote IP address 192.168.244.3
Nov 25 15:32:15 hzfuji-VirtualBox NetworkManager[522]: <info> [1637825535.5354] device (ppp0): state change: unavailable -> disconnected (reason 'none', sys-iface-state: 'external')
⑤了解原来MCU是如何进行ppp连接,以前有跑一个modem,ppp连接时他发出来的
⑥MCU串口开发时,我就有发现该modem有通过GPIO控制信号线的行为
⑦推测出可能跟硬件流相关
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理