Re: [iwlwifi] fail to load firmware

From: Shawn Webb <shawn.webb_at_hardenedbsd.org>
Date: Wed, 29 Dec 2021 17:44:14 UTC
On Wed, Dec 29, 2021 at 05:16:07PM +0000, Bjoern A. Zeeb wrote:
> On Wed, 29 Dec 2021, Pete Wright via freebsd-wireless wrote:
> 
> Hi Pete,
> 
> > hello - i've got an intel device currently working under iwm:
> > 
> > iwm0: <Intel(R) Dual Band Wireless AC 9560> mem 0xdd338000-0xdd33bfff at
> > device 20.3 on pci0
> > iwm0: hw rev 0x310, fw ver 34.3125811985.0, address
> > 
> > after building CURRENT on the 28th and attempting to load if_iwlwifi via
> > /boot/loader.conf i get these errors when the firmware tries to load:
> 
> Can you send me the full output as well as a checksum (md5, sha256, as
> you want) of the firmware files in the source tree (*) privately to my
> FreeBSD email?
> 
> 
> (*) they are in sys/contrib/dev/iwlwififw/ ; so a
> 	md5 sys/contrib/dev/iwlwififw/*
>     would do the trick from the top of your source tree.
> 
> 
> > I checked the wiki as well for the iwlwifi effort and didn't see
> > anything there pertinent, so i am not sure if this is a pebkac issue on
> > my end or something else.
> 
> It's more likely something else.
> 

I'm seeing the same thing when using loader.conf. But, if I use
rc.conf's kld_list, then both the module and the firmware loads fine.
Here's a `dmesg | grep iwlwifi` when using loader.conf:

https://hardenedbsd.org/~shawn/2021-12-27_iwlwifi-01.txt

I'm also seeing a kernel panic when trying to connect to my FreeBSD /
HardenedBSD based wireless AP (which also means I'm using the kld_list
method for iwlwifi). Picture of panic here:

https://hardenedbsd.org/~shawn/2021-12-27_iwlwifi_panic-01.jpg

More information about the panic:

(wlan0 -> iwlwifi0). I set up lagg failover with wlan0 and the
laptop's em0.

Here's my relevant rc.conf lines:

==== BEGIN rc.conf ====
cloned_interfaces="lagg0"
wlans_iwlwifi0="wlan0"
ifconfig_wlan0="WPA"

ifconfig_lagg0="up laggproto failover laggport em0 laggport wlan0 DHCP"
ifconfig_lagg0_ipv6="inet6 accept_rtadv"
==== END rc.conf ====

My laptop is running HardenedBSD 14-CURRENT/amd64, commit
d915dda7bdbc369ba20cd6bbee8828fdf518e01d. The last FreeBSD HEAD
commit, then, would be 989453da0589b8dc5c1948fd81f986a37ea385eb.

The PNP info for iwlwifi0:

dev.iwlwifi.0.%pnpinfo: vendor=0x8086 device=0x06f0 subvendor=0x8086 subdevice=0x4070 class=0x028000

More pasted info:

==== BEGIN dmesg ====
[7029] iwlwifi0: <iwlwifi> mem 0x604b11c000-0x604b11ffff at device 20.3 on pci0
[7029] iwlwifi0: successfully loaded firmware image 'iwlwifi-QuZ-a0-hr-b0-67.ucode'
[7029] iwlwifi0: api flags index 2 larger than supported by driver
[7029] iwlwifi0: TLV_FW_FSEQ_VERSION: FSEQ Version: 89.3.35.37
[7029] iwlwifi0: loaded firmware version 67.8f59b80b.0 QuZ-a0-hr-b0-67.ucode op_mode iwlmvm
[7029] iwlwifi0: Detected Intel(R) Wi-Fi 6 AX201 160MHz, REV=0x354
[7029] iwlwifi0: Detected RF HR B3, rfid=0x10a100
[7029] iwlwifi0: base HW address: 34:7d:f6:12:19:6b
[7080] iwlwifi0: lkpi_ic_getradiocaps: Adding chan 1/2412/0/0/0/0 returned error 55
[7080] iwlwifi0: lkpi_ic_getradiocaps: Adding chan 36/5180/0/0/0/0 returned error 55
==== END dmesg ====

==== BEGIN md5 of stuffs ====
MD5 (LICENCE.iwlwifi_firmware) = 2ce6786e0fc11ac6e36b54bb9b799f1b
MD5 (WHENCE) = 316f699cddfeafcf65216db6d470751e
MD5 (iwlwifi-3160-9.ucode) = f8907344ccec9f002c5634c782ad6868
MD5 (iwlwifi-3168-29.ucode) = bd89b5ff8435776dbc2852e2f4501068
MD5 (iwlwifi-7260-9.ucode) = e44b5de2a16cd0009ac464f3cf80c347
MD5 (iwlwifi-7265-9.ucode) = 6c0b3493a1784ce60b6d97b27f1a73d0
MD5 (iwlwifi-7265D-29.ucode) = 3f653e562129cc5748dfa319545369e0
MD5 (iwlwifi-8000C-36.ucode) = 0b0d0c6962a66b5bad7cb2449d54e608
MD5 (iwlwifi-8265-36.ucode) = 9c288997be7cbdf88df55e0c7b4c7b59
MD5 (iwlwifi-9000-pu-b0-jf-b0-46.ucode) = 5d5a8e7d6f3aef18fe605e574eb0c8da
MD5 (iwlwifi-9260-th-b0-jf-b0-46.ucode) = 84e013e3151484798bcbe121d07a565a
MD5 (iwlwifi-Qu-b0-hr-b0-63.ucode) = d72ea5034212340ea02e9c0cb3938dbd
MD5 (iwlwifi-Qu-b0-jf-b0-63.ucode) = 51d955c7de4af033ccdd811113406e73
MD5 (iwlwifi-Qu-c0-hr-b0-63.ucode) = ed52de124380b132a5b80dd5c6463456
MD5 (iwlwifi-Qu-c0-jf-b0-63.ucode) = 779565f65e0b7960ef4ea2eeb1e8285f
MD5 (iwlwifi-QuZ-a0-hr-b0-67.ucode) = 0d4c29c2972d1399f6a21fbe23f4abb6
MD5 (iwlwifi-QuZ-a0-jf-b0-63.ucode) = 04f3ed3266f8cc70312795b2a9d540a7
MD5 (iwlwifi-cc-a0-67.ucode) = 2eb90eded4c2cdb7a89fb11987c71d40
MD5 (iwlwifi-so-a0-gf-a0-67.ucode) = 94b050870088bcb9276e8576b9736d41
MD5 (iwlwifi-so-a0-gf4-a0-67.ucode) = ea1670bccdcfedbac2f935decb35a04d
MD5 (iwlwifi-so-a0-hr-b0-64.ucode) = 1254ef4e882bb337d3cbda2e5bbd8593
MD5 (iwlwifi-so-a0-jf-b0-64.ucode) = c7ce881d7599c0ac839d6c827ca5caad
MD5 (iwlwifi-ty-a0-gf-a0-67.ucode) = 19a4a9b1f6fca36cb18979964ec462ec
MD5 (iwlwifi-ty-a0-gf-a0.pnvm) = 4db24aa821ea7c45bb728f6957f87fd6
==== END md5 of stuffs ====

Thanks,

-- 
Shawn Webb
Cofounder / Security Engineer
HardenedBSD

https://git.hardenedbsd.org/hardenedbsd/pubkeys/-/raw/master/Shawn_Webb/03A4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc