尽管 ubuntu 看到了我的串行端口,但它不会发送或接收数据

尽管 ubuntu 看到了我的串行端口,但它不会发送或接收数据

我的 ubuntu server 16.04 机器上的串行端口一直有问题。首先,它是一台 lenovo thinkcentre M-57 型号 6071,下面是 uname -a 的输出:

Linux server 4.4.0-78-generic #99-Ubuntu SMP Thu Apr 27 15:28:22 UTC 2017 i686 i686 i686 GNU/Linux

情况是这样的,这台机器的主板上有一个串行端口,我正试图将它与调制解调器一起使用。系统将串行端口识别为 ttyS4,我甚至可以在该端口上进入屏幕会话,但是当我开始输入时,没有数据发送到我的调制解调器(我的调制解调器具有模拟环回功能,因此它会将输入的所有内容返回到终端,这在其他计算机上有效)并且也没有收到任何数据,就好像我没有将数据发送到正确的端口一样,但这是唯一检测到的物理端口。串行端口正在提供一些电流,因为当我将调制解调器连接到它时,DTR 灯会亮起。以下是更多信息:

    nikolai@server:~$ dmesg | grep tty
[    0.000000] console [tty0] enabled
[    0.987516] 0000:00:03.3: ttyS4 at I/O 0x1c90 (irq = 17, base_baud = 115200) is a 16550A

nikolai@server:~$ sudo setserial -g /dev/ttyS[0123456]
[sudo] password for nikolai: 
/dev/ttyS0, UART: unknown, Port: 0x03f8, IRQ: 4
/dev/ttyS1, UART: unknown, Port: 0x02f8, IRQ: 3
/dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4
/dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3
/dev/ttyS4, UART: 16550A, Port: 0x1c90, IRQ: 17
/dev/ttyS5, UART: unknown, Port: 0x0000, IRQ: 0
/dev/ttyS6, UART: unknown, Port: 0x0000, IRQ: 0

nikolai@server:~$ stty -F /dev/ttyS4 -a
speed 9600 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff
-iuclc -ixany -imaxbel -iutf8
-opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig -icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke -flusho -extproc

我对这个问题很困惑,希望有人能帮我。我订购了一张 pci 串行端口卡,但它是从中国发货的,所以要花一个月的时间。同时,我想弄清楚这个问题,希望这不是驱动程序问题。提前谢谢。

答案1

警告:错误地修改计算机 BIOS 配置中的设置可能会导致系统损坏或无法运行。请自行承担风险,并采取预防措施

如果适用,请尝试在 BIOS 中禁用任何附带的并行端口,因为我亲眼见过这会导致基于 Debian 的机器上的串行端口启动。如果可能,请将流控制选项从硬件更改为 Xon/Xoff,因为其他选项可能会阻止调制解调器响应主机。

相关内容