Модуль с именем alx, который управляет моим Qualcomm AR8161 Ethernet, загружается при загрузке и отображается с помощью lsmod.

Этот модуль глючит. Я нашел исправления, скачал исходный код для моего работающего ядра, исправил alx/ files и, узнав, как, восстановил файл модуля alx.ko. После rmmod'а старого alx и modprobe -v моей новой версии ethernet начал работать отлично. Ура! Задача решена.

Раздражает то, что если я делаю прямой обмен оригинальной alx.ko с моей новой alx.ko, она все равно загружает старую при загрузке ?? Кроме того, если я полностью удаляю все файлы alx.ko из /lib /modules, модуль alx STILL загружается во время загрузки ??? Итак, вопрос в том, откуда он берется, и как мне заставить систему загрузить мою заменяющую версию (точно такое же имя файла)?

В данный момент я выдаю rmmod alx; modprobe -v alx во время загрузки, но я бы предпочел, чтобы это происходило автоматически.

2 ответа2

0

Обычный способ сделать это - присвоить новому модулю несколько другое имя, например alx_fixed.ko, и добавить в черный список оригинал. Инструкции о том, как занести модуль в черный список, можно найти здесь. http://linuxconfig.org/how-to-blacklist-a-module-on-ubuntu-debian-linux Как только вы поместите новый модуль в /lib /modules /your-kernel-version /kernel /drivers /net / вам нужно запустить команду "sudo depmod -a", чтобы обновить список установленных модулей.

Я сомневаюсь, что это относится к драйверу Ethernet, но некоторые модули загружаются во время загрузки, поэтому вам может потребоваться также запустить «update-initramfs». https://wiki.ubuntu.com/Initramfs

Откуда взялись модули, даже если вы их удалили? Какую версию ядра вы используете? Вы уверены, что удалили их из правильной версии ядра? В общем, удаление системных файлов - плохая идея, потому что это может привести к нестабильной работе системы.

0

Я поместил новый модуль в /lib/modules/4.2.0-27-generic/updates/dkms/ и запустил depmod -av | grep alx и update-intramfs -uv | grep alx, убедившись, что он только подхватывает мой модифицированный модуль не оригинал .. В последующих журналах загрузки: alx: проверка модуля не удалась: отсутствует подпись и / или требуемый ключ - портится ядро, но оно все равно загружается и проблема решена.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .