朋友送我一個內貓,折騰一番後,終於在Linux下裝上了驅動,現在把過程寫一下,希望對其他想在linux下使用內貓的朋友有幫助
1.硬件信息:
網達IDVM-CD56,包裝盒封面標有"硬貓-Intel主芯片"字樣,盒子底面標有"采用世界著名的intel芯片組(5628)"字樣,在www.wonda.com.cn可以查詢到這個PCI內貓的信息;在win下的驅動信息裡,可以查詢到芯片為MD5628D-L-A,而在板子的電路板上,也很容易辨認出其中最大的一片集成電路上印有MD5628D-L-A的字樣,這些信息很重要
2.系統:
rh8.0,內核是自定義配置的2.4.18-14custom
3.查找驅動:
先去其主頁www.wonda.com.cn查找驅動,發現有linux驅動,下載下來,編譯安裝,安裝成功,大喜!加載模塊,失敗,出現device is busy的錯誤信息,提示可能irq沖突或設備安裝不正確,折騰多次不成功,估計是驅動不正確(後來發現這個驅動確實不對,它驅動的是MD5628D-L-C芯片組內貓,和MD5628D-L-A不同),於是放棄這個驅動,先到論壇查詢一下,發現有不少關於5628芯片內貓的信息,大多是不成功的,其中有幾篇提到了使用MD5628D-L-B芯片驅動成功,精神大振!接著,在http://www.idir.net/~gromitkc/intel/intel_563x_ham.Html查詢到符合這個內貓的信息(Identifiers PCI Vendor ID: 1813, Device ID: 4000,這些ID和cat /proc/pci得到的Communication controller: PCI device 1813:4000信息一致),果然是MD5628D-L-A和MD5628D-L-B芯片同一驅動,於是順著上面的鏈接到http://developer.intel.com/design/modems/support/drivers_linux.htm,下載了for MD5628D-L-B和2.4.x內核的驅動Intel-v92ham-451.tgz
4.編譯驅動:
將Intel-v92ham-451.tgz拷貝到/tmp下
tar zvxf Intel-v92ham-451.tgz
cd Intel-v92ham-451
詳細閱讀了裡面的readme.txt,這是安裝說明,裡面有編譯說明和步驟,中文翻譯的安裝說明見這裡:
http://www.linuxfans.org/nuke/modules.PHP?name=News&file=article&op=view&sid=854
按照編譯步驟:
make clean&&make ham&&make install
[root@llc Intel-v92ham-451]# make install
bash haminst
running kernel 2.4.18-14custom
installing hamregistry, used for persistant storage
installing ham module
installing hamcore module
redhat hamboot rc2.d and rc3.d scripts
starting module and utilities
done
從上面信息可以看到,編譯安裝模塊是成功了,執行一下lsmod命令,發現ham,hamcore模塊確實已經成功加載了
再執行一下dmesg命令,在輸出的信息中有下列字樣:
hamcore module init
ham: loading HaM Release 4.51 INT (kern:2.4.18-14custom) - Feb 11 2003
PCI: Found IRQ 3 for device 02:02.0
IRQ routing conflict for 00:1f.4, have irq 9, want irq 3
ham: IRQ: 3, DSP-Base: 0xdf001000 (phys) 0xd0840000 (virt) (range: 4k), DSP-Port: 0xc400 (range: 256b)
說明模塊加載成功後,設備已經被正確識別並驅動起來,其中設備占用的IRQ為3,I/O端口為0xc400,這些和在win下查詢到的信息一致,現在內貓已經可正確工作了
5.撥號聯網
撥號前,先確定你的內核已經編譯了ppp支持(用貓聯網使用的是PPP協議),一般來說,官方發行版的內核都已經編譯了ppp支持模塊,但如果你使用的是自己編譯的內核,則檢查內核配置,確認'Network device support'裡已經選擇了'PPP support','PPP support for async serial ports','PPP support for sync tty ports'這三項(選擇編譯成模塊就可以)
在linux下用貓上網,一般需要撥號和建立ppp聯接兩個步驟,其中撥號工具有minicom,wvdial等,撥號,輸入正確的帳號密碼,撥號就算成功了;而建立ppp聯接需要用pppd這個命令來完成,這兩個過程對於新手來說比較煩瑣,因此不做詳細介紹,有興趣的朋友可以在http://www.linuxfans.org/nuke/modules.php?name=News&file=article&op=view&sid=444看到詳細的手動撥號步驟
使用kppp這個工具,能自動執行上面所說的兩個步驟,非常方便,下面詳細說一下:
運行kppp,選"設置"按鈕,增加一個帳號,給帳號起個名字(譬如'200卡'),在帳號信息裡輸入要拔的電話號碼(可以使用','號作為撥號間隔符,也可以使用'#'作為電話撥號裡的#鍵,譬如,要用200卡撥號96169上網,撥號為'200,2,帳號#,密碼#,1,96169#');如果你的ISP服務器支持自動獲取DNS功能,則DNS不設置,否則手動指定DNS;其他什麼都不用設置,"確定".
然後在"設備"標簽那裡,選擇撥號設備為/dev/modem(這個內貓成功驅動後,會建立/dev/ham這個設備文件,並將/dev/modem鏈接到/dev/ham上,因此設備選/dev/modem就可以了,一般來說,內貓驅動後都建立自己的設備文件並鏈接到/dev/modem上),"流控制"選擇CRTSCTS,"連接速度"選擇115200.
在"調制解調器"標簽那裡,按"查詢調制解調器"按鈕,可以查詢得到內貓的信息(如果查詢失敗,請檢查內貓驅動是否安裝成功或"設備"選擇正確與否),"調制解調器音量"設置則可以按個人喜好設置撥號,其他什麼都不用設置.
全部確定後,選擇連接的名字,輸入帳號密碼,按下"連接"按鈕,就開始撥號了,成功聯接後,執行ifconfig命令,可以看到ppp0聯接已經建立,IP也已經自動分配,也就可以上網了.