Re: iwlwifi failed to attach

From: Oleksandr Kryvulia <shuriku_at_shurik.kiev.ua>
Date: Fri, 01 Apr 2022 13:13:23 UTC
01.04.22 14:53, Bjoern A. Zeeb пишет:
> On Fri, 1 Apr 2022, Oleksandr Kryvulia wrote:
>
>> 01.04.22 03:59, Bjoern A. Zeeb пишет:
>>> Sorry, I think I have to roll this back.
>>>
>>> I assume you are on GENERIC?
>> Yes, GENERIC-NODEBUG.
>>>
>>> I assume iwm(4) normally is loaded as a module along with firmware
>>> and works fine?
>> Yes, iwm(4) works fine, I'm sending this message over it.
>>>
>>> Ignoring the above hint.iwm... if you move if_iwm.ko out of
>>> /boot/kernel temporary and run kldxref /boot/kernel and reboot
>>> on a recent main or stable/13, what happens without you doing any
>>> devctl?  Is iwlfiwi auto-loaded?  does pciconf show the BAR enabled
>>> then?
>>
>> # mv /boot/kernel/if_iwm.ko /home/o.kryvulia/
>> # kldxref /boot/kernel
>> # shutdown -p now
>>
>> Power on and boot:
>>
>> Autoloading module: if_iwlwifi
>> Intel(R) Wireless WiFi based driver for FreeBSD
>> Autoloading module: ig4
>> Autoloading module: pchtherm
>> pchtherm0: <CannonLake-LP Thermal Subsystem> mem 
>> 0xdd643000-0xdd643fff at device 18.0 on pci0
>> iwlwifi0: <iwlwifi> mem 0xdd638000-0xdd63bfff at device 20.3 on pci0
>> iwlwifi0: HW_REV=0xFFFFFFFF, PCI issues?
>> device_attach: iwlwifi0 attach returned 5
>>
>> pciconf shows the same:
>>
>> none3@pci0:0:20:3:      class=0x028000 rev=0x30 hdr=0x00 
>> vendor=0x8086 device=0x9df0 subvendor=0x8086 subdevice=0x0034
>>    vendor     = 'Intel Corporation'
>>    device     = 'Cannon Point-LP CNVi [Wireless-AC]'
>>    class      = network
>>    bar   [10] = type Memory, range 64, base 0xdd638000, size 16384, 
>> disabled
>>    cap 01[c8] = powerspec 3  supports D0 D3  current D3
>>    cap 05[d0] = MSI supports 1 message, 64 bit
>>    cap 10[40] = PCI-Express 2 root endpoint max data 128(128) FLR RO NS
>>                 max read 128
>>    cap 11[80] = MSI-X supports 16 messages
>>                 Table in map 0x10[0x2000], PBA in map 0x10[0x3000]
>>    ecap 0000[100] = unknown 0
>>    ecap 0018[14c] = LTR 1
>>    ecap 000b[164] = Vendor [1] ID 0010 Rev 0 Length 20
>
> Okay, can I ask you for one last test.   Can you boot -s (to single
> user) and check the full pciconf there and then simply exit and let
> to boot continue back to iwm.  You may need to mount -uw / in order to
> save the full pciconf output.
>
> iwlwifi tends to disable resources on detach, so we could se an
> aftermath problem here even on attach failure.  I just want to make
> sure given the device is in D3 that we do boot up and are good before
> any wifi driver attaches.
>
> Later,
> Bjoern
>

I'v got it solved for now. The reason was inhw.pci.do_power_nodriver=3 
which was setted in both /boot/loader.conf and /etc/sysctl.conf.

iwlwifi0@pci0:0:20:3:   class=0x028000 rev=0x30 hdr=0x00 vendor=0x8086 
device=0x9df0 subvendor=0x8086 subdevice=0x0034
    vendor     = 'Intel Corporation'
    device     = 'Cannon Point-LP CNVi [Wireless-AC]'
    class      = network
    bar   [10] = type Memory, range 64, base 0xdd638000, size 16384, 
enabled
    cap 01[c8] = powerspec 3  supports D0 D3  current D0
    cap 05[d0] = MSI supports 1 message, 64 bit
    cap 10[40] = PCI-Express 2 root endpoint max data 128(128) FLR RO NS
                 max read 128
    cap 11[80] = MSI-X supports 16 messages, enabled
                 Table in map 0x10[0x2000], PBA in map 0x10[0x3000]
    ecap 0000[100] = unknown 0
    ecap 0018[14c] = LTR 1
    ecap 000b[164] = Vendor [1] ID 0010 Rev 0 Length 20

Thank you for your help and sorry for wasted time.