歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

Linux硬件通—網卡

Linux硬件通—網卡
(作者:hubertzou 2001年03月15日 19:02)

  一些Linux用戶經常詢問這樣的問題:Linux能兼容XXX卡麼?其實,Linux是一個開放性的系統,只要通過Linux愛好者們的努力,Linux可以兼容任何硬件。

  對網卡的支持取決於網卡的芯片類型,跟網卡的生產廠家無關。大多數的網卡都會被XLinux自動檢測出來。有些網卡的類型在Linux中沒有driver,但是只要知道它跟那一款網卡兼容,也可以使用它。

  Linux可以有兩種方式支持網卡,一種是在內核中直接支持,另一種是加載模塊支持。在linux啟動的過程中,查看是否有這樣類似的一行:

  Eth0: NE2000 Card found at 0x300 using IRQ 05

  如果有,那麼您的網卡已經被Linux識別了,然後使用netconfig程序就可以完成網絡設置工作(IP地址、網關、網絡掩碼等)。如果沒有發現這一行,但是知道網卡與某一類型網卡兼容,也可以使用模塊驅動這塊網卡,方法是:修改/etc/rc.d/rc.modules文件,加入這樣一行:

  /sbin/modprobe ne (這裡應該設置成正確的兼容類型)

  這樣在每次系統啟動的時候,都會自動的加載網卡驅動模塊,用戶的網卡就可以正常工作了。

  如果上面的方法還不行,那麼就要重新編譯內核了,關於編譯內核的方法這裡不詳細介紹了,可以參看相關的技術文檔。重要的是,要在編譯內核的時候,要選中相關的選項。

  問題一:如何才能讓Linux運行兩塊以太網卡?

  這個問題的答案取決於驅動程序是否被用做可載入的模塊或者直接編譯進 了內核。大多數Linux發行版本現在都使用模塊化的驅動程序。這樣就不用發行許多內核,每種內核設置一個不同的內建驅動程序。使用一個單一的基本內核,如果特定用戶系統需要,一旦系統啟動,就可以從驅動程序模 塊文件(通常存放在/lib/modules/)中載入個別的驅動程序。

  方法一,把驅動程序作為模塊使用: 對於PCI驅動程序,模塊通常會自動檢測該品牌類型所有安裝的網卡。

  但對於ISA網卡,探尋一個網卡是不安全的操作,因此你需要提供網卡的I/O地址以便模塊知道去哪裡查找。這一信息存儲在文件 /etc/conf.modules中。

  假設用戶有一塊在0x350的3c503網卡和一塊在 0x280的SMC Elite16 (wd8013)網卡。則應該這樣:

  alias eth0 wd

  alias eth1 3c503

  options wd io=0x280

  options 3c503 io=0x350

  對於PCI網卡,只要用alias語句把ethN接口和相應的驅動程序 名聯系起來就行了,因為PCI網卡的I/O地址可以被安全地檢測到。

  可用的模塊一般存放在/lib/modules/`uname -r`/net下,這裡 uname -r命令可以得到內核的版本(比如2.0.34)。你可以在這裡看 看哪一個驅動程序適合你的網卡。一旦你在conf.modules文件裡進行了正確的設置,就可以用下面的方法檢查一下:

  modprobe ethN

  dmesg | tail

  這裡“N”是你要檢測的以太網卡的接口號。

  方法二,使用編譯進內核的驅動程序: 如果你需要的驅動程序編譯進了內核,那麼處理多塊以太網卡的接口已經存在了。但缺省情況下只自動檢測一塊以太網卡。這樣就避免了啟動 時檢測敏感網卡可能引起的麻煩。

  注意:在2.1.x之後的內核中,啟動檢測被分為安全和不安全的兩類,所 有安全的檢測(如對PCI和EISA網卡)可以自動找到所有相關的網卡。在至少有一塊ISA網卡的多網卡系統中還需要進行以下的處理。

  如何啟動對第二塊(或第三塊等等)網卡的自動檢測。最簡單的方法是向內核傳遞啟動參數,由LILO完成。

  使用ether=0,0,eth1這 樣簡單的啟動參數就可以完成對第二塊網卡的檢測。此時按照啟動時找到的網卡順序分配eth0和eth1。假如你想讓0x300處的網卡為eth0,而0x280處的網卡為eth1,那麼可以使用

  LILO: linux ether=5,0x300,eth0 ether=15,0x280,eth1

  問題二:Linux支持吉比特以太網嗎?

  是的,目前至少已經有了兩個驅動程序。在v2.0和v2.2內核裡有一個Packet Engines G-NIC PCI吉比特以太網適配器的驅動程序。驅動程序的更多細節、 支持和更新可訪問:

  http://cesdis.gsfc.nasa.gov/linux/drivers/yellowfin.html

  v2.2內核提供的acenic.c驅動程序可用於Alteon的AceNIC吉比特以太 網卡和其它如3Com的3c985一類的基於Tigon的網卡。這個驅動程序還可以 用於NetGear的GA620,但還需要證實。

  問題三:異步傳輸模式(ATM)支持如何?

  Werner Almesberger在進行Linux的ATM的支持工作。他使用的是Efficient Networks的ENI155p板(Efficient Networks)和Zeitnet的ZN1221板(Zeitnet)。

  Werner說ENI155p的驅動程序已經很穩定了,而ZN1221的驅動程序還沒有完成。




Copyright © Linux教程網 All Rights Reserved