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

首頁 > 開發 > 綜合 > 正文

如何讓Linux運行兩塊以太網卡

2024-07-21 02:37:26
字體:
來源:轉載
供稿:網友

  摘要: 這個問題的答案取決于驅動程序是否被用做可載入的模塊或者直接編譯進了內核。
  
  這個問題的答案取決于驅動程序是否被用做可載入的模塊或者直接編譯進了內核。大多數linux發行版本現在都使用模塊化的驅動程序。這樣就不用發行許多內核,每種內核設置一個不同的內建驅動程序。使用一個單一的基本內核,假如特定用戶系統需要,一旦系統啟動,就足以從驅動程序模塊文件(通常存儲在/lib/modules/)中載入個別的驅動程序。
  
    把驅動程序作為模塊使用:對于PCI驅動程序,模塊通常會自動檢測該品牌類型所有安裝的網卡。但對于ISA網卡,探尋一個網卡是不安全的操作,因此你需要提供網卡的I/O地址以便模塊知道去哪里查找。這一信息存儲在文件/etc/conf.modules中。
  
    例如,假如一個用戶有兩塊ISA NE2000網卡,一塊在0x300,一塊在0x240,它們在/etc/conf.modules文件中顯示如下:
  
  alias eth0 ne
  alias eth1 ne
  options ne io=0x240,0x300
  
    這幾行的意義:就是說假如治理員(或內核)進行modPRobe eth0或者modprobe eth1,那么為eth0或者eth1載入ne.o驅動程序。此外,在載入ne.o模塊時,使用選項io=0x240,0x300,這樣驅動程序就知道去哪里尋找網卡。注重0x很重要 - DOS里常用的300h在這里沒有用。改變0x240和0x300的順序會使哪一塊物理網卡以eth0和eth1結尾發生改變。
  
    同這個例子一樣,大多數ISA模塊驅動程序可以接受多個以逗號分隔的I/O值以處理多塊網卡。但是,某些(老的?)驅動程序,比如3c501.o模塊,目前載入一個模塊只能處理一塊網卡。這樣,要檢測兩塊網卡就必須載入兩次該模塊。此時,文件/etc/conf.modules將如下所示:
  
  alias eth0 3c501
  alias eth1 3c501
  options eth0 -o 3c501-0 io=0x280 irq=5
  options eth1 -o 3c501-1 io=0x300 irq=7
  
    在此例中,選項-o用來給每個模塊實例一個唯一的名字,因為不能用同一個名字載入兩個模塊。選項irq=也是用來指定網卡設置的硬件IRQ。(此方法也能用于可接受多個以逗號分隔的I/O值的模塊,但這樣會使模塊被不必要地載入兩次,降低了效率。)
  
    最后一個例子,假設用戶有一塊在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
  
    命令ether=可以接受的參數并不僅限于如上所示的IRQ + I/O + name。請參看傳遞以太網參數......以了解全部的句法、網卡特定參數和LILO使用技巧。
  
    這些啟動參數可以固定,這樣就不用每次都必須重新敲一遍。參看LILO手冊中有關LILO 的配置選項“append”。
  
    第二種方法(不建議使用)是編輯文件Space.c并用零替換I/O地址中的0xffe0入口。0xffe0入口是用來告訴內核不要檢測該設備 -- 把它替換為零就啟動了對該設備的自動檢測。

  
    注重,假如想用Linux作為兩個網絡間的路由,你需要啟動ip轉發并重新編譯內核。一般在一臺老式的AT/286上運行“kbridge”一類的軟件就相當不錯了。
  
    假如你是一邊在網絡沖浪,一邊看本文檔,最好去閱讀Donald的WWW站點上的mini-howto。看一下多塊以太網卡.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长子县| 呼和浩特市| 平武县| 延川县| 顺昌县| 酒泉市| 扶风县| 石楼县| 广水市| 东辽县| 青海省| 茂名市| 泸水县| 文山县| 资溪县| 莎车县| 漠河县| 县级市| 漠河县| 章丘市| 同德县| 日喀则市| 宝山区| 延津县| 崇义县| 梁山县| 瑞金市| 伽师县| 义马市| 靖安县| 彩票| 广安市| 崇仁县| 永兴县| 盘锦市| 永德县| 双桥区| 南雄市| 越西县| 浮梁县| 商丘市|