Linux伺服器網卡驅動安裝及故障排除(轉)
轉自:http://www.ccw.com.cn/server/yyjq/htm2005/20050817_15OF4.htm感謝原創作者
曹江華
Linux 伺服器網卡驅動安裝及故障排除
網卡是Linux伺服器中最重要網路裝置。據統計,Linux網路故障有35%在物理層、25%在資料連結層、10%在網路層、10%在傳輸層、10%在對話、7%在展示層、3%在應用程式層。由此可以看出,網路故障通常發生在網路七層模型的下三層,即物理層、鏈路層和網路層。對應於實際網路也就是使用的網路線纜、網卡、交換器、路由器等裝置故障。Linux的網路實現是模仿FreeBSD的,它支援FreeBSD的帶有擴充的Sockets(通訊端)和TCP/IP協議。它支援兩個主機間的網路連接和Sockets通訊模型,實現了兩種類型的Sockets:BSD Sockets和INET Sockets。它為不同的通訊模型和服務品質提供了兩種傳輸協議,即不可靠的、基於訊息的UDP傳輸協議和可靠的、基於流的傳輸協議TCP,並且都是在IP網路通訊協定上實現的。INET sockets是在以上兩個協議及IP協議之上實現的。它們之間的關係見圖1所示。
由於交換器、路由器通常獨立於Linux或者其他動作系統。網卡設定故障是造成Linux 伺服器故障最主要原因。可能因為硬體的品質或效能、磨損老化、人為誤操作、不正確的網路設定、管理問題、Linux軟體的BUG、系統受到駭客攻擊和Linux病毒等原因造成。
Linux 伺服器網卡故障排除的思路是:應當遵循先硬體後軟體的方法。因為硬體如果出現物理損壞那麼如何設定網卡都不能解決故障。解決問題的方法可以從自身Linux電腦的網卡查起,如果確定硬體沒有問題了,再來考慮軟體的設定。
1. 網卡的選擇
一般來說,2.4版本以後的 Linux可以支援的網卡晶片集數量已經很完備了,包括著名廠商如:Intel 以及使用廣泛的 RealTek, Via 等網卡晶片都已經被支援,所以使用者可以很輕易的設定好他們的網路卡。但是由於Linux發行版本眾多(目前超過188個),使用前最好查看Linux發行版本的文檔。以Redhat Linux 9.0為例,這個裝置列表在Ethernet- HOWTO文檔中。另外最直接的方法是查看一個目錄:/lib/modules/release/kernel/drivers/net,其中release是核心版本,可以使用命令:“uname -r”獲得。對於Redhat Linux 9.0是2.4.20-8。
#ls /lib/modules/2.4.20-8/kernel/drivers/net/
3c501.o atp.o eth16i.o ni52.o smc-ultra.o
3c503.o bonding.o ethertap.o ni65.o starfire.o
3c505.o cs89x0.o ewrk3.o ns83820.o strip.o
3c507.o de4x5.o fc pcmcia sundance.o
3c509.o de600.o fealnx.o pcnet32.o sungem.o
3c515.o de620.o hamachi.o plip.o sunhme.o
3c59x.o defxx.o hamradio ppp_async.o tc35815.o
8139cp.o depca.o hp100.o ppp_deflate.o tg3.o
8139too.o dgrs.o hp.o ppp_generic.o tlan.o
82596.o dl2k.o hp-plus.o ppp_synctty.o tokenring
8390.o dmfe.o irda r8169.o tulip
ac3200.o dummy.o lance.o rcpci.o tulip_old
acenic.o e100 lne390.o sb1000.o tun.o
aironet4500_card.o e1000 lp486e.o shaper.o via-rhine.o
aironet4500_core.o e2100.o mii.o sis900.o wan
aironet4500_proc.o eepro100.o natsemi.o sk98lin wavelan.o
amd8111e.o eepro.o ne2k-pci.o skfp wd.o
appletalk eexpress.o ne3210.o slhc.o winbond-840.o
arlan.o epic100.o ne.o slip.o wireless
arlan-proc.o eql.o netconsole.o smc9194.o wireless_old
at1700.o es3210.o ni5010.o smc-ultra32.o yellowfin.o
可以看到這個目錄列出所有Linux核心支援的網路裝置驅動程式。其中大部分是乙太網路卡(8139、3COM、Intel)。也有一些是其他類型裝置。對於初學者應當盡量選擇目錄中已經列出的網卡。注意以.o 尾碼結束的檔案就是驅動程式。而沒有尾碼的是驅動程式目錄(紅色)。
2. 檢查網卡是否載入:
驅動硬體是作業系統最基本的功能,作業系統通過各種驅動程式來駕馭硬體裝置,和Windows系統不同Linux核心目前採用可載入的模組化設計(LKMs Loadable Kernel Modules),就是將最基本的核心代碼編譯在核心中,網路卡驅動程式是作為核心模組動態載入的。可以使用命令“lsmod”查看載入情況:
## lsmod
Module Size Used by
dm_mod 54741 0
button 6481 0
battery 8901 0
ac 4805 0
md5 4033 1
joydev 10241 0
uhci_hcd 31065 0
ehci_hcd 30917 0
snd_via82xx 26437 0
snd_ac97_codec 63889 1 snd_via82xx
snd_pcm_oss 49017 0
soundcore 9889 1 snd
tulip 45025 1
via_rhine 23113 2
mii 4673 1 via_rhine
ext3 116809 2
jbd 71257 1 ext3
對每行而言,第一列是模組名稱;第二列是模組大小;第三列是調用數。調用數後面的資訊對每個模組而言都有所不同。如果 (unused) 被列在某模組的那行中,該模組當前就沒在使用。如果 (autoclean) 被列在某模組的那行中,該模組可以被 rmmod -a 命令自動清洗。當這個命令被執行後,所有自從上次被自動清洗後未被使用的被標記了“autoclean”的模組都會被卸載。叢以上紅色粗體字元可以看到筆者Linux電腦中兩塊網卡模組:tulip和via_rhine 已經載入。對應的網卡商業型號分別是:
tulip:Lite-On Communications Inc LNE100TX [Linksys EtherFast 10/100]
via_rhine:Via VT6102[Rhine-II] 常見主板整合網卡。
如果沒有檢測到硬體,用硬體檢測程式kuduz檢測網卡,它和Windows中添加新硬體差不多。kudzu程式是通過查看/usr/share/hwdata/目錄下的檔案識別各種硬體裝置的。如果核心支援該硬體,並且有該驅動程式就可自動裝載。首先說明的是Linux下對網卡的支援往往是只對晶片的,所以對某些不是很著名的網卡,往往需要知道它的晶片型號以配置Linux.比如我的Top link網卡,就不存在Linux的驅動,但是因為它是NE2000相容,所以把它當NE2000就可以在Linux下用了.所以當你有一塊網卡不能用,在找Linux的驅動程式之前一定搞清楚這個網卡用的什麼晶片,跟誰相容,比如3c509,ne2000等。這樣的型號一般都在網卡上最大的一快晶片上印著,抄下來就是了。對於ISA介面的NE2000卡,先要作的一件事情,是將網卡設定為Jumpless模式.很多現在的網卡預設 都是PnP模式,這在Windows下的確能減少很多麻煩,但是Linux不支援,所以Linux下必須是Jumpless模式.一般所有網卡都有帶的驅動盤和DOS下可執行檔一個設定程式,用該程式將網卡設為 Jumpless。對於PCI網卡,可以使用命令來查看:lspci。在顯示的列表中找到“Ethernet Controller”,記下廠商和型號。然後使用modprobe嘗試載入正確的模組,比如modprobe 3c509。如果出現錯誤,說明該模組不存在。這時候你應該找到正確的模組並且重新編譯。問題一般即可解決。
如果很不幸的,您使用的是比較罕見的一些網卡,或者是 Linux 核心支援不夠的網卡,以致於在安裝 Linux 時,並無法檢測到網卡,那也不用擔心,我們可以使用較為簡單的核心模組編譯來支援這張網卡。下面以筆者的3Com的3CR990-TX-97 網卡為例(一款具有安全特性網卡)看看如何進行模組編譯。首先在其網站http://www.3com.com/infodeli/tools/nic/linuxdownload.htm 下載合適你使用核心版本的相關驅動程式,這裡以2.4核心為例。
#wegt http://www.3com.com/infodeli/tools/nic/3c990-1.0.0a.tar.gz
另外在開始編譯核心模組之前,因為驅動程式需要配合核心來編譯,所以會使用到 kernel source 或者是 kernel header 的資料,此外,也需要編譯器 ( compiler ) 的協助,因此,先確定您的 Linux 系統當中已經下列軟體的存在 :kernel-source 、kernel 、gcc 、make。
#tar zxvf 3c990-1.0.0a.tar.gz
#make
此時會產生3c990.o 驅動模組。然後使用命令拷貝到相應地方然後查看載入是否正常。
#modprobe 3c990
#cp 3c990.o /lib/modules/2.4.20-8/kernel/drivers/net
# depmod -a
然後使用lsmod 命令檢查載入情況,如果一切正常的話。可以讓系統啟動時自動載入該模組:
#echo “alias eth0 3c990”>;>; /etc/modules.conf
3. 為新網卡設定IP地址
在Linux 網路裝置在配置時被賦予別名,該別名由一個描述性的縮減詞和一個編號組成。某種類型的第一個裝置的編號為 0,其他裝置依次被編號為 1、2、3,等。但是網卡並不是最為裸裝置出現在/dev目錄下,而是存在記憶體中。eth0, eth1是乙太網路卡介面。它們用於大多數的乙太網路卡,包括許多並行連接埠乙太網路卡。本文主要討論這類網卡。 為Linux乙太網路卡設定IP地址的方式非常靈活,你可以選擇適合你工作情況的方法:
(1) 使用ip或ifconfig命令
ifconfig命令是最重要的Linux網路命令,最主要的用途是設定、修改網卡的IP地址,修改網卡ip地址:
#ifconfig eth0 192.168.0.2 netmask 255.255.255.0
預設情況下, ifconfig 顯示活動的網路裝置。給這個命令添加一個 -a 開關就能看到所有裝置。但是ifconfig命令設定網路裝置的ip地址系統重新啟動後設定會自動失效。所以它主要用於網卡狀態調試。假設您要建立一個臨時的網路設定以供測試。您可以使用發行版本中的工具來編輯配置,但是需要注意在完成測試之後,將所有設定恢複回去。通過使用 ifconfig ,我們無需影響已儲存的設定,就能夠快速地配置網卡。
Ip命令是iproute2軟體包裡面的一個強大的網路設定工具,它能夠替代一些傳統的網路管理工具。例如:ifconfig、route等。 現在,絕大多數 Linux 發行版和絕大多數 UNIX都使用古老的arp, ifconfig和route命令。雖然這些工具能夠工作,但它們在Linux2.2和更高版本的核心上顯得有一些落伍。使用iproute2前你應該確認已經安裝了這個工具。這個包的名字在RedHat Linux 9.0叫作“iproute2”,也可以在:ftp://ftp.inr.ac.ru/ip-routing/ 下載原始碼安裝。
如果希望在乙太網路介面eth0上增加一個地址10.0.0.1,掩碼長度為24位,標準廣播位址,標籤為eth0:Alias:
#ip addr add 10.0.0.1/24 brd + dev eth0 label eth0:Alias
(2) 使用 netconfig命令
netconfig命令可以設定網路裝置的ip地址,netconfig命令可以永久儲存設定。
使用方法是:“netconfig ethX”。使用命令“netconfig eth0”後會在命令列下彈出一個對話方塊,這時即可進行設定見圖2,
圖2 netconfig配置介面
設定結束後用“tab”鍵選擇“OK”即可儲存設定並且退出。然後使用命令:“service network restart “啟用即可生效。
(3) 使用neat命令
使用neat命令需要配置好X window系統,在命令列下運行“neat”命令後添加IP地址和其他相關參數後儲存設定,從新啟動網路和網路服務或電腦,見圖-3。
圖-3 圖形介面添加IP地址
另外neat命令還有一個同價命令:“redhat-config-network”,二者完全相同。Neat和redhat-config-config命令可以永久儲存設定。
(4) 修改TCP/IP網路設定檔
除非另行指定,Red Hat Linux 系統中大多數設定檔都在 /etc 目錄中。網卡相關的TCP/IP網路設定檔是:/etc/sysconfig/network-scripts/ifcfg-ethx。其中x從0開始,第一個乙太網路設定檔即:/etc/sysconfig/network-scripts/ifcfg-eth0。使用vi編輯器修改這個檔案,也可以修改網卡IP地址。
#vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 #設定網卡的名稱,要跟檔案名稱對應 #
ONBOOT=yes #是否在開機的的時候啟動網卡#
BOOTPROTO=static #啟動的時候的 IP 取得的協議,這裡是固定的,
如果是動態主機的話,要改成 dhcp 才行#
IPADDR=192.168.1.2 #IP 位址#
NETMASK=255.255.255.0 #子網掩嗎#
NETWORK=192.168.1.0 #該網段的第一個 IP#
BROADCAST=192.168.1.255 #最後一個同網段的廣播位址#
GATEWAY=192.168.1.2 #網關地址#
#GATEWAYDEV=eth0
存檔後使用命令:“service network restart “啟用即可生效。這個方法同樣可以永久儲存設定。
(5) 為網卡添加IPV6地址
和Windows系統相比Linux對Ipv6的支援更好,最早的支援Ipv6的Linux核心是 2.2.xxx。 一般Linux基於2.4核心的Linux發行版本都可以直接使用Ipv6,使用前要看系統IPv6模組是否被載入,如果沒有的話可以使用命令手工載入,這需要超級使用者的許可權。然後使用命令檢測,如果顯示IPv6地址(inet6 addr:fe80::200:e8ff:fea0:2586/64)證明IPv6已經載入。
# modprobe IPv6;#ifconfig -a
如果希望Linux系統啟動時自動載入Ipv6模組,可以在設定檔:/etc/modules.conf中加入一行:
alias net?pf?10 ipv6 # automatically load IPv6 module on demand
4. 調整網卡工作模式
現在的網卡大多是自適應工作模式,在配置網卡參數時我們很少考慮它的工作模式,有時發現一些網卡模組已經載入,但是在某些模式工作不穩定。如筆者使用的一塊XXX品牌的雜牌RTL-8139C晶片10/100自適應網卡在100兆全雙工系統狀態下極其不穩定(在Qcheck的TCP和UDP的測試過程中,資料包遺失率9.12%。)。在Linux環境下,我們可以使用系統內建的工具mii-tool命令來配置網卡工作模式。顯示Linux伺服器網卡支援的所有乙太網路卡類型,使用命令:
# mii-tool -v
eth0: negotiated 100baseTx-FD, link ok
product info: vendor 00:00:00, model 0 rev 0
basic mode: autonegotiation enabled
basic status: autonegotiation complete, link ok
capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
advertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
link partner: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
從以上資訊中可以看出,這塊網卡工作在100全雙工系統自適應模式下,“100aseTx-FD”意為100M Full Duplex。這裡可以強制網卡工作在100M半工模式下,輸入命令:
#mii-tool –F 100baseTx-HD eth0
以後恢複網卡的自適應工作模式,輸入命令:
#mii-tool –r eth0
另外路由器、交換器、Proxy 伺服器等通訊量比較大的關鍵裝置上,應該為它指定正確的工作模式,這樣可以提高通訊效率。
5. DHCP用戶端網卡設定
如果希望使用DHCP是動態主機設定通訊協定,這個協議用於向電腦自動提供IP地址,子網路遮罩和路由資訊。當裝置接入這個區域網路時,它們會向 DHCP 伺服器請求一個 IP 位址。然後 DHCP 伺服器為每個請求的裝置分配一個地址,直到分配完該範圍內的所有 IP 位址為止。已經分配的 IP 位址必須定時地延長借用期。這個延期的過程稱作 leasing,確保了當客戶機裝置在正常地釋放 IP 位址之前突然從網路斷開時被分配的地址可以歸還給伺服器。Linux下配置DHCP用戶端有兩種方法:圖形介面和手工配置。使用圖形介面可以使用neat命令介面見圖2。選中“自動獲得IP地址設定使用DHCP”即可。
通常筆者更喜歡使用選擇手工配置 DHCP 客戶,需要修改 /etc/sysconfig/network 檔案來啟用連網;並修改 /etc/sysconfig/network-scripts 目錄中每個網路裝置的設定檔。在該目錄中,每個裝置都有一個叫做 ifcfg-ethX 的設定檔,ethX是網路裝置的名稱。 如eth0等。如果你想在引導時啟動連網,NETWORKING 變數必須 被設為 yes。 除了此處之外/etc/sysconfig/network 檔案應該包含以下行:
NETWORKING=yes
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
6. VPN伺服器網卡設定
VPN是由經過相互授權的通訊雙方在公網上建立的安全通訊隧道,資料在隧道中進行加密傳輸,用於總部與分公司的安全通訊。Virtual Private Cloud是一種新的網路技術,用於跨過 Internet 或區域網路而安全地訪問企業網。Redhat Linux下的VPN技術主要有CIPE (Crypto IP Encapsulation:加密 IP 封裝)是主要為 Linux 而開發的 VPN 實現。CIPE 使用加密的 IP 分組,這些分組被封裝或“包圍”在資料報(UDP)分組中。CIPE 分組被給以目標題資訊,並使用預設的 CIPE 加密機制來加密。CIPE 使用標準的 Blowfish 或 IDEA 密碼編譯演算法來支援加密。根據你所在國家的加密出口法規而定,你可以使用預設方法(Blowfish)來加密你的專用網上的所有 CIPE 交通。CIPE 配置可以通過文字檔、圖形化的網路管理工具來完成。這裡以通過文字檔為例介紹。首先在伺服器和用戶端安裝CIPE軟體。官方網站:http://sites.inka.de/~ 運行CIPE VPN服務主要需要建立兩個檔案:/etc/sysconfig/network-scripts/ifcfg-cipcbX和/etc/cipe/options.cipcbX。X 是從0開始的遞增數字。
(1)VPN伺服器端網卡設定
首先手工建立/etc/sysconfig/network-scripts/ifcfg-cipcb0檔案,它是VPN伺服器的虛擬網路介面,主要內容:
USERCTL=yes #是否允許所有使用者修改配置#
TYPE=CIPE #介面類型#
DEVICE=cipcb0 #給 CIPE 裝置命名#
ONBOOT=yes #系統啟動時啟用裝置#
IPADDR=10.0.0.1 #本地虛擬位址#
MYPORT=7777 #通訊連接埠#
PTPADDR=10.0.0.2 #遠程虛擬位址#
PEER=0.0.0.0 #本地地址,0.0.0.0 表示接受連續監聽#
ME=192.168.1.9 #對端的 CIPE UDP 地址#
TUNNELDEV=eth0 #隧道穿越裝置#
然後建立/etc/cipe/options.cipcb0檔案,這個檔案存放密匙,主要內容:
cttl 64 #設定載體存留時間值(TTL);推薦的值是64#
maxerr –1 #伺服器錯誤掛起時間#
key 54240266869983357939377846801171299051 #128位密匙#
(2)用戶端網卡的配置
由於CIPE要求伺服器和客戶機的密匙完全相同所以,首先將密匙檔案:options.cipcb從伺服器複製到客戶機主機的/etc/cipe/ 目錄中。
# scp root@192.168.1.9:/etc/cipe/options.cipcb0 /etc/cipe/options.cipcb0
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.9' (RSA) to the list of known hosts.
root@192.168.1.9's password:
options.cipcb0 100% |***************************************| 61 00:00
然後使用vi編輯器建立用戶端網卡設定檔:/etc/sysconfig/network-scripts/ifcfg-cipcb0包含以下內容:
USERCTL=no #不允許用戶端修改配置#
BOOTPROTO=none
TYPE=CIPE #介面類型#
DEVICE=cipcb0 #給 CIPE 裝置命名#
ONBOOT=yes #系統啟動時啟用裝置#
IPADDR=10.0.0.2 #本地虛擬位址#
MYPORT=7777 #通訊連接埠#
PTPADDR=10.0.0.1 #遠程虛擬位址#
PEER=192.168.1.29:7777 #VPN伺服器真實IP地址和連接埠號碼#
ME=192.168.1.9 #對端的 CIPE UDP 地址#
TUNNELDEV=eth0 #隧道穿越裝置#
MTU=“” #使用預設設定#
NETMASK=“” #使用預設設定#
NETWORK=“” #使用預設設定#
BROADCAST=“” #使用預設設定#
(3)使用ifup命令啟用VPN網卡
# ifup cipcb0
這時VPN通道已經開啟,可以使用tcpdump等工具檢查。
7. 無線網卡在Linux下安裝
隨著Linux網路技術的快速增長,硬體廠商大大加速對硬體產品對Linux的支援人員。使得Linux 支援的無線網卡的數量在過去的一兩年裡增長顯著。一旦在電腦中安裝好了無線區域網路卡,首先要做的就是安裝驅動來讓網卡工作。無線網卡實現了IEEE 802.11系列協議中的一種或多種的物理層(PHY)和媒質存取控制子層(MAC)的功能,而驅動是用來控制無線網卡,向上提供與乙太網路一致的介面並提供其他一些無線區域網路特定的管理介面的。對於不同廠商的不同網卡,還沒有一種統一的方法可以驅動所有的網卡。首先必須確保核心配置中啟動了無線區域網路。如果沒有無線區域網路支援,你應該重新設定、編譯核心來啟動"Wireless LAN (non-hamradio) Drivers and Wireless Extensions"。
目前,常見的無線網卡大多為PCMCIA、PCI和USB三種類型,筆者使用最多的是PCMCIA(Personal Computer Memory Card International Association)介面的無線網卡。 對於有些裝置,配置無線串連非常簡單:只要在您使用的 Linux 發行版本,插入無線網卡,在設定過程中單擊滑鼠,並輸入正確的連網參數就可以了。通常基於朗訊(Lucent)晶片集的無線網卡的安裝比較簡單,筆者使用的Cisco Aironet Wireless 802.11b 在Mandrake 8.2 Linu安裝程式可以順利地找到裝置驅動, 使用基於intersil PRISM2-based cards 晶片集的PCMCIA的無線網卡安裝就比較複雜了。需要一個第三方工具安裝。
目前經過www.Linux.org 認證的PCMCIA網卡有兩大類。使用基於朗訊(Lucent)晶片集的PCIMCIA無線網卡和使用基於intersil PRISM2-based cards 晶片集的PCMCIA的無線網卡見表-1。
Lucent chipset-based cards intersil PRISM2-based cards
Lucent Wavelan/IEEE and Orimoco Linksys(WPC11 v2.5)
Cabletron/Enterays RoarmAbout SMS(2632W)
Compaq(WL110、WL210、 WL215) Compaq(WL100、WL200)
Apple Airport Cisco Aironet Wireless 802.11b(340、350)
IBM High Rate Wireless LAN Dlink DWL-650
HP 802.11bWiewless LAN Nokia
DELL TrueMobile Intel PRO/Wireless 2100
3Com AirConnect SAMSUNG 11Mbps WLAN Card
LA4111 Spectrum24 Wireless LAN PC Card PROXIM LAN PC CARD HARMONY 80211B
NCR WaveLAN/IEEE Adapter
總的來說Linux下無線網卡的安裝順序一般是:
? 採取全部安裝方式安裝Linux發行版本,重新編譯核心,併除去任何對核心提供的 PCMCIA 驅動程式的部分。
? 瞭解網卡的規格並且下載並編譯相應的 PCMCIA-CS 庫和驅動程式
? 下載、編譯並安裝無線網卡必需的所有驅動程式。這一步驟對於有些網卡是可選的,而對於有些網卡是必須執行的。做與不做很大程度上取決於您所選的無線網卡。
? 修改和無線網卡的相關設定。從新啟動Linux系統和網路。
設定無線網路相關步驟如下:
(1)用“iwconfig”命令來顯示無線網卡(eth0、eth1)的資訊。在以下的步驟中,用ethX表示無線網卡的名稱。
(2)設定無線網卡的操作模式為Managed:
#iwconfig ethX mode Managed
(3)如果採用了WEP加密,需要設定WEP密碼:
#iwconfig ethX key password XXXXXX
對應40位和128位加密,password分別為6位和10位的十六進位數字。
(4)設定SSID,其中ESSID為無線接入(Access Point)的SSID。
# iwconfig ethX essid ESSID
(5)建立/etc/sysconfig/network/ifcfg-ethX設定檔,使得機器每次啟動時,無線網卡都會自動獲得IP地址。該檔案內容如下:
BOOTPROTO=‘dhcp’
MTU=‘’
REMOTE_IPADDR=‘’
STARTMODE=‘onboot’
UNIQUE=‘’
(6)啟動無線網卡:
#ifconfig ethX up
1- 從windows 中得到網卡資訊. Inter Pro VM 100
2- 從網上得到Linux 的網卡驅動
3- 按附帶的網卡驅動安裝步驟安裝
a- 安裝redhat 原碼包
# mount /dev/cdrom
# rpm -i kernel-source-2.2.16-22.i386.rpm
# rpm -ivh kgcc-1.1.2-40.i386.rpm
b-安裝驅動
# tar xfz e100-x.x.x.tar.gz
#cd e100-x.x.x/src/
#make install
4-改寫設定檔
#vi /etc/modules.conf
最後增加一條
alias eth0 e100(e100是我的網卡的驅動)
5-配置網路
#netconf
網卡1
[X]啟動
(O)手動 ()Dhcp ()bootp
IP XXX.XXX.XXX.XXX
Mask 255.255.255.0
網路裝置 eth0
核心模組 e100
6-修改/etc/rc.d/rc.local,最後增加一條
#insmod /lib/modules/2.2.16-22/net/e100
7-執行
#insmod /lib/modules/2.2.16-22/net/e100.o
#sh /etc/lib/modules/2.2.16-22/net/e100.o
#sh /etc/rc.d/init.d/network reload
/*********************************/
#ifconfig
eth0 : Inter PRO VM .....(卡資訊)
inet addr:XXX.XXX.XXX.XXX ....
reboot 機器, 烏拉,啟動認出eth0了.終於成功了.
我是程式員不太懂硬體,在此謝謝各位熱情的大師!!!
1、 擷取DE-530TX的網卡在LINUX下的驅動程式,你可在DLINK的網站上下載,也可以在我的網頁上下載(見最新驅動程式)。
2、把來源程式拷貝到LINUX上的任何一個目錄下,本例以/home/yang為例,把網卡的驅動的來源程式拷貝到此目錄下。
3、用LINXU自身帶的任何文字編輯器把這個來源程式開啟,在末尾你可以看到編譯此程式的命令列,把這個命令列複製。
4、 在LINXU的命令提示字元下,進入/home/yang/目錄下,把命令進行粘貼,斷行符號即可,(注意命令列中的檔案名稱要目錄下的檔案名稱相同)。斷行符號稍侯,你就可以在此目錄下看到*.o的檔案,把這個檔案改名為tulip.o,然後把這個檔案拷貝到以下目錄 、/lib/modules/2.2.14-5.0(注意,此目錄根據你LINUX的版本號碼不同而不同)/net/tulip.o,詢問你是否要覆蓋,覆蓋即可。
5、接著在命令提示字元下,輸入netconf命令,按以下步驟進行,(client tasks-basic host information-adapter1 .進入之後,分別設定網域名稱,主機名稱,IP地址,子網路遮罩,注意,PCI的網卡不用設定I/o和IRQ,重新開機即可。