3.3.12.10 Поддержка оборудования в ядре ОС
Скачать документ Поддержка железа
Поддержка звука
Поддержка сети
Некоторые модели поддерживаемого оборудования указаны в разделе «Оборудование, совместимое с РЕД ОС».
Вопрос поддержки оборудования ядром и драйверами актуален всегда. Для того чтобы понять, как именно осуществляется проверка поддержки, рассмотрим основные инструменты и ссылки.
Для получения краткой сводки о комплектующих вашего ПК выполните команду:
loginfo.sh --hw-id
Предварительно loginfo должен быть обновлен до актуальной версии:
dnf update loginfo
Поддержка железа
Одним из популярных сайтов, в котором собраны ID устройств, является https://linux-hardware.org.
Однако, чтобы определить, какие Vendor ID (VID) и Device ID (DID) требуется вводить для понимания поддержки, воспользуйтесь утилитой inxi.
inxi -F -v 8
пример ID для USB Bluetooth / USB Wi-Fi, которые потребуются для эксперимента:
... Device-2: 1-4:2 info: Realtek Bluetooth Radio type: Bluetooth driver: rtk_btusb interfaces: 2 rev: 1.1 speed: 12 Mb/s chip ID: 0bda:8771 serial: 00E04C239987 Device-3: 1-6:3 info: Realtek RTL8188EUS 802.11n Wireless Network Adapter type: Network driver: 8188eu interfaces: 1 rev: 2.0 speed: 480 Mb/s chip ID: 0bda:8179 serial: 00E04C0001 ...
В выводе отображаются 2 интересующих нас ID:
Bluetooth - 0bda:8771;
Wi-Fi - 0bda:8179.
Также рассмотрим альтернативу linux-hardware.org — https://cateee.net
Данный сайт осуществляет поиск аналогично по ID. Для этого в поисковой строке требуется задать запрос вида:
<VID> <DID> site:cateee.net
или по одному из нужных ID.
Попробуем найти 0bda 8179 (Wi-Fi).
Имеется ряд результатов, в которых описывается, какой именно драйвер требует устройство:
Стоит упомянуть еще пару полезных ссылок для определения поддержки железа ядром:
Также обращаем внимание на пункт Driver в выводе inxi - если он имеет значение отличное от n/a, значит у вас имеется поддержка устройства драйвером. Что это означает? Это значит, что вы можете найти данное устройство в заявленных драйвером через modinfo.
Bluetooth:
modinfo rtk_btusb | grep -i 0BDA alias: usb:v0BDAp*d*dc*dsc*dp*icE0isc01ip01in*
В выводе показано, что есть метка alias (алиас), являющаяся маской, по которой драйвер применяется к тому или иному устройству.
Аналогичную картину можно наблюдать для Wi-Fi адаптера:
modinfo 8188eu | grep -i 0BDA alias: usb:v0BDAp8179d*dc*dsc*dp*ic*isc*ip*in*
Теперь рассмотрим проверку ядра на наличие интересующего драйвера.
Сначала проверим, установлен ли уже драйвер:
find /lib/modules/$(uname -r) -name *.ko | grep -i 8188eu /lib/modules/5.15.10-3.el7.x86_64/kernel/drivers/net/wireless/8188eu.ko /lib/modules/5.15.10-3.el7.x86_64/kernel/drivers/staging/r8188eu/r8188eu.ko find /lib/modules/$(uname -r) -name *.ko | grep -i rtk_btusb /lib/modules/5.15.10-3.el7.x86_64/kernel/drivers/bluetooth/rtk_btusb.ko
Как видно из вывода консоли, для ядра 5.15.10-3 данные драйвера имеются.
Существует также способ просмотра параметров ядра, с которыми оно было собрано. Для проверки того, какие были выбраны опции для драйвера, выполните команду:
cat /boot/config-$(uname -r) | grep -i 8188 CONFIG_RTL8188EE=m CONFIG_R8188EU=m
А вот для bluetooth-драйвера вывод может выглядеть сомнительно:
cat /boot/config-$(uname -r) | grep -i BTUSB CONFIG_BT_HCIBTUSB=m CONFIG_BT_HCIBTUSB_AUTOSUSPEND=y CONFIG_BT_HCIBTUSB_BCM=y # CONFIG_BT_HCIBTUSB_MTK is not se t CONFIG_BT_HCIBTUSB_RTL=y
Для того чтобы развеять сомнения, имеется ли драйвер - проверим его наличие следующим образом:
dnf provides *rtk_btusb.ko
Из полученного списка необходимо выбрать драйвер под свое ядро:
rtl8761b_5.15.10-3.el7.x86_64-1.0-8.el7.3.x86_64 : Kernel module for RTL8761B Репозиторий : kernels Совпадения с: Другое : *rtk_btusb.ko
В случае, если драйвер отсутствует и в ядре, и в репозитории, существует вариант поиска необходимого драйвера на github.
Для этого необходимо в поиске по репозиториям github знать название нужного драйвера и попробовать найти интересующий. Так, к примеру, драйвер 8188eu имеет множество разветвлений, которые охватывают широкий спектр устройств - примеры двух популярных вариаций драйвера:
Поддержка звука
Для проверки поддержки звука необходимо выполнить команду:
inxi -a -A
Audio:
Device-1: NVIDIA vendor: ASUSTeK driver: snd_hda_intel v: kernel
bus ID: 01:00.1 chip ID: 10de:10fa
Device-2: AMD Family 17h HD Audio vendor: ASUSTeK driver: snd_hda_intel
v: kernel bus ID: 05:00.6 chip ID: 1022:15e3
Sound Server: ALSA v: k5.15.35-1.el7.3.x86_64
modinfo snd_hda_intel | grep -i 10de
alias: pci:v000010DEd*sv*sd*bc04sc03i00*
Также можно попробовать поиск через легкое регулярное выражение, когда «:» заменяется на «.*», что означает любые символы.
modinfo snd_hda_intel | grep -i 1022.*15e3
alias: pci:v00001022d000015E3sv*sd*bc*sc*i*
Поддержка сети
Для проверки поддержки сети выполните команду:
inxi -a -N
Network:
Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
vendor: ASUSTeK driver: r8169 v: kernel port: e000 bus ID: 02:00.0
chip ID: 10ec:8168
Device-2: Realtek RTL8821CE 802.11ac PCIe Wireless Network Adapter
vendor: AzureWave driver: rtw_8821ce v: N/A modules: rtw88_8821ce
port: d000 bus ID: 04:00.0 chip ID: 10ec:c821
modinfo r8169 | grep -iE 10ec.*8168
alias: pci:v000010ECd00008168sv*sd*bc*sc*i*
Бывают случаи, когда поле driver не определено (driver = N/A
), но присутствует поле module, тогда стоит производить проверку по данному полю:
modinfo rtw88_8821ce | grep -iE 10ec.*c821
alias: pci:v000010ECd0000C821sv*sd*bc*sc*i*
Дата последнего изменения: 01.10.2024
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.