Автоматический поиск драйверов для linux

Обновлено: 07.07.2024

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

Чаще всего, необходимые драйвера включаются в дистрибутив и устанавливаются в процессе установки. Иногда бывает все не так удачно, и только что собранная рабочая станция будет идти без звука, сети или видео драйверов.

Я не буду вдаваться в детали, поясняя установку специфических драйверов. Для получения этой информации вам необходимо обратиться к поставщикам оборудования. Я поясню, как установить драйверы, как загрузить их, а затем как добавить их в автозагрузку, чтобы они загружались автоматически каждый раз при запуске системы.

Установка

Подобно любому программному обеспечению, драйверы могут быть скомпилированными или нет. Обычно они не скомпилированы. Драйверы обычно распространяются в виде исходных текстов, с целью достижения максимально возможной совместимости аппаратных средств на установленной платформе. Это значит, что вам придется компилировать их из исходных текстов. Элементарно! Мы уже знаем как это сделать.

Если поставщик оборудования является щедрым, он, возможно, дополнит поставляемый драйвер само-устанавливающим скриптом. Другими словами, вам будет нужно только запустить одну команду, которая выполнит: распаковку архива, компиляцию, установку и загрузку драйвера. Но это может не работать. Я был свидетелем как само-устанавливающийся скрипт драйвера работал неверно. По этой причине, для всех практических задач, вам следует устанавливать драйвер вручную.

После успешной распаковки из архива и компиляции исходников (./configure, make, make install), вы, скорее всего, столкнетесь с выбором из трех вариантов:

  • Драйвер будет полностью сконфигурирован и скопирован в папки, выбранные по умолчанию, и системные пути будут обновлены. В этом случае, вам не нужно ничего делать, чтобы использовать драйвер.
  • Драйвер будет сконфигурирован автоматически, и системные пути будут обновлены. Это значит, что вы только добавите имя драйвера в список загружаемых драйверов начальной загрузки, чтобы он загружался автоматически при запуске системы.
  • Драйвер будет готов к использованию, но не будет сконфигурирован, системные пути не будут обновлены. Вам придется вручную загрузить драйвер и затем обновить список загружаемых драйверов начальной загрузки, чтобы он загружался автоматически при запуске системы.

При втором варианте, процесс установки, будет выглядеть следующим образом:

Теперь только остается добавить этот драйвер в список загружаемых драйверов при запуске системы. В Linux драйвера часто называют модулями .

Вам нужно открыть конфигурационный файл, содержащий список модулей. Также необходимо знать его точное имя и размещение файла в вашем дистрибутиве. В Ubuntu этот файл называется modules.conf и размещается в /etc каталоге ( /etc/modules.conf ). Мы обновим этот файл, но вначале мы сделаем его резервную копию. Пожалуйста помните, что для изменения конфигурационных файлов нужны права суперпользователя.

Так будет выглядеть эта процедура:

Приведенные выше команды откроют файл modules.conf в текстовом редакторе gedit. Теперь, просто добавьте драйвер в пустую строку ниже существующих драйверов, сохраните файл, выйдите из текстового редактора и перезагрузите систему, чтобы изменения вступили в силу. Это все!

Вот пример, файла modules.conf для Kubuntu Linux, установленной на виртуальной машине. Добавим новый драйвер. Мы просто запишем его имя ниже существующих записей. Конечно, необходимо знать ТОЧНОЕ имя соответствующего драйвера.


Третий вариант немного более сложный.

Загрузка драйверов

Вы успешно скомпилировали драйвер, но ничего не произошло. Это получилось потому, что драйвер еще не включен. Посмотрев внутрь каталога, вы заметите файл с расширением .ko . Это и есть ваш драйвер, и его необходимо загрузить вручную.

Нам нужно установить драйвер в ядро. Это можно сделать с помощью команды insmod .

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

Если вы случайно сделали серьезную ошибку и хотите удалить драйвер, то можете воспользоваться командой rmmod :

Конфигурирование драйверов

