⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 serial-howto.txt

📁 linux-bible.rar linux-bible.rar
💻 TXT
📖 第 1 页 / 共 5 页
字号:
or followed by ? to see other options.Welcome to ...login:   如果你需要一些指引,查阅有关 [55]通讯软体 一节说明.      当你用你的数据机拨号出去时,将你的数据机设到它所能支援的最高速度.   Linux 的 libc 5.x 版以上已经支援到 115200 bps. libc 通常放在 /lib,因   此到那里看一下你用什麽版本. 如果 Linux 无法认得 57600 或 115200 bps,   那麽你必须用 setserial 程式来将你的串列埠设到更高的速度. 关於要怎麽设   定参阅 [56]如何将我的串列埠设定为更高速度? 该节说明. 然後在通讯程式里   将速度设到 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 流量控制.要怎麽做请参考你的数据机手   册,因为这在不同的数据机制造商之间是不同的. 如果你的数据机支援设定储存   的话则要确定将配置存入你的数据机.   6. 我要怎麽样用数据机以 getty_ps 拨入及拨出?   让你的数据机能够正确地拨号出去.如果你还没有读过 [57]我怎麽用数据机拨号   出去 一节的话现在去读! 它包含有非常重要的设定资讯.如果你只想用数据机   来拨出的话你不需要读此节.   6.1 拨入及拨出的数据机配置   要用来接受拨接以及拨号出去的话,那麽你必须确实地设定你的数据机(再一次   对你的数据机使用 AT 指令群):   E1       本地回应指令Q0       回报结果回应V1       开启冗长模式S0=0     不要接听 (uugetty 以 WAITFOR 选项来处理)   如果你没有正确地设定,放在你配置档里的起始(INIT)字串可能会失败,因而停   住整个程序. 但是,下面有更多配置档的选项...   &C1     DCD 只有在连线以後才开启&S0     DSR 永远为开启        DTR 开启/关闭 重置数据机(是数据机制造商而定 - RTFM)   这些会影响你数据机有关开始以及结束拨号的动作.      如果你的数据机不支援储存设定,你可以透过在你配置档里的起始字串来设定这   些东西. 参阅下面所述.有一些数据机是以 DIP 开关来影响暂存器的设定,也   要确定这些设定是正确的.      我已经开始著手收集不同种类数据机的设定. 到目前为止,我还只有它们的一小   部分,如果你想要寄送给我你目前所用配置,非常欢迎! 你可以从这些取得设些   设定: [58]ftp://ftp.cc.gatech.edu/pub/people/gregh/modem-configs.      注意: 为了让我的 USR Courier V.34 数据机在 DTR 讯号掉下去後正常地重置,   我必须设定 &D2 及 S13=1(这是设定暂存器 S13 的 bit 0).这确定能在 USR   Sportster V.34 上运作正常.      注意: 某些 Supra 数据机处理 DCD 讯号的方式异於其它的数据机. 如果你在用   Supra 数据机,试著设定为 &C0 而不是 &C1. 你也必须设定 &D2 使之正常地处   理 DTR 讯号.   6.2 安装 getty_ps   从 [59]ftp://sunsite.unc.edu/pub/Linux/system/serial 最新的版本. 特别   地,如果你想使用高速通讯(57600 或 115200 bps),你必须取得 2.0.7j 或以後   的版本. 你也必须有 libc 5.x 或之後的版本.      依照预设值,getty_ps 将会照 Linux 的档案系统标准(FSSTND, File System   Standard)来配置,这个意思是二进位码将会放在 /sbin 下,而配置档将会以   /etc/conf.{uu}getty.ttySN 来命名. 这点并不能从文件叙述中找到!它也会假   定 lock files 将得要放到 /var/lock 目录里.要确定你有 /var/lock 这个目   录.      如果你不想依照 FSSTND 的话,二进位码将会放到 /etc 里面,而配置档将会放   到 /etc/default/{uu}getty.ttySN 里面,而 lock files 则将会放到   /usr/spool/uucp 里面. 如果你有使用 UUCP 的话那麽我建议这样做,因为如果   你把 lock files 搬到 UUCP 无法找到的地方去那麽它将会出问题的.      getty_ps 也可使用 syslogd 来记录讯息.如果你目前没有执行它的话,参阅   syslogd(1) 以及 syslog.conf(5) 的线上手册来设定 syslogd. 讯息会优先以   LOG_AUTH 记录,错误使用 LOG_ERR 记录,而除错使用 LOG_DEBUG. 如果你不想   使用 syslogd 的话那麽你可以编辑在 getty_ps 原始档案里的 tune.h 用一个记   录档来取代,预设档名为 /var/adm/getty.log.      决定好是否要依照 FSSTND 以及使用 syslog.你也可以选择两者的组合. 编辑   Makefile,tune.h 以及 config.h 来反应你所作的决定. 然後,根据套件里的   说明编译及安装.      从现在起,所有谈到 getty 的地方都是指 getty_ps 而言. 谈到 uugetty 则是   指 getty_ps 套件里的 uugetty 而言. 这些指令在 mgetty 或 agetty 上将不   能运作.   6.3 设定 uugetty   为了要能从你的数据机拨入及拨出,我们想要用 uugetty.uugetty 执行很重要   的 lock file 检查. 如果没有的话更新 /etc/gettydefs 以便为数据机增加项   目(注意到这里的项目互相参考,它们并非固定速度 - 每个项目之间的空白行是   必要的):   # Modem entries115200# B115200 CS8 # B115200 SANE -ISTRIP HUPCL #@S @L @B login: #5760057600# B57600 CS8 # B57600 SANE -ISTRIP HUPCL #@S @L @B login: #3840038400# B38400 CS8 # B38400 SANE -ISTRIP HUPCL #@S @L @B login: #1920019200# B19200 CS8 # B19200 SANE -ISTRIP HUPCL #@S @L @B login: #96009600# B9600 CS8 # B9600 SANE -ISTRIP HUPCL #@S @L @B login: #24002400# B2400 CS8 # B2400 SANE -ISTRIP HUPCL #@S @L @B login: #115200   如果你有 9600 bps 或更快且具资料压缩功能的数据机,你可以锁定你的串列埠   速度而让数据机去处理传输的其它速度. 然後,不像上面在 /etc/gettydefs 里   的一连串列表,只需为数据机加上一行,例如:   # 115200 fixed speedF115200# B115200 CS8 # B115200 SANE -ISTRIP HUPCL #@S @L @B login: #F115200   如果你将你的数据机设成 RTS/CTS 执行硬体流量控制的话,那麽你可以将   CRTSCTS 加到这些项目里:   # 115200 fixed speed with hardware flow controlF115200# B115200 CS8 CRTSCTS # B115200 SANE -ISTRIP HUPCL CRTSCTS #@S @L @B login: #F115200   如果你要的话,你可以让 uugetty 在签入时的标题上印出些有趣的东西. 在我   的例子里,我印出系统名称,串列线路,以及目前的每秒位元传输率. 你可以加   入其它的东西:          @B    目前的每秒位元传输率(bps, 在看到 @B 时估计的).       @D    现在日期, 格式 MM/DD/YY.       @L    getty 所连接的串列线路.       @S    系统名称.       @T    现在时间,格式 HH:MM:SS (24 小时制).       @U    目前签入的使用者.这是在 /etc/utmp 档中非空 ut_name 栏位项目的计数值.       @V    版本值,在预设档中给定的.       如果要显示 '@' 符号的话,用 '\@' 或 '@@'.   接下来,确定你数据机所接的串列埠有输出及输入的设备. 如果你的数据机设在   ttyS3 的话你将会需要 /dev/cua3,以及 /dev/ttyS3 这两个设备. 如果你没有   正确的设备,参阅 [60]在 /dev 中建立设备 该节说明如何建立设备,并且建立   这些设备. 如果你希望在你的 uugetty 正在监视这个串列埠是否有人签入时还   能够用数据机拨出的话,用 /dev/cuaN 设备而不要用 /dev/ttySN.      当你正在编辑 /etc/gettydefs 时,你可以这样来检查它的语法是否正确:   linux# getty -c /etc/gettydefs6.4 自订 uugetty   你有许多参数可以用来改变你所拥有的每一个埠.这些是以分别对每一个埠使用   不同配置档的方式来实作的. 这个 /etc/conf.uugetty 档案会被所有的   uugetty 行程所使用,而 /etc/conf.uugetty.ttySN 只由那个埠使用. 预设的   配置档□例可以在 getty_ps 的原始档案里找到,这在绝大部分的 Linux 发行套   件里面都会有. 因为篇幅的考量,没有把它们列在这里. 要注意的是如果你用   的是比较旧的 getty 版本(比 2.0.7e 版还旧),或者是你没有依照 FSSTND 的话   ,那麽预设的档案将会是 /etc/default/uugetty.ttySN. 我的   /etc/conf.uugetty.ttyS3 看起来像这样:   # sample uugetty configuration file for a Hayes compatible modem to allow# incoming modem connections## alternate lock file to check... if this lock file exists, then uugetty is# restarted so that the modem is re-initializedALTLOCK=cua3ALTLINE=cua3# line to initializeINITLINE=cua3# timeout to disconnect if idle...TIMEOUT=60# modem initialization string...# format: <expect> <send> ... (chat sequence)INIT="" AT\r OK\r\nWAITFOR=RINGCONNECT="" ATA\r CONNECT\s\A# this line sets the time to delay before sending the login bannerDELAY=1#DEBUG=010   将下面那一行加到你的 /etc/inittab 里去,那麽 uugetty 就会在你的串列埠上   执行(用你环境的正确资讯来取代 - 配置档的位置,串列埠名,速度,及预设终   端机形式):   S3:456:respawn:/sbin/uugetty -d /etc/default/uugetty.ttyS3 ttyS3 F115200 vt100   重新启动 init:   linux# init q   对於在你 /etc/inittab 里面的速度参数,你会希望使用你数据机所能支援的最   高每秒位元传输率.      现在 Linux 将会随时监视你的串列埠是否有连线.从别的地方拨号并签入你的   Linux 机器.      uugetty 还有更多的选项,参阅 getty (lm) 线上手册获得更完整的叙述. 别的   不提它还有排程(scheduling)的功能,以及回拨的能力.   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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -