插入 USB 時,Linux Mint 上已卸載的驅動程式仍會載入

插入 USB 時,Linux Mint 上已卸載的驅動程式仍會載入

我已透過 PPA 安裝了 USB 裝置的 DKMS 驅動程式。我正在更改程式碼並嘗試使用 apt-get --purge remove 卸載驅動程序,但是當我插入設備時,內核模組仍然加載......為什麼會這樣?他們藏在哪裡?

先致謝

答案1

當您(或 DKMS)建立核心模組並安裝它時,它們會轉到/lib/modules/$(uname -r)/...,因此請在那裡檢查。我的系統中的一個例子:

/lib/modules/3.2.0-36-generic-pae/updates/dkms/nvidia_current_updates.ko

答案2

安裝和使用使用 DKMS 安裝的核心模組涉及幾個(大部分是自動化的)步驟:

  1. (根據您的情況)新增 PPA 來源,刷新套件清單。
  2. 使用套件管理器 ( ) 安裝 DKMS 套件,apt-get首先將原始碼和自動安裝說明複製到標準目錄 ( /usr/src/<module name>-<version>)
  3. DKMS 將檔案複製到其私有目錄。
  4. DKMS 在其私有目錄中編譯核心模組的原始碼。
  5. DKMS將編譯後的核心模組檔案複製到modules目錄中(通常是/lib/modules/<kernel version>/updates
  6. DKMS 更新了模組依賴項,以便您可以modprobe <modname>使用insmod /lib/modules/<kernel version>/updates/<modname>.ko.
  7. 您可以手動載入核心模組 ( modprobe <modname>),也可以在插入 USB 裝置時由系統元件 (udev) 為您載入。

清除包時,步驟 1-6 將被撤銷。步驟 7 不會自動撤銷。通常,模組在載入後會保持載入狀態,除非您使用 手動刪除它sudo rmmod <modname>。用於lsmod找出您的模組的名稱,通常這與 相同<modname>,但至少對於 Ubuntu 上的 nvidia 驅動程序,這是不同的(您可以使用modprobe nvidia-current,但使用rmmod nvidia)。

相關內容