Конфигурирование драйвера требует немного знаний о его функциональности. Чаще всего инструкции находятся в текстовых файлах how-to руководства.

Ниже приведенный пример показывает как конфигурировать сетевую карту после загрузки сетевого драйвера. Сетевой карте присвоен идентификатор и IP адрес. В данном случае, eth0 - имя выбранного устройства, но оно может быть другим, например: eth1, eth2 и т. д. . Назначенный IP адрес показывает нам, что машина будет частью локальной сети.

После перезагрузки вы увидите, что сетевое подключение отсутствует. Это происходит из-за того, что драйвер отсутствует в общем каталоге по умолчанию, и система не знает, где его искать. Вам придется повторить всю процедуру снова:

Скрипты

Как и в системах DOS и Windows, скрипты могут быть написаны в текстовом редакторе. Учитывая внутренние различия между текстовыми файлами и скриптами, необходимо различать текстовые файлы и скрипты. В системе Windows достаточно изменить расширение .txt на .bat и файл станет скриптом. В Linux немного по-другому.

Командная строка Linux находится внутри оболочки или, точнее сказать, и есть сама оболочка или Шелл (Shell). Существует несколько оболочек, каждая со своим уникальным набором команд. Самая популярная (устанавливается по умолчанию) оболочка Linux это BASH . Нам необходимо добавить информацию в наш скрипт, если хотим сделать его связанным с нашей оболочкой.

Таким образом, записав в файл приведенные выше команды плюс ссылка на оболочку, получим следующий скрипт:

Можно сделать это короче:

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

Сделаем скрипт исполняемым.

Теперь у нас есть работающий скрипт. Нам нужно разместить его в каталоге /etc/init.d и он будет запускаться во время начальной загрузки системы.

В завершение нужно обновить систему для активации скрипта.

После перезагрузки вы поймете, что драйвер загружен автоматически и сетевая карта сконфигурирована! Возможен и другой вариант, make install и драйвер будет помещен в каталог по умолчанию:

Или вы могли разместить драйвер в этом каталоге сами. Таким образом, вы могли бы избежать написания скрипта.

Однако мой метод, даже если и менее изящный, имеет одно преимущество. Драйверы, которые вы скомпилировали вручную и поместили в каталоги по умолчанию, будут потеряны при обновлении ядра системы. Это значит, что вам будет необходимо их переустанавливать каждый раз после такого обновления. Мой неэлегантный метод позволяет избежать этой проблемы.

В Windows мы привыкли, что перед тем, как новое оборудование будет работать, для него необходимо установить драйвера. Не важно будет ли это USB устройство, веб-камера или видеокарта. Драйвера в Windows выпускаются производителями и распространяются через интернет или на диске в комплекте с оборудованием.

В Linux, драйвера тоже необходимы, но ситуация состоит с ними немного по-другому. Здесь все свободные драйвера Linux встроены в ядро и если ваше оборудование будет работать с этой операционной системой, то, скорее всего, оно будет работать из коробки. Свободные драйвера разрабатываются производителями оборудования или же независимыми разработчиками. Также производители могут не открывать код своих драйверов, тогда они считаются проприетарными и не включаются в ядро, а доустанавливаются вручную.

Давайте рассмотрим подробнее работу с драйверами linux и Windows.

Как драйвера устройств работают в Windows

После установки Windows вам необходимо установить драйвера устройств, предоставляемые производителями - драйверы материнской платы, набора микросхем, драйверы видеокарты, звука, сети, wifi и многое другое.

Если оборудование не работает в WIndows, то обычно вы можете найти драйвер чтобы заставить его работать. Обычно достаточно подыскать подходящий драйвер на просторах сети.

Как работают драйвера Linux

В Linux ситуация с драйверами очень сильно отличается. Большинство драйверов для вашего оборудования распространяются в виде открытого программного обеспечения и интегрированы в дистрибутив Linux. Эти драйверы linux, как правило, являются частью ядра Linux, но здесь есть исключение - драйверы видеокарты являются частью программного обеспечения Xorg, а драйверы принтера включены в набор CUPS (система печати).

