Mikhail Morfikov wrote: > Basically there's an option to load/unload a kernel module via modprobe > and modprobe -r . Is there a way to do this with, for instance, WiFi > firmware? Also, what happens to the loaded firmware when you unload the > corresponding module? And another question: when I compile a module into > the kernel and that module needs some firmware -- can this firmware be > loaded later and make the hardware work properly, or this can't be done > and you have to include the firmware in the kernel image itself?
Some driver may require firmware for one hardware class and not for another. Firmware comes separately (might be a package like the packages included in debian already) or just a file you copy yourself to /lib/firmware according to my understanding the firmware is loaded by the driver. I am not aware that it can be loaded later. So if you compile the driver static in the kernel I am not sure 100% but it should have the firmware already somewhere to be loaded. This is interesting question. I think most of the usecases include using initrd that would have driver and firmware.