Linux 版 (精华区)

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

Linux Serial HOWTO 中译版 : 串列埠的名称是什麽?
Previous: 已经支援的串列硬体
Next: 你应知道的有趣程式 


3. 串列埠的名称是什麽?

一个输出/入(I/O)埠是用来将资料送入电脑及从电脑取出的通路.
有许多种类的输出/入埠,例如串列埠,平行埠,磁碟控制器,乙太
网路卡等等. 我们要处理的是串列埠,因为数据机及终端机是串列
装置. 每一个串列埠必须有一个输出/入位址,以及一个插断号码
(IRQ). 有四个串列设备对应到 COM1 - COM4: 

     ttyS0 (COM1) address 0x3f8 IRQ 4
     ttyS1 (COM2) address 0x2f8 IRQ 3
     ttyS2 (COM3) address 0x3e8 IRQ 4
     ttyS3 (COM4) address 0x2e8 IRQ 3

如果 Linux 启动时没有侦测到任何串列装置,请确定在编译核心时
有加入串列支援. 在这份文件中,我是以 ttyS0 参照 COM1,ttyS1
参照 COM2,以 ttyS2 参照 COM3 ,而以 ttyS3 参照 COM4. 注意这
些装置预设的 IRQ 是重叠的.你无法由这些预设值使用所有的串列
埠,你必须重新指定不同的 IRQ. 参见 我能使用超过两个的串列
装置吗? 一节说明如何设定 IRQ.

某些安装方式会建立两个额外的设备,给你数据机使用的 /dev/modem
以及给你滑鼠使用的 /dev/mouse. 它们都是链结到你在安装时所指
定适当 /dev 里的设备的符号链结(除非你用的是汇流排滑鼠(bus
mouse) ,那麽 /dev/mouse 将会指到汇流排滑鼠这个设备).

已经有些关於使用 /dev/mouse 以及 /dev/modem 优缺点的讨论. 我强
烈地反对使用这些链结,如果你打算用你的数据机接受拨接的话,
要是你使用了 /dev/modem 那麽你将会因为锁定档案(lock files)无
法正确运作而遭遇到困难. 如果你喜欢它们的话就用吧,但是要确
定它们指向正确的设备. 然而,如果你改变或除去这个连结,某些
应用程式(例如 minicom)可能要重新设定.

3.1. 在 /dev 里的串列设备及主要和次要号码

     /dev/ttyS0 major 4, minor 64    /dev/cua0 major 5, minor 64
     /dev/ttyS1 major 4, minor 65    /dev/cua1 major 5, minor 65
     /dev/ttyS2 major 4, minor 66    /dev/cua2 major 5, minor 66
     /dev/ttyS3 major 4, minor 67    /dev/cua3 major 5, minor 67

要注意到所有的发行套件都应该已经正确地建立了这些设备. 你可
以用下法检查: 

     linux% ls -l /dev/cua*
     linux% ls -l /dev/ttyS*

3.1.1. 在 /dev 中建立设备

如果你没有其中的一个设备,你必须自己用 mknod 指令建立它. 例
如,假定你需要建立 ttyS0 设备: 

     linux# mknod -m 666 /dev/cua0 c 5 64
     linux# mknod -m 666 /dev/ttyS0 c 4 64

你也可以使用 MAKEDEV 这个指令稿,在 /dev 下应该会有. 这简化
了设备的建立.例如,如果你需要建立 ttyS0 设备则应该输入: 

     linux# cd /dev
     linux# ./MAKEDEV ttyS0

这将会处理关於连线进来以及连线出去的设备之建立,并设定正确
的权限.

3.2. 一般多埠板的注意事项

你的多埠板所使用的设备视你使用那一种多埠板而定. 这些细节详
细列在随附於 setserial 程式的 rc.serial 里面. 如果你尝试使用多
埠板的话我强烈建议你取得最新版本的 setserial. 你可能会需要建
立这些设备.无论是用 mknod 指令或是 MAKEDEV 指令稿都可以. 多
埠板所用设备是以加上 ``64 + 埠号'' 来建立的.所以,如果你想
为 ttyS17 建立设备,你应该输入: 

     linux# mknod -m 666 /dev/cua17 c 5 81
     linux# mknod -m 666 /dev/ttyS17 c 4 81

要注意到 ''64 + 17 = 81''.使用 MAKEDEV 指令稿的话,你应该输
入: 

     linux# cd /dev
     linux# ./MAKEDEV ttyS17

注意: SIIG 的 IO1812 手册上列出的 COM5-COM8 是错的.它们应
该是 COM5=0x250, COM6=0x258, COM7=0x260, 以及 COM8=0x268.

注意: Digi PC/8 Interrupt Status Register 是 0x140.

注意: 对於 AST Fourport,你必须在 rc.serial 中指定 skip_test.

3.3. 智慧型多埠板的注意事项

阅读随附驱动程式而来的资讯. 这些板使用了特殊的装置,而非标
准的.这些资讯视你的硬体而定.


Linux Serial HOWTO 中译版 : 串列埠的名称是什麽?
Previous: 已经支援的串列硬体
Next: 你应知道的有趣程式 

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