识别要加入黑名单的模块名称

每个人都知道,任何内核模块都可以通过GRUB行进行黑名单处理。
$ module_name.blacklist=yes

然而,并不是每个人都知道要将哪个模块列入黑名单。这才是真正的问题!如何识别它呢?
例如,在加载GRUB时,我看到:
rtlwifi firmware not available

这在识别方面是相当无用的。两者都不行。
rtlwifi.blacklist=yes

没有任何其他变体起作用。我怎么找出名字呢?
蓝牙适配器也是一样。它抛出异常:
 [ 9.366503] Bluethooth: hci0: Failed to load rtl_bt/rtl8821a_fw.bin

当然,rtl_bt/rt18821a_fw.blacklist=yes没有起作用。
$ lsmod | grep rtl 
rtl8821ae             233472  0
btcoexist             131072  1 rtl8821ae
rtl_pci                32768  1 rtl8821ae
btrtl                  16384  1 btusb
bluetooth             548864  5 btrtl,btintel,btbcm,btusb
rtlwifi                77824  3 rtl_pci,btcoexist,rtl8821ae
mac80211              778240  3 rtl_pci,rtlwifi,rtl8821ae
cfg80211              622592  2 mac80211,rtlwifi

有什么建议吗?
更新:关于rtlwifi错误,lspci -v只列出了以下内容。
Network controller: Realtek Semiconductor Co., Ltd. RTL8821AE 802.11ac PCIe Wireless Network Adapter
Subsystem: ASUSTeK Computer Inc. RTL8821AE 802.11ac PCIe Wireless Network Adapter
Flags: bus master, fast devsel, latency 0, IRQ 29
I/O ports at e000 [size=256]
Memory at f7d00000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [70] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Device Serial Number 00-e0-4c-ff-fe-87-2b-01
Capabilities: [150] Latency Tolerance Reporting
Capabilities: [158] L1 PM Substates
Kernel driver in use: rtl8821ae
Kernel modules: rtl8821ae

而且名称 rtl8821ae 已经在我的黑名单中了,没有任何结果,所以看起来无法工作。

至于 蓝牙:hci0 错误lspci 列出 没有蓝牙模块或类似的东西如 rtl_bt,可能是因为蓝牙适配器不是 PCI 设备。


1lsmod | grep rtl 命令告诉我们什么? - Jeremy31
已将输出添加到问题中 - Suncatcher
根据您上面的lsmod,可以明显看出黑名单存在问题,因为rtl8821ae仍然被加载(但未使用,因为显示为“0”)。不过,实际问题还不清楚,您为什么要将其列入黑名单。请尝试在/etc/modprobe.d中将其列入黑名单,然后重新启动,检查是否在lsmod中不存在。您是否正在使用蓝牙? - pbhj
不,我没有使用蓝牙。我正在尝试引导基于Ubuntu的Clonezilla映像,并排除不必要的模块。据我所知,它只支持通过grub.cfg进行黑名单设置,但我将尝试使用/etc/modprobe.d - Suncatcher
您想要将哪个设备列入黑名单? - dfc
rtl8821ae和rtlwifi。我猜这些是蓝牙和WiFi模块。我只知道在启动过程中看到的错误,这些错误已经在问题描述中给出了。 - Suncatcher
"基于Ubuntu的Clonezilla镜像" Clonezilla只是一个磁盘的复制,据我所知,它使用的是哪个版本的Ubu?你尝试过在/etc/modprobe.d/中进行黑名单设置吗? - pbhj
那么,这是哪个版本的Ubuntu呢?18.10,艺术性的Aadvark。 - Suncatcher
我尝试了CLonezilla的modprobe.blacklist=rtl8821ae指令,似乎起作用,但只适用于rtlwifi。无论如何,还是会出现Bluethooth: hci0: Failed to load rtl_bt/rtl8821a_fw.bin错误。有什么提示吗? - Suncatcher
1个回答

你可以在不将驱动程序列入黑名单的情况下启动,并使用 lspci -v 显示有关硬件和与之相关的内核驱动程序和模块的信息。 Kernel Modules: 部分应显示您需要列入黑名单的模块名称(最有可能)。
示例输出:
00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03)
    Subsystem: Red Hat, Inc Qemu virtual machine
    Flags: medium devsel, IRQ 9
    Kernel driver in use: piix4_smbus
    Kernel modules: i2c_piix4

在上面的例子中,模块名称是i2c_piix4
如果这个方法有效,请告诉我。这个信息的来源是https://askubuntu.com/a/110343/142100

尝试了你的建议,但没有任何结果。请查看我的更新中的详细信息。 - Suncatcher
已经启动后,执行 rmmod rtl8821ae 会有任何作用吗? - Fahad Yousuf