Ich kann ein Kernelmodul nicht neu laden, um neue Flags auszuprobieren.
Beispiel: thinkpad_acpi
Standard ist ohne fan_control=1
. Wenn mein Computer sehr heiß läuft und die Lüfter nicht auf volle Geschwindigkeit laufen, kann es manchmal sinnvoll sein, das Modul nur vorübergehend zu laden fan_control
und den Lüfter für einige Minuten auf die höchstmögliche Geschwindigkeit einzustellen und alles wieder auf normale Nachworte umzustellen.
Dies ist nicht möglich, da anscheinend einige Kernelmodule von anderen abhängen und moderne Linux-Kernel dies zu überprüfen scheinen.
Was habe ich bisher gemacht:
- Überprüfen der Abhängigkeiten
modinfo -F depends thinkpad_acpi
- Versuchen Sie, diese Module zu entladen
rmmod
odermodprobe -r $dependencies
- Einige Module hängen wieder von anderen ab. Versuchen Sie auch, sie zu entladen. Funktioniert nicht, auch wenn es keine 'Abhängigkeiten' gibt (oder zumindest sagt mir modinfo das)
- Google viel für
modprobe: FATAL: Module x is in use.
- lesen TLDP
linux
kernel-modules
thinkpad
queryAllThings
quelle
quelle
$ sudo rmmod -f snd_hda_intel rmmod: ERROR: ../libkmod/libkmod-module.c:769 kmod_module_remove_module() could not remove 'snd_hda_intel': Resource temporarily unavailable rmmod: ERROR: could not remove module snd_hda_intel: Resource temporarily unavailable
Antworten:
Wenn das Entladen erzwingen im Kernel aktiviert ist (
zgrep FORCE_UNLOAD /proc/config.gz
sagt=y
), können Siermmod -f
das problematische Kernelmodul verwenden, um das Entladen zu erzwingen.Laut dem Patch, der dies ermöglicht , ist dies nur für Kernel-Entwickler und verzweifelte Menschen.
Am besten ist es wahrscheinlich herauszufinden, warum und durch welchen Prozess das Modul verwendet wird, aber zumindest das erzwungene Entladen sollte es ermöglichen, das Modul erneut zu laden.
quelle
/proc/config.gz
befindet sich unter/boot/config-$(uname -r).gz
.grep FORCE_UNLOAD /boot/config-$(uname -r)
auf Ubuntu.