Posts: 22
Joined: Mon Apr 01, 2013 2:02 am

HowToAdd"+"onKernelModuleVersion(Invald module layer)

Thu Dec 12, 2013 6:31 am

First : I'm a newbie at C && Linux
Rcentely I met a problem.When I compile a device kernel module driver,It can't be insert,It promapt:
root@raspberrypi:/home/pi/dvbdriver# insmod dvb-usb/dvb3221.ko
Error: could not insert module dvb-usb/dvb3221.ko: Invalid module format

I compiled the driver follow this steps:

Code: Select all

wget --no-check-certificate 
tar zxvf rpi-3.6.y.tar.gz
mv linux-rpi-3.6.y /usr/src
ln -s /usr/src/linux-rpi-3.6.y /lib/modules/3.6.11+/build
cd /lib/modules/3.6.11+/build
make mrproper
zcat /proc/config.gz > .config
make modules_prepare

cd /home/pi/dvbdriver/

root@raspberrypi:/home/pi/dvbdriver# modinfo dvb-usb/dvb3221.ko
depends:        dvb-usb
vermagic:       3.6.11 preempt mod_unload modversions ARMv6

raspberrypi:/home/pi/dvbdriver# uname -a
Linux raspberrypi 3.6.11+ #538 PREEMPT Fri Aug 30 20:42:08 BST 2013 armv6l GNU/Linux
when i check the .config file

Code: Select all

What's wrong ?
How can i add Symbol "+" in the kernel module driver version?
The driver's source code here.. ... rce.tar.gz

Posts: 4140
Joined: Fri Feb 03, 2012 2:17 pm
Location: Southampton, UK

Re: HowToAdd"+"onKernelModuleVersion(Invald module layer)

Fri Dec 13, 2013 11:40 am


I'm not sure what the issue is but I downloaded the driver and tried to compile it and I get a load of errors and don't even get as far a completing the compile.

Code: Select all

make: Entering directory `/mnt/home/pi/src/linux'
  LD      /mnt/home/pi/src/dvbdriver-3.6/dvb-usb/built-in.o
  CC [M]  /mnt/home/pi/src/dvbdriver-3.6/dvb-usb/dw2102.o
In file included from /mnt/home/pi/src/dvbdriver-3.6/dvb-usb/dvb-usb.h:19:0,
                 from /mnt/home/pi/src/dvbdriver-3.6/dvb-usb/dw2102.h:5,
                 from /mnt/home/pi/src/dvbdriver-3.6/dvb-usb/dw2102.c:14:
/mnt/home/pi/src/dvbdriver-3.6/dvb-usb/dvb_frontend.h:358:23: error: field âinterleavingâ has incomplete type
/mnt/home/pi/src/dvbdriver-3.6/dvb-usb/dvb_frontend.h:398:22: error: field âstrengthâ has incomplete type
/mnt/home/pi/src/dvbdriver-3.6/dvb-usb/dvb_frontend.h:399:22: error: field âcnrâ has incomplete type
/mnt/home/pi/src/dvbdriver-3.6/dvb-usb/dvb_frontend.h:400:22: error: field âpre_bit_errorâ has incomplete type
/mnt/home/pi/src/dvbdriver-3.6/dvb-usb/dvb_frontend.h:401:22: error: field âpre_bit_countâ has incomplete type
/mnt/home/pi/src/dvbdriver-3.6/dvb-usb/dvb_frontend.h:402:22: error: field âpost_bit_errorâ has incomplete type
/mnt/home/pi/src/dvbdriver-3.6/dvb-usb/dvb_frontend.h:403:22: error: field âpost_bit_countâ has incomplete type
/mnt/home/pi/src/dvbdriver-3.6/dvb-usb/dvb_frontend.h:404:22: error: field âblock_errorâ has incomplete type
/mnt/home/pi/src/dvbdriver-3.6/dvb-usb/dvb_frontend.h:405:22: error: field âblock_countâ has incomplete type
make[2]: *** [/mnt/home/pi/src/dvbdriver-3.6/dvb-usb/dw2102.o] Error 1
make[1]: *** [/mnt/home/pi/src/dvbdriver-3.6/dvb-usb] Error 2
make: *** [_module_/mnt/home/pi/src/dvbdriver-3.6] Error 2
make: Leaving directory `/mnt/home/pi/src/linux'
Am I missing something, some sort of library or something like that?

Simplicity is a prerequisite for reliability. Edsger W. Dijkstra

Please post ALL technical questions on the forum. Please Do Not send private messages.

Return to “Troubleshooting”