_ GTEK BBS-550 with Linux mini-HOWTO _ 由 Wajihuddin Ahmed <[1]wahmed@sdnp.org.pk> 製作 v1.1. 20 八月 1997 _________________________________________________________________ _ GTEK 的 BBS-550 是一片 8-埠的序列卡,卡上面使用 16C550 UARTS 晶片, 全部的 8 個埠共用一個 IRQ, 在 Linux 之中不需要任何的驅動程式 因此核心 (kernel) 不須要重新編譯但是核心 (kernel) 需要支援序列埠。 _ _________________________________________________________________ 1. 要使用那一個 I/O 地址 ? 2. rc.serial 檔案和 IRQ 的選擇 3. uugetty 的設定 4. 最後的檢查… _________________________________________________________________ 1.在 Linux 之中如何設定序列埠的詳細資料請看 Serial-HOWTO,我就是從那邊開始的。 在我的Linux 電腦上,設定 BBS-550 使用從 0x100 到 0x140 的 I/O 地址 (Slackware 2.3.核心 (kernel) 1.3.93),主要的理由是 我的電腦中上述的地址沒有被使用到,在 GTEK 手冊的第 4 頁中 寫著有關 jumper 的設定,另外那個 I/O 地址的範圍通常 很少被其它的硬體所使用,使用在 GTEK 磁碟片之中的 IOMAP.EXE 程式 ,來確定在你的電腦上的 I/O 地址那些是可以使用的 。 _________________________________________________________________ 2.你把卡片裝入在你的電腦上之後 _你需要 設定序列埠_,它是十分容易的因為 rc.serial 這個 檔案之中已經有 BOCA 8 埠卡的設定欄位這些欄位可以用在 GTEK上,這裡是我的 rc.serial 檔案, _不要忘記_從 rc.S 檔案中把註銷記號取掉這樣一來才能執行。 -- #!/bin/sh # /etc/rc.serial # Initializes the serial ports on your system (在你的系統上初始化序列埠) # Version 2.01 (版本 2.01) cd /dev SETSERIAL="/bin/setserial -a" PORTS=`echo cua? cua??` echo -n "Configuring serial ports...." # Do wild interrupt detection (做中斷偵查) # #${SETSERIAL} -W ${PORTS} # Do AUTOMATIC_IRQ probing (做自動的_IRQ 分析) # #AUTO_IRQ=auto_irq ${SETSERIAL} /dev/cua16 uart 16550A port 0x100 irq 5 ${SETSERIAL} /dev/cua17 uart 16550A port 0x108 irq 5 ${SETSERIAL} /dev/cua18 uart 16550A port 0x110 irq 5 ${SETSERIAL} /dev/cua19 uart 16550A port 0x118 irq 5 ${SETSERIAL} /dev/cua20 uart 16550A port 0x120 irq 5 #${SETSERIAL} /dev/cua21 uart 16550A port 0x128 irq 5 #${SETSERIAL} /dev/cua22 uart 16550A port 0x130 irq 5 #${SETSERIAL} /dev/cua23 uart 16550A port 0x138 irq 5 echo "done." ${SETSERIAL} -bg ${PORTS} -- _ 注意我有使用 IRQ 5_,看一下 GTEK手冊中的第 6 頁有說明如何設定 IRQ 。 _________________________________________________________________ 3.我使用 uugetty 作為撥入之用,這裡是我從 /etc/inittab (sys V) 的檔案中取出。 s1:45:respawn:/sbin/uugetty ttyS16 38400 vt100 s2:45:respawn:/sbin/uugetty ttyS17 38400 vt100 s3:45:respawn:/sbin/uugetty ttyS18 38400 vt100 s4:45:respawn:/sbin/uugetty ttyS19 38400 vt100 s5:45:respawn:/sbin/uugetty ttyS20 57600 vt100 #s6:45:respawn:/sbin/uugetty ttyS21 38400 vt100 #s7:45:respawn:/sbin/uugetty ttyS22 38400 vt100 #s8:45:respawn:/sbin/uugetty ttyS23 38400 vt100 確定你在 /etc/gettydefs 的檔案中有正確的的欄位存在 ,不要忘記在 /etc/deault 目錄中建立一個新的 uugetty 設定檔案。 _________________________________________________________________ 4.在開機時核心 (kernel) _不會_回報新的序列埠, 在開機期間你可以從螢幕看到 rc.serial 執行的同時會設定序列埠。 ps ax _顯示 uugetty 被連接到序列埠_,這裡是我的 ps 的部分輸出顯示。 18208 ? S 0:00 /sbin/uugetty ttyS18 38400 vt100 18247 ? S 0:00 /sbin/uugetty ttyS20 57600 vt100 18254 ? S 0:00 /sbin/uugetty ttyS19 38400 vt100 18258 ? S 0:00 /sbin/uugetty ttyS17 38400 vt100 18260 ? S 0:00 /sbin/uugetty ttyS16 38400 vt100 最後向外撥號看看測試一下這塊卡 (使用 cuaXX)然後撥 入測試一下 (ttySXX)。 祝你好運! References 1. mailto:wahmed@sdnp.org.pk