Come posso ricaricare correttamente un modulo kernel?


12

Domanda correlata

Non riesco a ricaricare un modulo del kernel per provare nuovi flag.
Esempio: l' thinkpad_acpiimpostazione predefinita è senza fan_control=1. Quindi, se il mio computer funziona molto caldo e le ventole non raggiungono la massima velocità, a volte potrebbe essere utile caricare temporaneamente il modulo fan_controle impostare la ventola per alcuni minuti alla massima velocità possibile e riportare tutto alle normali postfazioni.
Questo non è possibile perché sembra che alcuni moduli del kernel dipendono da altri e sembra che i moderni kernel Linux lo stiano verificando.
Quindi cosa ho fatto finora:

  • Verifica delle dipendenze
    • modinfo -F depends thinkpad_acpi
  • Prova a scaricare questi moduli
    • rmmod o modprobe -r $dependencies
    • Alcuni moduli dipendono di nuovo da altri, prova anche a scaricarli. Non funziona, anche se non ci sono "dipendenze" (o almeno modinfo mi dice che)
  • Google molto per modprobe: FATAL: Module x is in use.
  • Lettura tldp

È sempre possibile modificare l'opzione e riavviare. Una domanda migliore è perché il tuo computer si sta scaldando.
terdon

Spiacenti, un riavvio è esattamente ciò che non voglio fare e il mio computer potrebbe surriscaldarsi perché il carico della CPU è veloce o il coperchio è chiuso o il computer è fuori e il sole splende;).
queryAllThings

OK, un'altra opzione sarebbe quella di controllare la velocità della tua ventola. Dai un'occhiata alla relativa pagina di tthinkwiki
terdon

1
Lo so! Citazione: per abilitare il controllo della ventola, il parametro del modulo fan_control = 1 deve essere dato a thinkpad-acpi. Voglio solo sapere se è possibile ricaricare un modulo del kernel. Se sto eseguendo il debug wireless è anche necessario ricaricare alcuni moduli con altri flag.
queryAllThings

Non so come fare 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

Risposte:


4

Se forzare lo scarico è abilitato nel kernel ( zgrep FORCE_UNLOAD /proc/config.gzdice =y), è possibile rmmod -fil modulo del kernel problematico, per forzare lo scarico.

Secondo la patch che lo abilita , questo è solo per gli sviluppatori del kernel e le persone disperate.

Il migliore è probabilmente capire perché il modulo è in uso e con quale processo, ma almeno forzare lo scarico dovrebbe consentire di ricaricare nuovamente il modulo.


2
Che sembra essere il default su Debian. PS: Su Debian /proc/config.gzsi trova sotto /boot/config-$(uname -r).gz.
queryAllThings

e grep FORCE_UNLOAD /boot/config-$(uname -r)su Ubuntu.
Sabalaba,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.