Linux 版 (精华区)

发信人: clx (楚留香), 信区: Unix
标  题: Linux Serial HOWTO 中译版(08)
发信站: 紫 丁 香 (Sat Jun 27 17:14:56 1998), 转信

Linux Serial HOWTO 中译版 : 我怎麽设定终端机连线到我的 PC 
上?
Previous: 我要怎麽样用数据机以 getty_ps 拨入及拨出?
Next: 我能使用超过两个的串列装置吗? 


7. 我怎麽设定终端机连线到我的 PC 上?

本节的指示能让终端机及其它电脑连上你的 Linux 机器的串列埠.

7.1. 硬体需求

要确定你有一条正确的连接线.在电脑商店买的 null modem 连接
线就可以胜任. 但是它一定得要是一条 null modem 线!许多的电
脑站将这类的连接线说成是串列印表接线. 确定你是使用你的串列
埠,公的 DB25 或是 DB9 接头,而不是你的并列埠(母的 DB25 或
centronics).

对 DB-25 接头而言,至少你得要有: 

 
        PC male DB25                            Terminal DB25
        TxD   Transmit Data         2 --> 3     RxD   Receive Data
        RxD   Receive Data          3 <-- 2     TxD   Transmit Data
        SG    Signal Ground         7 --- 7     SG    Signal Ground

如果你想要拥有流量控制以及硬体连线协商(handshaking)的话,你
必须要有一条完整的 null modem 接线: 

        PC male DB25                            Terminal DB25
        TxD   Transmit Data         2 --> 3     RxD   Receive Data
        RxD   Receive Data          3 <-- 2     TxD   Transmit Data
        RTS   Request To Send       4 --> 5     CTS   Clear To Send
        CTS   Clear To Send         5 <-- 4     RTS   Request To Send
        DSR   Data Set Ready        6
                                    |
        DCD   Carrier Detect        8 <-- 20    DTR   Data Terminal Ready
        SG    Signal Ground         7 --- 7     SG    Signal Ground
                                          6     DSR   Data Set Ready
                                          |
        DTR   Data Terminal Ready  20 --> 8     DCD   Carrier Detect

如果你的串列埠上有一个 DB9 的接头,试试看下面这个: 

        PC DB9                                  Terminal DB25 
        RxD   Receive Data          2 <-- 2     TxD   Transmit Data
        TxD   Transmit Data         3 --> 3     RxD   Receive Data
        SG    Signal Ground         5 --- 7     SG    Signal Ground

或者,一条完整的 DB9 对 DB25 null modem 连接线: 

        PC DB9                                  Terminal DB25
        RxD   Receive Data          2 <-- 2     TxD   Transmit Data
        TxD   Transmit Data         3 --> 3     RxD   Receive Data
                                          6     DSR   Data Set Ready
                                          |
        DTR   Data Terminal Ready   4 --> 8     DCD   Carrier Detect
        GND   Signal Ground         5 --- 7     GND   Signal Ground
        DCD   Carrier Detect        1
                                    |
        DSR   Data Set Ready        6 <-- 20    DTR   Data Terminal Ready
        RTS   Request To Send       7 --> 5     CTS   Clear To Send
        CTS   Clear To Send         8 <-- 4     RTS   Request To Send
        (RI   Ring Indicator        9 not needed)

(没错! 第二支及第三支脚在 DB9 连接头上确实和 DB25 接头意义
相反!)

如果使用的并不是完整的 null modem 连接线的话,你可能得要做
下面这个欺骗的技巧: 在你电脑这边的接头上,把 RTS 跟 CTS 接
在一起,而且也把 DSR, DCD 以及 DTR 接在一起. 用这个方法,
当电脑要求一个正确的硬体连线协商信号时,它就可以得到(从它自
己发出的).

现在你已经有正确的连接线,把你的终端机连接到你的电脑上. 如
果你可以的话,告诉你的终端机忽略数据机控制信号. 试试看用
9600 bps, 8 data bits, 1 stop bit, no parity bits 来设定终
端机.

7.2. 设定 getty

在 /etc/gettydefs 里面增加一个给 getty 用来连接你终端机项目,如
果还没有这项的话: 

     # 38400 bps Dumb Terminal entry
     DT38400# B38400 CS8 CLOCAL # B38400 SANE -ISTRIP CLOCAL #@S @L login: #DT38400

     # 19200 bps Dumb Terminal entry
     DT19200# B19200 CS8 CLOCAL # B19200 SANE -ISTRIP CLOCAL #@S @L login: #DT19200

     # 9600 bps Dumb Terminal entry
     DT9600# B9600 CS8 CLOCAL # B9600 SANE -ISTRIP CLOCAL #@S @L login: #DT9600

如果你要的话,你可以让 getty 在签入的标题上印出一些有趣的东
西. 在我的例子里,我印出系统名称以及串列线路.你可以加入其
它的东西: 

     @B    目前的每秒位元传输率(bps, 在看到 @B 时估计的).
     @D    现在日期, 格式 MM/DD/YY.
     @L    getty 所连接的串列线路.
     @S    系统名称.
     @T    现在时间,格式 HH:MM:SS (24 小时制).
     @U    目前签入的使用者.这是在 /etc/utmp 档中非空 ut_name 栏位项目的计数值.
     @V    版本值,在预设档中给定的.
     如果要显示 '@' 符号的话,用 '\@' 或 '@@'.

当你正在编辑 /etc/gettydefs 时,你可以这样来检查它的语法是否正
确: 

     linux# getty -c /etc/gettydefs

确定没有 getty 或 uugetty 的设定档(/etc/default/{uu}getty.ttySN 或
/etc/conf.{uu}getty.ttySN)在你的终端机连接的串列埠上, 因为这也
许会干扰到在终端机上执行的 getty.如果有的话请移除它.

编辑你的 /etc/inittab 让 getty 在你的串列埠上执行(用你环境的正
确资讯来取代 - 配置档的位置,串列埠名,速度,及预设终端机形
式): 

     S1:456:respawn:/sbin/getty ttyS1 DT9600 vt100

重新起始 init: 

     linux# init q 

现在你应该会在你的终端机上看到签入提示.也许你得按返回键
(return)几次让终端机注意到.

7.3. 将 PC 设定成终端机的注意事项

许多人将其它 PC 设定成终端机连接到 Linux 机器上.例如,旧的
8088 或是 286 PC 非常适合这个用途. 你需要的只是一张包含适
合让你的终端机-个人电脑 (Terminal-PC) 使用的 DOS 磁片,以及
让你的终端机-个人电脑执行的通讯程式. kermit 在这个用途上表
现得非常好. 你可以在这台机器 http://www.columbia.edu/kermit/ 上
找到几乎可以让任何现存的作业系统使用的已编译的 kermit 版本.
其它流行的 DOS 通讯程式像是 telix 以及 procomm 也将会有一样好
的表现. 要确定输入正确的串列埠资讯到你终端机-个人电脑的通
讯设定里去.


Linux Serial HOWTO 中译版 : 我怎麽设定终端机连线到我的 PC 
上?
Previous: 我要怎麽样用数据机以 getty_ps 拨入及拨出?
Next: 我能使用超过两个的串列装置吗? 

--
※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: 202.118.244.16]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.447毫秒