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