当前位置:操作系统 > 玩转网络 >>

如何设置串口多用户卡

答案:

操作系统: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

上一个:用wvdial和ppp轻松上网
下一个:Redhat Linux9 Gnome桌面上搭建C/C++IDE开发环境

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,