Как посмотреть установленные драйвера в ubuntu

от admin

How can I find what video driver is in use on my system?

I would like to try a different video display driver, but I’m not sure which one I’m currently using.

What’s the simple way to see what driver my system is using currently?

6 Answers 6

Note that modinfo works on filenames and aliases, not on module names. The majority of the modules will have the same name for the module name and filename, but there are exceptions. One of them is nvidia .

Another way of using these commands in order to show you the file name of the driver would be:

When loaded, the command lsmod will show the nvidia module as loaded. modinfo nvidia will error out. Why? Because there is no module named «nvidia», it’s just an alias. To resolve the alias you can use modprobe —resolve-alias nvidia . Or to get the whole modinfo in one command:

Все ли драйверы оборудования установлены в Linux?

Vlatqa

Ну как вы догадываетесь вообще все драйвера, там не установлены.

Во-первых, нет драйверов для слишком старых или для слишком новых устройств. (Глобально это можно решить сменой версии ядра).

Во-вторых, часто не установлены или по умолчанию отключены проприетарные драйвера. В Убунту в настройка есть отдельный раздел про использование проприетарных драйверов ( в частности видеодрайвера от NVidea)

Диспетчер устройств в Ubuntu

Если вы были достаточно опытным пользователем Windows, то после перехода на Linux, наверное, задавались вопросом, а где здесь диспетчер устройств? Программа, с помощью которой можно было бы посмотреть подключенные к компьютеру устройства, установленные для них драйвера, настроить драйвера, да и посмотреть информацию об оборудовании в одном месте. Но ситуация здесь неоднозначная, полной альтернативы нет, есть утилиты показывающие немного информации, есть консольные команды. Но все очень запутанно и непонятно.

В этой статье мы попытаемся расставить все точки над «i» в вопросе просмотр устройств Ubuntu, и в частности, ответим на вопрос где взять диспетчер устройств Ubuntu.

Немного теории

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

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

Диспетчер устройств Ubuntu в терминале

Устройства подключаются к материнской плате несколькими способами. Это может быть шина PCI, используется для многих основных компонентов компьютера, например, видеокарты, звуковой карты, сетевого адаптера и т д. Еще может использоваться USB, этот тип подключения чаще всего применяется для внешних устройств вроде веб-камеры, клавиатуры, мыши и т д. Жесткие диски не подключаются по PCI, для них существует отдельный интерфейс — SCSI (Small Computer System Interface). PCI шина является главной, к ней подключены другие контроллеры, в том числе USB и SCSI. Такое разделение необходимо, потому что это устройства разного типа, им нужно передавать разное количество информации, нужна разная скорость передачи и даже разное напряжение питания от сети.

В соответствии с принципом GNU в Linux есть отдельная утилита, для просмотра каждого из типов устройств. Называются они так же, как и технологии, с помощью которых подключены устройства с префиксом ls (list):

  • lspci
  • lsusb
  • lsscsi
  • lscpu

Рассмотрим каждую из этих утилит подробнее.

lspci

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

Посмотреть устройства Ubuntu подключенные по шине PCI можно с помощью команды lspci. Давайте рассмотрим ее синтаксис:

$ lspci опции

Опции утилиты указывают сколько данных нужно выводить и как их фильтровать. Рассмотрим подробнее:

  • -v — выводить подробную информацию об устройствах
  • -vv — выводить очень подробную информацию об устройствах
  • -n — показывать код производителя для устройства
  • -b — показать все адреса устройств на шине
  • -d — показать только устройства определенного производителя
  • -t — просмотр устройств ubuntu в виде дерева.
  • -s — показать информацию об определенном устройстве

Но обычно вам не понадобятся эти опции, чтобы посмотреть оборудование, подключенное по PCI просто выполните команду без параметров:

devices

В первой колонке отображен адрес устройства на шине PCI, так называемый, слот, во второй тип устройства, а затем его производитель и описание. Опция -n позволяет отображать вместо типа и описания id производителя и модели устройства.

Читать:
Как убрать ограничение фпс в террарии на пк

Если вы хотите посмотреть только оборудование определенного типа, скажем, звуковую карту используйте фильтр grep:

lspci | grep audio

devices1

Или для видео карты:

lspci | grep VGA

devices2

Также можно фильтровать информацию по слоту устройства с помощью опции -s:

devices3

