前些天由於工作需要裝上了RHEL5.4,但是安裝完之後ifconfig沒有顯示任何物理網卡,初步斷定是因為網卡太新,系統內建驅動不支援的原因。
以下是我的網卡型號:
網卡 鈺碩 AR8132 PCI-E Fast Ethernet Controller 製造商 華碩
無線網卡 Atheros AR9285 Wireless Network Adapter 製造商 Azurewave
打算先弄無線網卡驅動Google一番,試過Madwifi神馬的沒弄好,甚至下載最新核心進行編譯,一陣折騰終以失敗告終,最後還是老老實實弄有線網卡。
又google一番,找到AR81Family-linux-v1.0.1.14.tar.gz,貌似支援AR8132網卡,解壓-make,但是出錯了,然後又找了一個AR81Family-linux-v1.0.1.19.tar.gz,這個版本make成功(具體見下文)
將產生的目標代碼檔案copy到/lib/modules/<KERNEL VERSION>/kernel/drivers/net/目錄下(按照原文#insmod arl1e.o 出現模組格式錯誤),然後再ifconfig就ok了,不過物理網卡名稱顯示為eth1(可以修改,但是懶得改了)
注意:make前一定確保系統安裝了核心源碼kernel-source,否則驅動編譯錯誤,無法繼續。
安裝過程參考文章《CentOS 5.5安裝Atheros AR8132網卡驅動》:http://blog.csdn.net/conhen/article/details/6747131
以下是原文節選:
首先下載"AR81Family-linux-v1.0.0.10.tar.gz", 解壓後安裝"Readme" 中的提示步驟安裝。
我操作的時候,遇到一個報錯:
kcompat.h: 1561: error: redefinition of 'stuct napi_struct'
提示資料結構"napi_struct"重複定義,Google一下後,找到解決辦法,將重複定義部分進行注釋即可。
用編輯器開啟"kcompat.h",找到1561的位置,注釋掉如下的先行編譯代碼:
#if ( LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24) )
/* NAPI API changes in 2.6.24 break everything */
struct napi_struct {
/* used to look up the real NAPI polling routine */
int (*poll)(struct napi_struct *, int);
int weight;
};
還有對應的"endif"部分:
endif /* < 2.6.24 */
清除一切的編譯記錄,再次make,就發現正常編譯通過了。
最後進入目錄:/lib/modules/<KERNEL VERSION>/kernel/drivers/net/arl1e
安裝模組:
insmod arl1e.o
4. 配置網卡
此時,用"ifconfig" 命令就可以查看到eth0了,網卡以及被系統識別。
在目錄 /etc/sysconfig/network-scripts/ 中配置, ifcfg-eth0 的ip和網關。
在 /etc/resolv.conf 中佈建網域名。
重啟網路服務
service network restart
自此,安裝過程結束。