我怎么知道我的串口适配卡是否正常工作?

我刚刚在我的Ubuntu 10.10系统中安装了一个2端口串口适配器,然后我尝试按照我在旧系统上使用的教程连接到cisco路由器(我的旧系统有一个板载串口适配器,教程工作正常) 。 我无法让我的系统连接到cisco路由器,所以我想知道该卡是否在Ubuntu中工作。 如何判断该卡是否与Ubuntu一起使用?

#dmesg | grep tty [ 0.000000] console [tty0] enabled [ 0.358667] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A [ 0.358994] 00:0c: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A [ 0.359128] ttyS1: detected caps 00000700 should be 00000100 [ 0.359132] 0000:03:00.0: ttyS1 at MMIO 0xfeafd000 (irq = 16) is a 16C950/954 [ 0.359191] ttyS2: detected caps 00000700 should be 00000100 [ 0.359195] 0000:03:00.0: ttyS2 at MMIO 0xfeafd200 (irq = 16) is a 16C950/954 

你的Ubuntu设置方式是正确的,/ dev / ttyUSB0的串口是正确的串口。 您可以通过将一些数据输入到端口来测试端口,如果它没有返回错误,那么它就像串行端口一样工作:

 ls > /dev/ttyUSB0 

现在要让它工作,你可能需要找出正确的设置。 或者您可能必须在cisco路由器上打开串行端口通信(它并不总是打开)。

如果你想要你可以使用ttywatch做一些串口调试。 但它可能超出了你的范围。

测试串口的最简单方法是将Tx回送到Rx。 如果你有一个环回插头,这很容易。 如果没有将引脚2连接到引脚3(db9或db25)。

然后使用像picocomm这样的终端程序打开端口。 如果端口正常工作,您应该看到您键入的字符。 如果没有,端口不工作。 您可能必须配置picocomm以忽略RTS / CTS信令。

我发现RS-232在线信号测试仪(每个信号都有一个带LED的小块)很有帮助。 如果你的信号线交叉,它将有助于找到。 在低速时,您可以看到在Tx和Rx线上传递的数据。 如果划线,您可能需要使用零调制解调器电缆。

我认为使用路由器附带的电缆很重要。 如果我没弄错的话,它会按照与CAT-5电缆相反的顺序连接引脚。

使用相同的设置,我发现我必须调整setserial baud_base以获得正确的波特率。

例如:

 setserial /dev/ttyS1 baud_base 115200 setserial /dev/ttyS2 baud_base 115200 

例如,您可以将其粘贴到/etc/rc.local中。

使用另一个串行卡,波特率为921600

使用setserial -gav /dev/ttyS*检查串行线路的串行状态

卡是通过PCI连接的吗? 如果是这样,只需在终端中运行lspci并查看它是否显示。