¿Cómo puedo recargar correctamente un módulo de kernel?

12

Pregunta relacionada

No puedo volver a cargar un módulo de kernel para probar nuevas banderas.
Ejemplo: el thinkpad_acpivalor predeterminado es sin fan_control=1. Entonces, si mi computadora se calienta mucho y los ventiladores no alcanzan la velocidad máxima, a veces puede ser útil simplemente cargar temporalmente el módulo fan_controly configurar el ventilador durante varios minutos a la velocidad más alta posible y cambiar todo de nuevo a las palabras posteriores normales.
Esto no es posible porque parece que algunos módulos del núcleo dependen de otros y parece que los núcleos modernos de Linux lo están comprobando.
Entonces, ¿qué hice hasta ahora?

  • Comprobando las dependencias
    • modinfo -F depends thinkpad_acpi
  • Intenta descargar estos módulos
    • rmmod o modprobe -r $dependencies
    • Algunos módulos dependen nuevamente de otros, intente descargarlos también. No funciona, incluso si no hay 'dependencias' (o al menos modinfo me dice eso)
  • Google mucho por modprobe: FATAL: Module x is in use.
  • Leyendo tldp
queryAllThings
fuente
Siempre puede cambiar la opción y reiniciar. Una mejor pregunta es por qué su computadora se está calentando.
terdon
Lo siento, un reinicio es exactamente lo que no quiero hacer y mi computadora puede calentarse porque la carga de la CPU es rápida, o la tapa está cerrada, o la computadora está afuera y el sol está brillando;).
queryAllThings
OK, otra opción sería controlar la velocidad de tu ventilador. Eche un vistazo a la página relevante de tthinkwiki: thinkwiki.org/wiki/How_to_control_fan_speed
terdon
1
¡Lo sé! Cita: Para habilitar el control del ventilador, el parámetro del módulo fan_control = 1 se debe dar a thinkpad-acpi. Solo quiero saber si es posible volver a cargar un módulo de kernel. Si estoy depurando la conexión inalámbrica, también es necesario volver a cargar algunos módulos con otros indicadores.
queryAllThings
No sé cómo hacer con snd_hda_intel:: $ 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 \
Tomislav Nakic-Alfirevic

Respuestas:

4

Si la descarga forzada está habilitada en el kernel ( zgrep FORCE_UNLOAD /proc/config.gzdice =y), puede rmmod -fusar el módulo del kernel problemático para forzar la descarga.

Según el parche que permite esto , esto es solo para desarrolladores de kernel y personas desesperadas.

Lo mejor es probablemente descubrir por qué el módulo está en uso y por qué proceso, pero al menos la descarga forzada debería permitir volver a cargar el módulo.

Alejandro
fuente
2
Que parece ser el predeterminado en Debian. PD: En Debian /proc/config.gzse encuentra debajo /boot/config-$(uname -r).gz.
queryAllThings
y grep FORCE_UNLOAD /boot/config-$(uname -r)en Ubuntu.
sabalaba