Re: Interaction between iwlwifi and drm-515-kmod lkpi?

From: Kevin Oberman <rkoberman_at_gmail.com>
Date: Sun, 07 Jan 2024 04:58:51 UTC
On Wed, Jan 3, 2024 at 3:47 AM Bjoern A. Zeeb <bz@freebsd.org> wrote:

> On Sat, 30 Dec 2023, Kevin Oberman wrote:
>
> > On Fri, Dec 22, 2023 at 9:33 PM Kevin Oberman <rkoberman@gmail.com>
> wrote:
> >
> >> After the ssh vulnerability was announced, I updated my kernel. After
> >> completing the upgrade, it crashed when the system was booted. All stack
> >> dumps showed lots of drm points on hte stack. So, I tried removing the
> >> i915kms from the kld_list in rc.conf. The system booted and started the
> >> wifi without crashing. When I loaded i915kms manually, the system froze.
> >>
> >> I still am wondering if there is some collision in the lkpi when the drm
> >> driver on Alder Lake is present and the wifi starts. While I failed to
> get
> >> much saved during the multiple reboots, all showed the crash after
> >> wpa_supplcant started.
> >>
> >> Is this remotely possible or just a coincidence?
> >>
> >> I have rolled my system back to 06c083f79dd7 (Dec. 2) just to get it
> >> running with both graphics and wifi.
> >>
> >
> > I have now booted several times with no graphics kmod loaded (i915kms).
> > There have been no failures or panics while booting. One system freeze
> when
> > loading i915kms. No state messages at all.
> > iwlwifi0: WRT: Invalid buffer destination
> > iwlwifi0: WFPM_UMAC_PD_NOTIFICATION: 0x20
> > iwlwifi0: WFPM_LMAC2_PD_NOTIFICATION: 0x1f
> > iwlwifi0: WFPM_AUTH_KEY_0: 0x90
> > iwlwifi0: CNVI_SCU_SEQ_DATA_DW9: 0x0
> > iwlwifi0: RFIm is deactivated, reason = 4
> > wlan0: Ethernet address: 70:a8:d3:df:3c:de
> > Created wlan(4) interfaces: wlan0.
> > lo0: link state changed to UP
> > Starting wpa_supplicant.
> > Starting dhclient.
> > wlan0: no link ....
> > wlan0: link state changed to UP
> > got link
> > DHCPREQUEST on wlan0 to 255.255.255.255 port 67
> > DHCPACK from 192.168.1.1
> > unknown dhcp option value 0x7d
> > bound to 192.168.1.5 -- renewal in 7200 seconds.
> > Starting Network: lo0 em0 wlan0.
> >
> > I should also mention that, when I manually load i915kms, I do see many
> > WITNESS reports. Do we still keep a list of known ones?
>
>
> have you at any time tried the other way round:
>
> load drm-kmod on boot and and NO wireless (possibly blocklist it) and
> then try to manually load wireless?
>
>
> While an interaction in LinuxKPI would mean some resources are not
> properly save per device most likely (or we get the wrong one), loading
> drm-kmod as well probably also changes timing which means you could hit
> the net80211/LinuxKPI co-bugs which are triggered by two specifics in
> net80211 and then cause assertions in LinuxKPI code (it seems I have
> much improvement in a development branch but am still on it after the
> New Year to clean things up and track secondary effects of the change).
>
> /bz
>
> --
> Bjoern A. Zeeb                                                     r15:7


It's taken me a while to get there, but I have done testing. I have now
booted three times with the kernel module not loaded. All three were clean,
though I did see a bit more verbiage when I loaded it manually. i915kms was
loaded via rc.conf. i915kms loaded and worked correctly. I then loaded
if_iwlwifi and then started netif and local_unbound. No errors as far as I
could tell. Everything works. Here is hte outout of loading and starting:
ntel(R) Wireless WiFi based driver for FreeBSD
iwlwifi0: <iwlwifi> mem 0x603d1cc000-0x603d1cffff at device 20.3 on pci0
iwlwifi0: Detected crf-id 0x400410, cnv-id 0x80400 wfpm id 0x80000020
iwlwifi0: PCI dev 51f0/0090, rev=0x370, rfid=0x2010d000
iwlwifi0: successfully loaded firmware image 'iwlwifi-so-a0-gf-a0-83.ucode'
iwlwifi0: api flags index 2 larger than supported by driver
iwlwifi0: TLV_FW_FSEQ_VERSION: FSEQ Version: 0.0.2.41
iwlwifi0: loaded firmware version 83.e8f84e98.0 so-a0-gf-a0-83.ucode
op_mode iwlmvm
iwlwifi0: Detected Intel(R) Wi-Fi 6E AX211 160MHz, REV=0x370
iwlwifi0: WRT: Invalid buffer destination
Jan  6 20:16:33 ptavv wpa_supplicant[2083]: wlan0: Failed to initialize
driver interface
iwlwifi0: WFPM_UMAC_PD_NOTIFICATION: 0x20
iwlwifi0: WFPM_LMAC2_PD_NOTIFICATION: 0x1f
iwlwifi0: WFPM_AUTH_KEY_0: 0x90
iwlwifi0: CNVI_SCU_SEQ_DATA_DW9: 0x0
iwlwifi0: RFIm is deactivated, reason = 4
iwlwifi0: successfully loaded firmware image 'iwlwifi-so-a0-gf-a0.pnvm'
iwlwifi0: loaded PNVM version 181407b3
Jan  6 20:16:33 ptavv dhclient[2104]: wlan0: not found
Jan  6 20:16:33 ptavv dhclient[2104]: exiting.
iwlwifi0: Detected RF GF, rfid=0x2010d000
iwlwifi0: base HW address: 70:a8:d3:df:3c:de
iwlwifi0: WRT: Invalid buffer destination
iwlwifi0: WFPM_UMAC_PD_NOTIFICATION: 0x20
iwlwifi0: WFPM_LMAC2_PD_NOTIFICATION: 0x1f
iwlwifi0: WFPM_AUTH_KEY_0: 0x90
iwlwifi0: CNVI_SCU_SEQ_DATA_DW9: 0x0
iwlwifi0: RFIm is deactivated, reason = 4
wlan0: Ethernet address: 70:a8:d3:df:3c:de
Jan  6 20:17:03 ptavv wpa_supplicant[2187]: ioctl[SIOCS80211, op=20, val=0,
arg_len=7]: Invalid argument
wlan0: link state changed to UP

Let me know if I can look at anything else.
-- 
Kevin Oberman, Part time kid herder and retired Network Engineer
E-mail: rkoberman@gmail.com
PGP Fingerprint: D03FB98AFA78E3B78C1694B318AB39EF1B055683