国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 操作系統 > 正文

網卡設置指南

2024-07-26 00:31:30
字體:
來源:轉載
供稿:網友
索引關鍵詞:[linux,網卡,D-LINK DE-220/NE2000,D-LINK DFE530TX,雙網卡]
最新修改日期:Oct. 9th, 2000
發布日期:19991119
版權協議:GPL


作者說明:
    本文現由我本人維護(mailto:wangdong@163.net),但我的知識、精力、時間都
不足,因此希望與有興趣的朋友討論并歡迎合作修改、整理。
    其實本文大多數信息可以在 EthernetHOWTO 中找到,初寫這篇文章時Ethernet
HOWTO 中文版還沒有正式發布,現在您可以在中國 Linux 論壇的“藏經閣”中找到
 EthernetHOWTO 中文版 8-)。

    本文的寫作目的是給新手在設置網卡時提供一些幫助。我曾在設置我的 DE220 
網卡時遇到了一些問題,查詢資料時發現很多書籍對此沒有涉及;各大 BBS 及新聞
組問的很多,答的雖然大多正確,但辦法五花八門,令人一頭霧水。其實資料最全的
是在各種 HOWTO 中,可惜中文的卻很少,所以寫這篇文章,希望能節省大家的時間。

    本文只包含初步的信息,如希望詳細了解這方面的內容,請參考各種 HOWTO:
BootPRomptHOWTO  包含啟動時如何向內核傳遞參數信息
ConfigHOWTO      包含 LILO 及 Loadin 如何使用的信息
EthernetHOWTO    包含以太網卡是否被系統支持(買網卡時可以參考),及如何設置
                 的信息,Linuxforum已推出中文版
KernelHOWTO      如何修補、編譯內核
NET2-NET3-HOWTO  包含 TCP/ip 設置的信息,最新已是NET3-4-HOWTO,中文版正在

                 翻譯
