Re: New laptop: AC 9461/9560: iwm or iwlwifi?

From: Marco <freebsd-wireless_at_lordsith.net>
Date: Sat, 31 Dec 2022 16:32:28 UTC
On Sat, Dec 31, 2022 at 02:56:16AM +0000, you (Bjoern A. Zeeb) sent the following to [freebsd-wireless] :
> On Fri, 30 Dec 2022, Marco wrote:
> 
> > hw.pci.do_power_nodriver=3
> 
> Can you comment out this one and try again?

Commented out and rebooted without any changes to rc.conf and sysctl.conf

[~] doas pciconf -lBbcevV pci0:0:20:3
iwm0@pci0:0:20:3:	class=0x028000 rev=0x11 hdr=0x00 vendor=0x8086 device=0x9df0 subvendor=0x8086 subdevice=0x0030
    vendor     = 'Intel Corporation'
    device     = 'Cannon Point-LP CNVi [Wireless-AC]'
    class      = network
    bar   [10] = type Memory, range 64, base 0xea238000, size 16384, enabled
    cap 01[c8] = powerspec 3  supports D0 D3  current D0
    cap 05[d0] = MSI supports 1 message, 64 bit enabled with 1 message
    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

[~] doas devctl detach pci0:0:20:3
 [~] doas pciconf -lBbcevV pci0:0:20:3
none0@pci0:0:20:3:	class=0x028000 rev=0x11 hdr=0x00 vendor=0x8086 device=0x9df0 subvendor=0x8086 subdevice=0x0030
    vendor     = 'Intel Corporation'
    device     = 'Cannon Point-LP CNVi [Wireless-AC]'
    class      = network
    bar   [10] = type Memory, range 64, base 0xea238000, 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
                 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

And /var/log/messages shows:
 
Dec 31 16:09:45 harbinger wpa_supplicant[77366]: Error reading packet, has device disappeared?
Dec 31 16:09:45 harbinger syslogd: last message repeated 1 times
Dec 31 16:09:45 harbinger rtsold[65067]: <rtsock_input_ifannounce> interface wlan0 removed
Dec 31 16:09:45 harbinger kernel: [203] pid 77579 (wpa_supplicant), jid 0, uid 0: exited on signal 11 (core dumped)
Dec 31 16:09:46 harbinger kernel: [204] wlan0: link state changed to DOWN
Dec 31 16:09:46 harbinger kernel: [204] iwm0: detached
Dec 31 16:09:46 harbinger root[27669]: /etc/rc.d/netif: WARNING: wlan0 does not exist.  Skipped.

[~] doas devctl reset -d pci0:0:20:3

/var/log/messages:

Dec 31 16:12:37 harbinger kernel: [374] iwm0: <Intel(R) Dual Band Wireless AC 9560> mem 0xea238000-0xea23bfff irq 16 at device 20.3 on pci0
Dec 31 16:12:37 harbinger kernel: [374] iwm0: attempting to allocate 1 MSI vectors (1 supported)
Dec 31 16:12:37 harbinger kernel: [374] msi: routing MSI IRQ 141 to local APIC 2 vector 53
Dec 31 16:12:37 harbinger kernel: [374] iwm0: using IRQ 141 for MSI
Dec 31 16:12:37 harbinger kernel: [374] iwm0: Failed to lock the nic
Dec 31 16:12:37 harbinger kernel: [374] device_attach: iwm0 attach returned 6

[~] doas devctl set driver pci0:0:20:3 iwlwifi
devctl: Failed to set pci0:0:20:3 driver to iwlwifi: Input/output error

Dec 31 16:13:42 harbinger kernel: [440] iwlwifi0: <iwlwifi> mem 0xea238000-0xea23bfff irq 16 at device 20.3 on pci0
Dec 31 16:13:42 harbinger kernel: [440] iwlwifi0: HW_REV=0xFFFFFFFF, PCI issues?
Dec 31 16:13:42 harbinger kernel: [440] device_attach: iwlwifi0 attach returned 5

again, yet despite the I/O error pciconf now shows:

[~] doas pciconf -lBbcevV pci0:0:20:3
iwlwifi0@pci0:0:20:3:	class=0x028000 rev=0x11 hdr=0x00 vendor=0x8086 device=0x9df0 subvendor=0x8086 subdevice=0x0030
    vendor     = 'Intel Corporation'
    device     = 'Cannon Point-LP CNVi [Wireless-AC]'
    class      = network
    bar   [10] = type Memory, range 64, base 0xea238000, size 16384, disabled
    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
                 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
  PCI-e errors = Non-Fatal Error Detected
                 Unsupported Request Detected


However I couldn't create wlan0 using iwlwifi0 as parent:

[~] doas ifconfig wlan0 create wlandev iwlwifi0
ifconfig: SIOCIFCREATE2 (wlan0): Device not configured

I've also tried:

[~] doas service netif restart wlan0
/etc/rc.d/netif: WARNING: wlan0 does not exist.  Skipped.
ifconfig: SIOCIFCREATE2 (wlan0): Device not configured
ifconfig: SIOCIFCREATE2 (wlan0): Device not configured
ifconfig: interface wlan0 does not exist
Starting wpa_supplicant.
/etc/rc.d/wpa_supplicant: WARNING: failed to start wpa_supplicant
Starting Network: wlan0.
ifconfig: interface wlan0 does not exist

And messages:

