未知符号cfg80211_connect_result内核4.4.169

时间:2019-02-17 12:54:34

标签: linux-kernel kernel-module openwrt kbuild

我正在尝试使用openwrt交叉编译工具链为Turris Omnia路由器构建内核模块rtl8192eu。一切看起来都很好,但是如果我设置了EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211,则无法插入模块。我需要该选项,否则我将无法控制wifi加密狗。但是模块本身会加载并识别未启用该标志的加密狗。

如果启用了标志CONFIG_IOCTL_CFG80211,则insmod失败,并显示

8192eu: Unknown symbol __ieee80211_get_channel (err 0)  
8192eu: Unknown symbol cfg80211_connect_result

据我所知,cfg80211导出“镜像”符号:

➜  cat /proc/kallsyms|grep -E 'ieee80211_get_channel|cfg80211_connect_result'
bf6bea08 T ieee80211_get_channel        [cfg80211]
bf6e1010 t __cfg80211_connect_result    [cfg80211]

由于该模块可以在相同来源的PC上编译并正常工作,并且PC上的导出符号与上述“镜像”符号匹配,因此我猜我确实为路由器错误地编译了该模块。也许是一些关联问题?

0 个答案:

没有答案