我不是串行通信方面的专家,很久以前我就试过了。我的直接目标是连接到SUN Sparc T5140上的服务处理器,但从那时起,我就尝试连接到多个设备,每次结果都是一样的。我得到一个空白的屏幕/终端,光标没有移动,屏幕/终端上什么也没有发生。
我在主机(也尝试过不同的主机)和目标之间有一个连接电缆(零调制解调器电缆),连接到一个9引脚的串行端口。
我已经检查了我使用的是哪个端口,以这种方式:
0: uart:16550A port:000003F8 irq:4 tx:0 rx:0 RTS|DTR
1: uart:16550A port:000002F8 irq:3 tx:0 rx:0通过这个,我可以看到,是ttyS0有一个电气连接。
我也尝试过不同的模式/速度,等等。
我尝试过不同的客户端,比如minicom、screen和putty,最终都出现在这个空屏幕/终端中,它没有显示任何内容,也不需要任何输入。有更多的客户我没有尝试,但我觉得没有必要,问题是其他地方。
我已经考虑过这条电缆,但我今天从我信任的一家商店买的,我认为既然它显示了电力连接,它应该是对的.?但这里我不确定..。
如果我使用的是ttyS0或ttyS1以外的其他东西,屏幕上写着:
[root@tc1 ~]# screen /dev/ttyS2
[screen is terminating]我猜这一定意味着没有通讯或者没有设备配置。

发布于 2018-10-24 04:32:27
通过这个,我可以看到,是ttyS0有一个电气连接。
对不起,但你搞错了。
RTS和DTR信号只表示某个东西正在激活本地端的端口,即计算机上的端口上有screen、minicom、ModemManager、agetty或类似的程序。他们根本不知道遥控器的情况,因为它们都是传出的信号。使用fuser -u /dev/ttyS0作为root获取激活端口的本地进程的PID。
如果您不相信我的话,请运行screen /dev/ttyS1,当它运行时,在另一个窗口中再次运行cat /proc/tty/driver/serial。现在您应该看到ttyS1 RTS和DTR信号也处于活动状态。
另一方面,CTS和DSR信号将表明两件事:
通常,在串行连接工作之前,您还必须拥有它的参数。最常见的变量是连接的波特率(速度):在T5140的控制台端口上,我首先尝试9600 bps。其他设备也可能使用38400甚至115200 bps;在我的经验中,这些都是最常见的值。
其他参数是数据位数(8是当今最常见的值)、奇偶校验(“无”是最常见的)和停止位数(1是最常见的)。
即使所有参数都正确,另一端也可能不会发送任何内容,直到它获得一些有效的字符作为输入。因此,一旦启动了screen或minicom,请按一次或两次Enter。
大多数串行控制台连接工作在“远程回波”原则上:当您键入某项内容时,输入的字符只是发送出串行端口,而不显示在屏幕上。只有当远程终端回显字符时,它们才会显示出来。这允许输入密码,而不让它们在屏幕上可见(因为远程终端只是禁用用于密码输入的echo函数),并告诉您您输入的字符是正确的。
对于不适合人类使用的串行连接,可以省略此远程回波函数:如果要排除此类连接的故障,则可能希望激活终端模拟器程序中的“本地回波”函数(例如,minicom中的“屏幕和键盘”设置部分中的q)。如果同时具有本地和远程回波,则键入的任何内容在屏幕上都会显示为ddoouubblleedd。
https://unix.stackexchange.com/questions/477269
复制相似问题