Інколи буває, що стандартний драйвер працює не так, як потрібно, або підтягується старий драйвер. Отже, план такий: вивантажити старий драйвер, завантажити новий і назначити пристрою відповідний драйвер:
# 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";
};