Power 0 Posted January 25, 2019 · Report post Собирается без проблем , нужна помощь устранить Unknown symbol in module для совместимости драйвера Желательно подробно (ранее этого не делал) Возможно через команду cat /proc/kallsyms , но точно не знаю Quote Ответить с цитированием Share this post Link to post Share on other sites
aaarrr 0 Posted January 25, 2019 · Report post 58 minutes ago, Power said: Желательно подробно Тогда и ситуацию нужно описать подробно - какое ядро, какой модуль, на что ругается и т.д. Quote Ответить с цитированием Share this post Link to post Share on other sites
Power 0 Posted January 25, 2019 (edited) · Report post Версия 3.3 + Extraversion и драйвера одинаковая disagrees about version of symbol module_layout insmod: ERROR: could not insert module. Invalid module format Edited January 26, 2019 by Power Quote Ответить с цитированием Share this post Link to post Share on other sites
gosha-z 0 Posted January 25, 2019 · Report post Платформу, версию кернела и желаемую драйвером версию кернела предлагается угадать? Quote Ответить с цитированием Share this post Link to post Share on other sites
Power 0 Posted January 25, 2019 (edited) · Report post VERSION = 3 PATCHLEVEL = 3 SUBLEVEL = 8 EXTRAVERSION = -2.0 Только Ваш вопрос не имеет значения , написал выше версия и драйвер одинаковые (предыдущего и собираемого Kernel) Edited January 26, 2019 by Power Quote Ответить с цитированием Share this post Link to post Share on other sites
gosha-z 0 Posted January 25, 2019 · Report post А версия кернела, которую вы подсовываете при сборке драйвера? Quote Ответить с цитированием Share this post Link to post Share on other sites
Power 0 Posted January 25, 2019 · Report post Всё одинаковое (версии) Старый кернел , драйвера от старого кернел и собираемый кернел Quote Ответить с цитированием Share this post Link to post Share on other sites
gosha-z 0 Posted January 25, 2019 · Report post А драйвер в исходниках или только бинарь? Quote Ответить с цитированием Share this post Link to post Share on other sites
Power 0 Posted January 25, 2019 · Report post Исходников нет , драйвер .ko Quote Ответить с цитированием Share this post Link to post Share on other sites
sasamy 0 Posted January 25, 2019 · Report post 6 hours ago, Power said: Версия 3.3 + Extraversion и драйвера одинаковая disagrees about version of symbol module_layout insmod: ERROR: could not insert module. Invalid module format попробуйте insmod -f module.ko man insmod Quote -f, --force Attempt load the module even if the version of the running kernel and the version of the kernel for which the module was compiled do not match. This only overrides the kernel version check, it has no effect on symbol name checks. If the symbol names in the module do not match the kernel then there is no way to force insmod to load the module. для modprobe тоже есть аналогичный ключ. В ядре на котором хотите подгрузить "неродной" модуль должна быть включена поддержка для этого [*] Enable loadable module support ---> [*] Forced module loading Quote Ответить с цитированием Share this post Link to post Share on other sites
Power 0 Posted January 26, 2019 (edited) · Report post При включении в ядре [*] Enable loadable module support ---> [*] Forced module loading insmod -f module.ko insmod: ERROR: could not insert module. Invalid module format version magic 'preempt mod_unload modversions' должно быть mod_unload modversions Что такое version magic и preempt ? Edited January 26, 2019 by Power Quote Ответить с цитированием Share this post Link to post Share on other sites
sasamy 0 Posted January 26, 2019 · Report post 1 hour ago, Power said: version magic 'preempt mod_unload modversions' должно быть mod_unload modversions Смените в ядре Preemption Model чтобы как в модуле было Kernel Features ---> Preemption Model (Preemptible Kernel (Low-Latency Desktop)) ---> Quote Ответить с цитированием Share this post Link to post Share on other sites
Power 0 Posted January 26, 2019 (edited) · Report post Как перенести все символы из модуля командой cat /proc/kallsyms ? Так как лучше перенести все символы сразу , чтобы не было ошибок Edited January 26, 2019 by Power Quote Ответить с цитированием Share this post Link to post Share on other sites
Tarbal 0 Posted February 6, 2019 · Report post А что говорят команды (module.ko -- ваш модуль): uname -r modinfo module.ko после insmod module.ko конец вывода (строк 30) команды dmesg Quote Ответить с цитированием Share this post Link to post Share on other sites
Olej 0 Posted February 28, 2019 · Report post On 1/25/2019 at 4:15 PM, gosha-z said: А драйвер в исходниках или только бинарь? Тогда сливайте воду- это вам не ВыньДа On 1/26/2019 at 5:25 PM, Power said: Как перенести все символы из модуля командой cat /proc/kallsyms ? Так как лучше перенести все символы сразу , чтобы не было ошибок Драйверы и модули ядра Linux Quote Ответить с цитированием Share this post Link to post Share on other sites