Compiling fjbtndrv module in kernel desktop vs kernel default- Invalid module format

Machine: Fujitsu Lifebook T900 (tablet laptop)
OS: openSUSE 11.3 (x86_64)
VERSION = 11.3
kernel: #1 SMP PREEMPT 2010-12-13 11:13:53 +0100 x86_64 x86_64 x86_64 GNU/Linux


  • I can choose between desktop and default kernel when the machine boot
  • I allways use desktop kernel
  • I have installed kernel-sources …
  • I have downloaded fjbtndrv-2.2.1.tar.gz from Download fjbtndrv from
  • I have deconpressed in /opt as root user
  • I have had: .configure / make /make install
  • The new module is inserted in /lib/modules/
  • I do: modprobe fsc_btns
  • I recive message in the console:
    FATAL: Error inserting fsc_btns (/lib/modules/ Invalid module format
  • My tail -f /var/log/messages say:
    kernel: 1579.681355] fsc_btns: no symbol version for module_layout
  • If I do the same booting in the default kernel option modprobe load fine the module fsc_btns and works properly
    What is happening?
  • I have did:
    make mrpoper | make modules | depmod -a

Thnxs in advance.

For a start, not good practice to do all this as root user… it can break things. Normally the only time you need to be root user is when installing.

Give me a bit of time and will put together an rpm for you.

Ahh, missed the bit about the two kernels, you will need to build it for both kernels so it’s residing in the respective /lib/modules/[your_kernel]/extra directory

If your wanting the package, it’s up on here; Search Results

The fjbtndrv package has the tools, the KMP one the kernel driver.

Great malcolmlewis,
I put the command:
rpm -ivh fjbtndrv-kmp-desktop-2.2.1_k2.6.34.7_0.7-3.1.x86_64.rpm
and all was fine and after reboot the module was loaded automatically and is working properly.

I do not know yet what was happening when I was compiling the module from the source code in the desktop kernel.

Your welcome, now at the next kernel update my rpm’s will automatically be updated, so you might consider grabbing from there otherwise you would need to repeat the steps you initially did after kernel updates, since your placing the modules in extra. The KMP will automatically be placed in weak updates and keep working.