Modprobe:’无效的结节格式’,但在insmod之后仍然有效

我遇到了Ubuntu 12.04无法正确识别自定义内核模块的问题。 内核模块是raw1394的恶搞。 因此,即使处理IEEE 1394 / FireWire通信的实际模块不同,在内存中寻找raw1394模块的程序仍然可以正常工作。 有关创建虚拟raw1394模块的说明,请访问wiki.sofa-framework.org 。

问题是加载内核模块我每次都必须使用insmod

重启后我尝试加载raw1394内核模块,我收到以下错误信息:

 $ sudo modprobe raw1394 FATAL: Error inserting raw1394 (/lib/modules/3.5.0-51-generic/misc/raw1394.ko): Invalid module format 

但是,如果我运行以下命令序列,它一切正常:

 $ sudo insmod raw1394.ko $ sudo modprobe raw1394 

我看不出版本不匹配会出现什么问题:

 $ uname -a Linux mech801 3.5.0-51-generic #77~precise1-Ubuntu SMP Thu Jun 5 00:48:28 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux 

这是MD5哈希。 这些文件的长度相同,但我认为insmod在插入模块时必须在内部进行更改。 这两个文件的大小都是3274字节。

 $ md5sum /lib/modules/3.5.0-51-generic/misc/raw1394.ko ./raw1394.ko ab06501bba1372f57115125bc7a24dfb /lib/modules/3.5.0-51-generic/misc/raw1394.ko c3c3d2b4e2fe174a76b90af33eefc5e0 ./raw1394.ko 

有什么我错过了导致这个Invalid module format问题?