FreeBSD handbook中文版 15 串口通讯(3)
2008-02-23 08:01:57来源:互联网 阅读 ()
"/usr/libexec/getty std.38400" wy50 on insecure ttyd1
ttyd5 "/usr/libexec/getty std.19200" vt100 on insecure
,第一部分指定了终端特殊文件的名称,它可以在/dev 中找到。
,第二部分是在这行执行的命令,通常是getty。Getty 初始化然后打开一行,设置
速度,用户名的命令和执行登陆程序。
getty 程序在它的命令行接收一个参数, getty类型。一个getty类型会在终端行描述
一个特征,象bps rate 和parity。getty 程序从/etc/gettytab 文件读取这些字符。文件
/etc/gettytab 包含了许多老的和新的终端线的记录。在很多例子中,启动文本std 的记录
第8 页FreeBSD 使用手册
将用硬连线终端来工作。这些记录忽略了奇偶性。这是一个从110 到115200 的每bps 的std
记录。当然,你可以添加你自己的记录到这个文件。Gettytab 的联机手册提供了更多的信
息。
当在/etc/ttys 中设置getty类型的时候,确信在终端上的通讯设置匹配。
在我们的例子中,Wyse-50 不使用奇偶性,用38400 bps 来连接。286 PC 不使用奇偶性,
用19200bps 来连接。
,第三部分是通常连接到那个tty 线的终端类型。对于拨号端口,不知名的或拨出的
通常被用在这个地方。对于硬连线的终端,终端类型不会改变,所以你可以从termcap 数据
库文件中放置一个真正的终端类型。
在我们的例子中,Wyse-50 使用真正的终端类型,而运行Procomm 的286 PC 将被设置成
在VT-100 上的模拟。
,如果端口被启用,可以指定第四个部分。在第二部分,把它放在这儿将执行初始化
进程来启动程序getty。如果你在这部分推迟,将没有getty,在端口上因此就没有登陆。
,最后部分被用来指定端口是否安全。标记一个安全的端口意味着你信任它允许用root
帐户从哪个端口登陆。不安全的端口不允许root 登陆。在一个不安全的端口上,用户必须
用无特权的帐户登陆,然后使用su 或一个相似的机制来获得超级用户的权限。
15.3.2.2 重新读取/etc/ttys 来强制初始化
对/etc/ttys 文件做一个必要的修改后,你必须发送一个SIGHUP 信号给初始化进程来
迫使它重新读取它的配置文件,例如:
# kill -HUP 1
如果能够被正确设置,所有的线缆都是适当的,终端将可以启用了,然后一个getty
进程将在每个终端被运行,你将在你的终端上看到登陆命令行。
15.3.3 你的连接可能出现的问题
即使你小心翼翼地注意细节,你仍然可能会在设置终端时出错。这儿有一个有关问题的
现象和解决办法的列表:
第9 页FreeBSD 使用手册
1,没有登陆命令出现:
确定终端被嵌入和打开了。如果把一台个人电脑充当一个终端,确信终端模拟软件运行
在正确的串口上。
确信线缆被稳固地连接在终端和FreeBSD 电脑上。确信用了正确的电缆。
确定终端和FreeBSD 的传输速率和奇偶设置已经一致了。如果你有一个图象显示终端,
确信对比度已经调节好了。如果它是一个可打印的终端,确信纸张和墨水已经准备好了。
确定一个getty 进程正在运行和服务终端。例如,可以用ps 命令来得到运行getty 程
序的列表,键入:
# ps -axww|grep getty
你将看到一个终端的记录。例如,下面的显示表明一个getty 正在第二个串行端口ttyd1
运行,正在/etc/gettytab 中使用std.38400 的记录:
22189 d1 Is 0: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 快速预览
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash
