📄 dialout.html
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta name="generator" content="HTML Tidy, see www.w3.org" /><title>拨出设备</title><meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" /><link rel="HOME" title="FreeBSD 使用手册" href="index.html" /><link rel="UP" title="串口通信" href="serialcomms.html" /><link rel="PREVIOUS" title="拨入服务" href="dialup.html" /><link rel="NEXT" title="设置串行控制台" href="serialconsole-setup.html" /><link rel="STYLESHEET" type="text/css" href="docbook.css" /><meta http-equiv="Content-Type" content="text/html; charset=GB2312" /></head><body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"alink="#0000FF"><div class="NAVHEADER"><table summary="Header navigation table" width="100%" border="0" cellpadding="0"cellspacing="0"><tr><th colspan="3" align="center">FreeBSD 使用手册</th></tr><tr><td width="10%" align="left" valign="bottom"><a href="dialup.html"accesskey="P">后退</a></td><td width="80%" align="center" valign="bottom">章 20. 串口通信</td><td width="10%" align="right" valign="bottom"><a href="serialconsole-setup.html"accesskey="N">前进</a></td></tr></table><hr align="LEFT" width="100%" /></div><div class="SECT1"><h1 class="SECT1"><a id="DIALOUT" name="DIALOUT">20.5. 拨出设备</a></h1><p>下面将让你的主机通过modem连接到另一台计算机上。这只要适当地建立一个终端作为远程主机就可以。</p><p>这可以用来登陆进一个BBS。</p><p>如果你用PPP有问题,那这种连接可以用来从internet上下载一个文件。如果你必须FTP一些东西,而PPP断了,使用终端会话来FTP它们。然后使用zmodem来把它们传输到你的机器上。</p><div class="SECT2"><h2 class="SECT2"><a id="AEN28789" name="AEN28789">20.5.1. 我的Stock HayesModem不被支持,我该怎么办?</a></h2><p>事实上,联机手册对于这个的描述已经过期了。有一个通用的Hayes拨号已经建立在里面了。只要在你的<tt class="FILENAME">/etc/remote</tt>文件中使用<var class="LITERAL">at=hayes</var>。</p><p>Hayes驱动器不够“聪明”只能认出一些比较新的modem的高级特性——如<varclass="LITERAL">BUSY</var>, <var class="LITERAL">NO DIALTONE</var>, 或 <varclass="LITERAL">CONNECT115200</var>的信息将被搞乱。当你使用的时候,你必须把这些信息关掉。(using <ttclass="COMMAND">ATX0&W</tt>)</p><p>另外,拨号的延迟是60秒。你的modem可能使用另外的时间或提示认为有其他的通信问题。试试<ttclass="COMMAND">ATS7=45&W</tt>。</p><div class="NOTE"><blockquote class="NOTE"><p><b>注:</b> 注意:实际上<tt class="COMMAND">tip</tt>不支持所有的Hayesmodems。解决方法是编辑<tt class="FILENAME">/usr/src/usr.bin/tip/tip</tt>目录中的<ttclass="FILENAME">tipconf.h</tt> 文件。很明显,你需要它的源代码才能这样做。</p><p>把行<var class="LITERAL">#define HAYES 0</var>修改成<var class="LITERAL">#define HAYES1</var>。然后<tt class="COMMAND">make</tt> 和 <tt class="COMMAND">makeinstall</tt>。这样就好了。</p></blockquote></div></div><div class="SECT2"><h2 class="SECT2"><a id="DIRECT-AT" name="DIRECT-AT">20.5.2.我如何键入这些AT命令?</a></h2><p>在/etc/remote文件中编译一个叫做``direct''的记录。例如,如果你的modem连接在第一个串行端口,<tt class="FILENAME">/dev/cuaa0</tt>,就加入下面这行:</p><pre class="PROGRAMLISTING">cuaa0:dv=/dev/cuaa0:br#19200:pa=none</pre><p>使用br命令来启用你modem支持的最高传输速度。然后键入<tt class="COMMAND">tip</tt>cuaa0,你就可以连接到你的modem了。</p><p>如果在你的系统上没有<tt class="FILENAME">/dev/cuaa0</tt>,可以这样:</p><pre class="SCREEN"><samp class="PROMPT">#</samp> <kbd class="USERINPUT">cd /dev</kbd><samp class="PROMPT">#</samp> <kbd class="USERINPUT">sh <ttclass="COMMAND">MAKEDEV</tt> cuaa0</kbd></pre><p>或以<tt class="USERNAME">root</tt>使用<ttclass="COMMAND">cu</tt>,执行下面的命令:</p><pre class="SCREEN"><samp class="PROMPT">#</samp> <kbd class="USERINPUT">cu -l<varclass="REPLACEABLE">line</var> -s<var class="REPLACEABLE">speed</var></kbd></pre><p><var class="REPLACEABLE">line</var> line是串行端口(如.<ttclass="FILENAME">/dev/cuaa0</tt>),speed是速度(如57600)。当你键入<bclass="KEYCAP">~.</b>就退出。</p></div><div class="SECT2"><h2 class="SECT2"><a id="AEN28842" name="AEN28842">20.5.3. 现在pn <varclass="LITERAL">@</var>标记不能工作?</a></h2><p>在电话号码中的<var class="LITERAL">@</var>标记告诉计算机在<ttclass="FILENAME">/etc/phones</tt>文件中查找一个电话号码。但<varclass="LITERAL">@</var>标记也是一个在像<ttclass="FILENAME">/etc/remote</tt>这样的可用文件中的特殊字符。用一个反斜线符号退出:</p><pre class="PROGRAMLISTING">pn=\@</pre></div><div class="SECT2"><h2 class="SECT2"><a id="AEN28851" name="AEN28851">20.5.4.我如何在命令行拨电话号码?</a></h2><p>在你的<ttclass="FILENAME">/etc/remote</tt>文件中通常放着一个叫做``generic''的记录。例如:</p><pre class="PROGRAMLISTING">tip115200|Dial any phone number at 115200 bps:\ :dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du:tip57600|Dial any phone number at 57600 bps:\ :dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du:</pre><p>然后,你可以这样:</p><pre class="SCREEN"><samp class="PROMPT">#</samp> <kbd class="USERINPUT">tip -115200 5551234</kbd></pre><p>如果你更喜欢<tt class="COMMAND">cu</tt>而不是<ttclass="COMMAND">tip</tt>,使用一个通用的<var class="LITERAL">cu</var>记录:</p><pre class="PROGRAMLISTING">cu115200|Use cu to dial any number at 115200bps:\ :dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du:</pre><p>然后键入:</p><pre class="SCREEN"><samp class="PROMPT">#</samp> <kbd class="USERINPUT">cu 5551234 -s 115200</kbd></pre></div><div class="SECT2"><h2 class="SECT2"><a id="AEN28870" name="AEN28870">20.5.5. Do I Have to Type in the bpsRate Every Time I Do That?</a></h2><p>Put in an entry for <var class="LITERAL">tip1200</var> or <varclass="LITERAL">cu1200</var>, but go ahead and use whatever bps rate is appropriate withthe br capability. <tt class="COMMAND">tip</tt> thinks a good default is 1200 bpswhich is why it looks for a <var class="LITERAL">tip1200</var> entry. You do not have touse 1200 bps, though.</p></div><div class="SECT2"><h2 class="SECT2"><a id="AEN28877" name="AEN28877">20.5.6.我通过一个终端服务器访问了很多主机。</a></h2><p>除非每次都要等到你连接到主机然后键入<host>,否则使用<ttclass="COMMAND">tip</tt>的<var class="LITERAL">cm</var>功能。例如,在<ttclass="FILENAME">/etc/remote</tt>中的这些记录:</p><pre class="PROGRAMLISTING">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/cuaa2:br#38400:at=hayes:du:pa=none:pn=5551234:</pre><p>将让你键入<tt class="COMMAND">tip pain</tt> 或 <tt class="COMMAND">tipmuffin</tt>连接到主机pain或muffin,和<tt class="COMMAND">tipdeep13</tt>连接到终端服务器。</p></div><div class="SECT2"><h2 class="SECT2"><a id="AEN28888" name="AEN28888">20.5.7. <ttclass="COMMAND">tip</tt>能为每个站点试用多个线路吗?</a></h2><p>经常有一个问题,一个大学有几个modem线路,和几千个学生设法使用它们.</p><p>在<tt class="FILENAME">/etc/remote</tt>中为你的大学作一个记录,然后为<varclass="LITERAL">pn</var>功能使用<var class="LITERAL">@</var>标记:</p><pre class="PROGRAMLISTING">big-university:\ :pn=\@:tc=dialoutdialout:\ :dv=/dev/cuaa3:br#9600:at=courier:du:pa=none:</pre><p>接着,在<tt class="FILENAME">/etc/phones</tt>中列出大学的电话号码:</p><pre class="PROGRAMLISTING">big-university 5551111big-university 5551112big-university 5551113big-university 5551114</pre><p><tt class="COMMAND">tip</tt>将按顺序试用每一个,然后就停止。如果想继续测试,隔一段时间再运行<ttclass="COMMAND">tip</tt>。</p></div><div class="SECT2"><h2 class="SECT2"><a id="AEN28903" name="AEN28903">20.5.8. 为什么我必须键入 <bclass="KEYCAP">Ctrl</b>+<b class="KEYCAP">P</b> 两次才能发出 <bclass="KEYCAP">Ctrl</b>+<b class="KEYCAP">P</b> 一次?</a></h2><p><b class="KEYCAP">Ctrl</b>+<b class="KEYCAP">P</b>是默认的“强制”字符,被用来告诉<ttclass="COMMAND">tip</tt>下一个字符是文字的数据。你可以用<ttclass="COMMAND">~s</tt>给任何其他的字符设置强制字符,这意思是“设置一个变量”。</p><p>在新的一行键入<tt class="COMMAND">~sforce=<varclass="REPLACEABLE">single-char</var></tt>。<varclass="REPLACEABLE">single-char</var>是任何简单的字符。如果你遗漏了 <varclass="REPLACEABLE">single-char</var>,那强制字符就是空字符,这可以键入<bclass="KEYCAP">Ctrl</b>+<b class="KEYCAP">2</b> 或 <b class="KEYCAP">Ctrl</b>+<bclass="KEYCAP">Space</b>来完成。一个更好的<var class="REPLACEABLE">single-char</var> 是<b class="KEYCAP">Shift</b>+<b class="KEYCAP">Ctrl</b>+<bclass="KEYCAP">6</b>,这只被使用在一些终端服务器上。</p><p>通过在你的<ttclass="FILENAME">$HOME/.tiprc</tt>文件中指定下面这行,就可以得到你想要的任何强制字符:</p><pre class="PROGRAMLISTING">force=<single-char></pre></div><div class="SECT2"><h2 class="SECT2"><a id="AEN28936" name="AEN28936">20.5.9.突然我键入的每一样东西都变成了大写??</a></h2><p>你一定是键入了<b class="KEYCAP">Ctrl</b>+<b class="KEYCAP">A</b>, <ttclass="COMMAND">tip</tt>的“raisecharacter”,会临时地指定成坏掉的caps-lock键。使用上面的<ttclass="COMMAND">~s</tt>来合理地设置各种<varclass="LITERAL">raisechar</var>。事实上,如果你从来不想使用这些特性的话,你可以用同样的方法设置强制字符。</p><p>这儿有一个很好的.tiprc文件的例子,对<b class="APPLICATION">Emacs</b>用户来说,必须键入<b class="KEYCAP">Ctrl</b>+<b class="KEYCAP">2</b> 和 <b class="KEYCAP">Ctrl</b>+<bclass="KEYCAP">A</b> :</p><pre class="PROGRAMLISTING">force=^^raisechar=^^</pre><p>The ^^ is <b class="KEYCAP">Shift</b>+<b class="KEYCAP">Ctrl</b>+<bclass="KEYCAP">6</b>.</p></div><div class="SECT2"><h2 class="SECT2"><a id="AEN28959" name="AEN28959">20.5.10. 我如何用<ttclass="COMMAND">tip</tt>做文件传输?</a></h2><p>如果你正在与另一台<span class="TRADEMARK">UNIX</span>®系统对话,你可以用<ttclass="COMMAND">~p</tt>(put)和<ttclass="COMMAND">~t</tt>(take)发送和接收文件。这些命令可以在远程系统上运行<ttclass="COMMAND">cat</tt> 和<ttclass="COMMAND">echo</tt>来接收和发送文件。语法是这样的:</p><p><tt class="COMMAND">~p</tt> local-file [remote-file]</p><p><tt class="COMMAND">~t</tt> remote-file [local-file]</p><p>不需要错误检查,所以你使用另外一个协议,如zmodem。</p></div><div class="SECT2"><h2 class="SECT2"><a id="AEN28977" name="AEN28977">20.5.11. 我如何用<ttclass="COMMAND">tip</tt>运行zmodem?</a></h2><p>要接收这些文件,可以在远程终端启动发送程序。然后,键入<tt class="COMMAND">~Crz</tt>在本地开始接收他们。要发送文件,可以在远程终端启动接收程序。然后,键入<ttclass="COMMAND">~C sz <var class="REPLACEABLE">files</var></tt>把他们发送到远程系统。</p></div></div><div class="NAVFOOTER"><hr align="LEFT" width="100%" /><table summary="Footer navigation table" width="100%" border="0" cellpadding="0"cellspacing="0"><tr><td width="33%" align="left" valign="top"><a href="dialup.html"accesskey="P">后退</a></td><td width="34%" align="center" valign="top"><a href="index.html"accesskey="H">起点</a></td><td width="33%" align="right" valign="top"><a href="serialconsole-setup.html"accesskey="N">前进</a></td></tr><tr><td width="33%" align="left" valign="top">拨入服务</td><td width="34%" align="center" valign="top"><a href="serialcomms.html"accesskey="U">上一级</a></td><td width="33%" align="right" valign="top">设置串行控制台</td></tr></table></div></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -