Stuck in boot loop after attempt to load iwm driver

Hello guys and thank you for the cool system! Arch user here, trying out something new.

ThinkPad T470s, fresh install of FreeBSD 15-RELEASE.
Installation went smooth, did some initial setup with no issues.
Then I tried get the WiFi working and now I'm stuck in reboot loop.
Wifi module is Intel 8260.

I was following the handbook chapter 7, on network setup.
In the output of pciconf -l | grep -A1 -B3 network
I saw that my wifi card identifier was prefixed with none@ instead of a driver name.

I figured I need to load the iwm driver - it was installed, just not loaded, it seemed.
From reading man iwm I saw that I need to add few lines in loader.conf:
Code:
if_iwm_load="YES"
iwm3160fw_load="YES"
iwm3168fw_load="YES"
iwm7260fw_load="YES"
iwm7265fw_load="YES"
iwm7265Dfw_load="YES"
iwm8000Cfw_load="YES"
iwm8265fw_load="YES"
iwm9000fw_load="YES"
iwm9260fw_load="YES"

And somehow I thought I'm smarter than documentation, and added only these 2 lines.
Code:
if_iwm_load="YES"
iwm8265fw_load="YES"
You know, why would I list all these model numbers if I know mine and just take the closest approximation, right 😅?


Then rebooted. Upon reboot, the system greets me with panic:

photo_2026-03-14_00-23-36.jpg


Then I quickly learn about this amazing thing called loader prompt, dig through the forum and see someone with similar issue, and people recommending him/her to show loader options and unset broken values. So, here's couple more "screenshots".

First of all - verifying contents of loader.conf:
photo_2026-03-14_00-23-36 (3).jpg


Then, looking at all the iwm-related values from show
photo_2026-03-14_00-23-36 (2).jpg


From this point, I carefully unset every iwm-related value, including if_iwm_load (oh man, typing everything by hand!), triple-check everything with show, then hit boot.

And, well, it didn't help. There's still a panic. Maybe there are more values that iwm adds to loader config that I'm not aware of?

Also: I still got my live usb. Can't I just boot from it and edit broken loader.conf from there? Didn't see anyone mentioning that, maybe for a good reason.
 
I still got my live usb. Can't I just boot from it and edit broken loader.conf from there?
Sure, just boot the USB, at the welcome dialog enter "Live System", mount the file system, edit /<mount_point>/boot/loader.conf.

Assuming menu guided installation:

Example ZFS, for your case:
Code:
# mkdir /tmp/zfs
# zpool import -R /tmp/zfs zroot
# zfs mount zroot/ROOT/default

Example UFS:
Code:
 # gpart show -p
Search for "freebsd-ufs" and its provider name (e.g. ada0p3) .

Code:
# mount /dev/ada0p3  /mnt
Modify "ada0p3" accordingly to real provider name.
 
enter "Live System", mount the file system, edit /<mount_point>/boot/loader.conf
I see, I supposed it's done this way but didn't know how exactly to mount ZFS, your instructions saved me a lot of docs-digging. Thanks a ton! I edited the file, now the system boots normally.

Afterwards, I tried adding loader.conf entries again, this time all the ones listed in iwm manpage:
Code:
if_iwm_load="YES"
iwm3160fw_load="YES"
iwm3168fw_load="YES"
iwm7260fw_load="YES"
iwm7265fw_load="YES"
iwm7265Dfw_load="YES"
iwm8000Cfw_load="YES"
iwm8265fw_load="YES"
iwm9000fw_load="YES"
iwm9260fw_load="YES"

Rebooted - and get the panic again with the same "page fault" error as in OP. Did the recovery via live usb again.

Could this be a bug?

Also, this loader config was only one of two options suggested by manpage. The other one was:
Code:
To compile this driver into the kernel, include the following lines in
your kernel configuration file:

           device iwm
           device pci
           device wlan
           device firmware
Maybe that will work out better for my system, but it raises questions for me:
- where is that kernel config file?
- should I then somehow re-compile my kernel? I never done this before, need to learn that first.

EDIT: Yep, chapter 10 of handbook answered these questions. Not doing that to simply make wifi work


As for this:
As for the wifi card, what does &nbsp;pciconf -vl | grep -B3 network show exactly?
There are 2 entries, one for Ethernet (which is working fine), another one for wifi adapter, reading:
Code:
em0@pci0:0:31:6:    class=0x020000 rev=0x21 hdr=0x00 vendor=0x8086 device=0x156f subvendor=0x17aa subdevice=0x224b
    vendor     = 'Intel Corporation'
    device     = 'Ethernet Connection I219-LM'
    class      = network
--
none3@pci0:58:0:0:    class=0x028000 rev=0x3a hdr=0x00 vendor=0x8086 device=0x24f3 subvendor=0x8086 subdevice=0x0010
    vendor     = 'Intel Corporation'
    device     = 'Wireless 8260'
    class      = network

I'm assuming that Wireless 8260 from here and Intel Dual Band Wireless AC 8260 from the iwm manpage refer to the same wifi adapter model.
I noticed that supported devices list and iwm*_load bootloader entries are not exact 1-1 match model-wise. Probably some drivers are re-used across different models.
 
I don't see a firmware for Intel 8260 in that list.

Your module should be using the iwl driver I believe.

Related post:

I always thought this bit was ambiguous:
To compile this driver into the kernel, include the following lines in your kernel configuration file:
No you do not need to recompile or worry about these additional modules. They are linked and will be automatically loaded.
 
Back
Top