我的 Ubuntu 20.04 系统有一个串行端口,我想通过它提供控制台访问。
我可以确认我可以通过串行端口与
sudo picocom -b 115200 /dev/ttyS5
我启动 Getty 实例
sudo systemctl start serial-getty@ttyS5
启动命令
/sbin/agetty -o '-p -- \u' --keep-baud 115200,38400,9600 ttyS5 vt220
但是,远程系统上不会出现登录提示。
答案1
我曾经strace
监视agetty
的活动,并且确实看到它正在向串行设备写入和读取,即使远程端没有出现任何内容。
在使用strace
监视系统调用后,我发现每当我在远程端键入时,agetty
只能看到字节0xFF
,这表明波特率不好。
我添加了一条udev
规则来设置串行设备上的波特率:
... RUN+="/bin/stty -F /dev/%k 115200"
由于[email protected]
通过了该--keep-baud
选项,它将使用先前配置的波特率。