网络管理员指南 -4.设置串联硬件 -4>串联硬件

/ns/wz/net/data/20020808022929.htm

网络管理员指南 -4.设置串联硬件 -4>串联硬件

本文出自:http://www.linpus.com.tw 作者: Andrew Anderson


当前支持使用 RS-232 标准的各式各样的连续的板。RS-232 是当前为在 PC 世界中对于连续的通讯
的最普通的标准。它象为同步一样,为传输单个的位使用很多电路。附加的线可以被用于发送一个传输存
在的信号(由调制解调器使用了),并且握手。

尽管硬件握手是可选的,它是很有用的。它允许两个位置的任意一个发送它是否准备收到更多的数据
的信号,或是否另外的位置应该暂停直到接收装置被完成处理到来的数据。用于这个的线被称为“清除发送”
(CTS)和“准备发送”( RTS ),分别地,它说明硬件握手的口语名字,也就是“ RTS/CTS ”。

在 PC机中, RS-232 接口通常被来自国家的 半导体-16450芯片的一块 UART 芯片驱动,或其中的一个
更新的版本,NSC-16550A。一些标记(最值得注意的是用 Rockwell 芯片组装备了的内部调制解调器)也使用被
规划为表现好像他们是 16550 的完全不同的芯片。

16450 和 16550 之间的主要的差别是,后者有 16 个字节的一个 FIFO 缓冲区,然而前者仅仅有一个1字
节缓冲区。这使 16450 合适为加快到9600波特,因为更高的速度要求一块16550兼容机芯片。除这些芯片以外,
也支持 8250 芯片,它是为 PC-AT 的原来的 UART 。

在缺省配置中,核心检查通过COM4的四个标准的连续端口COM1 。这些将通过67被分配设备较小的数字 64 ,
如上所述。

如果你想要适当地设置你的连续的端口,你应该与 rc.serial 手迹一起安装特德・措的setserial的命令。
这个手迹应该在系统启动时间从 /etc/rc 中被调用。设置核心连续的设备使用 setserial 。一个典型的
rc.serial 手迹看起来像这样:


# /etc/rc.serial - serial line configuration script.
#
# Do wild interrupt detection
/sbin/setserial -W /dev/cua*

# Configure serial devices
/sbin/setserial /dev/cua0 auto irq skip test autoconfig
/sbin/setserial /dev/cua1 auto irq skip test autoconfig
/sbin/setserial /dev/cua2 auto irq skip test autoconfig
/sbin/setserial /dev/cua3 auto irq skip test autoconfig

# Display serial device configuration
/sbin/setserial -bg /dev/cua*



请参考与 setserial一起解释参数的文档。

如果你的连续的卡没被检测,或 setserial bg 命令显示不正确的设置,你将必须通过明确地供应正确的值
强迫配置。Rockwell 芯片组装备了内部调制解调器的用户被报导经历过这个问题。如果,例如, UART 芯片被报
导是一个 NSC-16450 ,而事实上它是 NSC-16550-compatible 时,你必须为不好的端口改变配置命令到
/sbin/setserial /dev/cua1 auto irq skip test autoconfig uart 16550

类似的选择存在于力量 COM 端口,基本地址,和IRQ设置。请参考 setserial ( 8 )手册页。

如果你的调制解调器支持硬件握手,你应该保证启用它。尽管它是吃惊的,大多数通讯程序不试图由缺省
启用这个;相反你必须手动地设置它。这最好在 rc.serial 手迹中被施行,使用 stty 命令:
$ stty crtscts < /dev/cua1

检查硬件握手是否有效,使用 $ stty -a < /dev/cua1

这为那台设备给你所有标记的地位;被显示出的一个标记的前面有一个减号,例如- crtscts,意味着
标记被关掉了。