如何解决额外的串行端口一半工作:这是为什么?
我有一个带有 2 个串口和一个额外的 PCI 双串口 + LPT 的嵌入式板卡,总共达到 4 个串行 tty,尽管添加的 ttyS2 和 ttyS3 几乎不起作用。 该系统运行 Debian buster,在最小设置中添加了很少的软件包。 所有端口都被内核识别
[ +0,021002] 00:03: ttyS0 at I/O 0x3f8 (irq = 4,base_baud = 115200) is a 16550A
[ +0,021110] 00:04: ttyS1 at I/O 0x2f8 (irq = 3,036520] 0000:04:00.0: ttyS2 at I/O 0xc030 (irq = 19,base_baud = 115200) is a ST16650V2
[ +0,035081] 0000:04:00.1: ttyS3 at I/O 0xc020 (irq = 16,base_baud = 115200) is a ST16650V2
并且使用 setserial 进行连续测试给出了相同的结果。
但是请注意,dpkg-reconfigure setserial
不会不在 /etc/setserial.conf 中写入文件,我不知道为什么 - 我尝试解决复制问题手动配置。
从 minicom
之类的某些应用程序中,我看到 没有结果 打开端口并从远程终端连接,没有发送任何内容,也没有收到任何内容。
从使用 librxtx-java
的测试应用程序来看,它看起来正在发送数据,但是当收到数据时会发生
[mar23 08:42] irq 16: nobody cared (try booting with the "irqpoll" option)
[ +0,000014] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 4.19.0-14-amd64 #1 Debian 4.19.171-2
[ +0,000003] Hardware name: /,BIOS 5.6.5 12/18/2018
[ +0,000002] Call Trace:
[ +0,000006] <IRQ>
[ +0,000012] dump_stack+0x66/0x81
[ +0,000008] __report_bad_irq+0x3a/0xb4
[ +0,000006] note_interrupt.cold.9+0xa/0x63
[ +0,000008] handle_irq_event_percpu+0x6d/0x80
[ +0,000006] handle_irq_event+0x3c/0x60
[ +0,000004] handle_fasteoi_irq+0xa3/0x160
[ +0,000007] handle_irq+0x1f/0x30
[ +0,000006] do_IRQ+0x49/0xe0
[ +0,000005] common_interrupt+0xf/0xf
[ +0,000003] </IRQ>
[ +0,000007] RIP: 0010:cpuidle_enter_state+0xb9/0x320
[ +0,000006] Code: e8 7c 85 b2 ff 80 7c 24 0b 00 74 17 9c 58 0f 1f 44 00 00 f6 c4 02 0f 85 3b 02 00 00
[ +0,000003] RSP: 0018:ffffb9e30020be90 EFLAGS: 00000246 ORIG_RAX: ffffffffffffffd7
[ +0,000005] RAX: ffff9329f8122140 RBX: 000000ae53921a15 RCX: 000000000000001f
[ +0,000002] RDX: 000000ae53921a15 RSI: 0000000060062542 RDI: 0000000000000000
[ +0,000003] RBP: ffff9329f812a248 R08: 0000000000000002 R09: 0000000000021a00
[ +0,000002] R10: 000000ecc794a002 R11: ffff9329f8121128 R12: 0000000000000001
[ +0,000002] R13: ffffffffa98b70b8 R14: 0000000000000001 R15: 0000000000000000
[ +0,000011] do_idle+0x228/0x270
[ +0,000006] cpu_startup_entry+0x6f/0x80
[ +0,000005] start_secondary+0x1a4/0x200
[ +0,000006] secondary_startup_64+0xa4/0xb0
[ +0,000005] handlers:
[ +0,000009] [<00000000920e25ee>] serial8250_interrupt
[ +0,000005] Disabling IRQ #16
我读了几篇文章并快速阅读了 Serial-HOWTO,但似乎一旦 setserial
找到了正确的配置,一切都应该按预期进行,所以我不知道发生了什么
---- 编辑
好吧,我(几乎)解决了:板子有 2 个串行和 1 个并行,都连接到外部设备。我不匹配一个非标准的外部连接器并将一些 RS232 电平信号路由到并行端口:结果是致命的。 令人困惑的结果是控制器看起来仍在工作,但并非 100% 这样做。 我在等一个新的板子...
解决方法
好吧,我(几乎)解决了:这完全是硬件故障。
板子有2个串口1个并联,都接外接设备。我不匹配一个非标准的外部连接器并将一些 RS232 电平信号路由到并行端口:结果是致命。
令人困惑的结果是控制器看起来仍在工作,但并非 100% 这样做。我在等一个新的板子...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。