Категорії
FreeBSD Misc, staff, other

[FreeBSD] Підміняємо драйвер

Інколи буває, що стандартний драйвер працює не так, як потрібно, або підтягується старий драйвер. Отже, план такий: вивантажити старий драйвер, завантажити новий і назначити пристрою відповідний драйвер:

# kldunload if_iwm
# kldload if_iwlwifi
# pciconf -l | grep iwm
iwm0@pci0:3:0:0:        class=0x028000 rev=0x78 hdr=0x00 vendor=0x8086 device=0x24fd subvendor=0x8086 subdevice=0x0010
# devctl detach pci0:3:0:0
# devctl set driver -f pci0:3:0:0 iwlwifi

Як тепер це зробити persistent across reboot? В першу чергу забороняємо завантаження старого драйверу і включаємо примусово новий (додаємо в /boot/loader.conf):

devmatch_blocklist="if_iwm"
if_iwlwifi_load="YES"

Якщо драйвер автоматично не підхоплюється, додаємо правило devd (додаємо таке в /usr/local/etc/devd/iwlwifi.conf):

attach 100 {
    device-name "iwm0";
    action "devctl set driver -f iwm0 iwlwifi";
};

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Домашняя страничка Andy
Записки молодого админа
Самостоятельная подготовка к Cisco CCNA
Самостоятельная подготовка к Cisco CCNP