Adding a binary module to an existing build
Occassionaly vendors (lacking in vision) provide driver modules for hardware in binary format only. This can cause problems when trying to incorporate the modules into an existing builds. In the linux world, the idea of binary only modules has been given the big thumbs down, (Linus Torvalds has specfically condemned the idea). Because of this, it has been almost impossible to get any information on how to incorporate binary modules. However, like it or not, sometimes we need to use hardware for which only the binary driver exists. I spent some time trying to find out how best to do this and found out the following:
Binary modules are only guaranteed to work with the kernel the were compiled for.
If you have a different kernel version the safest option to to change your kernel to the version the binary was compiled against
In this case copy the module to /lib/modules/version/category and try loading it with insmod module . If this seems OK, the module can be included in the dependencies table by executing depmod -a . The module can then be loaded using modprobe module.
If you can’t or don’t want to change your kernel version, copy the module into /lib/modules/version/category and use insmod -f to force the module to load. You’ll most likely get some unresolved symbols messages, however, the module may work anyway. What this means is that not all the functions of the module will work as designed but you may be lucky and the main functionality works.