在LINUX下使用內建ISDN卡(轉)

ba發表於2007-08-12
在LINUX下使用內建ISDN卡(轉)[@more@]一、使用環境:

ISDN卡:我用的是ASUSCOM的內建卡,其實ASUSCOM的內建卡種類很多,只有一、二款支援linux,你買的時候要當心。

linux支援的ISDN晶片還有很多,詳見附表1,你要看清楚哦。更詳細的你可以看linux原始碼的文件中ISDN文件中的README.HiSax和其它文件。

現在的linux核心對PCI支援的很好,而且PCI的硬體也好配置,實際上就不需要什麼特殊的配置。你如果買的話,最好買PCI的卡。

另外需要額外下載一個叫isdn4linux的軟體,用於控制ISDN卡。地址如下:

ftp.isdn4linux.de
/pub/isdn4linux/isdn4k-utils-.tar.gz

大概形式是這樣,你耐心找一下。

二、安裝:

開啟機箱,把卡插好,OK 。

我的卡本身提供了linux下的驅動,但經過實踐,發現它並不好用。看看卡上的晶片吧,哦,是HFC-S PCI,2BDS0 ISDN,這是好事情,是linux支援的,卡型別為35,記好了,下面要用到的。

Linux 安裝後,它已經把幾乎所有支援的硬體驅動都編譯成模組了,所以我們就不用重新編譯核心。

安裝isdn4linux:
這是一項令人頭痛的工作,原因很簡單,它總是在編譯或安裝的時候一些莫名其妙的錯誤,導致通不過。如果編譯的時候出問題,你把它記下來,在make config中遮蔽掉就算了;如果是安裝的時候有錯誤,你進入它的下一級目錄,在每個目錄中執行make install,能安裝多少就安裝多少吧。

另一個辦法是用現成的rpm包,這個需要你自己找了。

其實用的也就是scripts/makedev.sh 和編譯生成的isdnctrl這兩個程式,也可以讓你的朋友傳給你。makedev.sh只使用一次,用於生成ISDN裝置;isdnctrl要複製到/sbin目錄中。

執行makedev.sh,生成ISDN裝置,雖然系統已經有ISDN裝置了,但仍然需要執行一次,我也很納悶。

三、準備其它檔案:
   需要修改或生成下面四個檔案,它們是:

用於儲存帳號和密碼的/etc/ppp/pap-secrets,屬性是644,格式參見附表2。
用於儲存帳號資訊的/etc/ppp/ioptions,屬性是644,格式見附表2。
儲存isdnctrl設定的/etc/isdn/isdn.conf,屬性是644,格式見附表3。其中的PHONE_OUT ISP提供的接入號碼,請改成你自己的。
撥號控制程式/etc/rc.d/init.d/isdn,屬性是755,格式見附表4。其中的modprobe hisax type=35 protocol=2 中的type是你的卡在附表1中的型別號碼,改成你自己的吧。
自己生成這些目錄和檔案,注意它們的屬性,除了特意提到的部分,其它部分基本不用修改了。恩,好象都準備好了,可以開始了。

四、撥號和建立路由:

執行/etc/rc.d/init.d/isdn start,載入HiSax模組和初始化ISDN卡。用dmesg看看,應該沒有什麼錯誤資訊才對。
執行/etc/rc.d/init.d/isdn dial0,撥號嘍。
等10秒鐘。
如果你想建立128K連線,再執行/etc/rc.d/init.d/isdn dial1即可。
撥號後用imontty看看ISDN卡埠的狀態,應該是 out 167 什麼的。如果是out的話,表示沒有通或斷了,再撥嘍。
等10秒鐘。
執行route default ippp0,建立預設路由。等等,這裡好象有問題,在isdn中不是有建立路由的指令麼,怎麼還需要啊?嘿嘿,我也搞不明白,可能是這樣的:由於是PPP連線,linux先前建立的路由是點到點的,如果你正好訪問與對方接入伺服器在一個c類網段的伺服器,那沒有問題,想到其它的網段,呵呵,不行,所以呢需要重新建立一次路由,讓到其它網段的也從ippp0出去。
另個問題可能是為什麼要等10秒呢?這是我經驗,如果不等的話,由於連線等工作還沒有建立,就會亂七八糟的,等吧,沒辦法。如果10秒不夠,你就等20秒吧,呵呵。
你可以幹你想幹的事情了,衝浪去吧。
我要下網了,怎麼辦?執行/etc/rc.d/init.d/isdn stop啊。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-949855/,如需轉載,請註明出處,否則將追究法律責任。

相關文章