Это значит, что большинство доступных для linux драйверов уже установлены на вашем компьютере, включены вместе с ядром, в виде модулей ядра или вместе с графическим сервером или сервером печати. Установка драйверов Linux почти не нужна. Драйвера в Linux разработаны, в основном, энтузиастами, но иногда их выпускают сами производители оборудования, которые вносят свой вклад в развитие ядра Linux и других проектов, например, это Intel, AMD, а также другие, более мелкие производители.

Все драйвера установлены из коробки, а значит вам не придется искать драйвера для каждого устройства в вашей системе и вручную их устанавливать. Система автоматически определит ваше оборудование и сама загрузит нужные драйвера в linux. Но здесь есть одно исключение - это проприетарные драйвера ядра linux и прошивки.

Установка проприетарных драйверов Linux

Некоторые производители не хотят открывать исходный код своих драйверов, поэтому для поддержки оборудования выпускают проприетарные драйвера в Linux с закрытым исходным кодом. Большинство дистрибутивов Linux не включают такие драйвера в свой состав, а значит они не смогут их автоматически определить и загрузить.

Чаще всего нам приходится сталкиваться с проприетарными драйверами для видеокарт, например, для NVIDIA, которые обеспечивают лучшую производительность в играх на Linux. Конечно, есть драйверы ядра Linux с открытым исходным кодом, которые заставят вашу видеокарту работать, но они не могут обеспечить достаточный уровень производительности в 3D играх. Некоторые драйвера wifi по прежнему закрыты, поэтому ваше оборудование не будет работать пока вы их не установите.

Установка драйверов в Linux зависит от вашего дистрибутива. В Ubuntu и основанных на ней дистрибутивах есть специальный инструмент - Дополнительные драйверы.


Программа определит, какие проприетраные драйверы устройств Linux можно установить и предложит скачать и установить их. В Linux Mint тоже есть инструмент менеджер драйверов, он работает аналогично инструменту в Ubuntu. Fedora - против проприетарных драйверов Linux и здесь нет никакого способа их установить. Во многих дистрибутивах проприетарные драйверы устройств linux можно найти в неофициальных репозиториях. Каждый дистрибутив решает эту проблему по-разному.

Установка прошивок в Linux

Не все могут делать драйвера с открытым кодом или проприетарные драйвера. Некоторым драйверам необходимы прошивки, чтобы правильно работать с устройствами. Например, прошивки нужны для работы некоторых модулей wifi или сетевых интерфейсов.

Чтобы установить прошивки в Linux необходимо скачать и установить пакет linux-firmware, это можно сделать с помощью следующей команды в Ubuntu:

sudo apt install linux-firmware

А в RPM дистрибутивах:

sudo yum install linux-firmware

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

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

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

Вы также можете попытаться определить принтер по описанию PostScript или PPD файла. Эти файлы часто входят в состав драйвера принтера для Windows и вы можете найти PPD файл, который сделает работу вашего принтера лучше. Файл PPD можно выбрать в процессе работы CUPS.

Принтер может стать головной болью в Linux и многие из них могут не работать должным образом или даже вообще не работать. Так что при выборе принтера лучше сразу смотреть только те, которые точно будут работать с Linux.

Как заставить работать другое программное обеспечение

Иногда вам может понадобиться поставить драйвера linux для другого оборудования, которые не предоставляются автоматически. Например, NVIDIA предоставляет собственный инсталлятор для своего драйвера. Но тем не менее лучше использовать драйвера упакованные для вашего дистрибутива, они будут работать лучше.

В общем, если в Linux что-то не работает из коробки, и если оно все еще не работает после установки драйвера или прошивки, то, скорее всего, оно уже не будет работать вообще. Если вы используете старую версию Linux, может помочь обновление до самой новой версии. Это обеспечит лучшую аппаратную поддержку и обновления. Но если что-то все еще не работает, то , скорее всего, оно уже работать не будет.

