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.
    * That's your choices. If anyone knows otherwise, please let me know at
      zebedee(at)intrcomp.co.uk.

Recent Changes