碰到了最不願碰到的問題,Linux的內核與當前主板網卡不兼容。
該死的映泰A780G偏偏集成該死的RTL8168網卡模塊。。
1.先確定不能上網的原因:輸入命令mii-tool 如果顯示有no support的字樣,可以肯定是網卡沒有驅動了。也可以通過dmesg | grep eth 判斷是否是網卡沒有驅動導致的。
2.檢查主板型號,並在主板的官方網站上找到該板集成的網卡模塊。(與Linux不兼容的多是RTL8111系列或者RTL8168)
3.節省時間,直接去網卡模塊提供商的官網http://www.realtek.com.tw/ ,搜索你的網卡型號。(注意選擇是unix/linux)
4.檢查系統內核版本:uname -r (我的是2.6.18-92.e15)
5.安裝主要的編譯環境包,我是通過掛載光盤獲得rpm的包。(通過光盤安裝的好處是版本保持一致)
安裝關於gcc的所有包(用不到的也裝)---------------> rpm -ivh gcc* --nodeps
安裝kernel-headrs --------------------------------------> rpm -ivh kernel-headers --nodeps
安裝kernel-devel ----------------------------------------> rpm -ivh kernel-devel --nodeps
kernel-devel會在你的/usr/src目錄下生成一個kernels文件夾,不用管他。直接進入驅動目錄執行第6步。
6.在Realtek的官網上找到了驅動,下載後,進入網卡文件的目錄執行(根據網卡的安裝說明)命令:
編譯之前先查找並刪除系統自帶的網卡驅動模塊,以防會有驅動沖突問題。(我的系統自帶的是r8169)
#lsmod | grep r81*
刪掉顯示的驅動模塊
#rmmod r8169
開始編譯並安裝
# make clean modules
# make install
# depmod -a
# insmod ./src/r8168.ko ------------------------->src是在下載的驅動目錄下面。
主要的錯誤如報“build”目錄不存在,沒有r8168.ko文件等,基本都是因為缺少編譯環境造成的。所以一定要耐下心來,尤其是gcc,kernel.devel ,kernel.headers這三個類包一定要安裝。