If my target has one device connected and many drivers for that device loaded, how can I understand what device is using which driver?
Alexios
18.7k3 gold badges57 silver badges74 bronze badges
asked Jun 27, 2012 at 6:17
Just use /sys
.
Example. I want to find the driver for my Ethernet card:
$ sudo lspci
...
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)
$ find /sys | grep drivers.*02:00
/sys/bus/pci/drivers/r8169/0000:02:00.0
That is r8169
.
First I need to find coordinates of the device using lspci
; then I find driver that is used for the devices with these coordinates.
answered Jun 27, 2012 at 9:50
Igor ChubinIgor Chubin
1,0868 silver badges11 bronze badges
8
Here’s a little script I wrote:
#!/bin/bash
for f in /sys/class/net/*; do
dev=$(basename $f)
driver=$(readlink $f/device/driver/module)
if [ $driver ]; then
driver=$(basename $driver)
fi
addr=$(cat $f/address)
operstate=$(cat $f/operstate)
printf "%10s [%s]: %10s (%s)n" "$dev" "$addr" "$driver" "$operstate"
done
Sample output:
$ ~/what_eth_drivers.sh
eth0 [52:54:00:aa:bb:cc]: virtio_net (up)
eth1 [52:54:00:dd:ee:ff]: virtio_net (up)
eth2 [52:54:00:99:88:77]: virtio_net (up)
lo [00:00:00:00:00:00]: (unknown)
answered Aug 25, 2015 at 22:53
3
sudo lspci -v
will show it. like this:
$ sudo lspci -v
00:01.0 VGA compatible controller: Advanced Micro Devices, Inc......
...
Kernel driver in use: radeon
Kernel modules: radeon
You can also combine it with grep
like this:
$ sudo lspci -v | grep -A 20 VGA
answered Jan 10, 2017 at 21:31
mlibremlibre
1,2591 gold badge13 silver badges20 bronze badges
For USB based devices you can see the driver name by using the lsusb
command:
lsusb -t
And/or you use lshw
which enumerates the devices on all buses including USB, PCI, etc so you can see which driver it uses:
sudo lshw
answered Jan 8, 2018 at 19:37
PierzPierz
6619 silver badges9 bronze badges
1
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
# ls -l /sys/class/net/eth6/device/driver
lrwxrwxrwx 1 root root 0 Jan 22 12:30 /sys/class/net/eth6/device/driver ->
../../../../bus/pci/drivers/sfc
or better yet.. let readlink resolve the path for you.
# readlink -f /sys/class/net/eth6/device/driver
/sys/bus/pci/drivers/sfc
so… to figure out what are the drivers for all of your network interfaces:
# ls -1 /sys/class/net/ | grep -v lo | xargs -n1 -I{} bash -c 'echo -n {} :" " ; basename `readlink -f /sys/class/net/{}/device/driver`'
eth0 : tg3
eth1 : tg3
eth10 : mlx4_core
eth11 : mlx4_core
eth2 : tg3
eth3 : tg3
eth4 : mlx4_core
eth5 : mlx4_core
eth6 : sfc
eth7 : sfc
eth8 : sfc
eth9 : sfc
Rui F Ribeiro
55.4k26 gold badges146 silver badges225 bronze badges
answered Jan 29, 2018 at 20:59
2
You can use the lsmod
command to get the status of loaded modules / devices drivers in the Linux Kernel.
For a specific device, you can use dmesg |grep <device-name>
to get the details too.
answered Jun 27, 2012 at 6:21
3
When ethtool
is installed you can simply use:
$ ethtool -i enp2s0 | grep driver | awk '{print $2}'
r8169
where enp2s0
is the device name. ethtool
provides detailed information about the interface:
$ ethtool -i enp2s0
driver: r8169
version: 2.3LK-NAPI
firmware-version: rtl8168e-3_0.0.4 03/27/12
expansion-rom-version:
bus-info: 0000:02:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no
In order to install on Debian/Ubuntu:
apt install ethtool
answered Mar 10, 2021 at 8:49
TombartTombart
2,5305 gold badges26 silver badges38 bronze badges
For me I needed a way to link network device names to driver pci names, here is a one-liner (adjust or remove the “grep ens” to whatever name network device name you want to search for)
for i in $(ip -br addr show | awk '{print$1}' | grep ens); do echo "$i: $(ethtool -i $i| grep bus-info)" ; done
answered May 20, 2021 at 16:03
DaveDave
4644 silver badges16 bronze badges
Как искать драйвера для Linux?
С windows как бы все ясно, есть VID_PID по нему боле мене легко найти драйвера. А по какому принципу искать драйвера для линукс?
Спасибо!
-
Вопрос заданболее трёх лет назад
-
1793 просмотра
Примерно так:
$ lspci -nnn
В выводе ищешь например:
0b:00.0 Ethernet controller [0200]: VMware VMXNET3 Ethernet Controller [15ad:07b0] (rev 01)
Потом уже гуглишь: [15ad:07b0]
kernel.org тащит )
Пригласить эксперта
Как правило, это делать не нужно – все драйвера в ядре.
Для всякой экзотики нужно рассматривать конкретный случай.
А что у вас за девайс, для которого в ядре нет драйверов?
Зачем искать? Самому написать!
lspci, lsusb и т.д.
Ну и конечно же Google.
-
Показать ещё
Загружается…
20 мая 2023, в 03:03
4000 руб./за проект
20 мая 2023, в 02:13
1000 руб./за проект
20 мая 2023, в 01:15
100000 руб./за проект
Минуточку внимания
Содержание
- Как узнать, установлен драйвер или нет?
- Где устанавливаются драйверы Linux?
- Как проверить, все ли драйверы установлены в Ubuntu?
- Как вручную установить драйверы в Linux?
- Как проверить драйвер видеокарты?
- Как мне проверить все мои драйверы?
- Как использовать драйверы Windows в Linux?
- Linux автоматически находит драйверы?
- Где находятся модули в Linux?
- Как мне проверить свой графический драйвер Ubuntu?
- Как узнать, установлен ли драйвер WIFI в Ubuntu?
- Как узнать, установлен ли драйвер Nvidia на Ubuntu?
- Как установить принтер в Linux?
- Как работает драйвер для Linux?
- Как загрузить файл. KO в Linux?
Например, вы можете ввести lspci | grep SAMSUNG, если вы хотите узнать, установлен ли драйвер Samsung. Любой распознанный драйвер отобразится в результатах. Совет. Как и в случае с lspci или dmesg, добавьте | grep к любой из приведенных выше команд, чтобы отфильтровать результаты.
Как узнать, установлен драйвер или нет?
Щелкните устройство правой кнопкой мыши и выберите параметр «Свойства». Щелкните вкладку Драйвер. Проверьте версию установленного драйвера устройства.
Стандартные драйверы ядра
- Многие драйверы входят в состав ядра дистрибутива. …
- Эти драйверы, как мы видели, хранятся в каталоге / lib / modules /.
- Иногда имя файла модуля указывает на тип поддерживаемого оборудования.
Как проверить, все ли драйверы установлены в Ubuntu?
Также можно перейти в Пуск – & gt; Дополнительные драйверы, а затем Ubuntu сообщит, есть ли устаревшие или рекомендуемые драйверы.
Как вручную установить драйверы в Linux?
Как загрузить и установить драйвер на платформе Linux
- Используйте команду ifconfig, чтобы получить список текущих сетевых интерфейсов Ethernet. …
- После загрузки файла драйверов Linux распакуйте и распакуйте драйверы. …
- Выберите и установите соответствующий пакет драйверов ОС. …
- Загрузить драйвер. …
- Идентифицируйте устройство NEM eth.
Как проверить драйвер видеокарты?
Чтобы определить драйвер видеокарты в отчете диагностики DirectX * (DxDiag):
- Пуск & gt; Выполнить (или Флаг + R) Примечание. Флаг – это ключ с логотипом Windows * на нем.
- Введите DxDiag в окне выполнения.
- Нажмите Enter.
- Перейдите на вкладку, обозначенную как Экран 1.
- Версия драйвера указана в разделе Драйвер как Версия.
Как мне проверить все мои драйверы?
Как запустить средство проверки драйверов
- Запустите окно командной строки, выбрав Запуск от имени администратора, и введите средство проверки, чтобы открыть диспетчер проверки драйверов.
- Выберите «Создать стандартные настройки» (задача по умолчанию) и нажмите «Далее». …
- В разделе «Выберите драйверы для проверки» выберите одну из схем выбора, описанных в следующей таблице.
20 апр. 2017 г.
Как использовать драйверы Windows в Linux?
Как конвертировать драйверы Windows в Linux
- Щелкните «Система», затем щелкните «Администрирование».
- Щелкните «Диспетчер пакетов Synaptic». Это откроет встроенную в Linux утилиту, позволяющую загружать и добавлять программное обеспечение на свой компьютер. …
- Введите «ndiswrapper-utils» в поле «Поиск».
Linux автоматически находит драйверы?
Ваша система Linux должна автоматически определять ваше оборудование и использовать соответствующие драйверы оборудования.
Где находятся модули в Linux?
Загружаемые модули ядра в Linux загружаются (и выгружаются) командой modprobe. Они расположены в / lib / modules и имеют расширение. ko («объект ядра»), начиная с версии 2.6 (предыдущие версии использовали расширение.o). Команда lsmod выводит список загруженных модулей ядра.
Как мне проверить свой графический драйвер Ubuntu?
Чтобы проверить это на рабочем столе Unity по умолчанию в Ubuntu, щелкните шестеренку в правом верхнем углу экрана и выберите «Об этом компьютере». Вы увидите эту информацию, отображаемую справа от «Тип ОС». Вы также можете проверить это в терминале.
Как узнать, установлен ли драйвер WIFI в Ubuntu?
Чтобы проверить, был ли распознан беспроводной USB-адаптер:
- Откройте терминал, введите lsusb и нажмите Enter.
- Просмотрите список отображаемых устройств и найдите все, которые относятся к беспроводным или сетевым устройствам. …
- Если вы нашли свой беспроводной адаптер в списке, перейдите к шагу «Драйверы устройств».
Как узнать, установлен ли драйвер Nvidia в Ubuntu?
По умолчанию используется встроенная видеокарта (Intel HD Graphics). Затем откройте softare & amp; обновляет программу из меню приложения. Щелкните вкладку дополнительных драйверов. Вы можете увидеть, какой драйвер используется для карты Nvidia (по умолчанию Nouveau) и список проприетарных драйверов.
Как установить принтер в Linux?
Добавление принтеров в Linux
- Щелкните «Система», «Администрирование», «Печать» или найдите «Печать» и выберите настройки для этого.
- В Ubuntu 18.04 выберите «Дополнительные настройки принтера…»
- Нажмите «Добавить»
- В разделе «Сетевой принтер» должна быть опция «Хост LPD / LPR или Принтер »
- Введите данные. …
- Щелкните «Вперед»
Как работает драйвер Linux?
Драйверы Linux собираются вместе с ядром, скомпилированы в составе или в виде модуля. В качестве альтернативы драйверы могут быть построены на основе заголовков ядра в дереве исходных текстов. Вы можете просмотреть список установленных в настоящее время модулей ядра, набрав lsmod, и, если они установлены, взглянуть на большинство устройств, подключенных через шину, с помощью lspci.
Как загрузить файл. KO в Linux?
1 Ответ
- Отредактируйте файл / etc / modules и добавьте имя модуля (без расширения.ko) в отдельной строке. …
- Скопируйте модуль в подходящую папку в / lib / modules / `uname -r` / kernel / drivers. …
- Запустить depmod. …
- На этом этапе я перезагрузился и запустил lsmod | grep имя-модуля, чтобы подтвердить, что модуль был загружен при загрузке.
Похожие сообщения:
- Как вы проверяете, какие шрифты установлены в Linux?
- Как проверить наличие обновлений драйверов в ubuntu?
- Частый вопрос: Где в Linux устанавливаются шрифты?
- Как проверить, что что-то установлено в Linux?
- Как проверить, установлен ли Apache в Linux?
- Как узнать, установлен ли графический драйвер в Ubuntu?
.
Если вы были достаточно опытным пользователем Windows, то после перехода на Linux, наверное, задавались вопросом, а где здесь диспетчер устройств? Программа, с помощью которой можно было бы посмотреть подключенные к компьютеру устройства, установленные для них драйвера, настроить драйвера, да и посмотреть информацию об оборудовании в одном месте. Но ситуация здесь неоднозначная, полной альтернативы нет, есть утилиты показывающие немного информации, есть консольные команды. Но все очень запутанно и непонятно.
В этой статье мы попытаемся расставить все точки над “i” в вопросе просмотр устройств Ubuntu, и в частности, ответим на вопрос где взять диспетчер устройств Ubuntu.
Немного теории
Работа с драйверами в операционных системах Linux и Windows очень сильно отличается. В Windows нужно отдельно искать и устанавливать каждый драйвер, в Linux же все доступные драйвера с открытым исходным кодом встроены в ядро и поэтому установка драйверов не нужна, за исключением нескольких проприетарных устройств, таких как видеокарты. Драйвера для таких устройств выделены в виде модулей ядра и загружаются по мере необходимости. Что же касается свободных драйверов, то для одного устройства в ядре может быть несколько модулей, из которых система выбирает то, что по ее мнению, будет лучше работать.
Таким образом, в Linux драйверы устройств, встроенные в ядро и выполненные в виде отдельных модулей логически разделены с оборудованием и настраиваются отдельно. Возможно, причиной этому сложность настройки, а может сам принцип GNU – одна утилита – одно действие. Дальше мы рассмотрим несколько способов посмотреть список устройств linux, для этого есть как консольные, так и графические утилиты. Настройку модулей мы сильно трогать не будем, потому что все уже описано в отдельной статье.
Устройства подключаются к материнской плате несколькими способами. Это может быть шина 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 просто выполните команду без параметров:
lspci
В первой колонке отображен адрес устройства на шине PCI, так называемый, слот, во второй тип устройства, а затем его производитель и описание. Опция -n позволяет отображать вместо типа и описания id производителя и модели устройства.
Если вы хотите посмотреть только оборудование определенного типа, скажем, звуковую карту используйте фильтр grep:
lspci | grep audio
Или для видео карты:
lspci | grep VGA
Также можно фильтровать информацию по слоту устройства с помощью опции -s:
lspci -s 00:02.0
Также мы можем фильтровать устройства по PCI id, идентификатору производителя:
lspci -d 80ee:beef
Более подробную информацию об устройстве, можно посмотреть с помощью опции -v. По умолчанию мы видим только тип устройства и производителя, а с помощью этой опции можно увидеть дополнительные технические характеристики.
Хотите просмотреть какой драйвер ядра сейчас загружен для устройства? Эту информацию утилита предоставляет с опцией vv:
lspci -vv
Нас интересует строчка Kernel driver in use. Можем отфильтровать по ней:
lspci -vv | grep Kernel
lsusb
Несмотря на то, что контроллер USB подключен к PCI, в выводе команды lspci мы увидим только сам контроллер, для просмотра устройств Ubuntu нам нужна другая команда, и это lsusb. Синтаксис тот же:
$ lsusb опции
Опций здесь поменьше:
- –verbose – подробный вывод
- -s – аналогично lspci, выводить устройства, подключенные к определенному порту
- -d – выводить устройства по определенному идентификатора производителя
- -t – включить отображение в виде дерева
Смотрим все подключенные устройства USB ubuntu:
lsusb
Выбираем только устройства подключенные к первой шине, второму порту:
lsusb -s 001:002
Выбираем устройства по идентификатору производителя:
lsusb -d 80ee:0021
Здесь способ отображения похожий, в первой колонке шина и порт, разделенные двоеточием, дальше id производителя, а затем описание устройства.
lsscsi
SCSI контроллер тоже подключен к PCI, а к нему уже подключаются жесткие диски и оптические приводы. Для просмотра этих устройств используется утилита lsscsi. Если она не установлена в вашей системе, ее можно установить командой:
sudo apt-get install lsscsi
Синтаксис тот же:
$ lsscsi опции
Но опций тут немного больше:
- -c – классический стиль, более подробная информация
- -d – показать только определенное устройство
- -k – отображать файлы дисков linux для устройств
- -H – отображать хосты scsi, подключенные к системе
- -l – вывод дополнительной информации по каждому устройству
- -v – вывод файлов блочных устройств в каталоге /sys
- -s – отобразить размер подключенного диска
Смотрим подключенные жесткие диски:
lsscsi
А вместе с размером диска:
lsscsi -s
lscpu
Процессор подключен к отдельному слоту на материнской плате, и для просмотра информации о нем используется отдельная утилита – lscpu:
lscpu
lshw
Теперь, когда вы разобрались с основами, можно посмотреть еще одну утилиту. lshw выводит подробную информацию по каждому устройству в терминал. Здесь отображается как процессор и pci устройства, так и жесткие диски:
sudo lshw
С помощью опции -class можно указать тип оборудования, о котором нужно выводить информацию. Доступны такие классы:
sudo lshw | grep *
На этом дереве наглядно показана иерархия подключения устройств в Linux. Например, смотрим информацию только о видеокарте:
sudo lshw -class display
Или сетевом адаптере:
sudo lshw -class network
Здесь же можно посмотреть какой драйвер загружен для устройства, в строке Конфигурация, поле driver.
Как видите, консольные инструменты ничем не хуже программы Windows, и они полностью заменяют диспетчер устройств в Ubuntu.
Диспетчер устройств с графическим интерфейсом
Пожалуй, лучшей программой для решения таких задач будет hardinfo. Она позволяет посмотреть устройства Ubuntu подключенные к системе, подробную информацию о них, а также информацию об установленной системе и поддерживаемых ею функциях.
Эта программа не поставляется с дистрибутивом по умолчанию, но ее очень просто установить:
sudo apt install hardinfo
Вот так выглядит главное окно программы:
На вкладке Computer собрана информация о системе:
Если вам нужны только подключенные устройства ubuntu, то для этого есть раздел Devices, здесь есть подробная информация по каждому устройству:
Эта программа – отличная замена консольным методам, для тех кто не любит использовать терминал и хочет посмотреть устройства Ubuntu. Правда, здесь есть пару минусов – информация не настолько подробная, к тому же тут вы не узнаете какой модуль загружен для того или иного устройства.
Выводы
В этой статье мы рассмотрели как в Ubuntu посмотреть устройства, подключенные к компьютеру хотя и нет единой программы, диспетчер устройств в Ubuntu, но зато есть достаточно инструментов, чтобы ее заменить. Надеюсь, теперь для вас работа с устройствами в Linux стала чуть яснее. Если остались вопросы, пишите в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .
На чтение 2 мин Просмотров 10 Опубликовано 23.09.2021
Несколько советов, которые помогут вам узнать об установленной видеокарте и используемом драйвере в вашей системе Linux.
Часто бывает необходимо узнать подробности об используемых видеокарте и драйвере. В этой инструкции я расскажу и покажу, как посмотреть информацию о видеокарте и видео драйвере в системе Linux.
Содержание
- lspci
- lshw
- HARDINFO
- KInfoCenter
lspci
Во-первых, нужно обновить базу данных PCI-устройств:
sudo update-pciids
Дальше вводим команду lspci, которая выводит подробную информацию об устройствах PCI в Linux системах. Большинство видеокарт, как правило, вставлено в слоты PCI на материнской плате.
lspci -v
lshw
Команду lshw также можно использовать для отображения различной информации об оборудовании, включая вашу видеокарту. Эта утилита немного отличается от приведенной выше команды lspci. Команда lshw показывает дополнительную информацию, такую как тактовая частота, скорость шины, адрес памяти.
sudo lshw -c video
HARDINFO
Ещё можно посмотреть информацию о видеокарте в программе Hardinfo. Это один из самых простых способов получить всю информацию о вашем оборудовании, включая видеокарту.
Установка Hardinfo:
sudo apt install hardinfo (для Ubuntu и связанных)
sudo dnf install hardinfo (для Fedora и связанных)
pacman -S hardinfo (для Arch)
После установки вы можете запустить Hardinfo и получить необходимую информацию.
KInfoCenter
Если вы используете KDE Plasma, то у него есть собственный KInfoCenter(Информация о системе), который отображает всю информацию о вашей системе.
Я надеюсь, что эти инструменты помогут вам узнать о видеокарте, ее драйверах и других деталях вашей системы Linux.