Как скомпилировать драйвер стороннего производителя в ядро?

Вопрос или проблема

Я использую Linux Mint 17.2 на Toshiba c640. Так как мой драйвер LAN больше не работает, я использую USB через LAN конвертер, который был предоставлен с некоторыми файлами установки драйверов. Каждый раз, когда я хочу использовать устройство, мне нужно вручную устанавливать драйверы, выполняя указанные команды. Поэтому я прошу вас помочь сделать так, чтобы они загружались автоматически после cada перезагрузки. Для этой цели производитель предоставил некоторые инструкции, но так как я не профессионал в технологиях, я не смог сделать это сам. Я предоставляю детали файлов. Любая помощь приветствуется. Спасибо

Вот файлы:

введите описание изображения здесь

Содержимое:

Readme.txt:

Примечание:
    1. Пожалуйста, выполняйте как root
    2. Поддерживаемый диапазон версий ядра Linux от 2.6.x до 3.8.x
    3. Модуль CH9x00 зависит от модулей mii и usbnet
    4. Если вы хотите скомпилировать этот модуль в ядре, обратитесь к следующему
        a. # cp ch9x00.c ~/2.6.25/driver/net/usb/
        b. # cd ~/2.6.25/driver/net/usb/
        c. измените Makefile и Kconfig для ch9x00.c

Установка:
    # make
    # make load

Удаление:
    # make unload

Makefile:

    # Этот makefile для сетевого адаптера CH9X00

# Makefile для linux 2.6.x - 3.8.x

ifneq ($(KERNELRELEASE), )
# вызов из системы сборки ядра
obj-m := ch9x00.o
else
KERNELDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)

modules:
    $(MAKE) -C $(KERNELDIR) M=$(PWD)

load:
    modprobe mii
    modprobe usbnet
    insmod ch9x00.ko

unload:
    rmmod ch9x00

clean:
    rm -rf *.o *~ core .depend .*.cmd *.mod.c .tmp_versions modules.* Module*
endif

От одного новичка к другому; если я правильно понимаю, вам нужно установить драйверы (английский не является моим родным языком), если да, в терминале выполните следующее:

cd /путь-к-вашей-папке/с-драйверами/

по вашему скриншоту это будет:

cd /home/maddys/Desktop/linux\ (copy)/

как только вы там находитесь, введите:

sudo make

Затем некоторые библиотеки будут созданы локально, далее введите:

sudo make load

Это установит драйвер, и это все.

Ответ или решение

Как скомпилировать сторонний драйвер в ядро Linux

Если вы используете Linux Mint 17.2 и сталкиваетесь с проблемами загрузки драйвера для вашего USB-LAN адаптера, представленный вами процесс можно автоматизировать. Давайте рассмотрим, как скомпилировать драйвер и чтобы он автоматически загружался при каждой перезагрузке.

Шаги по компиляции и загрузке драйвера

  1. Подготовка окружения
    Убедитесь, что у вас установлены необходимые пакеты для компиляции модулей ядра. Откройте терминал и выполните команды:

    sudo apt-get update
    sudo apt-get install build-essential linux-headers-$(uname -r)
  2. Копирование файлов драйвера
    Перейдите в директорию, где находятся файлы драйвера. Например:

    cd /home/maddys/Desktop/linux\ (copy)/

    После этого скопируйте файл ch9x00.c в соответствующую папку:

    sudo cp ch9x00.c /lib/modules/$(uname -r)/build/drivers/net/usb/
  3. Модификация Makefile и Kconfig
    Вам нужно будет отредактировать Makefile и Kconfig для правильной компиляции вашего драйвера. Вы можете использовать текстовый редактор, например, nano:

    cd /lib/modules/$(uname -r)/build/drivers/net/usb/
    sudo nano Makefile

    Убедитесь, что в Makefile добавлена строка, указывающая на ваш модуль:

    obj-m := ch9x00.o

    Аналогично проверьте файл Kconfig и добавьте соответствующую конфигурацию, если это необходимо.

  4. Компиляция драйвера
    Выполните следующие команды в терминале для компиляции драйвера:

    cd /path-to-your-folder/containing-the-drivers/
    sudo make

    Это создаст объектный файл ch9x00.ko.

  5. Загрузка модуля
    Чтобы загрузить модуль в систему, выполните:

    sudo make load

    Эта команда вызовет загрузку зависимых модулей mii и usbnet, после чего и ваш драйвер.

  6. Автоматическая загрузка при старте системы
    Чтобы драйвер автоматически загружался при каждой перезагрузке, необходимо добавить его в конфигурационный файл модулей:

    Откройте файл /etc/modules с правами суперпользователя:

    sudo nano /etc/modules

    Добавьте строку с именем вашего модуля:

    ch9x00
  7. Перезагрузка системы
    Теперь перезагрузите вашу систему и проверьте, загружен ли модуль:

    lsmod | grep ch9x00

Если вы увидите название модуля в выводе команды, значит, модуль успешно загрузился.

Заключение

Следуя представленным шагам, вы сможете скомпилировать и автоматически загружать драйвер USB-LAN адаптера после каждой перезагрузки. Если у вас возникнут какие-либо вопросы или проблемы в процессе, обязательно проверьте синтаксис, а также корректность путей в ваших командах. Удачи в вашей работе с Linux!

Оцените материал
Добавить комментарий

Капча загружается...