场景指南
通过 RFC 2217 直连远端串口
适合客户端能够直接访问现场电脑或串口服务器的 IP 和端口时使用,常见于同一局域网或已经互通的 VPN。
无法直达现场网络、需要从任意地点登录时,使用 Web 远程调试。
典型拓扑是:远程 RFC 2217 Client → 可直达网络 → 现场 TCP Server ⇄ 物理串口 → 设备。
现场端:建立 RFC 2217 服务端
- 配置端口 A,选择设备对应的物理串口,并按设备手册设置串口参数。
- 通过 编辑 → 增加端口 创建端口 B;选择 TCP/UDP → TCP Server,监听局域网地址或
AnyIPv4,例如端口6000。 - 打开 工具 → 桥接… → 新建,A 端选物理串口,B 端选 TCP Server,方向选择 A ⇄ B(双向)。
- 勾选 启用 和 自动打开两端端口;协议选择 RFC 2217 服务端,成帧保持 立即转发。
- TCP 客户端保持 同时只允许一个客户端。按需设置允许的客户端,并放行系统防火墙端口。
远程端:直连现场服务端
在端口下拉中选择 远端串口 (RFC 2217),主机填写现场端可直达的局域网或 VPN 地址,端口填写相同的 6000。确认先建立 TCP、随后出现 远端已接受串口参数设置,再发送一条已知命令核对两端 TX/RX 和设备应答。
两端各自的完整配置,见 RFC 2217 服务端 和 RFC 2217 客户端;和透明 TCP、Live Console 的取舍见 远程访问方案选型。
端到端验收与逐层排障
这条链路跨越两台机器,按下面的顺序检查,可以区分网络连通、RFC 2217 协商和物理串口通信三个层级:
- 现场端 TCP 连接显示正在等待或已经连接,监听地址和端口与远程端填写的一致。
- 现场端桥接管理窗口状态为 运行中,A→B 与 B→A 的
dropped计数保持为0。 - 远程端先显示 TCP 连接已建立,随后提示 远端已接受串口参数设置。
- 远程端取消“沿用远端串口的现有配置”后修改一个参数,确认现场端物理串口同步变化。
- 发送已知命令,确认两端 TX/RX 计数变化并收到设备应答。
- 连接被拒绝:核对现场端监听地址、端口、防火墙和允许的客户端名单。只绑定
127.0.0.1、防火墙未放行、地址名单不包含客户端,都会导致远程端无法连接。 - TCP 已连接但提示按透明 TCP 继续:对端不是 RFC 2217 服务端,或现场端桥接仍是透明转发。
- 参数不可编辑或没有下发:检查远程端“沿用远端串口的现有配置”是否仍勾选。
- 协商成功但无应答:检查现场端物理串口是否打开、串口参数、接线和设备命令。
- 数据显示乱码:优先核对现场端物理串口的波特率、校验位和停止位。
RFC 2217 自身没有加密和身份认证,不应直接暴露到不可信公网。
只需要转发字节、不需要远程控制串口参数时,可以把桥接协议改为 透明转发,但客户端也必须改用普通 TCP,不能再按 RFC 2217 连接。
桥接配置完成后的通用检查
- 两端窗格都已打开,并显示桥接徽标;管理台状态应为“运行中”,而不是“降级”或“已挂起”。
- 方向与业务拓扑一致;单向桥不会自动把应答送回去。
- 丢弃计数应保持为 0。非零说明目标太慢、缓冲太小或源端无法背压,应先解决原因,不要只增大缓冲。
- 多个 TCP 客户端默认使用“同时只允许一个客户端”。只有明确需要多个客户端共享时才改:多主站请求/应答使用“轮流占用”,并同时设置空闲间隔、定界符或定长成帧;“所有客户端共享”可能让多个请求在串口线上交错。
- 持久使用时把端口和桥接一起保存到
.spu工程;下次打开工程后再次核对物理端口号。