Также мы можем фильтровать устройства по PCI id, идентификатору производителя:

lspci -d 80ee:beef

devices4

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

devices5

Хотите просмотреть какой драйвер ядра сейчас загружен для устройства? Эту информацию утилита предоставляет с опцией vv:

devices9

Нас интересует строчка Kernel driver in use. Можем отфильтровать по ней:

lspci -vv | grep Kernel

devices10

lsusb

Несмотря на то, что контроллер USB подключен к PCI, в выводе команды lspci мы увидим только сам контроллер, для просмотра устройств Ubuntu нам нужна другая команда, и это lsusb. Синтаксис тот же:

$ lsusb опции

Опций здесь поменьше:

  • —verbose — подробный вывод
  • -s — аналогично lspci, выводить устройства, подключенные к определенному порту
  • -d — выводить устройства по определенному идентификатора производителя
  • -t — включить отображение в виде дерева

Смотрим все подключенные устройства USB ubuntu:

devices6

Выбираем только устройства подключенные к первой шине, второму порту:

devices7

Выбираем устройства по идентификатору производителя:

lsusb -d 80ee:0021

devices8

Здесь способ отображения похожий, в первой колонке шина и порт, разделенные двоеточием, дальше id производителя, а затем описание устройства.

lsscsi

SCSI контроллер тоже подключен к PCI, а к нему уже подключаются жесткие диски и оптические приводы. Для просмотра этих устройств используется утилита lsscsi. Если она не установлена в вашей системе, ее можно установить командой:

sudo apt-get install lsscsi

Синтаксис тот же:

$ lsscsi опции

Но опций тут немного больше:

  • -c — классический стиль, более подробная информация
  • -d — показать только определенное устройство
  • -k — отображать файлы дисков linux для устройств
  • -H — отображать хосты scsi, подключенные к системе
  • -l — вывод дополнительной информации по каждому устройству
  • -v — вывод файлов блочных устройств в каталоге /sys
  • -s — отобразить размер подключенного диска

Смотрим подключенные жесткие диски:

devices11

devices12

А вместе с размером диска:

devices13

lscpu

Процессор подключен к отдельному слоту на материнской плате, и для просмотра информации о нем используется отдельная утилита — lscpu:

devices15

Теперь, когда вы разобрались с основами, можно посмотреть еще одну утилиту. lshw выводит подробную информацию по каждому устройству в терминал. Здесь отображается как процессор и pci устройства, так и жесткие диски:

devices14

С помощью опции -class можно указать тип оборудования, о котором нужно выводить информацию. Доступны такие классы:

sudo lshw | grep \*

devices16

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

sudo lshw -class display

devices17

Или сетевом адаптере:

sudo lshw -class network

devices18

Здесь же можно посмотреть какой драйвер загружен для устройства, в строке Конфигурация, поле driver.

Как видите, консольные инструменты ничем не хуже программы Windows, и они полностью заменяют диспетчер устройств в Ubuntu.

Диспетчер устройств с графическим интерфейсом

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

Эта программа не поставляется с дистрибутивом по умолчанию, но ее очень просто установить:

sudo apt install hardinfo

Вот так выглядит главное окно программы:

devices19

На вкладке Computer собрана информация о системе:

devices20

Если вам нужны только подключенные устройства ubuntu, то для этого есть раздел Devices, здесь есть подробная информация по каждому устройству:

devices21

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

Выводы

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

Linux: How to find the device driver used for a device?

If my target has one device connected and many drivers for that device loaded, how can I understand what device is using which driver?

8 Answers 8

Example. I want to find the driver for my Ethernet card:

First I need to find coordinates of the device using lspci ; then I find driver that is used for the devices with these coordinates.

Igor Chubin's user avatar

Jonathon Reinhart's user avatar

sudo lspci -v will show it. like this:

You can also combine it with grep like this:

Jonathon Reinhart's user avatar

mlibre's user avatar

For USB based devices you can see the driver name by using the lsusb command:

And/or you use lshw which enumerates the devices on all buses including USB, PCI, etc so you can see which driver it uses:

If you just want to plainly use sysfs and doesn’t want to deal with all these commands which eventually looks inside sysfs anyways, here’s how:

say, what is the module/driver for eth6? «sfc» it is

or better yet.. let readlink resolve the path for you.

so. to figure out what are the drivers for all of your network interfaces:

Похожие статьи