首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于的Intel NUC串口I/O错误

基于的Intel NUC串口I/O错误
EN

Unix & Linux用户
提问于 2015-03-21 19:44:12
回答 1查看 4.4K关注 0票数 2

我有一个问题,让串行口工作英特尔NUC DE3815TYBE。我已经安装了Debian内核3.16.0-0.bpo.4-amd64 64。

当我这么做时:

代码语言:javascript
运行
复制
setserial -g /dev/ttyS*

我得到:

代码语言:javascript
运行
复制
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
/dev/ttyS1, UART: 16550A, Port: 0x0000, IRQ: 19
/dev/ttyS2, UART: 16550A, Port: 0x0000, IRQ: 19
/dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3

我可以连接到ttyS0 - ttyS2,没有任何问题,但是ttyS3没有工作,我得到了以下错误:

我命令:

代码语言:javascript
运行
复制
stty -F /dev/ttyS3 9600 cs8 cread clocal

我得到:

代码语言:javascript
运行
复制
stty: /dev/ttyS3: Input/output error

知道怎么解决这个问题吗?我以根用户的身份运行这些命令。我也尝试过: setserial /dev/ttyS3Irq3UART16550A skip_test,但我得到的是相同的stty: /dev/ttyS3:输入/输出错误

产出:

代码语言:javascript
运行
复制
dmesg | grep tty



[    0.000000] console [tty0] enabled
[    0.952559] serial8250: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
[    0.953593] 0000:00:1e.3: ttyS1 at MMIO 0xd0810000 (irq = 19, base_baud = 2764800) is a 16550A
[    0.954072] 0000:00:1e.4: ttyS2 at MMIO 0xd080e000 (irq = 19, base_baud = 2764800) is a 16550A
[  27.740208] ttyS2 - failed to request DMA
[  27.746627] ttyS1 - failed to request DMA
[  440.532070] ttyS3: LSR safety check engaged!
[  443.700047] ttyS3: LSR safety check engaged!
[  445.288960] ttyS3: LSR safety check engaged!
[  452.796029] ttyS3: LSR safety check engaged!
[  453.716441] ttyS3: LSR safety check engaged!
[  463.732506] ttyS3: LSR safety check engaged!
[  470.222491] ttyS3: LSR safety check engaged!
[  470.222774] ttyS3: LSR safety check engaged!
[  473.748363] ttyS3: LSR safety check engaged!
[  474.359756] ttyS3: LSR safety check engaged!
[  482.783201] ttyS3: LSR safety check engaged!
[  483.763953] ttyS3: LSR safety check engaged!
[  493.931641] ttyS3: LSR safety check engaged!
[  503.982224] ttyS3: LSR safety check engaged!
[  514.020686] ttyS3: LSR safety check engaged!
[  524.074170] ttyS3: LSR safety check engaged!
[  534.090644] ttyS3: LSR safety check engaged!
[  544.110381] ttyS3: LSR safety check engaged!

lsof /dev/ttyS3 3不返回任何内容,所以这意味着没有任何与ttyS3相关的东西,我想,但是我对linux不是很熟练,所以我可能弄错了

为什么我可以看到4ttyS*在我的Linux,但物理上,我只有2个物理串口在板上?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2015-03-24 17:12:40

您声明您只有两个物理串行端口,您可以检测到这些端口到ttyS1和ttyS2。ttyS3和ttyS4不存在;它们是公开的,但您必须忽略它们。这就是驱动程序的工作方式;它探测什么可能是串行端口并向您公开,但是您必须验证它是真正的串行端口,因为驱动程序不能100%确定。这一行:

ttyS3: LSR安全检查已启动!

告诉您,串行端口ttyS3还没有准备好,在您的情况下,它永远不会准备好,因为它不存在。驱动程序尽力正确地检测串口,但有时会失败。在这种情况下,您必须找到公开的接口实际上是手动连接到硬件上的,您已经这样做了。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/191670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档