Dec 31 16:18:04 harbinger marcovl[74082]: /etc/rc.d/netif: WARNING: wlan0 does not exist.  Skipped.
Dec 31 16:18:04 harbinger wpa_supplicant[96998]: Successfully initialized wpa_supplicant
Dec 31 16:18:04 harbinger wpa_supplicant[96998]: wlan0: Failed to initialize driver interface
Dec 31 16:18:04 harbinger wpa_supplicant[96998]: wlan0: CTRL-EVENT-DSCP-POLICY clear_all
Dec 31 16:18:04 harbinger marcovl[98614]: /etc/rc.d/wpa_supplicant: WARNING: failed to start wpa_supplicant

I then brought the entire network stack down:

[~] doas service netif stop
Stopping dhclient.
Waiting for PIDS: 64725.
Stopping Network: lo0 em0 pflog0 lagg0.
lo0: flags=8048<LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
	options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
	groups: lo
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
em0: flags=8c22<BROADCAST,OACTIVE,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=481009b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,VLAN_HWFILTER,NOMAP>
	ether f8:75:a4:fa:9d:bf
	media: Ethernet autoselect (1000baseT <full-duplex>)
	status: active
	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
pflog0: flags=100<PROMISC> metric 0 mtu 33160
	groups: pflog
lagg0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=481009b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,VLAN_HWFILTER,NOMAP>
	ether f8:75:a4:fa:9d:bf
	laggproto failover lagghash l2,l3,l4
	laggport: em0 flags=1<MASTER>
	groups: lagg
	media: Ethernet autoselect
	status: no carrier
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
Destroyed clone interfaces: lagg0.

Dec 31 16:19:50 harbinger kernel: [808] lo0: link state changed to DOWN
Dec 31 16:19:50 harbinger dhclient[9592]: My address (192.168.3.114) was deleted, dhclient exiting
Dec 31 16:19:50 harbinger dhclient[9592]: short write: wanted 20 got 0 bytes
Dec 31 16:19:50 harbinger dhclient[9592]: exiting.
Dec 31 16:19:50 harbinger kernel: [808] lagg0: link state changed to DOWN
Dec 31 16:19:52 harbinger rtsold[65067]: <rtsock_input_ifannounce> interface lagg0 removed
Dec 31 16:20:12 harbinger kernel: [830] lagg0: bpf attached
Dec 31 16:20:12 harbinger kernel: [830] lo0: link state changed to UP
Dec 31 16:20:12 harbinger kernel: [830] lagg0: link state changed to UP
Dec 31 16:20:13 harbinger kernel: [830] em0: link state changed to DOWN
Dec 31 16:20:13 harbinger kernel: [830] lagg0: link state changed to DOWN
Dec 31 16:20:16 harbinger kernel: [833] em0: Link is up 1000 Mbps Full Duplex
Dec 31 16:20:16 harbinger kernel: [833] em0: link state changed to UP
Dec 31 16:20:16 harbinger kernel: [833] lagg0: link state changed to UP
Dec 31 16:20:25 harbinger dhclient[36595]: New IP Address (lagg0): 192.168.3.114
Dec 31 16:20:25 harbinger dhclient[38169]: New Subnet Mask (lagg0): 255.255.255.0
Dec 31 16:20:25 harbinger dhclient[39059]: New Broadcast Address (lagg0): 192.168.3.255
Dec 31 16:20:25 harbinger dhclient[40830]: New Routers (lagg0): 192.168.3.1
Dec 31 16:20:34 harbinger kernel: [852] lo0: link state changed to DOWN
Dec 31 16:20:35 harbinger dhclient[32711]: My address (192.168.3.114) was deleted, dhclient exiting
Dec 31 16:20:35 harbinger dhclient[32711]: short write: wanted 20 got 0 bytes
Dec 31 16:20:35 harbinger dhclient[32711]: exiting.
Dec 31 16:20:35 harbinger kernel: [853] lagg0: link state changed to DOWN
Dec 31 16:20:35 harbinger rtsold[65067]: <rtsock_input_ifannounce> interface lagg0 removed

Then tried to detach pci0:0:20:3 again

[~] doas devctl detach pci0:0:20:3
devctl: Failed to detach pci0:0:20:3: Device not configured

 [~] doas pciconf -lBbcevV pci0:0:20:3
iwlwifi0@pci0:0:20:3:	class=0x028000 rev=0x11 hdr=0x00 vendor=0x8086 device=0x9df0 subvendor=0x8086 subdevice=0x0030
    vendor     = 'Intel Corporation'
    device     = 'Cannon Point-LP CNVi [Wireless-AC]'
    class      = network
    bar   [10] = type Memory, range 64, base 0xea238000, size 16384, disabled
    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
                 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
  PCI-e errors = Non-Fatal Error Detected
                 Unsupported Request Detected

Perhaps the behaviour is different with hw.pci.do_power_nodriver=3
commented out but I fail to successfully switch from using iwm to
iwlwifi.

I'll leave hw.pci.do_power_nodriver=3 commented out to make it easier on
future testing.

I saw your mail about how busy you've been so thanks for all the
continuing efforts of trying to improve WiFi on FreeBSD.

I wish you and all a very happy New Year (6 hours to go for me so I'm going to
spend time with my wife now) and hopefully we can continue this in the
new year.

Happy New Year everybody 

-- 
Marco van Lienen -- FreeBSD enthusiast
https://keybase.io/scarcry , GnuPG fingerprint: A025 D8AA AC1B D2FC 380D 4FC1 8EA0 0BA8 8580 E6CB
"The Tuck Pendleton machine...zero defects."