Re: AC 9461 support
- In reply to: Andrea Venturoli : "Re: AC 9461 support"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 18 Jul 2025 11:12:52 UTC
On Fri, 18 Jul 2025, Andrea Venturoli wrote:
Attempt in replying II; I think my previous email did not make it out
as drm paniced as I was trying to send.
>> Also what's /usr/src/sys/compat/linuxkpi/common/src/linux_80211.c:2364
>> for you (a few lines before/after maybe as well)?
>
> It's in lkpi_sta_auth_to_scan:
>
>> lhw = vap->iv_ic->ic_softc;
>> hw = LHW_TO_HW(lhw);
>> lvif = VAP_TO_LVIF(vap);
>> vif = LVIF_TO_VIF(lvif);
>>
>> LKPI_80211_LVIF_LOCK(lvif);
>> #ifdef LINUXKPI_DEBUG_80211
>> /* XXX-BZ KASSERT later; state going down so no action. */
>> if (lvif->lvif_bss == NULL)
>> ic_printf(vap->iv_ic, "%s:%d: lvif %p vap %p iv_bss %p
>> lvif_bss %p "
>> "lvif_bss->ni %p synched %d\n", __func__, __LINE__,
>> lvif, vap, vap->iv_bss, lvif->lvif_bss,
>> (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL,
>> lvif->lvif_bss_synched);
>> #endif
>>
>> lsta = lvif->lvif_bss;
>> LKPI_80211_LVIF_UNLOCK(lvif);
>> KASSERT(lsta != NULL && lsta->ni != NULL, ("%s: lsta %p ni %p "
>> "lvif %p vap %p\n", __func__,
>> lsta, (lsta != NULL) ? lsta->ni : NULL, lvif, vap));
>> => ni = lsta->ni; /* Reference held for lvif_bss. */
>> sta = LSTA_TO_STA(lsta);
>
> In fact lsta is NULL!
> Probably the previous KASSERT would have caught this, if I had INVARIANTS
> enabled.
It should not happen; but that said I had this two days ago in a
different function; I wonder what invariants have changed that we
suddenly see this again?
>> Also if you have a core.txt, can you check the kernel message buffer if
>> there was a firmware crash before this and the panic is a secondary
>> issue?
>
> Maybe so, if that's what the following means:
>
>> iwlwifi0: linuxkpi_ieee80211_beacon_loss: vif 0xfffffe00ad4e5ec0 vap
>> 0xfffffe00ad4e5010 state RUN
>> iwlwifi0: linuxkpi_ieee80211_beacon_loss: vif 0xfffffe00ad4e5ec0 vap
>> 0xfffffe00ad4e5010 state RUN
>> wlan0: link state changed to DOWN
>> wlan0: link state changed to UP
>> wlan0: link state changed to DOWN
>> iwlwifi0: Microcode SW error detected. Restarting 0x2000000.
>> iwlwifi0: Start IWL Error Log Dump:
>> iwlwifi0: Transport status: 0x0000004B, valid: 6
>> iwlwifi0: Loaded firmware version: 46.7e3e4b69.0 9000-pu-b0-jf-b0-46.ucode
>> iwlwifi0: 0x000021A0 | ADVANCED_SYSASSERT iwlwifi0: 0x00A0A200 |
>> trm_hw_status0
>> iwlwifi0: 0x00000000 | trm_hw_status1
>> iwlwifi0: 0x004897FA | branchlink2
>> iwlwifi0: 0x0047905E | interruptlink1
>> iwlwifi0: 0x00000000 | interruptlink2
>> iwlwifi0: 0x00000020 | data1
>> iwlwifi0: 0x00000000 | data2
>> iwlwifi0: 0x00000000 | data3
>> iwlwifi0: 0x00410621 | beacon time
>> iwlwifi0: 0x031B0C7D | tsf low
>> iwlwifi0: 0x00000000 | tsf hi
>> iwlwifi0: 0x00000000 | time gp1
>> iwlwifi0: 0x3E308AED | time gp2
>> iwlwifi0: 0x00000001 | uCode revision type
>> iwlwifi0: 0x0000002E | uCode version major
>> iwlwifi0: 0x7E3E4B69 | uCode version minor
>> iwlwifi0: 0x00000312 | hw version
>> iwlwifi0: 0x00C89002 | board version
>> iwlwifi0: 0x80F6FC28 | hcmd
>> iwlwifi0: 0x24022080 | isr0
>> iwlwifi0: 0x01000000 | isr1
>> iwlwifi0: 0x08201802 | isr2
>> iwlwifi0: 0x004140C0 | isr3
>> iwlwifi0: 0x00000000 | isr4
>> iwlwifi0: 0x00B0019F | last cmd Id
>> iwlwifi0: 0x0001B822 | wait_event
>> iwlwifi0: 0x000000C0 | l2p_control
>> iwlwifi0: 0x00018014 | l2p_duration
>> iwlwifi0: 0x0000003F | l2p_mhvalid
>> iwlwifi0: 0x00000000 | l2p_addr_match
>> iwlwifi0: 0x0000000D | lmpm_pmg_sel
>> iwlwifi0: 0x28021135 | timestamp
>> iwlwifi0: 0x0000D0F4 | flow_handler
>> iwlwifi0: Start IWL Error Log Dump:
>> iwlwifi0: Transport status: 0x0000004B, valid: 7
>> iwlwifi0: 0x20000070 | NMI_INTERRUPT_LMAC_FATAL
>> iwlwifi0: 0x00000000 | umac branchlink1
>> iwlwifi0: 0xC0088A3A | umac branchlink2
>> iwlwifi0: 0x0101B658 | umac interruptlink1
>> iwlwifi0: 0xC0085194 | umac interruptlink2
>> iwlwifi0: 0x00000800 | umac data1
>> iwlwifi0: 0xC0085194 | umac data2
>> iwlwifi0: 0xDEADBEEF | umac data3
>> iwlwifi0: 0x0000002E | umac major
>> iwlwifi0: 0x7E3E4B69 | umac minor
>> iwlwifi0: 0x3E308B06 | frame pointer
>> iwlwifi0: 0xC0887584 | stack pointer
>> iwlwifi0: 0x00B10118 | last host cmd
STA_ADD failed; that could explain why there is no lsta.
I have a lot of debugging in the Hardware restart handler locally; maybe
I should upstream that but it'll overflow the message buffer of most
people so likely not useful.
Maybe we should for 15-ish implement a hardware restart finally.
Likely to take things down and free them and restart, rather than
feeding state back into firmware...
None of this of course ansers the question why the STA_ADD failed.
My bet is, it's another race against net80211 and fixinf net80211 for
good is probably the only real option...
>> iwlwifi0: 0x00000000 | isr status reg
>> iwlwifi0: IML/ROM dump:
>> iwlwifi0: 0x00002323 | IML/ROM error/state
>> iwlwifi0: 0x00000003 | IML/ROM data1
>> iwlwifi0: Fseq Registers:
>> iwlwifi0: 0x2687AE10 | FSEQ_ERROR_CODE
>> iwlwifi0: 0x00000000 | FSEQ_TOP_INIT_VERSION
>> iwlwifi0: 0x600A45A1 | FSEQ_CNVIO_INIT_VERSION
>> iwlwifi0: 0x0000A384 | FSEQ_OTP_VERSION
>> iwlwifi0: 0x26007318 | FSEQ_TOP_CONTENT_VERSION
>> iwlwifi0: 0xCA120798 | FSEQ_ALIVE_TOKEN
>> iwlwifi0: 0x3DBB157A | FSEQ_CNVI_ID
>> iwlwifi0: 0xAC7EBE89 | FSEQ_CNVR_ID
>> iwlwifi0: 0x01000100 | CNVI_AUX_MISC_CHIP
>> iwlwifi0: 0x00000201 | CNVR_AUX_MISC_CHIP
>> iwlwifi0: 0x0000485B | CNVR_SCU_SD_REGS_SD_REG_DIG_DCDC_VTRIM
>> iwlwifi0: 0xA5A5A5A2 | CNVR_SCU_SD_REGS_SD_REG_ACTIVE_VDIG_MIRROR
>> iwlwifi0: 0xED6F3351 | FSEQ_PREV_CNVIO_INIT_VERSION
>> iwlwifi0: 0x4C88F0D8 | FSEQ_WIFI_FSEQ_VERSION
>> iwlwifi0: 0x6444150F | FSEQ_BT_FSEQ_VERSION
>> iwlwifi0: 0xE085B8B9 | FSEQ_CLASS_TP_VERSION
>> iwlwifi0: WRT: Collecting data: ini trigger 4 fired (delay=0ms).
>> iwlwifi0: FW error in SYNC CMD ADD_STA
>
>
>
> bye & Thanks
> av.
>
>
--
Bjoern A. Zeeb r15:7