Re: iwm(4) broken on latest -current kernel

Kevin Bloom <[email protected]>
Newsgroups gmane.os.netbsd.current
Message-ID <20251215023346.zTckN%[email protected]>
Kevin Bloom <[email protected]> wrote:

> (Michael van Elst) <[email protected]> wrote:
> 
> > [email protected] (Kevin Bloom) writes:
> > 
> > >(Michael van Elst) <[email protected]> wrote:
> > >> Can you please provide the type of your iwm device. E.g. output
> > >> from dmesg like:
> > 
> > >Sure thing:
> > 
> > >[     1.040837] iwm0 at pci2 dev 0 function 0: Intel Dual Band Wireless AC 8260 (rev. 0x3a)
> > >[     1.040837] iwm0: interrupting at msi2 vec 0
> > >[     6.265043] iwm0: hw rev 0x200, fw ver 22.361476.0, address xx:xx:xx:xx:xx:xx
> > 
> > 
> > This gets "interesting". A similar device was already tested successfully,
> > but there are at least two versions of AC 8260 that might behave differently.
> > 
> > One test would be to use a more recent firmware for it. You should already
> > have (in /libdata/firmware/if_iwm/):
> > 
> > SHA1 (iwlwifi-8000C-22.ucode) = 7ff722a5d1f968c20a6592c13f5a64d35e7da178
> > SHA1 (iwlwifi-8000C-36.ucode) = a6a01d48822dac433f8fcddf0eaa43fb9c45314f
> > 
> > and the driver selects the older version as the newer failed for us, probably
> > because it requires more features in the driver.
> > 
> > So one test would be to build a kernel that selects the newer firmware.
> > 
> > The driver source contains:
> > 
> > #if 0
> > /* 8000C-36 */
> >                 sc->sc_fwname = "iwlwifi-8000C-36.ucode";
> > #else 
> > /* 8000C-22 */
> >                 sc->sc_fwname = "iwlwifi-8000C-22.ucode";
> > #endif
> > 
> > and by changing '#if 0' to 'if 1' it will select the new firmware.
> > 
> > 
> > Another difference of course could be your environment. Do you use
> > a simple WPA2 net with pre-shared key or something more complex ?
> > 

I was able to test this modification and I get the following in dmesg(1):
[    21.083378] iwm0: dumping device error log
[    21.083378] iwm0: Start Error Log Dump:
[    21.083378] iwm0: Status: 0x7e1, count: 6
[    21.083378] iwm0: 00003706 | ADVANCED_SYSASSERT          
[    21.083378] iwm0: 008002F1 | trm_hw_status0
[    21.083378] iwm0: 00000000 | trm_hw_status1
[    21.083378] iwm0: 0002438C | branchlink2
[    21.083378] iwm0: 00039C22 | interruptlink1
[    21.083378] iwm0: 00000000 | interruptlink2
[    21.083378] iwm0: 00000001 | data1
[    21.083378] iwm0: 00000004 | data2
[    21.083378] iwm0: DEADBEEF | data3
[    21.083378] iwm0: 00000000 | beacon time
[    21.083378] iwm0: 0044F51E | tsf low
[    21.083378] iwm0: 00000000 | tsf hi
[    21.083378] iwm0: 00000000 | time gp1
[    21.083378] iwm0: 0044F51F | time gp2
[    21.083378] iwm0: 00000001 | uCode revision type
[    21.083378] iwm0: 00000024 | uCode version major
[    21.083378] iwm0: CA7B901D | uCode version minor
[    21.083378] iwm0: 00000201 | hw version
[    21.083378] iwm0: 18889008 | board version
[    21.083378] iwm0: 0500001C | hcmd
[    21.083378] iwm0: 00023002 | isr0
[    21.083378] iwm0: 00058000 | isr1
[    21.083378] iwm0: 08001802 | isr2
[    21.083378] iwm0: 00417CC1 | isr3
[    21.083378] iwm0: 00000000 | isr4
[    21.083378] iwm0: 00270029 | last cmd Id
[    21.083378] iwm0: 00000000 | wait_event
[    21.083378] iwm0: 00006A99 | l2p_control
[    21.083378] iwm0: 00004C00 | l2p_duration
[    21.083378] iwm0: 00000000 | l2p_mhvalid
[    21.083378] iwm0: 000000A0 | l2p_addr_match
[    21.083378] iwm0: 0000000D | lmpm_pmg_sel
[    21.083378] iwm0: 10032207 | timestamp
[    21.083378] iwm0: 00007888 | flow_handler
[    21.083378] iwm0: Start UMAC Error Log Dump:
[    21.083378] iwm0: Status: 0x7e1, count: 7
[    21.083378] iwm0: 0x00000070 | NMI_INTERRUPT_LMAC_FATAL
[    21.083378] iwm0: 0x00000000 | umac branchlink1
[    21.083378] iwm0: 0xC0086B3C | umac branchlink2
[    21.083378] iwm0: 0xC0083D08 | umac interruptlink1
[    21.083378] iwm0: 0xC0083D08 | umac interruptlink2
[    21.083378] iwm0: 0x00000800 | umac data1
[    21.083378] iwm0: 0xC0083D08 | umac data2
[    21.083378] iwm0: 0xDEADBEEF | umac data3
[    21.083378] iwm0: 0x00000024 | umac major
[    21.083378] iwm0: 0xCA7B901D | umac minor
[    21.083378] iwm0: 0xC088628C | frame pointer
[    21.083378] iwm0: 0xC088628C | stack pointer
[    21.083378] iwm0: 0x00270029 | last host cmd
[    21.083378] iwm0: 0x00000000 | isr status reg
[    21.083378] driver status:
[    21.083378]   tx ring  0: qid=0  cur=40  queued=0  
[    21.083378]   tx ring  1: qid=1  cur=0   queued=0  
[    21.083378]   tx ring  2: qid=2  cur=0   queued=0  
[    21.083378]   tx ring  3: qid=3  cur=0   queued=0  
[    21.083378]   tx ring  4: qid=4  cur=0   queued=0  

[    21.083378]   tx ring  5: qid=5  cur=1   queued=1  
[    21.083378]   tx ring  6: qid=6  cur=0   queued=0  
[    21.083378]   tx ring  7: qid=7  cur=0   queued=0  
[    21.083378]   tx ring  8: qid=8  cur=0   queued=0  
[    21.083378]   tx ring  9: qid=9  cur=0   queued=0  
[    21.083378]   tx ring 10: qid=10 cur=0   queued=0  
[    21.083378]   tx ring 11: qid=11 cur=0   queued=0  
[    21.083378]   tx ring 12: qid=12 cur=0   queued=0  
[    21.083378]   tx ring 13: qid=13 cur=0   queued=0  
[    21.083378]   tx ring 14: qid=14 cur=0   queued=0  
[    21.083378]   tx ring 15: qid=15 cur=0   queued=0  
[    21.083378]   tx ring 16: qid=16 cur=0   queued=0  
[    21.083378]   tx ring 17: qid=17 cur=0   queued=0  
[    21.083378]   tx ring 18: qid=18 cur=0   queued=0  
[    21.083378]   tx ring 19: qid=19 cur=0   queued=0  
[    21.083378]   tx ring 20: qid=20 cur=0   queued=0  
[    21.083378]   tx ring 21: qid=21 cur=0   queued=0  
[    21.083378]   tx ring 22: qid=22 cur=0   queued=0  
[    21.083378]   tx ring 23: qid=23 cur=0   queued=0  
[    21.083378]   tx ring 24: qid=24 cur=0   queued=0  
[    21.083378]   tx ring 25: qid=25 cur=0   queued=0  
[    21.083378]   tx ring 26: qid=26 cur=0   queued=0  
[    21.083378]   tx ring 27: qid=27 cur=0   queued=0  
[    21.083378]   tx ring 28: qid=28 cur=0   queued=0  
[    21.083378]   tx ring 29: qid=29 cur=0   queued=0  
[    21.083378]   tx ring 30: qid=30 cur=0   queued=0  
[    21.083378]   rx ring: cur=128
[    21.083378]   802.11 state AUTH
[    21.083378] iwm0: autoconfiguration error: fatal firmware err
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.