荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: bstone (Live my life!), 信区: Linux
标  题: [转载]如何设置串口多用户卡
发信站: BBS 荔园晨风站 (Wed Feb 23 12:24:33 2000), 站内信件

如何设置串口多用户卡

作者:Paul Liang [中国Linux论坛网友]




操作系统:RedHat 6.1

硬件:串口多用户卡
     串口多用户卡一般都有跳线可供选择(阅读说明书).
     我对一个八口的多用户卡的跳线设置为:
     IRQ=3
     I/O=0190,0198,01a0,01a8,01b0,01b8,01c0,01c8(十六进制)共八个
     I/O端口

     多用户卡的晶片类型:16550A  /*不同的多用户卡的晶片类型可能不同*/

过程:由于涉及设置,以下的操作由root用户完成.
    一.因为多用卡的中断是3,所以要删去ttyS1(COM1)和ttyS3(COM4).
     1. #cd /dev
     2. #./MAKEDEV -d ttyS1
     3. #./MAKEDEV -d ttyS3
    二.生成串口设备.
     1. #cd /dev
     2. #./MAKEDEV ttyS11
     3. #./MAKEDEV ttyS12
     4. #./MAKEDEV ttyS13
     5. #./MAKEDEV ttyS14
     6. #./MAKEDEV ttyS15
     7. #./MAKEDEV ttyS16
     8. #./MAKEDEV ttyS17
     9. #./MAKEDEV ttyS18
     /*选择这样的串口设备是我的喜好,您可以选择ttyS[0..63]范围的串口设备*/
    三.设置串口设备对应多用户卡的串口
     1. #/bin/setserial /dev/ttyS11 port 0x0190 irq 3 uart 16550A
        /*设置/dev/ttyS11i为对应多用户卡的第一个串口,以下依此类推*/
        /*如果没有setserial工具,就安装它.RH6.1的缺省安装就已有此工具了*/
     2. #/bin/setserial /dev/ttyS12 port 0x0198 irq 3 uart 16550A
     3. #/bin/setserial /dev/ttyS13 port 0x01a0 irq 3 uart 16550A
     4. #/bin/setserial /dev/ttyS14 port 0x01a8 irq 3 uart 16550A
     5. #/bin/setserial /dev/ttyS15 port 0x01b0 irq 3 uart 16550A
     6. #/bin/setserial /dev/ttyS16 port 0x01b8 irq 3 uart 16550A
     7. #/bin/setserial /dev/ttyS17 port 0x01c0 irq 3 uart 16550A
     8. #/bin/setserial /dev/ttyS18 port 0x01c8 irq 3 uart 16550A
    四.编缉/etc/inittab文件
     1. 在文件/etc/inittab增多以下几行:
        11:2345:respawn:/sbin/mingetty ttyS11
        12:2345:respawn:/sbin/mingetty ttyS12
        13:2345:respawn:/sbin/mingetty ttyS13
        14:2345:respawn:/sbin/mingetty ttyS14
        15:2345:respawn:/sbin/mingetty ttyS15
        16:2345:respawn:/sbin/mingetty ttyS16
        17:2345:respawn:/sbin/mingetty ttyS17
        18:2345:respawn:/sbin/mingetty ttyS18
        /*每行开头的号码(如11等)视您的机器设置而定*/
     2. #init q /*使以上增加的几行生效*/
至此,已完成了串口多用户卡的设置.接上终端,就可见到盼望已久的login状态,爽吧!


另外,如果想每次一开完机,就能使用串口卡,可以将第三步编缉成shell文件,放在
/etc/rc.d/init.d下,然后在/etc/rc.d/rc3.d造个软连接,步骤如下:
    1. #cd /etc/rc.d/init.d
    2. #vi ttyS  //文件名随您选
       增加第三步的几行:
       /bin/setserial /dev/ttyS11 port 0x0190 irq 3 uart 16550A
       /bin/setserial /dev/ttyS12 port 0x0198 irq 3 uart 16550A
       /bin/setserial /dev/ttyS13 port 0x01a0 irq 3 uart 16550A
       /bin/setserial /dev/ttyS14 port 0x01a8 irq 3 uart 16550A
       /bin/setserial /dev/ttyS15 port 0x01b0 irq 3 uart 16550A
       /bin/setserial /dev/ttyS16 port 0x01b8 irq 3 uart 16550A
       /bin/setserial /dev/ttyS17 port 0x01c0 irq 3 uart 16550A
       /bin/setserial /dev/ttyS18 port 0x01c8 irq 3 uart 16550A
       存盘退出
   3. #chmod +x ttyS  /*使ttyS可执行*/
   4. #cd /etc/rc.d/rc3.d   //这是进入字符状态多用户模式,如果一开机就进入
                            //XWindows模式,应选择路径 /etc/rc.d/rc5.d
   5. #ln -s ../init.d/ttyS S99ttyS //您可以选另外一个连接文件名

   //以上是我的做法,当然很多人将上面几行setserial内容增加在/etc/rc.d/rc.local
   //的尾部,就更简单了。


如果你想知道你所用的终端是哪一个串口设备,可编缉/etc/rc.d/rc.local,在它的一行中
增加(\l):
   1. #vi /etc/rc.d/rc.local
      找到一行:
      echo "Kernel $(uname -r) on $a $SMP$(uname -m)" >> /etc/issue
      增加(\l),上面一行变成:
      echo "Kernel $(uname -r) on $a $SMP$(uname -m) (\l)" >> /etc/issue
那么,你就能在终端上见到象这样的login状态:
     ......................
     .................... (ttyS11)

     ............ login:


最紧要的是你要知道串口多用户卡的晶片、中断和I/O。
如有建议,请Email:iesun@21cn.com 或iesun@sina.com

中国Linux论坛网友 paulie (Paul Liang)




中国Linux论坛 版权所有





--------------------------------------------------------------------------------


Copyright 1999,China Linux Forum

--
☆ 来源:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: bbs@192.168.28.23]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店