I am trying to build kernel module rtl8192eu for Turris Omnia router using openwrt crosscompile toolchain. Everything looks fine except that the module cannot be inserted if I set EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211
. I need that option, otherwise I am not able to control the wifi dongle. But the module itself loads and recognizes the dongle without that flag enabled.
If the flag CONFIG_IOCTL_CFG80211
is enabled, insmod
fails with
8192eu: Unknown symbol __ieee80211_get_channel (err 0)
8192eu: Unknown symbol cfg80211_connect_result
However as far as I can see, cfg80211
exports 'mirrored' symbols:
➜ cat /proc/kallsyms|grep -E 'ieee80211_get_channel|cfg80211_connect_result'
bf6bea08 T ieee80211_get_channel [cfg80211]
bf6e1010 t __cfg80211_connect_result [cfg80211]
Since the module compiles and works on my PC from the same sources without an issue and exported symbols on PC are matching to the above 'mirrored' ones, I guess I do compile the module for router incorrectly. Maybe some linkage issue?