Nie mogę ponownie załadować modułu jądra w celu wypróbowania nowych flag.
Przykład: thinkpad_acpi
domyślnie jest bez fan_control=1
. Więc jeśli mój komputer działa naprawdę gorąco, a wentylatory nie osiągają pełnej prędkości, czasem może być użyteczne tylko chwilowe załadowanie modułu fan_control
i ustawienie wentylatora na kilka minut na najwyższą możliwą prędkość i przywrócenie normalnego posłannictwa.
Nie jest to możliwe, ponieważ wydaje się, że niektóre moduły jądra zależą od innych i wydaje się, że sprawdzają to współczesne jądra Linuksa.
Co więc zrobiłem do tej pory:
- Sprawdzanie zależności
modinfo -F depends thinkpad_acpi
- Spróbuj rozładować te moduły
rmmod
lubmodprobe -r $dependencies
- Niektóre moduły zależą od innych, spróbuj też je rozładować. Nie działa, nawet jeśli nie ma „zależności” (a przynajmniej modinfo mi to mówi)
- Google dużo za
modprobe: FATAL: Module x is in use.
- Czytanie tldp
linux
kernel-modules
thinkpad
queryAllThings
źródło
źródło
$ 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
\Odpowiedzi:
Jeśli wymuszone rozładowanie jest włączone w jądrze (
zgrep FORCE_UNLOAD /proc/config.gz
mówi=y
), możeszrmmod -f
problematycznym modułem jądra, aby wymusić jego rozładowanie.Według łatki, która to umożliwia , dotyczy to tylko programistów jądra i zdesperowanych osób.
Najlepiej chyba dowiedzieć się, dlaczego moduł jest używany i przez jaki proces, ale przynajmniej wymuszone rozładowanie powinno umożliwić ponowne załadowanie modułu.
źródło
/proc/config.gz
znajduje się pod/boot/config-$(uname -r).gz
.grep FORCE_UNLOAD /boot/config-$(uname -r)
na Ubuntu.