Ubuntu

每次啟動後必須為 rtl8812au 執行 insmod

  • April 26, 2021

我將rtl8812au驅動程序用於我的 wifi 適配器。我有 dkms 設置,以便在每次核心升級後,它都會被編譯。以下是我為設置它而執行的命令:

DRV_NAME=rtl8812AU
DRV_VERSION=4.3.14
mkdir /usr/src/${DRV_NAME}-${DRV_VERSION}
git archive driver-${DRV_VERSION} | tar -x -C /usr/src/${DRV_NAME}-${DRV_VERSION}
dkms add -m ${DRV_NAME} -v ${DRV_VERSION}
dkms build -m ${DRV_NAME} -v ${DRV_VERSION}
dkms install -m ${DRV_NAME} -v ${DRV_VERSION}

現在,每次重新啟動後,我的 wifi 適配器被禁用並讓它再次工作,我必須回到 rtl8812au 驅動程序的源目錄(我去原始目錄,而不是 dkms-made 的),確保 make 有已為此核心執行,然後執行insmod 8812au.ko. 此時,我的適配器啟動並工作,直到下一次啟動。

如何修復此驅動程序的 dkms?

cat /usr/src/8812au-4.3.14/dkms.conf 
PACKAGE_NAME="rtl8812AU"
PACKAGE_VERSION="#MODULE_VERSION#"
BUILT_MODULE_NAME[0]="8812au"
MAKE="'make'"
CLEAN="'make' clean"
DEST_MODULE_LOCATION[0]="/updates/dkms"
AUTOINSTALL="YES"

但我使用 git clone。我將 /usr/src/rtl8812AU 重命名為 /usr/src/8812au-4.3.14/

sudo dkms add -m 8812au -v 4.3.14
sudo dkms install -m 8812au -v 4.3.14
sudo depmod -a
sudo update-initramfs -u -k $(uname -r)

驅動程序名稱是 8812au 而不是 rtl8812AU。你需要 depmod -a 因為 modinfo 8812au | grep dep depends: cfg80211

模組需要另一個模組作為依賴項。

引用自:https://unix.stackexchange.com/questions/400700