27.5. 拨出设备

警告:

从 FreeBSD 8.0 开始, 用于串口的设备节点从 /dev/cuadN 改为了 /dev/cuauN; 从 /dev/ttydN 改为了 /dev/ttyuN。 FreeBSD 7.X 用户需要根据实际情况对这份文档中的例子进行必要的调整。

下面将让您的主机通过 modem 连接到另一台计算机上。 这只要适当地建立一个终端作为远程主机就可以。

这可以用来登录进一个BBS。

如果您用 PPP 有问题, 那这种连接可以用来从 Internet 上下载一个文件。 如果您必须 FTP 一些东西, 而 PPP 断了, 使用终端会话来 FTP 它们。 然后使用 zmodem 来把它们传输到您的机器上。

27.5.1. 我的Stock Hayes Modem不被支持,我该怎么办?

事实上, 联机手册对于这个的描述已经过时了。 一个通用的 Hayes拨号已经内建其中。 只要在您的 /etc/remote 文件中使用 at=hayes

Hayes 驱动不够 聪明 只能认出一些比较新的 modem 的高级特性 ── 如 BUSYNO DIALTONE, 或 CONNECT 115200 的信息将被搞乱。 当您使用的时候, 您必须把这些信息关掉。(通过 ATX0&W)。

另外,拨号的延迟是 60 秒。 您的 modem 可能使用另外的时间或提示认为有其他的通讯问题。 试试 ATS7=45&W

27.5.2. 我如何输入这些 AT 命令?

/etc/remote 文件中增加一个 direct 项。 举例而言, 如果您的调制解调器挂在第一个串口, 即 /dev/cuau0 上, 则应添加下面这行:

cuau0:dv=/dev/cuau0:br#19200:pa=none

此处应使用您的 modem 所支持的最高 br bps 速率。 接下来, 输入 tip cuau0 就可以连到 modem 上了。

此外, 也可以 root 身份执行 cu 命令:

# cu -lline -sspeed

line 是串口 (例如 /dev/cuau0) 而 speed 则是速率 (如 57600)。 当您输入完 AT 之后, 按 ~. 即可退出。

27.5.3. 现在pn @标记不能工作?

在电话号码中的 @ 标记告诉计算机在 /etc/phones 文件中查找一个电话号码。 但 @ 标记也是一个在像 /etc/remote 这样的可用文件中的特殊字符。 用一个反斜线符号退出:

pn=\@

27.5.4. 我如何在命令行拨电话号码?

在您的 /etc/remote 文件中通常放着一个叫做 generic 的记录。 例如:

tip115200|Dial any phone number at 115200 bps:\
        :dv=/dev/cuau0:br#115200:at=hayes:pa=none:du:
tip57600|Dial any phone number at 57600 bps:\
        :dv=/dev/cuau0:br#57600:at=hayes:pa=none:du:

然后, 可以执行:

# tip -115200 5551234

如果您更喜欢cu而不是tip,使用一个通用的cu记录:

cu115200|Use cu to dial any number at 115200bps:\
        :dv=/dev/cuau1:br#57600:at=hayes:pa=none:du:

然后键入:

# cu 5551234 -s 115200

27.5.5. 这么做时是否每次都需要重新输入 bps 速率?

添加一项 tip1200cu1200, 并将 bps 速率换成更合适的值。 tip 的默认值是1200  bps, 也就是为什么会有 tip1200 这条记录的原因。 虽然您并不需要使用 1200 bps。

27.5.6. 我通过一个终端服务器访问了很多主机。

除非每次都要等到您连接到主机然后键入 CONNECT host, 否则使用 tipcm 功能。 例如, 在 /etc/remote 中的这些记录:

pain|pain.deep13.com|Forrester's machine:\
        :cm=CONNECT pain\n:tc=deep13:
muffin|muffin.deep13.com|Frank's machine:\
        :cm=CONNECT muffin\n:tc=deep13:
deep13:Gizmonics Institute terminal server:\
        :dv=/dev/cuau2:br#38400:at=hayes:du:pa=none:pn=5551234:

将让您键入 tip paintip muffin 连接到主机 painmuffin, 和 tip deep13 连接到终端服务器。

27.5.7. tip能为每个站点试用多个线路吗?

经常有一个问题, 一个大学有几个modem线路, 几千个学生设法使用它们。

/etc/remote 中为您的大学添加一个记录, 然后为 pn 功能使用 @ 标记:

big-university:\
        :pn=\@:tc=dialout
dialout:\
        :dv=/dev/cuau3:br#9600:at=courier:du:pa=none:

接着, 在 /etc/phones 中列出大学的电话号码:

big-university 5551111
big-university 5551112
big-university 5551113
big-university 5551114

tip 将按顺序试用每一个,然后就停止。 如果想继续测试, 隔一段时间再运行 tip

27.5.8. 为什么我必须键入 Ctrl+P 两次才能发出 Ctrl+P 一次?

Ctrl+P 是默认的强制字符,被用来告诉 tip 下一个字符是文字的数据。您可以用 ~s 给任何其他的字符设置强制字符,这意思是 设置一个变量

在新的一行键入 ~sforce=single-charsingle-char 是任何简单的字符。 如果您遗漏了 single-char, 那强制字符就是空字符, 这可以键入 Ctrl+2Ctrl+Space来完成。 更好的 single-charShift+Ctrl+6, 这只用在一些终端服务器上。

通过在您的 $HOME/.tiprc 文件中指定下面这行, 就可以得到您想要的任何强制字符:

force=single-char

27.5.9. 突然我键入的每一样东西都变成了大写??

您一定是键入了 Ctrl+A, 即 tipraise character, 会临时地指定成坏掉的 caps-lock键。 使用上面的 ~s 来合理地设置各种 raisechar。 事实上, 如果您不想使用这些特性的话,您可以用同样的方法设置强制字符。

这儿有一个很好的示例 .tiprc 文件,对 Emacs用户来说,需要经常按 Ctrl+2Ctrl+A

force=^^
raisechar=^^

^^Shift+Ctrl+6.

27.5.10. 如何用 tip 做文件传输?

如果您正在与另一台 UNIX® 系统对话, 您可以用 ~p(put) 和 ~t (take) 发送和接收文件。 这些命令可以在远程系统上运行 catecho 来接收和发送文件。 语法是这样的:

~p local-file [remote-file]

~t remote-file [local-file]

由于没有错误校验, 所以您需要使用其他协议, 如 zmodem。

27.5.11. 我如何用tip运行zmodem?

要接收这些文件,可以在远程终端启动发送程序。然后,键入 ~C rz 在本地开始接收它们。 要发送文件, 可以在远程终端启动接收程序。 然后, 键入 ~C sz files 把它们发送到远程系统。

本文档和其它文档可从这里下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

如果对于FreeBSD有问题,请先阅读 文档,如不能解决再联系 <questions@FreeBSD.org>.

关于本文档的问题请发信联系 <doc@FreeBSD.org>.