以上各種 HOWTO 英文版、中文版均可從中國Linux論壇
 (http://www.linuxforum.net) 的“藏經閣”中獲得。
中文版也可從中文 LDP 處獲得
http://www.linux.org.tw/CLDP/

    因為現在大多數實際應用的網卡都是以太網卡,如不是特別指明,本文中網卡即
指以太網卡。

    在 Linux 中,第一塊網卡設備名為 eth0,以后依次為 eth1,eth2…… 但網卡
并不作為裸設備出現于 /dev 下,而是內核在引導時在內存中建立的。這就是說,應
該在系統引導時自動設置網卡。現在大多數發行版都是采用 module 的方式在系統引
導時設定網卡的,當然如果你清楚的知道你的網卡類型,也可以把相應的網卡驅動編
譯進內核。

    Linux 的引導通常有以下幾種方式,
A. 通過硬盤以 LILO 引導。優點是啟動快而簡捷;缺點是需要寫硬盤主引導扇區,
在多系統共存時可能與 DOS/WIN 下某些防病毒軟件沖突,而且很多人希望 LILO 默
認引導到 DOS/WIN 下,這就需要掌握 LILO 的配置方法,這對新手是有一點障礙的。
B. 通過軟盤引導。雖然慢,但這是對原系統影響最小的辦法。只要在安裝時不安裝
LILO,而做一張引導軟盤就行了。這樣想啟動 Linux 時,只要插入軟盤就可以了。
C. 通過 Loadin.exe 引導。Loadin.exe 是 DOS 下的程序,可以裝入 Linux 的內
核,啟動到 Linux 下。這樣可以從 WIN9X 的純 DOS 環境下直接啟動 Linux 。當
然,需要學會如何配置,--很簡單的哦。

    
    不管采用哪種方式引導,加載網卡的方式有兩種:
1. 把網卡驅動編譯進內核,引導時就加載。
2. 采用 modules 自動加載。

    采用方式1,則不可能支持所有的網卡,哪樣內核會變成個龐然大物。因此很多
發行版為了靈活支持多種網卡,采用 modules 的方式。然而對于每一臺特定的電腦,
通常只需要支持有限的一種或幾種網卡,因此可以采用方式1,不過需重新編譯內核。
編譯內核的方法詳見 KernelHOWTO,編譯時需要注意的是以下幾項:
Networking support (CONFIG_NET) [Y/n/?] Y
TCP/IP networking (CONFIG_INET) [Y/n/?] Y
Network device support (CONFIG_NETDEVICES) [Y/n/?] Y
Ethernet (10 or 100Mbit) (CONFIG_NET_ETHERNET) [Y/n/?] Y
PCI Ethernet adapters (CONFIG_NET_PCI) [N/y/?] Y    /* 如果是PCI網卡的話*/      
    方式2為大多數發行版所采用,而且可以在安裝時設置網卡,選用相應的網卡即
可。值得指出的是,安裝時很多網卡沒有列出,但并不代表 Linux 本身不支持,詳
見 EthernetHOWTO。這時您可以查閱網卡及手冊,會發現其使用何種芯片,可以用安
裝時網卡列表中同種芯片的網卡試試。通常,網卡手冊中會說明該網卡兼容或類似某
種通用網卡。很多10M網卡兼容 NE2000,比如我的 D-LINK DE220,這時可以選 
NE2000 試試。
    然而,很多 PNP 的網卡并不能被檢測到,例子還是我的 DE220。據說在 Linux 
環境下可以通過 isapnp 設置,我沒試過,詳情請 man isapnp 吧。為免麻煩,我使
用了另一種方法:在 DOS 下使用 DE220 的驅動程序(可以在其網站下載到),屏蔽掉
PNP 功能,并設定“IO=0240h-025fh”,“IRQ=11”。然后再進行安裝。
    糟糕的是,有部分網卡并非完全兼容 NE2000,例子又是我的 DE220,這類網卡
在 EthernetHOWTO 中被稱為 bad NE2000 clone,他們采用了非標準的標識方法以
致 Linux 的 NE2000 驅動不能自動檢測到它。我的 RedHat 6.1 就是這樣,導致安
裝后找不到網卡,必需手動進行配置了。
    解決這個問題需要向內核傳遞 IRQ 號及 IO 端口,這兩項的具體數據可以從
WIN9X 的設備管理中查到,最笨卻最穩妥的是如前哪樣用網卡 DOS 下的驅動程序設
定好,記下來。Linux 下輸入的數據格式類似 C 語言,IO采用十六進制,即 0xNNN,
其中 NNN 是 IO 中 0XXXh-0XXXh 的前一個數的“XXX”部分。IRQ 可直接用十進制。
針對我的 DE220,就是“0x240”和“11”了。配置方法如下:

    如果采用方式1,必須直接將 IRQ 號及 IO 端口傳遞給內核——在系統啟動出現
Boot: 的時候,輸入“linux ether=IRQ,IO,eth0”。具體針對我的 DE220 就是這樣:

Boot: linux ether=11,0x240,eth0

通常傳遞了 IO 地址系統就可以檢測到網卡了,因此也可以輸入:

Boot: linux ether=0,0x240,eth0

IRQ 或 IO 處可以輸零(如上),是告訴內核自動檢測該項。如果這樣可以了,可以
通過 LILO 每次啟動時自動把以上參數傳遞給內核,具體方法是:

編輯 /etc/lilo.conf,加入:
append="ether=0,0x240,eth0"              
然后:
# lilo                          /* 重新加載 lilo */

append 是告訴 LILO 把引號中的字符串傳遞給內核。使用 Loadlin.exe 的道理與此
類同,不過我沒試過,請查閱 Loadlin 的手冊(一般隨程序提供)。

    如果采用方式2,就需要手工加上相應的 modules :
a.) 查看目錄“/lib/modules/內核版本號/net/”,其中內核版本號部分可能每臺機器
都不同,看你自己的決定吧。該目錄下文件格式如 *.o ,分別代表不同網卡的 
modules ,記下你自己網卡相應的文件名,如 DE220 兼容 NE2000 ,就是 NE2000 
的 ne.o 了。
b.) 編輯文件 /etc/conf.modules ,如沒有就建一個。加入以下兩行:
alias eth0 “網卡相應 module 的文件名”
options 網卡類型 io=0xNNN
針對我的 DE220 ,這兩行就應該是這樣:
alias eth0 ne.o
options ne io=0x240
c.) 重啟動后,我的 DE220 就可以找到了。

    啟動后,查看 /proc 下的 ioports 和 interrupts 文件,如果網卡設置成功,
