Я пытаюсь собрать модуль ядра rtl8192eu для маршрутизатора Turris Omnia с использованием кросс-компиляции openwrt.Все выглядит хорошо, за исключением того, что модуль не может быть вставлен, если я установил EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211
.Мне нужна эта опция, иначе я не смогу управлять ключом Wi-Fi.Но сам модуль загружается и распознает ключ без этого флажка.
Если флаг 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]
Поскольку модуль компилируется и работает на моем ПК из одних и тех же источников без проблем, а экспортированные на ПК символы соответствуют указанным выше «зеркальным»,Я думаю, что я неправильно скомпилировать модуль для маршрутизатора.Может быть, какая-то проблема со связью?