linux - 在 Linux 中启用串行端口 ttyS2 和 ttyS3

标签 linux serial-port qemu tty

我正在为 Linux 开发串行应用程序,mips。我正在运行带有 Linux 的 QEMU,用于内部 mips,并希望使用所有可用的串行端口。根据 QEMU 文档,它最多仅支持 4 个串行端口,为了使用它们,我必须将“--serial”选项添加到 QEMU 运行命令以获取我想使用的任何其他端口。

但是,当 qemu 启动时,看起来实际上只有 ttyS0 和 ttyS1 可用。当我向 ttyS2 写入数据时,我遇到了问题,而向 ttyS3 写入数据时,我得到:“标准输出:输入/输出错误”。

在/dev/下有 ttyS2 和 ttyS3 FD。

当我执行 "dmesg | grep tty" 命令时,我得到以下输出:

Kernel command line: root=/dev/sda clocksource=GIC console=ttyS0
console [ttyS0] disabled
serial8250.0: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
console [ttyS0] enabled
serial8250.0: ttyS1 at I/O 0x2f8 (irq = 3, base_baud = 115200) is a 16550A
serial8250.0: ttyS2 at MMIO 0x1f000900 (irq = 20, base_baud = 230400) is a 16550A

如果您查看它,您会发现 ttyS3 没有出现,ttyS2 存在,但波特率不同于 ttyS1&0。当我尝试使用 sty 命令将 BR 更改为 ttyS2 时,没有任何反应。

任何人都可以帮助我了解我缺少什么来激活 ttyS2 和 ttyS3 吗?

最佳答案

那段文档相当具有误导性,因为它是在我们真正只有 x86 PC 仿真时写回来的。实际情况是 QEMU 支持板仿真有多少串口,最多 4 个。所以这取决于您使用的 MIPS 板,实际最大串口数是多少。从实验上看,这里的答案似乎是“3”...

(特别是如果您没有运行 x86 客户机,提供您正在使用的 QEMU 命令行始终很重要,因为非 x86 系统彼此之间以及同一系统中的不同板之间可能会有很大差异 guest 架构。x86 真的很奇怪,因为所有机器都几乎相同。)

关于linux - 在 Linux 中启用串行端口 ttyS2 和 ttyS3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47328872/

相关文章:

linux - 带父目录的安全副本

linux - 将独立 WiFi 芯片(TI CC3100)集成到 Linux 中

delphi - 关闭线程时死锁

c++ - "Writefile"for RS232 communication using MFC hangs forever, but

c# - 如何构建UDP数据包但不发送它

macos - 如何确定 Docker 容器(在 M1 MacBook 上)何时通过 qemu 运行?

python - 具有 shutil 模块的最低版本的 Python 是什么?

linux - 如何在 linux 上通过命令行发送嵌入在邮件中的 png 文件?

windows - 创建 QEmu guest 操作系统的 WinDbg 可读转储

java - RISC-V QEMU 上的 GDB