Next Previous Contents

5. 我怎麽用数据机拨号出去?

5.1 硬体需求

首先,要确定你拥有正确的连接线.你的数据机需要一条直接的 (straight through) 连接线,没有任何跳线 (no pins crossed). 任何一家电脑商店都有.要确定接头的形式是对的.如果你使用的是 DB25 串列埠,它应该是公的 DB25 接头. 把你的数据机接到其中一个串列埠上.如果你需要关於这个动作的辅助说明请参考你的数据机手册.

内接式数据机注意事项

对於内接式数据机而言,你不需要连接线.内接式数据机不需要串列埠,它自己有内建一个. 你只要配置一个没有被使用的硬体中断给它,并且配置该埠的输出入位址.如果你卡在某个问题上请参考你的数据机手册. 同样,如果你需要关於选择中断以及位址上的帮助,参阅 我能使用超过两个的串列装置吗? 一节的说明.

在某些主机板上你必须关掉被数据机取代的串列埠以避免冲突. 这可经由跳线或 BIOS 的设定来办到,视你的主机板而定.查阅你的主机板手册.

由於 IBM8514 视讯卡的一个错误,如果你想要将你的内接式数据机设在 ttyS3 的话可能会遭遇一些问题. 如果 Linux 没有侦测到你设在 ttyS3 上的内接式数据机,你可以使用 setserial 程式来设定然後数据机将会正常运作. 设在 ttyS{0-2} 上的内接式数据机在侦测上应该不会有任何问题. 由於此视讯卡的错误 Linux 在 ttyS3 没有任何自动侦测的动作.

5.2 与你的数据机交谈

在你使用复杂的通讯程式如 SLIP 或 PPP 之前先以 kermit 或其它简单的通讯程式来测试这些设定. 你可以从 http://www.columbia.edu/kermit/ 以及映射节点上找到最新的 kermit 版本. 例如,要是你的数据机设在 ttyS3 上,而且可以接受 115200 bps 的话,你可以这样做:

linux# kermit
C-Kermit 6.0.192, 6 Sep 96, for Linux
 Copyright (C) 1985, 1996,
  Trustees of Columbia University in the City of New York.
Default file-transfer mode is BINARY
Type ? or HELP for help.
C-Kermit>set line /dev/ttyS3
C-Kermit>set carrier-watch off
C-Kermit>set speed 115200
/dev/ttyS3, 115200 bps
C-Kermit>c
Connecting to /dev/ttyS3, speed 115200.
The escape character is Ctrl-\ (ASCII 28, FS)
Type the escape character followed by C to get back,
or followed by ? to see other options.
ATE1Q0V1                           ; 这是你键入的并按下 Enter 键
OK                                 ; 数据机应该回应这个

如果你的数据机对 AT 指令群有回应,那麽你可以假定你的数据机在 Linux 这一端能正确运作. 现在试著拨给另一台数据机:

ATDT7654321
其中 7654321 是一个电话号码.如果你的是脉冲线路(pulse line)的话用 ATDP 而不是 ATDT. 如果可以拨得出去,你的数据机就可正常运作.

回到 kermit 的提示符号下,按住 Ctrl 键,按下 \ (backslash) 录,然後放开 Ctrl 录,再按下 C 键:

Ctrl-\-C
(Back at linux)
C-Kermit>quit
linux#

这个不过是用"手动"方式的拨号测试.正常的方法是让 kermit 用它内建的数据机资料库自动为你拨号,例如,使用 US Robotics (USR) modem:

linux# kermit
C-Kermit 6.0.192, 6 Sep 1997, for Linux
 Copyright (C) 1985, 1996,
  Trustees of Columbia University in the City of New York.
Default file-transfer mode is BINARY
Type ? or HELP for help
C-Kermit>set modem type usr        ; 选择数据机型式
C-Kermit>set line /dev/ttyS3       ; 选择通讯装置
C-Kermit>set speed 115200          ; 设定通讯速度
C-Kermit>dial 7654321              ; 拨号
 Number: 7654321
 Device=/dev/ttyS3, modem=usr, speed=115200
 Call completed.<BEEP>
Connecting to /dev/ttyS3, speed 115200
The escape character is Ctrl-\ (ASCII 28, FS).
Type the escape character followed by C to get back,
or followed by ? to see other options.

Welcome to ...

login:

如果你需要一些指引,查阅有关 通讯软体 一节说明.

当你用你的数据机拨号出去时,将你的数据机设到它所能支援的最高速度. Linux 的 libc 5.x 版以上已经支援到 115200 bps. libc 通常放在 /lib,因此到那里看一下你用什麽版本. 如果 Linux 无法认得 57600 或 115200 bps,那麽你必须用 setserial 程式来将你的串列埠设到更高的速度. 关於要怎麽设定参阅 如何将我的串列埠设定为更高速度? 该节说明. 然後在通讯程式里将速度设到 38400 bps.

5.3 拨出用的数据机配置

只要拨号出去的话,你可以任意以你想要的方式配置你的数据机. 如果你计画用你的数据机来接受拨接,那麽你必须将你的数据机配置成与你想要执行的 getty 在相同速度设定下. 所以,如果你想要在 38400 bps 的速度下执行 getty 的话,在配置你数据机的时候将速度设成 38400 bps. 这样做是为了避免你的电脑与数据机之间的速度无法配合. 一般来说,开启错误校正及硬体流量控制的出厂设定值是最适合拨出用的数据机,这些设定值可查阅你的数据机手册.

5.4 硬体流量控制

如果你的数据机支援硬体流量控制(RTS/CTS)的话, 我强烈地建议你去使用它. 这对於支援资料压缩的数据机将格外重要.首先,你必须在串列埠本身上面启动 RTS/CTS 流量控制功能. 这最好是在启动系统的时候做,像是放在 /etc/rc.d/rc.local 或是 /etc/rc.d/rc.serial 里面. 要确定这些档案会被主要的 rc.sysinit 档案执行!你需要对每一个你想要启动硬体流量控制的串列埠执行下列操作:

stty crtscts < /dev/ttyS3
你也必须在你的数据机上启动 RTC/CTS 流量控制.要怎麽做请参考你的数据机手册,因为这在不同的数据机制造商之间是不同的. 如果你的数据机支援设定储存的话则要确定将配置存入你的数据机.


Next Previous Contents