Найти подробную информацию, как настроить работу того или иного оборудования в вашем дистрибутиве можно на различных форумах. Обычно, если у вас не очень новое устройство, другие пользователи уже сталкивались с этими проблемами, но они их уже решили, и вы можете найти эти ответы.

Выводы

Вы не должны возиться с драйверами слишком много. Драйвера в Linux с открытым исходным кодом и они интегрированы в ядро. В большинстве случаев вам не нужно устанавливать их или изменять, система автоматически определит оборудование и загрузит автоматические драйверы. Когда вы установили Linux, ваше оборудование должно работать либо сразу, либо после установки нескольких проприетарных драйверов.

Вы можете устанавливать и драйвера linux, размещенные на официальных сайтах производителей, но проприетарные драйвера могут работать не настолько хорошо, как подготовленные для вашей системы.

Менеджер драйверов Ubuntu

Если в Ubuntu пройти по следующему пути: Параметры системы → Программы и обновления, либо через меню Dash, сразу же запустить "Программы и обновления", то в открывшимся интерфейсе, последняя верхняя вкладка будет: "Дополнительные драйвера", открыв которую, мы можем видеть актуальность установленных драйверов и предлагаемые варианты установок, драйверов - проприетарных. До какого-то момента времени, менеджер драйверов в Ubuntu был отдельным, самостоятельным приложением и только лишь недавно, я точно уже не помню с какой именно версии Ubuntu это началось, но где-то здесь совсем недалеко, это приложение было интегрировано в "Программы и обновления" и стало одной из имеющихся вкладок.

Программы и обновления в Ubuntu

Надо сказать, что в последнее время Canonical, основной акцент своего развития сконцентрировал на портативные устройства, несколько ослабив интерес к компьютерам. Скорее всего, что именно поэтому, релиз Ubuntu 13.10 получился, мягко выражаясь, не очень удачным, а по-сути, если быть более точным, то это абсолютно одно и тоже, что и Ubuntu 13.04, только в придачу ещё, с целой кучей багов, последствие которых ощущается и по сей день. Но это всё так, присказка, "между делом" так сказать.

Меж тем, при наличие желания, благодаря дистрибутиву Linux Mint и его разработчикам, имеется возможность и в Ubuntu установить такой менеджер драйверов, в виде отдельного приложения, как это было некогда ранее. Вопрос лишь в том, а нужно ли это? Лично я считаю, что сие действо совершенно ненужное и бесполезное, но!? Пообщавшись на одном из форумов, я с удивлением отметил, что данное приложение оказалось довольно востребованным среди некоторой части пользователей, что ещё раз подтверждает истину - твоё мнение, это только твоё мнение, но есть ещё и другие точки зрения, с которыми нужно уметь считаться.

Что бы установить менеджер драйверов в Ubuntu, нужно скачать последнюю версию deb-пакета из репозитория "минта", вот по этой ссылке: http://packages.linuxmint. Теперь, кликнув по этому пакету, должен запуститься "центр приложений", с помощью которого и нужно установить программу. А можно сделать и через терминал:

// Заходим в папку с пакетом.

После установки, найти и запустить программу можно через: Параметры системы → Менеджер драйверов или же, сразу из меню Dash: "Менеджер драйверов".

Менеджер драйверов в меню Dash

Внешний вид менеджера драйверов.

Внешний вид менеджера драйверов

Вообще, в Linux Mint имеется более совершенная утилита такого же плана, которая может определить и установить в систему драйверы видеокарт: Nvidia, ATI, Intel, VIA, Broadcom, драйвера WiFi и ядра PAE (32-bit). Программа новая, активно развивающаяся и совершенствующаяся, под названием: DDM (Device Driver Manager)


Мы расскажем вам как установить новые или обновить существующие драйвера для видеокарт на базе чипов Intel/nVidia/AMD на примере Ubuntu/Mint.

В сегменте домашний/рабочий компьютер на данный момент преобладает три производителя графических чипов:

Сразу хочу обратить ваше внимание что после установки графических драйверов необходимо полностью перезагружать компьютер.
Итак, посмотрим как можно установить или обновить уже существующие графические драйвера.

