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


现象和解决办法的列表:
第9 页FreeBSD 使用手册
1 , 没有登陆命令出现:
确定终端被嵌入和打开了 。如果把一台个人电脑充当一个终端 , 确信终端模拟软件运行
在正确的串口上 。
确信线缆被稳固地连接在终端和FreeBSD 电脑上 。确信用了正确的电缆 。
确定终端和FreeBSD 的传输速率和奇偶设置已经一致了 。如果你有一个图象显示终端 ,
确信对比度已经调节好了 。如果它是一个可打印的终端 , 确信纸张和墨水已经准备好了 。
确定一个getty 进程正在运行和服务终端 。例如 , 可以用ps 命令来得到运行getty 程
序的列表 , 键入:
# ps -axww|grep getty
你将看到一个终端的记录 。例如 , 下面的显示表明一个getty 正在第二个串行端口ttyd1
运行 , 正在/etc/gettytab 中使用std.38400 的记录:
22189 d1 Is0:00.03 /usr/libexec/getty std.38400 ttyd1
如果没有getty 进程运行 , 确信你已经在/etc/ttys 中启用了端口 。在修改完ttys 文
件后 , 记得运行kill -HUP 1。
2 , 出现一个“垃圾”而不是一个登陆命令行
确信终端和FreeBSD 使用相同的bps 传输率和奇偶校验设置 。检查一下getty 进程确信
当前使用的正确的getty 类型 。如果没有 , 编辑/etc/ttys 然后运行kill -HUP 1 。
3 , 当键入密码时 , 字符两个两个出现
将终端(或终端模拟软件)从“half duplex”或“local echo”换成“full duplex” 。
15.4 拨入服务
配置FreeBSD 系统来用拨入服务与连接到终端是非常相似的 , 除非你正在使用modem
来拨号 。
15.4.1 外置和内置modem
外置modem 看起来很容易拨号 。因为 , 外置modem 可以通过储存在非易失性的RAM 中的
第10 页FreeBSD 使用手册
参数来配置 , 他们通常提供指示器来显示重要的RS-232 信号的状态 。不停闪光的信号灯能
给用户留下比较深刻的印象 , 而且指示器也可以用来查看modem 是否正常地工作 。
内置modem 通常缺乏非易失性的RAM , 所以对它们的配置可能被限制在通过DIP 开关来
设置 。如果你的内置modem 有指示灯 , 你也很难看得到 。
15.4.1.1 Modems 和线缆
如果你使用一个外置的modem , 那你将需要适当的电缆线 。一个标准的串行线应当足够
长以至普通的信号能够连接上:
. Transmitted Data (SD)
. Received Data (RD)
. Request to Send (RTS)
. Clear to Send (CTS)
. Data Set Ready (DSR)
. Data Terminal Ready (DTR)
. Carrier Detect (CD)
. Signal Ground (SG)
FreeBSD 需要对速度超过2400bps 的RTS 和CTS 信号进行流控制 , 当一个呼叫被回复或
线路被挂起的时候 , CD 信号就会被侦测到 , 一个任务完成之后 , DTR 信号就会刷新modem 。
一些线缆不需要任何信号就可以连接 , 所以如果你有问题 , 当线路被挂起时 , 一个登陆任务
就会丢失 , 你可能会在线缆上有问题 。
象其它unix 类的操作系统一样 , FreeBSD 使用硬件信号来寻找出一个呼叫什么时候会
回复或一个线路会被挂起 。FreeBSD 避免发送命令给modem 或监视modem 的状况 。如果你熟
悉连接modem 到BBS , 这可能是很难的 。
15.4.2 串行接口的考虑
FreeBSD 支持以NS8250-, NS16450-, NS16550-和NS16550A 为基础的EIA RS-232C 通讯
接口 。8250 和16450 设备有单字符缓冲 。16550 设备提供了一个16 个字符的缓冲 , 可以提
第11 页FreeBSD 使用手册
高更多的系统性能 。因为单字符缓冲设备比16 个字符的缓冲需要更多的系统资源来工作 ,
所以基于16550A 的接口卡可能更好 。如果系统没有活动的串行口 , 或有一个巨大的负载 ,
16 字符缓冲的卡对于低错误率的通讯来说更好 。
15.4.3 快速预览

推荐阅读