FreeBSD handbook中文版 15 串口通讯( 七 )


:nx=V1200:tc=std.2400:
up|V9600|High Speed Modem at 9600,8-bit:
:nx=V2400:tc=std.9600:
uq|V19200|High Speed Modem at 19200,8-bit:
:nx=V9600:tc=std.19200:
上面使用19.2 Kbps 的连接速度的例子 , 也可以使用9600 bps (for V.32), 2400 bps,
1200 bps, 300 bps,直到19.2 Kbps 。通讯率的调节使用nx= (“next table”)来实现 。每
条线使用一个tc= (“table continuation”)的记录来加速对于一个特殊数据率的标准设
置 。
如果你有一个28.8 Kbps 的modem , 或你想使用它的14.4Kbps , 你需要使用一个更高的
超过19.2 Kbps 的通讯速率的modem 。这是一个启动57.6 Kbps 的gettytab 记录的例子:
#
# Additions for a V.32bis or V.34 Modem
第14 页FreeBSD 使用手册
# Starting at 57.6 Kbps
#
vm|VH300|Very High Speed Modem at 300,8-bit:
:nx=VH57600:tc=std.300:
vn|VH1200|Very High Speed Modem at 1200,8-bit:
:nx=VH300:tc=std.1200:
vo|VH2400|Very High Speed Modem at 2400,8-bit:
:nx=VH1200:tc=std.2400:
vp|VH9600|Very High Speed Modem at 9600,8-bit:
:nx=VH2400:tc=std.9600:
vq|VH57600|Very High Speed Modem at 57600,8-bit:
:nx=VH9600:tc=std.57600:
如果你有一个低速的CPU 或一个庞大负载的系统 , 你没有16550A 的串行端口 , 你可能
会在57.6 Kbps 上得到sio 错误 。
15.4.4.2 /etc/ttys
/etc/ttys 文件的配置在例15-1 中介绍过 。配置modem 是相似的 , 但我们必须指定一
个不同的终端类型 。锁定速度和匹配速度配置的通用格式是:
ttyd0 "/usr/libexec/getty xxx" dialup on
上面的第一条是这个记录的设备特定文件—ttyd0 意味着/dev/ttyd0 是这个getty 将被
监视的文件 。第二条"/usr/libexec/getty xxx"是将运行在设备上的处理init 。第三条 ,
dialup , 是默认的终端类型 。第四个参数 , on,指出了线路是可操作的init 。也可能会有第
五个参数 , secure , 但它将只被用作拥有物理安全的终端(如系统终端) 。
第15 页FreeBSD 使用手册
默认的终端类型可以依赖于本地参考 。拨号是传统的默认的终端类型 , 以至用户可以定
制他们的登陆脚本来注意终端什么时候拨号 , 和自动调节他们的终端类型 。然而 , 作者发现
它很容易在他的站点上指定vt102 作为默认的终端类型 , 既然用户刚才在他们的远程系统上
使用的是VT102 模拟器 。
你对/etc/ttys 作修改之后 , 你可以发送init 进程给一个HUP 信号来重读文件 。你可
以使用下面的命令来发送信号 。:
# kill -HUP 1
如果这是你的第一次设置系统 , 你可能要在发信号init 之前等一下 , 等到你的modem
被正确地配置并连接好 。
15.4.4.2.1 锁定速率的配置
对于一个锁定速率的配置 , 你的ttys 记录必须有一个为getty 提供固定速率的记录 。
对于一个速度被锁定在19.2kbps 的modem , ttys 记录是这样的:
ttyd0 "/usr/libexec/getty std.19200" dialup on
如果你的modem 被锁定在一个不同的数据速率 , 为std. speed使用适当的速率来代替
std.19200 。确信你使用了一个在/etc/gettytab 中列出的正确的类型 。
15.4.4.2.2 匹配速度的配置
在一个匹配速率的配置中 , 你的ttys 记录需要参考在/etc/gettytab 中适当的起始
auto-baud 记录 。例如 , 如果你为一个以19.2 Kbps 开始的可匹配速度的modem 添加上面建
议的记录的话 , 你的ttys 记录可能是这样的:
ttyd0 "/usr/libexec/getty V19200" dialup on
15.4.4.3 /etc/rc.serial
高速modem , 象V.32, V.32bis, 和V.34 modems , 需要使用硬件(RTS/CTS)流控制 。你
可以在/etc/rc.serial 中添加stty 命令来设置硬件流控制标记 。
例如 , 在拨入和拨出初始设备的#1"s (COM2:)串行端口上设置termios 标记crtscts ,
下面这些行会被添加到/etc/rc.serial 中:

推荐阅读