Recently I had a problem with my wifi adapter, where the solution was to blacklist ideapad_laptop in the file /etc/modprobe.d/blacklist.conf.
That got me wondering how the modules are assigned. My laptop is not an Ideapad, and the wifi adapter is a Realtek Semiconductor Co., Ltd. RTL8111/8168/8411. How would I ever have guessed that? Beyond that, lets say I do lsmod and get my list of drivers (modules).
...
coretemp 16384 0
joydev 24576 0
kvm_intel 204800 0
snd_seq_midi 16384 0
snd_seq_midi_event 16384 1 snd_seq_midi
snd_rawmidi 32768 1 snd_seq_midi
kvm 593920 1 kvm_intel
bnep 20480 2
hid_multitouch 20480 0
8250_dw 16384 0
irqbypass 16384 1 kvm
snd_seq 65536 2 snd_seq_midi_event,snd_seq_midi
crct10dif_pclmul 16384 0
crc32_pclmul 16384 0
snd_seq_device 16384 3 snd_seq,snd_rawmidi,snd_seq_midi
ghash_clmulni_intel 16384 0
intel_wmi_thunderbolt 16384 0
wmi_bmof 16384 0
arc4 16384 2
snd_timer 32768 2 snd_seq,snd_pcm
pcbc 16384 0
uvcvideo 86016 0
...
A friend of mine has an HP laptop, with the same Realtek wireless adapter as I have, and his wifi is also not working. could he blacklist ideapad_lenovo and get the same result? I would guess not.
How would someone find a kernel module that is causing problems?