Узнать какие драйвера используются 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:

$ 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 

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

I know the OP asked for «drivers being used», but what if the driver is not installed nor being used? How to find out just by the vendorID:productID ? Also, what if it is not a PCI device, and you only see it in lsusb for example?

@DrBeco: But if driver is not installed, what do you want to find? You should just google in this case

#!/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 
$ ~/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) 

I’d like to find solution which would find also veth and other virtual drivers. IMHO the only solution is to use ethtool or lshw .

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 

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

Читайте также:  Графические пакетные менеджеры linux

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

FTR: the driver is shown at line titled configuration , for example: configuration: driver=btusb maxpower=100mA speed=12Mbit/s

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 

Источник

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

Пункт Kernel driver in use.

Как узнать какой драйвер использует устройство в Ubuntu Linux: 6 комментариев

Вася, добавил в исходную заметку картинку, чтобы было понятно что нужно смотреть. Таким образом мы узнаём [b]какой именно драйвер[/b] (правильно всё-таки его называть модулем) использует Linux для устройства. Я не очень понимаю зачем нужна [b]именно версия драйвера[/b], так как она жёстка привязана к версии ядра и обычно для железа говорят, что оно поддерживается, начиная с такой-то версии ядра. Видимо это наследие M$. Если хотите узнать версию ядра, то в терминале нужно выполнить ( $ в начале строки означает, что команда вводится от обычного пользователя и не вводится в терминал. Со второй строки идёт результат выполнения команды. ) :

$ uname -a Linux asus 4.15.0-96-generic #97-Ubuntu SMP Wed Apr 1 03:25:46 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

[i]4.15.0-96-generic[/i] и есть версия ядра. Если очень хочется узнать версию модуля, то можно узнать md4-хэш от исходников, использованных для компиляции модуля:

$ modinfo iwlwifi | grep -E '^(src|)version' srcversion: 85B6BF2737FFC0E2C190EE5

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

Читайте также:  Контур экстерн astra linux

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

Не забываем, что если устройство работает, то используется модуль, который поддерживает устройство. В случае с проприетарными модулями lspci -v покажет, что используется проприетарный модуль и какой именно. Относительно NVIDIA это должно быть что-то типа (проверить не могу, так как нет доступа к устройству с картой от NVIDIA): nvidia.ko Соответственно, версию нужно уже искать в самом проприетарном модуле:
# modinfo /usr/lib/modules/$(uname -r)/kernel/drivers/video/nvidia.ko | grep ^version
или
# find /usr/lib/modules -name nvidia.ko -exec modinfo <> \; Источник.

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Источник

Как узнать какой видеодрайвер и видеокарта используются в linux?

Несколько советов, которые помогут вам узнать об установленной видеокарте и используемом драйвере в вашей системе Linux.

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

lspci

Во-первых, нужно обновить базу данных PCI-устройств:

Дальше вводим команду lspci, которая выводит подробную информацию об устройствах PCI в Linux системах. Большинство видеокарт, как правило, вставлено в слоты PCI на материнской плате.

lspci

lshw

Команду lshw также можно использовать для отображения различной информации об оборудовании, включая вашу видеокарту. Эта утилита немного отличается от приведенной выше команды lspci. Команда lshw показывает дополнительную информацию, такую ​​как тактовая частота, скорость шины, адрес памяти.

lshw

HARDINFO

Ещё можно посмотреть информацию о видеокарте в программе Hardinfo. Это один из самых простых способов получить всю информацию о вашем оборудовании, включая видеокарту.

Hardinfo

sudo apt install hardinfo (для Ubuntu и связанных)
sudo dnf install hardinfo (для Fedora и связанных)
pacman -S hardinfo (для Arch)

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

Читайте также:  Printers drivers for linux

KInfoCenter

Если вы используете KDE Plasma, то у него есть собственный KInfoCenter(Информация о системе), который отображает всю информацию о вашей системе.

KInfoCenter

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

Источник

Как узнать какие драйвера сейчас стоят на видеокарте в линукс?

устанавливал пропиретарные драйвера для Nvidia Geforce 920m как узнать, правильно ли они поставились?

OC: Endeavour OS (Arch Linux)
Видеокарта: NVIDIA Geforce 920m
ЦП: Intel core i3-4005u

Простой 7 комментариев

Suntechnic

я для этих целей запускаю nvidia-settings — если она видит оборудование (карту, мониторы) — значит все ок

04:00.0 3D controller: NVIDIA Corporation GK208BM [GeForce 920M] (rev a1) Subsystem: ASUSTeK Computer Inc. Device 1a6d Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- Kernel modules: nouveau

Suntechnic

Suntechnic

R4mBLe, я понятия не имею что за дистр Endeavour.
В Убунте ставится просто из реп. Посмотри есть ли в репах пакет nvidia-driver-5 или просто nvidia-5

Например nvidia-driver-515 (у меня выше не работает и я не разбирался почему) или nvidia-driver-525.

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

Если lsmod показывает подгруженный модуль nvidia, то драйвера поставились нормально
Но geforce карта скорее всего не используется, а используется встроенный intel

Suntechnic

Suntechnic

xibir, не знаю что я делаю не так, но у меня никакого оптимуса нет (даже пакет не стоит) и карточка работает вполне себе.

Suntechnic

xibir, я просто вижу что есть в репах два пакета — mate-optimus и чтото там еще (для кед кажется). Они не стоят.
Карточка работает отлично.
Правда сейчас глянул — на новом ноуте даже нет выбиралки в настройках какую карту использовать. Может быть тут одна Quadro M2200 (или я выключил интеграшку в Bios)
Но на старом ноуте с M500 точно был какой-то интел и там даже можно было в Nvidia Settings выбирать что будет работать при следующей загрукзке
На лету конечно не переключалось.

Источник

Оцените статью
Adblock
detector