代码之家  ›  专栏  ›  技术社区  ›  Grief

未知符号cfg80211_connect_result kernel 4.4.169

  •  0
  • Grief  · 技术社区  · 6 年前

    我正在尝试构建内核模块 rtl8192eu 对于使用openwrt交叉编译工具链的Turris Omnia路由器。一切看起来都很好,除了如果我设置了 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 回复  |  直到 6 年前
    推荐文章