因此,我已经为 Laird 的 wifi 模块安装了驱动程序/内核模块。它运行良好,但我注意到它还安装了一个名为 cfg80211 的内核模块,该模块会覆盖现有的内核模块。所以laird安装更新并覆盖了原来的cg80211内核模块。我可以在 /lib/module/{uname -a} 内的更新文件夹中看到这个新的 cfg80211 内核模块。
问题是,现在我想安装另一个 wifi USB dongle 内核模块。此 wifi USB dongle 内核模块还依赖于 cfg80211 内核模块。我根据原始内核源代码编译了它。它编译正常,但无法加载,因为内核中加载的 cfg80211 是不同版本,这是来自 laird 的更新内核模块,而不是编译的内核模块。
有什么方法可以解决这个问题吗?
我能想到的是使用更新后的 cfg80211 而不是使用 Linux 内核源代码中的原始文件进行编译。有没有办法做到这一点?
另一件事是卸载新的cfg80211并重新加载原始的cfg80211内核模块,尽管这会使laird内核模块无法加载。有什么办法也可以做到这一点吗?