insmod:错误:无法插入模块8188eu.ko:无效的模块格式


9

我正在尝试将TL-WN725N用作Fedora 20的USB WiFi适配器。

我遵循了这些指示,并且适配器在最近几周内运行良好,甚至在两次更新中都幸免于难。

然后我做了一个yum update今天,它仍然可以正常工作,直到我重新启动计算机。我试图重新加载模块并得到insmod: ERROR: could not insert module 8188eu.ko: Invalid module format

我发现,内核和模块中的内核头不再相同,并且我不得不更新内核,所以我做到了

sudo yum install kernel-headers
Loaded plugins: langpacks, refresh-packagekit
Package kernel-headers-3.17.3-200.fc20.x86_64 already installed and latest version
Nothing to do

现在我对如何正确加载模块有些困惑。有人知道吗?

Answers:


18

您的模块是为较早的内核(刚刚更新的内核)构建的。

确保已重新启动,以便使用最新的内核。

确认正在运行的内核和已安装的版本kernel-headers相同。

现在,您需要再次为当前内核重新编译模块:

cd rtl8188eu
make clean
make all
make install
modprobe -r 8188eu
modprobe 8188eu

不幸的是,您每次更新内核时都必须继续执行此操作,直到该驱动程序将其放入主流内核软件包中为止。

有一种称为“ 动态内核模块支持”的功能,该功能可以在每次更新内核时自动构建树外模块(例如,您的树外模块)(例如,VirtualBox驱动程序使用它),但是它会涉及大量的配置工作。您可能会发现,付出的努力多于价值。

这是生活在技术前沿的不利之处;-)


我重做了从make all加载模块的步骤,但是仍然遇到相同的错误,因此再次重新编译似乎没有用?
Merlin 2014年

嗯...不...那我会尝试的。
Merlin 2014年

@Merlin-很高兴它起作用。我已经编辑了答案以弄清楚。
garethTheRed 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.