Для начала давайте посмотрим как определить какая видеокарта установленна в нашем компьютере.

Это можно определить несколькими способами:


Установить/обновить графические драйвера для видеокарты на чипе Intel

В случае с видеокартами на графическом чипе Intel, то вам не нужно устанавливать дополнительные программное обеспечение, здесь достаточно стандартных драйверов, которые идут вместе с дистрибутивом.
Все современные дистрибутивы уже включают последние драйвера от фирмы Intel.

Если у вас Ubuntu 17.04 и ниже, или Fedora 26 и ниже, то можно обновить имеющийся драйвер в системе на последний официальный драйвер от Intel.
Для этого в Ubuntu/Mint необходимо выполнить следующие команды в терминале:

И перезагружаем компьютер. Все!

Установить/обновить графические драйвера для видеокарты на чипах Nvidia/AMD стандартными средствами в Ubuntu/Mint

Для этого вам необходимо запустить в меню «Программы и обновления».
Или запустить в терминале одну из перечисленных утилит (зависит от версии Ubuntu, которая у вас установленна):
$ sudo software-properties-gtk
$ sudo software-properties-qt
$ sudo software-properties-kde

и выбрать вкладку «Дополнительные драйверы».


В этой вкладке система определит какая у вас установлена видеокарта и если есть в системе драйвера на нее, то предложит установить.

При подключенном интернете в этом окне должны появиться несколько вариантов драйверов, от стабильного, до более нового, тестируемого.
Выберите какой вы, посчитаете нужным и нажмите «Применить изменения».

Или можно их установить в терминале. Проверим что нам рекомендует Ubuntu

И перезагружаем компьютер. Все!

Установить/обновить графические драйвера для видеокарты на чипе Nvidia от производителя

В случае с видеокартами Nvidia обновить драйвера можно тремя способами:
Не зависимо от того, какой способ выберете вы, по окончании необходимо будет перезагрузить компьютер.

    Подключаем сторонний репозиторий в котором есть более новые пакеты с драйверами и обновляем опять информацию о существующих драйверах.

Ну далее установка будет протекать как в обычной Windows в окошках и кнопочками.


Владельцам гибридных видеокарт Intel/Nvidia

Хочу еще уделить чуток времени счастливчикам c графикой Hybrid.
Если у вас есть ноутбук с процессором Intel с встроенной графикой Intel и дополнительно графической картой Nvidia, то в этом случае вам также придется установить пакет nvidia-prime .

Затем вы сможете переключать адаптеры в Nvidia X Server Settings (профили PRIME).


Или вы можете сделать это в терминале:

Вам нужно будет выйти из системы и войти в систему снова, чтобы применить настройку.

Установить/обновить графические драйвера для видеокарты на чипе AMD от производителя

В случае с видеокартами AMD дела обстоят немного хуже.
Тут также есть три варианта, где взять драйвера, но они не такие яркие как у Nvidia.
Ну и не забываем перезагрузить компьютер после обновления/установки драйверов.

  1. Первый вариант, это то, что в дистрибутивах уже есть универсальные драйвера для AMD видеокарт и с каждой новой версией дистрибутива они постоянно улучшаются.
    Т.е. это не требует каких либо телодвижений с вашей стороны.
  2. Следующий вариант, это обновить эти самые драйвера и сделать их более новыми.
    Делается это путем подключения дополнительного репозитория. Выполним в терминале следующие действия.

если выдаст ошибку что такого файла нет, то тогда

И дальше отвечаем на вопросы, действуем по предложенной инструкции.
Если в процессе будут ошибки установки, то возможно чего-то не хватает системе.
Очень теоретически может помочь эта команда:

Она попробует загрузить и установить зависимости (пакеты которые нет, но они необходимы самому драйверу)
После того как все установилось, можно проверить наличие пакетов в системе

Вроде все.
Если я что-то забыл указать в статье, жду ваши замечания в комментариях.
А вы используете новые графические драйвера кроме тех, которые в системе предлагаются по умолчанию?

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Читайте также: