Re: [iwlwifi] Intel WiFi 7260: iwlwififw not loaded

From: FreeBSD User <freebsd_at_walstatt-de.de>
Date: Sat, 22 Jan 2022 10:48:24 UTC
On Fri, 31 Dec 2021 00:53:51 +0000 (UTC)
"Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net> wrote:

> On Fri, 31 Dec 2021, Bjoern A. Zeeb wrote:
> 
> >> Manually loading the proper FW module (supposedly iwlwifi-7260-9.ucode.ko) 
> >> does not make  
> 
> There is indeed a problem.  It seems that for some of the old chipsets still
> supported by iwlwifi my import script picked an old version of the firmware
> an no one had noticed in the last 6 months.
> 
> This seems to include
>  	- 3160
>  	- 7260
>  	- 7265
> 
> Sorry about that.  I believe you are the 1st or 2nd person to try with anything
> older than an 8000 chipset.  dmesg should have an appropriate error
> message hopefully about trying to load newer versions and failing.
> 
> Sorry for not picking this up immediately for the first reply.  It is
> almost 2am here.  I'll fix these three in the morning in main and
> merge them to stable in 3 days.
> 
> 
> This should still not affect iwm(4) in any way which does have the
> correct firmware.  So maybe we can sort the iwm(4) problem out in the
> meantime.
> 
> 
> Bjoern
> 

Hello.

Regarding my if_iwm/if_iwm firmware issue, I could manage to check again all possible
variations of loading the proper FW module - and it works, either compiled into the
kernel, load by /boot/loader.conf[.local] or /etc/rc.conf.[local], either letting
if_iwm.ko picking up the correct FW module or naming it explicitely (for i7260
WiFi chipset).

According to if_iwm there is another strange problem on 13-STABLE (13.0-STABLE #94
stable/13-n249095-7a6364ac773: Sat Jan 22 09:56:40 CET 2022). When trying to check
whether if_iwlwifi is working for chipset i7260, if_iwm alsways(!) gets loaded by some
service I havn't dentified yet, so loading if_iwlwifi and if_iwm both in parallel results
in a non-working wifi/lagg0 configuration. I realised that devd.conf contains in
wifi-regex also the tag "iwm", so I deleted that - with no effect. Also, I tried to
disable every bluetooth support, no effect on the observed issue, even with
renameing /etc/devd/iwmbtfw.conf to be unresolved by the rc system - no effect. The only
way to disable the load of if_iwm in my case was to rename the if_iwm.ko module to be not
found by rc system.

I also realised, as already reported, the if_iwlwifi scripts do have trouble loading the
proper FW via /boot/locader.conf[.local]. Even when replacing the hyphen with underscore
("-" -> "_") in the tag targetting the proper FW doesn't work for me, I had to load both
the if_iwlwifi via /etc/rc.conf[.local].
I had to load the FW module explicitely since it did not load automatically, somehow the
if_iwlwifi did not recognise the proper FW.

Once both loaded the i7260 chipset seems to get reconised by the driver, so far:

iwlwifi0@pci0:5:0:0:    class=0x028000 rev=0x73 hdr=0x00 vendor=0x8086 device=0x08b2
subvendor=0x8086 subdevice=0x4262
vendor     = 'Intel Corporation'
device     = 'Wireless 7260'
class      = network
bar   [10] = type Memory, range 64, base 0xf1c00000, size 8192, 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 endpoint max data 128(128) FLR RO NS
max read 128
link x1(x1) speed 2.5(2.5) ASPM L1(L0s/L1) ClockPM enabled
ecap 0001[100] = AER 1 0 fatal 0 non-fatal 0 corrected
ecap 0003[140] = Serial 1 native MAC
ecap 0018[14c] = LTR 1
ecap 000b[154] = Vendor [1] ID cafe Rev 1 Length 20

but it is not working with the seup of mine:

[... dmesg ...]
Intel(R) Wireless WiFi based driver for FreeBSD
iwlwifi0: <iwlwifi> mem 0xf1c00000-0xf1c01fff at device 0.0 on pci4
iwlwifi0: successfully loaded firmware image 'iwlwifi-7260-17.ucode'
iwlwifi0: loaded firmware version 17.3216344376.0 7260-17.ucode op_mode iwlmvm
iwlwifi0: Detected Intel(R) Wireless N 7260, REV=0x144

[...]

iwlwifi0: lkpi_ic_getradiocaps: Adding chan 1/2412/0x1a0/0/0/0 returned error 55
wlan0: _ieee80211_crypto_delkey: NONE keyix 65535 flags 0x3 rsc 0 tsc 0 len 0
wlan0: _ieee80211_crypto_delkey: NONE keyix 65535 flags 0x3 rsc 0 tsc 0 len 0
wlan0: _ieee80211_crypto_delkey: NONE keyix 65535 flags 0x3 rsc 0 tsc 0 len 0
wlan0: _ieee80211_crypto_delkey: NONE keyix 65535 flags 0x3 rsc 0 tsc 0 len 0
wlan0: start running, 0 vaps running
wlan0: ieee80211_start_locked: up parent iwlwifi0
wlan0: stop running, 1 vaps running
lagg0: link state changed to DOWN
wlan0: ieee80211_new_state_locked: INIT -> INIT (arg -1) (nrunning 0 nscanning 0)
wlan0: down parent iwlwifi0
wlan0: ieee80211_newstate_cb: INIT -> INIT arg -1
wlan0: sta_newstate: INIT -> INIT (-1)
wlan0: start running, 0 vaps running
wlan0: ieee80211_start_locked: up parent iwlwifi0
wlan0: ieee80211_new_state_locked: INIT -> SCAN (arg 0) (nrunning 0 nscanning 0)
wlan0: start running, 1 vaps running
wlan0: ieee80211_newstate_cb: INIT -> SCAN arg 0
wlan0: sta_newstate: INIT -> SCAN (0)
wlan0: [MAC of WIFI] station assoc via MLME
wlan0: ieee80211_alloc_node 0xfffffe01182df000<MAC of AP> in station table
wlan0: node_reclaim: remove 0xfffffe00dad73000<MAC of Wifi> from station table,
refcnt 1
wlan0: ieee80211_sta_join1 0xfffffe01182df000<MAC of AP> -> AUTH,
FC0_SUBTYPE_DEAUTH
wlan0: ieee80211_new_state_locked: SCAN -> AUTH (arg 192) (nrunning 0 nscanning 0)
wlan0: ieee80211_newstate_cb: SCAN -> AUTH arg 192
iwlwifi0: Microcode SW error detected.  Restarting 0x2000000.
iwlwifi0: Start IWL Error Log Dump:
iwlwifi0: Transport status: 0x0000004B, valid: 6
iwlwifi0: Loaded firmware version: 17.3216344376.0 7260-17.ucode
iwlwifi0: 0x0000340A | ADVANCED_SYSASSERT          
iwlwifi0: 0x00000230 | trm_hw_status0
iwlwifi0: 0x00000000 | trm_hw_status1
iwlwifi0: 0x00000B30 | branchlink2
iwlwifi0: 0x000164C0 | interruptlink1
iwlwifi0: 0x00000000 | interruptlink2
iwlwifi0: 0xDEADBEEF | data1
iwlwifi0: 0xDEADBEEF | data2
iwlwifi0: 0xDEADBEEF | data3
iwlwifi0: 0x00381A34 | beacon time
iwlwifi0: 0x0007E5CA | tsf low
iwlwifi0: 0x00000000 | tsf hi
iwlwifi0: 0x00000000 | time gp1
iwlwifi0: 0x0007E5CB | time gp2
iwlwifi0: 0x00000000 | uCode revision type
iwlwifi0: 0x00000011 | uCode version major
iwlwifi0: 0xBFB58538 | uCode version minor
iwlwifi0: 0x00000144 | hw version
iwlwifi0: 0x40489204 | board version
iwlwifi0: 0x001E012B | hcmd
iwlwifi0: 0x24022080 | isr0
iwlwifi0: 0x00000000 | isr1
iwlwifi0: 0x00000002 | isr2
iwlwifi0: 0x00400080 | isr3
iwlwifi0: 0x00000000 | isr4
iwlwifi0: 0x01000112 | last cmd Id
iwlwifi0: 0x00000000 | wait_event
iwlwifi0: 0x00000080 | l2p_control
iwlwifi0: 0x00010010 | l2p_duration
iwlwifi0: 0x0000003F | l2p_mhvalid
iwlwifi0: 0x00000000 | l2p_addr_match
iwlwifi0: 0x00000007 | lmpm_pmg_sel
iwlwifi0: 0x15041745 | timestamp
iwlwifi0: 0x00002840 | flow_handler
iwlwifi0: Fseq Registers:
iwlwifi0: 0x00000000 | FSEQ_ERROR_CODE
iwlwifi0: 0x00000000 | FSEQ_TOP_INIT_VERSION
iwlwifi0: 0x00000000 | FSEQ_CNVIO_INIT_VERSION
iwlwifi0: 0x00000000 | FSEQ_OTP_VERSION
iwlwifi0: 0x00000000 | FSEQ_TOP_CONTENT_VERSION
iwlwifi0: 0x00000000 | FSEQ_ALIVE_TOKEN
iwlwifi0: 0x00000000 | FSEQ_CNVI_ID
iwlwifi0: 0x00000000 | FSEQ_CNVR_ID
iwlwifi0: 0x00000000 | CNVI_AUX_MISC_CHIP
iwlwifi0: 0x00000000 | CNVR_AUX_MISC_CHIP
iwlwifi0: 0x00000000 | CNVR_SCU_SD_REGS_SD_REG_DIG_DCDC_VTRIM
iwlwifi0: 0x00000000 | CNVR_SCU_SD_REGS_SD_REG_ACTIVE_VDIG_MIRROR
iwlwifi0: Collecting data: trigger 2 fired.
iwlwifi0: FW error in SYNC CMD BINDING_CONTEXT_CMD
#0 0xffffffff80cd6643 at linux_dump_stack+0x23
#1 0xffffffff83178d15 at iwl_trans_txq_send_hcmd+0x3d5
#2 0xffffffff8311ecae at iwl_trans_send_cmd+0xce
#3 0xffffffff8315f7bb at iwl_mvm_send_cmd_status+0x2b
#4 0xffffffff8315f8cf at iwl_mvm_send_cmd_pdu_status+0x4f
#5 0xffffffff83127409 at iwl_mvm_binding_update+0x269
#6 0xffffffff8313989a at __iwl_mvm_assign_vif_chanctx+0x7a
#7 0xffffffff83135b76 at iwl_mvm_assign_vif_chanctx+0x66
#8 0xffffffff80cd11c2 at lkpi_80211_mo_assign_vif_chanctx+0x22
#9 0xffffffff80ccc1e7 at lkpi_sta_scan_to_auth+0x427
#10 0xffffffff80cd01d8 at lkpi_iv_newstate+0x1e8
#11 0xffffffff80b0064a at ieee80211_newstate_cb+0x17a
#12 0xffffffff809c3aa1 at taskqueue_run_locked+0x181
#13 0xffffffff809c4ebe at taskqueue_thread_loop+0xbe
#14 0xffffffff8091730d at fork_exit+0x7d
#15 0xffffffff80e27a0e at fork_trampoline+0xe
iwlwifi0: Failed to send binding (action:1): -5
iwlwifi0: PHY ctxt cmd error. ret=-5
iwlwifi0: lkpi_iv_newstate: error -5 during state transition 1 (SCAN) -> 2 (AUTH)
wlan0: sta_newstate: SCAN -> AUTH (192)
wlan0: ieee80211_ref_node (ieee80211_send_mgmt:2704)
0xfffffe01182df000<MAC of AP> refcnt 4
iwlwifi0: No queue was found. Dropping TX
wlan0: ni 0xfffffe01182df000 vap 0xfffffe00dad71010 mode STA state AUTH m
0xfffff80009b81100 status 4543576
wlan0: ni 0xfffffe01182df000 mode STA state AUTH ostate 2 arg 0x2 status 4543576
wlan0: vap 0xfffffe00dad71010 mode STA state AUTH flags 0x2000 & 0x80
wlan0: ieee80211_new_state_locked: AUTH -> SCAN (arg 1) (nrunning 0 nscanning 0)
wlan0: ieee80211_newstate_cb: AUTH -> SCAN arg 1
wlan0: sta_newstate: AUTH -> SCAN (1)
iwlwifi0: iwl_trans_wait_tx_queues_empty bad state = 0
WARNING !mvmvif->phy_ctxt failed at /usr/src/sys/contrib/dev/iwlwifi/mvm/mac80211.c:3155
iwlwifi0: lkpi_iv_newstate: error 37 during state transition 2 (AUTH) -> 1 (SCAN):
iv_newstate already handled.
wlan0: [dc:39:6f:28:0c:27] station deauth via MLME (reason: 3 (sending STA is leaving/has
left IBSS or ESS))
wlan0: ieee80211_new_state_locked: SCAN -> INIT (arg 3) (nrunning 0 nscanning 0)
wlan0: ieee80211_newstate_cb: SCAN -> INIT arg 3
wlan0: sta_newstate: SCAN -> INIT (3)
wlan0: node_reclaim: remove 0xfffffe01182df000<MAC of AP> from station table,
refcnt 2
wlan0: ieee80211_alloc_node 0xfffffe00dad7b000<MAC of lagg0 which is MAC of NIC> in
station
table
wlan0: ieee80211_new_state_locked: INIT -> SCAN (arg 0) (nrunning 0 nscanning 0)
wlan0: ieee80211_newstate_cb: INIT -> SCAN arg 0
wlan0: sta_newstate: INIT -> SCAN (0)
iwlwifi0: ERROR: lkpi_ic_scan_start: hw_scan returned -5
iwlwifi0: Scan failed! ret -5
iwlwifi0: ERROR: lkpi_ic_scan_start: hw_scan returned -5
iwlwifi0: Scan failed! ret -5
iwlwifi0: ERROR: lkpi_ic_scan_start: hw_scan returned -5
iwlwifi0: Scan failed! ret -5
iwlwifi0: ERROR: lkpi_ic_scan_start: hw_scan returned -5
iwlwifi0: Scan failed! ret -5
iwlwifi0: ERROR: lkpi_ic_scan_start: hw_scan returned -5
iwlwifi0: Scan failed! ret -5
iwlwifi0: ERROR: lkpi_ic_scan_start: hw_scan returned -5
iwlwifi0: Scan failed! ret -5
iwlwifi0: ERROR: lkpi_ic_scan_start: hw_scan returned -5
iwlwifi0: Scan failed! ret -5
iwlwifi0: ERROR: lkpi_ic_scan_start: hw_scan returned -5