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