1. 程式人生 > 其它 >ubuntu 板載r8125有限網絡卡連線

ubuntu 板載r8125有限網絡卡連線

如今網絡卡更新的速度已經超過作業系統的更新速度了,特別是開源作業系統,預設的網絡卡驅動動不動就跟不上新的主機板,導致新的電腦無法識別到網絡卡,特別鬧心。比如最近配置的Z390 Phantom Gaming SLI/ac這個主機板,在ubuntu 18.04上,就是安裝了ubuntu-18.04-hwe-generic,也沒有找到對應的驅動程式,這個時候就需要手動安裝了。在官網上下載好對應的驅動,注意我們是2.5G Ethernet LINUX driver r8125 for kernel up to 4.15的版本,不要下錯了。如果是1G網絡卡,則對應GBE Ethernet LINUX driver r8168 for kernel up to 4.15版本。

下載好之後,當前版本是r8125-9.003.02.tar.bz2。裡面有README檔案,如果按照README安裝,當時能夠使用,但是重啟或者升級核心版本之後,就失效了。所以還需要手動處理下。
檢視並刪除原驅動

檢視網絡卡型號

在終端輸入以下命令檢視網絡卡晶片:

lspci | grep net

顯示 02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 04),其中的Ethernet controller:後的部分為網絡卡型號,在這裡我的網絡卡型號的瑞昱的RTL8125。

檢視網絡卡驅動

在終端輸入以下命令檢視網絡卡驅動:

lspci -k

這個命令會列出系統所有的pci裝置的硬體和驅動資訊,找到Ethernet相關的行,比如我這裡顯示的是:

02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 04)
        Subsystem: Micro-Star International Co., Ltd. [MSI] Device 7c82
        Kernel driver in use: r8169
        Kernel modules: r8169

其中第一行顯示的就是網絡卡的型號,與步驟1中顯示的相同,Kernel driver顯示的是驅動資訊,這裡顯示的是r8169。因為網絡卡型號和驅動不匹配,導致了無法使用有線網上網。

解除安裝原有驅動

依次執行以下命令:

    檢視驅動檔案所在的位置,其中的r8169請自行替換為自己的網絡卡驅動名稱。

    modinfo r8169 | grep filename

    備份或直接刪除驅動檔案,下面兩個命令執行其中一個即可,其中的path請用上一步查詢到的檔案路徑替換,r8169請用自己的驅動名稱替換。

    mv path/r8169.ko path/r8169.ko.backup #備份
    rm path/r8169.ko #直接刪除

    解除安裝驅動。其中的r8169請自行替換。

    rmmod r8169

    檢視是否刪除成功,如果無顯示或者顯示結果沒有r8169則表明刪除成功。

    lsmod | grep r8169
準備編譯環境

sudo apt-get install --reinstall linux-headers-$(uname -r) linux-headers-generic build-essential dkms

解壓對應的原始碼到/usr/src

sudo tar xvf r8125-9.003.02.tar.bz2 -C /usr/src

新增一個dkms.conf到/usr/src/r8125-9.003.02/dkms.conf,內容如下

PACKAGE_NAME=Realtek_r8125
PACKAGE_VERSION=9.003.02

DEST_MODULE_LOCATION=/updates/dkms
BUILT_MODULE_NAME=r8125

BUILT_MODULE_LOCATION=src/

MAKE="‘make’ -C src/ all"
CLEAN="‘make’ -C src/ clean"
AUTOINSTALL=“yes”

編譯DKMS

sudo dkms add -m r8125 -v 9.003.02
sudo dkms build -m r8125 -v 9.003.02
sudo dkms install -m r8125 -v 9.003.02
sudo depmod -a
sudo modprobe r8125

驗證安裝結果, 執行如下命令即可看到enxxx的有線網介面

ifconfig -a

這種方法安裝完成後,如果後續有核心版本的升級, 仍然需要再重新編譯安裝,否則驅動程式無法執行。

sudo dkms remove r8125/9.003.02 --all

如何將其他目錄下的檔案放到/usr/src內

1 把檔案通過U盤複製到了home內

2 開啟 命令框,在使用者許可權下 輸入 sudo cp linux-4.9.tat.xz /usr/src

在這裡插入圖片描述
檢視 usr/src中是否有目的檔案(可以通過圖形介面檢視)

獲得root許可權 sudo -i --> cd usr --> cd src
在這裡插入圖片描述

可以看到有我的目的檔案 linux-4.9.tar.xz。