作者┱Alexandre J 本文檔向用戶講授如何在Linux下讓瘟貓(Winmodem)運轉起來。 1. 瘟貓是什麼東東? 1.1 它們是貓...... 1.2 ...但是跟真正的貓並不一樣! 1.3 我怎麼知道我拿的是瘟貓? 2. 是ISA還是PCI? 2.1 PCI ? 2.2 難道是ISA的? 3. 安裝貓的驅動程序 3.1 LT牌瘟貓(來自朗訊科技LUCent) 3.2 LTMODEM程序(開源的驅動程序) 4. 結束... 4.1 版權協議,版權所有 4.2 聯系信息 4.3 資源 1. 瘟貓是什麼東東? 1.1 它們是貓...... 一只瘟貓,和其它的貓一樣,是用來訪問電話服務的,比如BBS、英特網、語音電話、傳真等等。它通過電話線連接並由速度決定其特性.如果您很想學習貓的更多知識,我建議您閱讀Modems-HOWTO。 1.2 ...但是跟真正的貓並不一樣!它們是“瘟”貓(WINmodem)!也就是說,它們依賴於Windows操作系統才能工作!為什麼呢?很簡單,因為它們太土鱉!它們需要特定的軟件和驅動程序協同起來才能完成完整的任務。所謂的特定軟件指的就是操作系統,隨貓所提供的驅動程序99%的程度是只有為微軟視窗系統平台獨家提供的。但是隨著Linux的民主化/大眾化(democratization),一些生產廠家,比如朗訊科技(LT)、摩托羅拉(Motorola)等,決定為她們自行研制生產的貓們開發Linux下的驅動程序。但是她們並不了解Linux的哲學:她們提供的驅動程序是能夠正常工作 的,而她們的驅動程序卻是“閉源”(Closed Source)的!她們是free的,這裡的free指的是價格上的“免費”,而不是GPL條款所指的“自由”!也就是說這些驅動程序的源代碼不公開給大眾。 所以,一些“黑客”/“電腦玩家”決定編寫一個開源(Open Source)的驅動程序,但是他 們 並不十分了解手中的貓的技術細節,因為生產廠商不願意洩露的貓的技術細節。也正因為如 此,開源的貓驅動程序往往是alpha或者beta版本的。 1.3 我怎麼知道我拿的是瘟貓? 1. 看看您的貓連接的串口的名稱(舉例說,在Windows或者MSDOS就是COM1、COM2、...等等 )。 在Linux下,您的貓的名稱是/dev/ttySx。此處的x是在DOS下的串口號數字減一。比如,在D OS下的COM1,在Linux是ttySx,這裡的x=1-1=0,所以是ttyS0。 第二例:在DOS下面是COM3,在Linux下面則是ttyS2。 其它的依此類推。 2. 給/dev/ttySx做一個名為/dev/modem的符號連接。需要執行的命令是: rm -f /dev/modem ln -s /dev/ttySx /dev/modem 3. 下載並安裝minicom軟件包。接著運行'minicom -s'。 選擇'Serial Port Setup'(串口設置),鍵入'A'來設定'Serial Device('串口設備), 刪 除所有的行,並輸入'/dev/modem'。接著請按[Enter]回車鍵確認。按[Esc]鍵,並選擇'sav e setup as dfl”,然後選擇'Exit'(退出)。 請等待一會兒,然後輸入'AT'。如果您的貓回應'OK',那麼您的貓不是一只瘟貓,而是一只標准的貓! 如果初始化時間太長,那麼您的貓應該是一只瘟貓。請仔細閱讀本文檔,讓它能跑起來。請 以root根用戶登錄。 4. 請按CTRL+A然後X退出Minicom操作環境。 2. 是ISA還是PCI? 2.1 PCI ? 嗯,知道了,我們現在知道我們的貓是一只瘟貓了。但是瘟貓有兩種類型:ISA或是PCI的。 可惡的廠商們為了讓事情變得更糟糕,故意把兩種接口做的非常不同。所以,現在我們就要 測試一下我們的貓是PCI的還是ISA的。首先,必須要配置一把內核。在make *config的過程 當中,必須對下列問題回答'yes':在Loadable module support(可加載模塊支持)部分:'Enable loadable module support (CONFIG_MODULES)'(激活可加載模塊支持),及 'Set version information on all mod ules for symbols(CONFIG_MODVERSIONS)'(切記必須已經安裝了modutils模塊工具軟件包 請參閱Kerneld-HOWTO) 在General setup部分: 'PCI support' (CONFIG_PCI) 在'PCI Access Mode' (CONFIG_PCI_GOBIOS)處選擇'Any' 'PCI quirks' (CONFIG_PCI_QUIRKS) 'Backward compatible /proc/pci' (CONFIG_PCI_OLD_PROC) 在Filesystems部分 '/proc filesystem support' (CONFIG_PROC_FS) 如果您從未重編譯過內核,可能您使用的發行套件的內核就已經包含這些東西。如果想重編 譯內核,而且您還從未干過這樣的事情,請參閱Kernel-HOWTO. 現在,我們假定您的新內核已經安裝妥當。 現在請運行'cat /proc/pci'命令。如果您在命令行返回的結果當中看到了您的貓的名字,那麼您的貓是PCI瘟貓。請跳至'安裝驅動程序'一節 2.2 難道是ISA的? 如果您還沒有找到您的貓,很有可能您拿到的是一只ISA的貓。怎麼確定是ISA貓呢? ISA的支持在內核是不考慮直接支持的(2.4.*系列內核會考慮,但是目前它還是不夠穩定的 )。這裡有一個第三方的軟件,名字就叫isapnp,是用來檢測ISA設備的。首先您必須確認您已經安裝了該軟件包。如果還沒有安裝,也可以通過下載isapnptools軟件包來解決。 一旦isapnptools已經安裝好,我們先運行一個特定程序,叫pnpdump。它可以檢測您的電腦系統,從中尋找出ISA設備來。在運行當中,程序試圖檢測設備所使用的資源並將這些資源打印到文件/etc/isapnp.conf當中。然後,您需要編輯該文件並執行另外一個程序isapnp。該程序會讀取isapnp.conf文件並自動配置您的設備。 嗯?聽起來很難麼?那就走一走以下的步驟吧: 1. 請執行'pnpdump > /etc/isapnp.conf'。 2. 請使用您最喜歡的文本編輯器來編輯該文件。 3. 定位到描述您的貓的節段部分。 4. 去掉文件當中的某些行列的注釋(就是去掉行首的#號啦)。您得: 1 line '(IO 0 ...)' 1 line '(INT 0 ...)' 1 line '(DMA 0 ...)' 1 line '(DMA 1 ...)' 1 line '(IO 1...)' 5. 請刪除掉所有未注解IO行當中的'(CHECK)' 6. 請執行'isapnp /etc/isapnp.conf'。如果提示有錯,請根據您得到的錯誤信息,編輯文件isapnp.conf並變更參數。如果沒有錯誤提示,編輯文件isapnp.conf並解除描述您的貓的 節段部分的'(ACT Y)'行注釋。然後再執行'isapnp /etc/isapnp.conf',系統會提示您" [[ Name of your modem]] Enabled OK" 7. 請把'isapnp /etc/isapnp.conf'添加到您的/etc/rc.d/rc.local當中,方法是輸入 'echo "isapnp /etc/isapnp.conf" >> /etc/rc.d/rc.local'。在每一次的系統啟動的設備自 動 配置時,這會起到很大作用。