應該有相應描述,如我的 DE220 使用 NE2000 的驅動,可以看到:
# cat ioports
...
0240-025f:      NE2000
...
# cat interrupts
...
11:     ...     XT-PIC  NE2000
...
然后就可以開始設置 TCP/IP 的參數了(本文不涉及)。值得指出的是,采用
ping 127.0.0.1 的方式只能測試內核是否支持網絡及 lo 設備,并不能測試到 eth0 
是否工作,應該 ping 通實際的 IP 地址,才算 TCP/IP 配置成功。

    因為要配置路由器,我在另一臺機器上實驗了雙網卡。采用了 Topstar TE2000 
系列,ISA 接口,使用8019芯片,兼容 NE2000。有的書上告戒不要使用兩塊相同的
NE2000 兼容網卡,我不知道原因,而我配置過程中也沒發現問題。
    首先下載該網卡 DOS 下驅動/設置程序,用 DOS6.22 啟動,運行設置程序并設定
IRQ,IO 地址。關鍵是兩塊網卡不能設成一樣的以免沖突,同時注意不能同其它的設備
沖突。有在 DOS 下配置硬件經驗的朋友當然輕車熟路了 8-)。用紙記錄下來。編譯內
核使之支持 NE2000 系列后,用新內核重啟(RedHat 6.1),報告發現 eth0,沒有提到
eth1(第二網卡)。
    接下來編輯 /etc/lilo.conf,加入:
append="ether=9,0x320,eth1"     /* 我第二網卡設置為 IRQ=9,IO=0X320 */       
然后:
# lilo                          /* 重新加載 lilo */
    重啟動,發現 eth0,eth1,成功!

    我在為一臺機器配 D-LINK DFE530TX (10/100M)的網卡時,在其網站下找到了技
術支持文檔,說的很詳細(http://tsc.dlinktw.com.tw/nic/dfe530/RedHat6.pdf)。 
配置該網卡的朋友可以參考。
    由此也可以總結出在 linux 下配置網卡的終極大法:
A. 從買網卡開始,就應選擇 Linux 支持比較好的品牌,可以參考 EthernetHOWTO,
   如果最新的 EthernetHOWTO 中對該品牌甚至芯片都是 unsupported,建議還是換
   一塊吧。
B. 不要急于發問,先查查廠商的網站,廠商自己的解決方案可能是最好的,起碼可
   以參考。
C. 建議屏蔽掉網卡的 pnp,客觀的說,雖然人們對 M$ 有 Plug And Pray 的嘲弄,
   Linux 對 PNP 的支持還不如 M$。屏蔽掉網卡的 pnp,能省掉好多麻煩,起碼在
   不成功時縮小了排錯的范圍。
D. 如果系統還不能找到網卡,可能需要去相應的 Linux 驅動下載點下載最新的驅動
   程序。然后按其說明安裝。不過絕大多數比較新的發行版都帶了很多,而且工作
   的相當好,比如 NE2000 兼容系列,完全可以使用 NE2000 的 ne.o。
E. 重新編譯內核,詳情請參考 KernelHOWTO,注意相關的網絡選項一定要選定支持。
   而對應的網卡一定要選 y(編譯進內核) 或 m(采用 module)。如果選 m,還需要
   編譯 module。
F. 試驗新內核或 module。如果還不能找到網卡,就參照上文所說的方法向內核或
   module 傳遞 IRQ 和 IO 等參數。
G. a.) 成功了!配置 LILO 或 /etc/conf.modules,使每次引導都可以自動加載網
       卡。
       恭喜!你的水平也上了一個臺階。
   b.) 還不行!你有三個選擇:
       1.) 去各大 BBS,新聞組,求求各位大俠賜教,不過恐怕近期內不會有什么
           新招了。
       2.) 痛罵網卡的制造商,然后做個順民,回去繼續受 M$ 的壓榨。
       3.) 苦練編程本領,自己寫個驅動出來!為自由天地做個貢獻!
上一篇:xf86config使用說明

下一篇:RPM 的使用

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 同江市| 连南| 屏东市| 梨树县| 新晃| 临洮县| 西安市| 抚顺市| 镇赉县| 龙山县| 淅川县| 阿合奇县| 崇义县| 抚远县| 丰城市| 阿图什市| 铜川市| 沾益县| 陆川县| 栾川县| 修武县| 卢龙县| 理塘县| 龙江县| 那坡县| 肇州县| 松滋市| 崇信县| 社会| 汾阳市| 吴桥县| 裕民县| 镇宁| 天祝| 旅游| 班戈县| 上栗县| 米易县| 尉犁县| 柳州市| 昌都县|