我正在尝试使用 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 上的导出符号与上面的“镜像”符号匹配,我想我确实为路由器编译模块不正确。也许一些联系问题?