?? 00000000.htm
字號:
<HTML><HEAD> <TITLE>武漢白云黃鶴站∶精華區(qū)</TITLE></HEAD><BODY><CENTER><H1>武漢白云黃鶴站∶精華區(qū)</H1></CENTER>發(fā)信人: dot (愛吃蘿卜和青菜), 信區(qū): Embedded <BR>標 題: Linux 遠程串口控制臺指南 <BR>發(fā)信站: 武漢白云黃鶴站 (2002年12月28日12:43:36 星期六), 站內(nèi)信件 <BR> <BR>Linux 遠程串口控制臺指南 <BR> <BR>dot <<A HREF="mailto:anonymou@163.com>">anonymou@163.com></A> <BR>Dec 27, 2002 <BR> <BR>2002年圣誕節(jié)期間,我在 Redhat Linux 7.0 (kernel 2.2.16-22) 平臺上配置了遠程串 <BR>口終端,整個過程基本順利,但是也經(jīng)歷了一些意想不到的波折,幸好最終是成功了的 <BR>。乘著記憶還比較清晰的時候,寫下這篇文檔,以供自己和他人參考。 <BR> <BR>首先參考 "Linux-Remote-Serial-Console-HOWTO",該文檔已經(jīng)足夠詳盡,按要求一步 <BR>步地做即可。該文檔描述的是 Redhat 7.2 平臺,個別地方跟 7.0 有些差異,不過問題 <BR>不大。 <BR> <BR>要注意的問題主要是: <BR> <BR>* 串口直連電纜 <BR> <BR>開始我并沒有在意這個問題,我手頭上有一根以前做的直連電纜,是只用了3根線的那種 <BR>(2、3交叉,5對接),因此 HOWTO 文檔中講電纜制作的章節(jié)我就跳過去了,沒有仔細 <BR>看,以為我這根電纜就可以了。事實也給人以這種假相:當(dāng)我按照文檔的說明完成了配 <BR>置文件的修改,重新引導(dǎo) Linux 機子,這時在 Windows 的超級終端中確實顯示了所有 <BR>該顯示的信息,看起來沒問題。然而接下來配置 getty 時就不行了,應(yīng)該出現(xiàn)在超級終 <BR>端中的 login: 提示符死活不肯出現(xiàn)。以為是 getty 軟件的問題,先后測試了 getty <BR>和 mgetty,都不行。后來在 quickmouce 的提醒下,又仔細看文檔,按照 11.3 節(jié)的圖 <BR> 11-1 重新制作了串口直連電纜,才解決問題。 <BR> <BR>* getty 軟件 <BR> <BR>HOWTO 文檔中已經(jīng)指出,mingetty 不支持串口終端,所以這個軟件要首先排除(minget <BR>ty 的手冊頁中也有相關(guān)說明)。而 Redhat 缺省安裝的就是這個軟件,所以要重新下載 <BR>安裝其他的 getty 類軟件。文檔中也已經(jīng)列出了幾種常用的 getty 的變種。 <BR> <BR>來說說 mgetty 先。為什么我先使用了這個軟件呢,一是因為 Redhat 7.0 的安裝盤上 <BR>面有它的 RPM 包,直接拿來裝很方便,另外是因為 mingetty 的手冊頁中推薦使用 <BR>mgetty 。結(jié)果是 mgetty 運行后在日志文件中報告大量錯誤,莫名其妙。我想可能是這 <BR>個光盤上的版本老了,于是上網(wǎng)下載了比較新的版本 mgetty-1.1.25-5.i386.rpm ,運 <BR>行之后情況好多了,似乎要成功的樣子。在沒有使用新的串口線之前,login: 出不來, <BR>但是在超級終端中敲的字符 mgetty 可以收到(從日志中看的出來);換了新制作的串 <BR>口線之后,第一次!成功了,一切都象預(yù)期的那樣,我可以從超級終端登錄。可是當(dāng)我 <BR>退出想再登錄一次,就不行了,甚至我把兩臺機子全部重啟也不行啦。我又試用 <BR>Linux 的 minicom 終端來連接,也是只成功了一次,就再也不行了。真是怪哉,腦袋都 <BR>快想破了,也不知道是為什么。后來終于懷疑 mgetty 有問題,換了其他的,天哪,終 <BR>于解脫了。不知道后面更新的版本是否可以,我是沒有勁去試了。 <BR> <BR>再來說說 agetty 。其實沒有什么好說的,因為我根本沒有用過這個。我本來想試一下 <BR>的,但是從網(wǎng)上下載安裝太麻煩了。下載了 agetty-2.11w-2.i386.rpm ,安裝時 RPM <BR>說要先安裝 login 包,然后又要求什么 pam 包,然后又需要 awk ,真是 faint 了, <BR>太麻煩了,所以最終我也沒有安裝它。 <BR> <BR>最后說 getty 啦。也就是 HOWTO 文檔中所謂的 “傳統(tǒng)” getty 。我下載的 RPM 包的 <BR>名字叫 getty_ps-2.0.7j-9.i386.rpm 。當(dāng)我正在為 mgetty 的問題頭疼的時候,換成 <BR>它之后就一切 OK 了。 <BR> <BR>* 終端軟件 <BR> <BR>Windows 下面可以用超級終端、NetTerm,Linux 下面有 Minicom 。都比較好用,注意 <BR>參數(shù)配置與目標機的串口一致。 <BR> <BR>* 修改過的配置文件列表 <BR> <BR>/etc/lilo.conf <BR>/etc/inittab <BR>/etc/gettydefs <BR>/etc/securetty <BR>/etc/makedev.d/linux-2.2.x <BR>/etc/security/console.perms <BR>/etc/sysconfig/init <BR>/etc/sysconfig/kudzu <BR> <BR>* 再談串口直連電纜 <BR> <BR>這次調(diào)試在串口直連電纜上面花費了不少力氣,對它們的了解也增加了不少。以前以為 <BR>直連電纜就是接 3 根線,其實不然。只用了 2、3、5 引腳的直連電纜不能提供握手信 <BR>號,因此如果軟件需要使用 CTS/RTS 或者 DTR/DSR 流控,就需要連接更多的引腳。 <BR> <BR>PC DB9 DB9 <BR>-------------------- ----------------------- <BR>RxD Receive Data 2 <----- 3 TxD Transmit Data <BR>TxD Transmit Data 3 -----> 2 RxD Receive Data <BR> |--> 6 DSR Data Set Ready <BR>DTR Data Terminal Ready 4 --|--> 1 DCD Carrier Detect <BR>GND Signal Ground 5 ------ 5 GND Signal Ground <BR>DCD Carrier Detect 1 <--| <BR>DSR Data Set Ready 6 <--|-- 4 DTR Data Terminal Ready <BR>RTS Request To Send 7 -----> 8 CTS Clear To Send <BR>CTS Clear To Send 8 <----- 7 RTS Request To Send <BR>RI Ring Indicator 9 (not used) <BR> <BR>上面是兩端都是 DB9 接頭的標準 NULL MODEM 電纜的接線圖,可以提供全部握手信號。 <BR>這也是 Remote-Serial-Console-HOWTO 中要求的直連電纜做法。我做通串口控制臺使用 <BR>的就是這種電纜。 <BR> <BR>如果你打算自己制作電纜,就會發(fā)現(xiàn)一些問題。我們一般利用網(wǎng)線(雙絞線)來做,這 <BR>種雙絞線是 8 芯的,而按照圖示的連接方法則需要 9 根線。因此最簡單的方法是用那 <BR>種很多芯的排線來做,需要多少根割多少根(最好是彩色的,不容易弄混)。后來我想 <BR>,我們用到的其實就是 CTS/RTS 流控信號,到 2000 年為止 Linux 還不支持 <BR>DTR/DSR 流控,應(yīng)該用不了這么多線。于是我就用網(wǎng)線做了根不完整的直連電纜:2、3 <BR>交叉,5 對接,7、8 交叉,還空 3 根線,就把 1、4 也交叉連上了,結(jié)果是用了 7 根 <BR>線,還空 1 根,與上面比只是少了 4、6 交叉,也就是沒有 DTR/DSR 信號。事實證明 <BR>這樣也是通的。我猜想 1、4 交叉不要應(yīng)該也是通的,只是沒有試過,已經(jīng)焊上去懶得 <BR>再弄了。 <BR> <BR>關(guān)于串口方面的更多內(nèi)容可以參考 "Linux-Text-Terminal-HOWTO" 和 <BR>"Linux-Serial-HOWTO" 文檔。 <BR> <BR> <BR>* 為什么要用串口終端(控制臺)? <BR> <BR>為什么費勁做這個 Serial Console 呢?最容易想到的理由是省錢,呵呵,省掉了顯卡 <BR>、顯示器、鍵盤,只剩下一個 "Box",多好玩。 <BR> <BR>說正經(jīng)的,這種做法在嵌入式系統(tǒng)的開發(fā)中也是很有價值的。現(xiàn)在很多人都在利用 <BR>X86 平臺做嵌入式系統(tǒng)開發(fā),甚至做產(chǎn)品。我曾經(jīng)測試過清華某某做的 foobar 服務(wù)器 <BR>,鏡像光盤用的,賣給你的就是一個主機,我自己給接上顯示器、鍵盤,開機就是 <BR>Linux ,還可以進入單用戶模式,兩分鐘就把 root 口令改了,你說這樣的服務(wù)器有什 <BR>么安全性可言?如果能夠屏蔽本地控制臺,配置串口終端,不是更“象”一個產(chǎn)品嗎? <BR> <BR>(完) <BR> <BR>-- <BR>[3I“你為你的玫瑰花花費了時間, <BR> <BR>※ 修改:·dot 於 12月28日12:49:46 修改本文·[FROM: 202.119.32.102] <BR>※ 來源:·武漢白云黃鶴站 bbs.whnet.edu.cn·[FROM: 202.119.32.102] <BR><CENTER><H1>華中地區(qū)網(wǎng)絡(luò)中心</H1></CENTER></BODY></HTML>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -