6.7 snaps upgrade went fine - Intel ax200ngw not so much

classic Classic list List threaded Threaded
16 messages Options
Reply | Threaded
Open this post in threaded view
|

6.7 snaps upgrade went fine - Intel ax200ngw not so much

sven falempin
I upgraded to 6.7 - beta a tftp server i use

Not much to report as the device is basic but i wanted to test some wifi on
it.

iwx0 at pci8 dev 0 function 0 "Intel Wi-Fi 6 AX200" rev 0x1a, msix

The firmware crashes at start, no config down:

iwx0: dumping device error log
iwx0: Start Error Log Dump:
iwx0: Status: 0x1, count: 6
iwx0: 0x00000071 | NMI_INTERRUPT_UMAC_FATAL
iwx0: 002022F0 | trm_hw_status0
iwx0: 00000000 | trm_hw_status1
iwx0: 004FC308 | branchlink2
iwx0: 00016E5A | interruptlink1
iwx0: 00016E5A | interruptlink2
iwx0: 004F9F62 | data1
iwx0: 00001000 | data2
iwx0: F0000008 | data3
iwx0: 00000000 | beacon time
iwx0: 00011B6F | tsf low
iwx0: 00000000 | tsf hi
iwx0: 00000000 | time gp1
iwx0: 00011B6F | time gp2
iwx0: 00000001 | uCode revision type
iwx0: 0000002E | uCode version major
iwx0: 177B3E46 | uCode version minor
iwx0: 00000340 | hw version
iwx0: 00889000 | board version
iwx0: 800AFD0C | hcmd
iwx0: 00020000 | isr0
iwx0: 00000000 | isr1
iwx0: 18F00002 | isr2
iwx0: 04C0000C | isr3
iwx0: 00000000 | isr4
iwx0: 00000000 | last cmd Id
iwx0: 004F9F62 | wait_event
iwx0: 00000000 | l2p_control
iwx0: 00000020 | l2p_duration
iwx0: 00000000 | l2p_mhvalid
iwx0: 00000000 | l2p_addr_match
iwx0: 00000009 | lmpm_pmg_sel
iwx0: 19071335 | timestamp
iwx0: 00000024 | flow_handler
iwx0: Start UMAC Error Log Dump:
iwx0: Status: 0x1, count: 7
iwx0: 0x201010A3 | ADVANCED_SYSASSERT
iwx0: 0x00000000 | umac branchlink1
iwx0: 0xC008B1C0 | umac branchlink2
iwx0: 0xC0084E04 | umac interruptlink1
iwx0: 0x00000000 | umac interruptlink2
iwx0: 0x00000002 | umac data1
iwx0: 0x00000001 | umac data2
iwx0: 0xDEADBEEF | umac data3
iwx0: 0x0000002E | umac major
iwx0: 0x177B3E46 | umac minor
iwx0: 0x00011B60 | frame pointer
iwx0: 0xC0886C6C | stack pointer
iwx0: 0x00050088 | last host cmd
iwx0: 0x00000000 | isr status reg
driver status:
  tx ring  0: qid=0  cur=5   queued=0
  tx ring  1: qid=1  cur=0   queued=0
  tx ring  2: qid=2  cur=0   queued=0
  tx ring  3: qid=3  cur=0   queued=0
  tx ring  4: qid=4  cur=0   queued=0
  tx ring  5: qid=5  cur=0   queued=0
  tx ring  6: qid=6  cur=0   queued=0
  tx ring  7: qid=7  cur=0   queued=0
  tx ring  8: qid=8  cur=0   queued=0
  tx ring  9: qid=9  cur=0   queued=0
  tx ring 10: qid=10 cur=0   queued=0
  tx ring 11: qid=11 cur=0   queued=0
  tx ring 12: qid=12 cur=0   queued=0
  tx ring 13: qid=13 cur=0   queued=0
  tx ring 14: qid=14 cur=0   queued=0
  tx ring 15: qid=15 cur=0   queued=0
  tx ring 16: qid=16 cur=0   queued=0
  tx ring 17: qid=17 cur=0   queued=0
  tx ring 18: qid=18 cur=0   queued=0
  tx ring 19: qid=19 cur=0   queued=0
  tx ring 20: qid=20 cur=0   queued=0
  tx ring 21: qid=21 cur=0   queued=0
  tx ring 22: qid=22 cur=0   queued=0
  tx ring 23: qid=23 cur=0   queued=0
  tx ring 24: qid=24 cur=0   queued=0
  tx ring 25: qid=25 cur=0   queued=0
  tx ring 26: qid=26 cur=0   queued=0
  tx ring 27: qid=27 cur=0   queued=0
  tx ring 28: qid=28 cur=0   queued=0
  tx ring 29: qid=29 cur=0   queued=0
  tx ring 30: qid=30 cur=0   queued=0
  rx ring: cur=263
  802.11 state INIT
iwx0: fatal firmware error

ifconfig  iwx0 up creates the crashes.

Could it be the beta did not load the right firmware ? or is there come MAC
address restriction ?

# strings /etc/firmware/iwx-cc-a0-46  | grep rel
release/core43_pv::177b3e46
# md5 /etc/firmware/iwx-cc-a0-46
MD5 (/etc/firmware/iwx-cc-a0-46) = babe453e0bc18ec93768ec6f002d8229

--
--
---------------------------------------------------------------------------------------------------------------------
Knowing is not enough; we must apply. Willing is not enough; we must do
Reply | Threaded
Open this post in threaded view
|

Re: 6.7 snaps upgrade went fine - Intel ax200ngw not so much

Stefan Sperling-5
On Fri, May 08, 2020 at 11:51:50AM -0400, sven falempin wrote:
> I upgraded to 6.7 - beta a tftp server i use
>
> Not much to report as the device is basic but i wanted to test some wifi on
> it.
>
> iwx0 at pci8 dev 0 function 0 "Intel Wi-Fi 6 AX200" rev 0x1a, msix
>
> The firmware crashes at start,

It looks like a failure of the NVM_ACCESS command:

> iwx0: 0x00050088 | last host cmd

#define IWX_NVM_ACCESS_CMD 0x88

> no config down:

What does "no config down" mean?

If you could provide an exact sequence of steps anyone without prior knowledge
could perform in order to repeat this problem, then I would take a look.
Please don't assume that I already knew. I have never seen this error.

Reply | Threaded
Open this post in threaded view
|

Re: 6.7 snaps upgrade went fine - Intel ax200ngw not so much

sven falempin
On Sat, May 9, 2020 at 4:14 AM Stefan Sperling <[hidden email]> wrote:

> On Fri, May 08, 2020 at 11:51:50AM -0400, sven falempin wrote:
> > I upgraded to 6.7 - beta a tftp server i use
> >
> > Not much to report as the device is basic but i wanted to test some wifi
> on
> > it.
> >
> > iwx0 at pci8 dev 0 function 0 "Intel Wi-Fi 6 AX200" rev 0x1a, msix
> >
> > The firmware crashes at start,
>
> It looks like a failure of the NVM_ACCESS command:
>
> > iwx0: 0x00050088 | last host cmd
>
> #define IWX_NVM_ACCESS_CMD      0x88
>
> > no config down:
>
> What does "no config down" mean?
>
> If you could provide an exact sequence of steps anyone without prior
> knowledge
> could perform in order to repeat this problem, then I would take a look.
> Please don't assume that I already knew. I have never seen this error.
>

"no config, interface is down", Did not do anything special,
upgrade => Plug card => boot => crash

I tested with the intel firmware it does the same.

Full Dmesg :

OpenBSD 6.7 (GENERIC.MP) #182: Thu May  7 11:11:58 MDT 2020
    [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
real mem = 7975399424 (7605MB)
avail mem = 7721066496 (7363MB)
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.7 @ 0xebee0 (48 entries)
bios0: vendor American Megatrends Inc. version "F2" date 06/20/2014
bios0: Gigabyte Technology Co., Ltd. AM1M-S2H
acpi0 at bios0: ACPI 5.0
acpi0: sleep states S0 S3 S4 S5
acpi0: tables DSDT FACP APIC FPDT MCFG HPET SSDT SSDT CRAT SSDT
acpi0: wakeup devices BR11(S4) GPP0(S4) GPP1(S4) GBE_(S4) GPP2(S4) GPP3(S4)
SBAZ(S4) PS2K(S3) OHC1(S4) EHC1(S4) OHC2(S4) EHC2(S4) OHC3(S4) EHC3(S4)
XHC0(S4) PWRB(S3)
acpitimer0 at acpi0: 3579545 Hz, 32 bits
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: AMD Athlon(tm) 5350 APU with Radeon(tm) R3, 2046.44 MHz, 16-00-01
cpu0:
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PCTRL3,ITSC,BMI1,XSAVEOPT
cpu0: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB
64b/line 16-way L2 cache
cpu0: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
cpu0: DTLB 40 4KB entries fully associative, 8 4MB entries fully associative
cpu0: smt 0, core 0, package 0
mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
cpu0: apic clock running at 99MHz
cpu0: mwait min=64, max=64, IBE
cpu1 at mainbus0: apid 1 (application processor)
cpu1: AMD Athlon(tm) 5350 APU with Radeon(tm) R3, 2046.17 MHz, 16-00-01
cpu1:
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PCTRL3,ITSC,BMI1,XSAVEOPT
cpu1: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB
64b/line 16-way L2 cache
cpu1: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
cpu1: DTLB 40 4KB entries fully associative, 8 4MB entries fully associative
cpu1: smt 0, core 1, package 0
cpu2 at mainbus0: apid 2 (application processor)
cpu2: AMD Athlon(tm) 5350 APU with Radeon(tm) R3, 2046.17 MHz, 16-00-01
cpu2:
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PCTRL3,ITSC,BMI1,XSAVEOPT
cpu2: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB
64b/line 16-way L2 cache
cpu2: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
cpu2: DTLB 40 4KB entries fully associative, 8 4MB entries fully associative
cpu2: smt 0, core 2, package 0
cpu3 at mainbus0: apid 3 (application processor)
cpu3: AMD Athlon(tm) 5350 APU with Radeon(tm) R3, 2046.17 MHz, 16-00-01
cpu3:
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PCTRL3,ITSC,BMI1,XSAVEOPT
cpu3: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB
64b/line 16-way L2 cache
cpu3: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
cpu3: DTLB 40 4KB entries fully associative, 8 4MB entries fully associative
cpu3: smt 0, core 3, package 0
ioapic0 at mainbus0: apid 5 pa 0xfec00000, version 21, 24 pins
ioapic1 at mainbus0: apid 6 pa 0xfec01000, version 21, 32 pins
acpimcfg0 at acpi0
acpimcfg0: addr 0xe0000000, bus 0-255
acpihpet0 at acpi0: 14318180 Hz
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus -1 (BR11)
acpiprt2 at acpi0: bus 1 (GPP0)
acpiprt3 at acpi0: bus 7 (GPP1)
acpiprt4 at acpi0: bus 8 (GPP2)
acpiprt5 at acpi0: bus -1 (GPP3)
acpicpu0 at acpi0: C2(0@400 io@0x414), C1(@1 halt!), PSS
acpicpu1 at acpi0: C2(0@400 io@0x414), C1(@1 halt!), PSS
acpicpu2 at acpi0: C2(0@400 io@0x414), C1(@1 halt!), PSS
acpicpu3 at acpi0: C2(0@400 io@0x414), C1(@1 halt!), PSS
acpipci0 at acpi0 PCI0: 0x00000010 0x00000011 0x00000000
acpicmos0 at acpi0
acpibtn0 at acpi0: PWRB
cpu0: 2046 MHz: speeds: 2050 1850 1650 1400 1200 1000 800 MHz
pci0 at mainbus0 bus 0
pchb0 at pci0 dev 0 function 0 "AMD 16h Host" rev 0x00
radeondrm0 at pci0 dev 1 function 0 "ATI Kabini" rev 0x00
drm0 at radeondrm0
radeondrm0: msi
azalia0 at pci0 dev 1 function 1 "ATI Radeon HD Audio" rev 0x00: msi
azalia0: no supported codecs
pchb1 at pci0 dev 2 function 0 vendor "AMD", unknown product 0x1538 rev 0x00
ppb0 at pci0 dev 2 function 2 "AMD 16h PCIE" rev 0x00: msi
pci1 at ppb0 bus 1
ppb1 at pci1 dev 0 function 0 "IDT 89HPES5T5" rev 0x0e
pci2 at ppb1 bus 2
ppb2 at pci2 dev 2 function 0 "IDT 89HPES5T5" rev 0x0e
pci3 at ppb2 bus 3
em0 at pci3 dev 0 function 0 "Intel 82574L" rev 0x00: msi, address
00:00:24:d1:74:b4
ppb3 at pci2 dev 3 function 0 "IDT 89HPES5T5" rev 0x0e
pci4 at ppb3 bus 4
em1 at pci4 dev 0 function 0 "Intel 82574L" rev 0x00: msi, address
00:00:24:d1:74:b5
ppb4 at pci2 dev 4 function 0 "IDT 89HPES5T5" rev 0x0e
pci5 at ppb4 bus 5
em2 at pci5 dev 0 function 0 "Intel 82574L" rev 0x00: msi, address
00:00:24:d1:74:b6
ppb5 at pci2 dev 5 function 0 "IDT 89HPES5T5" rev 0x0e
pci6 at ppb5 bus 6
em3 at pci6 dev 0 function 0 "Intel 82574L" rev 0x00: msi, address
00:00:24:d1:74:b7
ppb6 at pci0 dev 2 function 3 "AMD 16h PCIE" rev 0x00: msi
pci7 at ppb6 bus 7
re0 at pci7 dev 0 function 0 "Realtek 8168" rev 0x0c: RTL8168G/8111G
(0x4c00), msi, address 40:8d:5c:c6:43:5d
rgephy0 at re0 phy 7: RTL8251 PHY, rev. 0
ppb7 at pci0 dev 2 function 4 "AMD 16h PCIE" rev 0x00: msi
pci8 at ppb7 bus 8
iwx0 at pci8 dev 0 function 0 "Intel Wi-Fi 6 AX200" rev 0x1a, msix
xhci0 at pci0 dev 16 function 0 "AMD Bolton xHCI" rev 0x01: msi, xHCI 1.0
usb0 at xhci0: USB revision 3.0
uhub0 at usb0 configuration 1 interface 0 "AMD xHCI root hub" rev 3.00/1.00
addr 1
ahci0 at pci0 dev 17 function 0 "AMD Hudson-2 SATA" rev 0x40: msi, AHCI 1.3
ahci0: port 0: 6.0Gb/s
scsibus1 at ahci0: 32 targets
sd0 at scsibus1 targ 0 lun 0: <ATA, CT1000MX500SSD1, M3CR>
naa.500a0751e204f2ea
sd0: 953869MB, 512 bytes/sector, 1953525168 sectors, thin
ohci0 at pci0 dev 18 function 0 "AMD Hudson-2 USB" rev 0x39: apic 5 int 18,
version 1.0, legacy support
ehci0 at pci0 dev 18 function 2 "AMD Hudson-2 USB2" rev 0x39: apic 5 int 17
usb1 at ehci0: USB revision 2.0
uhub1 at usb1 configuration 1 interface 0 "AMD EHCI root hub" rev 2.00/1.00
addr 1
ohci1 at pci0 dev 19 function 0 "AMD Hudson-2 USB" rev 0x39: apic 5 int 18,
version 1.0, legacy support
ehci1 at pci0 dev 19 function 2 "AMD Hudson-2 USB2" rev 0x39: apic 5 int 17
usb2 at ehci1: USB revision 2.0
uhub2 at usb2 configuration 1 interface 0 "AMD EHCI root hub" rev 2.00/1.00
addr 1
piixpm0 at pci0 dev 20 function 0 "AMD Hudson-2 SMBus" rev 0x3a: SMBus
disabled
pcib0 at pci0 dev 20 function 3 "AMD Hudson-2 LPC" rev 0x11
pchb2 at pci0 dev 24 function 0 "AMD 16h Link Cfg" rev 0x00
pchb3 at pci0 dev 24 function 1 "AMD 16h Address Map" rev 0x00
pchb4 at pci0 dev 24 function 2 "AMD 16h DRAM Cfg" rev 0x00
km0 at pci0 dev 24 function 3 "AMD 16h Misc Cfg" rev 0x00
pchb5 at pci0 dev 24 function 4 "AMD 16h CPU Power" rev 0x00
pchb6 at pci0 dev 24 function 5 vendor "AMD", unknown product 0x1535 rev
0x00
usb3 at ohci0: USB revision 1.0
uhub3 at usb3 configuration 1 interface 0 "AMD OHCI root hub" rev 1.00/1.00
addr 1
usb4 at ohci1: USB revision 1.0
uhub4 at usb4 configuration 1 interface 0 "AMD OHCI root hub" rev 1.00/1.00
addr 1
isa0 at pcib0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
pckbc0 at isa0 port 0x60/5 irq 1 irq 12
pckbd0 at pckbc0 (kbd slot)
wskbd0 at pckbd0: console keyboard
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
lpt0 at isa0 port 0x378/4 irq 7
vmm0 at mainbus0: SVM/RVI
ugen0 at uhub3 port 3 "Intel product 0x0029" rev 2.01/0.01 addr 2
uftdi0 at uhub4 port 1 configuration 1 interface 0 "FTDI FT232R USB UART"
rev 2.00/6.00 addr 2
ucom0 at uftdi0 portno 1
vscsi0 at root
scsibus2 at vscsi0: 256 targets
softraid0 at root
scsibus3 at softraid0: 256 targets
root on sd0a (37802f031808436c.a) swap on sd0b dump on sd0b
initializing kernel modesetting (KABINI 0x1002:0x9830 0x1458:0xD000 0x00).
radeondrm0: 1440x900, 32bpp
wsdisplay0 at radeondrm0 mux 1: console (std, vt100 emulation), using wskbd0
wsdisplay0: screen 1-5 added (std, vt100 emulation)

I also did ifconfig iwx0 down; ifconfig iwx0 debug, ifconfig iwx0 up
and it does that each time.

Best.
--
--
---------------------------------------------------------------------------------------------------------------------
Knowing is not enough; we must apply. Willing is not enough; we must do
Reply | Threaded
Open this post in threaded view
|

Re: 6.7 snaps upgrade went fine - Intel ax200ngw not so much

Stefan Sperling-5
On Sat, May 09, 2020 at 04:23:08PM -0400, sven falempin wrote:
> "no config, interface is down", Did not do anything special,
> upgrade => Plug card => boot => crash

> I tested with the intel firmware it does the same.

I'm sorry, but there is really not enough information in your messages
that would allow me to do anything other than just trying to somehow
reproduce this problem by chance.

Reply | Threaded
Open this post in threaded view
|

Re: 6.7 snaps upgrade went fine - Intel ax200ngw not so much

sven falempin
On Sun, May 10, 2020 at 4:51 AM Stefan Sperling <[hidden email]> wrote:

> On Sat, May 09, 2020 at 04:23:08PM -0400, sven falempin wrote:
> > "no config, interface is down", Did not do anything special,
> > upgrade => Plug card => boot => crash
>
> > I tested with the intel firmware it does the same.
>
> I'm sorry, but there is really not enough information in your messages
> that would allow me to do anything other than just trying to somehow
> reproduce this problem by chance.
>

I understand.

there is nothing I did that is outside what I tell,
the problem is constant,
unavoidable
and requires 0 config
nor any command to enter.


--
--
---------------------------------------------------------------------------------------------------------------------
Knowing is not enough; we must apply. Willing is not enough; we must do
Reply | Threaded
Open this post in threaded view
|

Re: 6.7 snaps upgrade went fine - Intel ax200ngw not so much

Stefan Sperling-5
On Sun, May 10, 2020 at 04:17:46PM -0400, sven falempin wrote:

> On Sun, May 10, 2020 at 4:51 AM Stefan Sperling <[hidden email]> wrote:
>
> > On Sat, May 09, 2020 at 04:23:08PM -0400, sven falempin wrote:
> > > "no config, interface is down", Did not do anything special,
> > > upgrade => Plug card => boot => crash
> >
> > > I tested with the intel firmware it does the same.
> >
> > I'm sorry, but there is really not enough information in your messages
> > that would allow me to do anything other than just trying to somehow
> > reproduce this problem by chance.
> >
>
> I understand.
>
> there is nothing I did that is outside what I tell,
> the problem is constant,
> unavoidable
> and requires 0 config
> nor any command to enter.

Yes, I believe what you are saying.

The problem is that this error is not happening to me, and to diagnose it
I need to see this same error happen on a machine I have in front of me.
Once we reach that point, I can silently work on it until I find a fix.
But before then, I cannot do anything. In order to try to replicate your
setup as closely as possible, I need to know what your setup looks like.

So, for example, knowing what hardware you have in front of you would be
a good first step. But your report lacks a dmesg.

Please follow the guidance given on https://www.openbsd.org/report.html
Any bit of information that is requested there, if you can tell us about it,
then please include it in your report. It will save us time in the long term.

Reply | Threaded
Open this post in threaded view
|

Re: 6.7 snaps upgrade went fine - Intel ax200ngw not so much

sven falempin
On Mon, May 11, 2020 at 5:52 AM Stefan Sperling <[hidden email]> wrote:

> On Sun, May 10, 2020 at 04:17:46PM -0400, sven falempin wrote:
> > On Sun, May 10, 2020 at 4:51 AM Stefan Sperling <[hidden email]> wrote:
> >
> > > On Sat, May 09, 2020 at 04:23:08PM -0400, sven falempin wrote:
> > > > "no config, interface is down", Did not do anything special,
> > > > upgrade => Plug card => boot => crash
> > >
> > > > I tested with the intel firmware it does the same.
> > >
> > > I'm sorry, but there is really not enough information in your messages
> > > that would allow me to do anything other than just trying to somehow
> > > reproduce this problem by chance.
> > >
> >
> > I understand.
> >
> > there is nothing I did that is outside what I tell,
> > the problem is constant,
> > unavoidable
> > and requires 0 config
> > nor any command to enter.
>
> Yes, I believe what you are saying.
>
> The problem is that this error is not happening to me, and to diagnose it
> I need to see this same error happen on a machine I have in front of me.
> Once we reach that point, I can silently work on it until I find a fix.
> But before then, I cannot do anything. In order to try to replicate your
> setup as closely as possible, I need to know what your setup looks like.
>
> So, for example, knowing what hardware you have in front of you would be
> a good first step. But your report lacks a dmesg.
>
> Please follow the guidance given on https://www.openbsd.org/report.html
> Any bit of information that is requested there, if you can tell us about
> it,
> then please include it in your report. It will save us time in the long
> term.
>

I changed the PCI slot used , verify the USB power,
removed the other PCI card ( cleaner dmesg ).

I also have two m2 modules , both of them do the same :-(

Dmesg

OpenBSD 6.7 (GENERIC.MP) #182: Thu May  7 11:11:58 MDT 2020
    [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
real mem = 7975399424 (7605MB)
avail mem = 7721070592 (7363MB)
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.7 @ 0xebee0 (48 entries)
bios0: vendor American Megatrends Inc. version "F2" date 06/20/2014
bios0: Gigabyte Technology Co., Ltd. AM1M-S2H
acpi0 at bios0: ACPI 5.0
acpi0: sleep states S0 S3 S4 S5
acpi0: tables DSDT FACP APIC FPDT MCFG HPET SSDT SSDT CRAT SSDT
acpi0: wakeup devices BR11(S4) GPP0(S4) GPP1(S4) GBE_(S4) GPP2(S4) GPP3(S4)
SBAZ(S4) PS2K(S3) OHC1(S4) EHC1(S4) OHC2(S4) EHC2(S4) OHC3(S4) EHC3(S4)
XHC0(S4) PWRB(S3)
acpitimer0 at acpi0: 3579545 Hz, 32 bits
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: AMD Athlon(tm) 5350 APU with Radeon(tm) R3, 2046.43 MHz, 16-00-01
cpu0:
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PCTRL3,ITSC,BMI1,XSAVEOPT
cpu0: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB
64b/line 16-way L2 cache
cpu0: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
cpu0: DTLB 40 4KB entries fully associative, 8 4MB entries fully associative
cpu0: smt 0, core 0, package 0
mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
cpu0: apic clock running at 99MHz
cpu0: mwait min=64, max=64, IBE
cpu1 at mainbus0: apid 1 (application processor)
cpu1: AMD Athlon(tm) 5350 APU with Radeon(tm) R3, 2046.16 MHz, 16-00-01
cpu1:
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PCTRL3,ITSC,BMI1,XSAVEOPT
cpu1: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB
64b/line 16-way L2 cache
cpu1: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
cpu1: DTLB 40 4KB entries fully associative, 8 4MB entries fully associative
cpu1: smt 0, core 1, package 0
cpu2 at mainbus0: apid 2 (application processor)
cpu2: AMD Athlon(tm) 5350 APU with Radeon(tm) R3, 2046.16 MHz, 16-00-01
cpu2:
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PCTRL3,ITSC,BMI1,XSAVEOPT
cpu2: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB
64b/line 16-way L2 cache
cpu2: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
cpu2: DTLB 40 4KB entries fully associative, 8 4MB entries fully associative
cpu2: smt 0, core 2, package 0
cpu3 at mainbus0: apid 3 (application processor)
cpu3: AMD Athlon(tm) 5350 APU with Radeon(tm) R3, 2046.16 MHz, 16-00-01
cpu3:
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PCTRL3,ITSC,BMI1,XSAVEOPT
cpu3: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB
64b/line 16-way L2 cache
cpu3: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
cpu3: DTLB 40 4KB entries fully associative, 8 4MB entries fully associative
cpu3: smt 0, core 3, package 0
ioapic0 at mainbus0: apid 5 pa 0xfec00000, version 21, 24 pins
ioapic1 at mainbus0: apid 6 pa 0xfec01000, version 21, 32 pins
acpimcfg0 at acpi0
acpimcfg0: addr 0xe0000000, bus 0-255
acpihpet0 at acpi0: 14318180 Hz
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus -1 (BR11)
acpiprt2 at acpi0: bus 1 (GPP0)
acpiprt3 at acpi0: bus 2 (GPP1)
acpiprt4 at acpi0: bus -1 (GPP2)
acpiprt5 at acpi0: bus -1 (GPP3)
acpicpu0 at acpi0: C2(0@400 io@0x414), C1(@1 halt!), PSS
acpicpu1 at acpi0: C2(0@400 io@0x414), C1(@1 halt!), PSS
acpicpu2 at acpi0: C2(0@400 io@0x414), C1(@1 halt!), PSS
acpicpu3 at acpi0: C2(0@400 io@0x414), C1(@1 halt!), PSS
acpipci0 at acpi0 PCI0: 0x00000010 0x00000011 0x00000000
acpicmos0 at acpi0
acpibtn0 at acpi0: PWRB
cpu0: 2046 MHz: speeds: 2050 1850 1650 1400 1200 1000 800 MHz
pci0 at mainbus0 bus 0
pchb0 at pci0 dev 0 function 0 "AMD 16h Host" rev 0x00
radeondrm0 at pci0 dev 1 function 0 "ATI Kabini" rev 0x00
drm0 at radeondrm0
radeondrm0: msi
azalia0 at pci0 dev 1 function 1 "ATI Radeon HD Audio" rev 0x00: msi
azalia0: no supported codecs
pchb1 at pci0 dev 2 function 0 vendor "AMD", unknown product 0x1538 rev 0x00
ppb0 at pci0 dev 2 function 2 "AMD 16h PCIE" rev 0x00: msi
pci1 at ppb0 bus 1
iwx0 at pci1 dev 0 function 0 "Intel Wi-Fi 6 AX200" rev 0x1a, msix
ppb1 at pci0 dev 2 function 3 "AMD 16h PCIE" rev 0x00: msi
pci2 at ppb1 bus 2
re0 at pci2 dev 0 function 0 "Realtek 8168" rev 0x0c: RTL8168G/8111G
(0x4c00), msi, address 40:8d:5c:c6:43:5d
rgephy0 at re0 phy 7: RTL8251 PHY, rev. 0
xhci0 at pci0 dev 16 function 0 "AMD Bolton xHCI" rev 0x01: msi, xHCI 1.0
usb0 at xhci0: USB revision 3.0
uhub0 at usb0 configuration 1 interface 0 "AMD xHCI root hub" rev 3.00/1.00
addr 1
ahci0 at pci0 dev 17 function 0 "AMD Hudson-2 SATA" rev 0x40: msi, AHCI 1.3
ahci0: port 0: 6.0Gb/s
scsibus1 at ahci0: 32 targets
sd0 at scsibus1 targ 0 lun 0: <ATA, CT1000MX500SSD1, M3CR>
naa.500a0751e204f2ea
sd0: 953869MB, 512 bytes/sector, 1953525168 sectors, thin
ohci0 at pci0 dev 18 function 0 "AMD Hudson-2 USB" rev 0x39: apic 5 int 18,
version 1.0, legacy support
ehci0 at pci0 dev 18 function 2 "AMD Hudson-2 USB2" rev 0x39: apic 5 int 17
usb1 at ehci0: USB revision 2.0
uhub1 at usb1 configuration 1 interface 0 "AMD EHCI root hub" rev 2.00/1.00
addr 1
ohci1 at pci0 dev 19 function 0 "AMD Hudson-2 USB" rev 0x39: apic 5 int 18,
version 1.0, legacy support
ehci1 at pci0 dev 19 function 2 "AMD Hudson-2 USB2" rev 0x39: apic 5 int 17
usb2 at ehci1: USB revision 2.0
uhub2 at usb2 configuration 1 interface 0 "AMD EHCI root hub" rev 2.00/1.00
addr 1
piixpm0 at pci0 dev 20 function 0 "AMD Hudson-2 SMBus" rev 0x3a: SMBus
disabled
pcib0 at pci0 dev 20 function 3 "AMD Hudson-2 LPC" rev 0x11
pchb2 at pci0 dev 24 function 0 "AMD 16h Link Cfg" rev 0x00
pchb3 at pci0 dev 24 function 1 "AMD 16h Address Map" rev 0x00
pchb4 at pci0 dev 24 function 2 "AMD 16h DRAM Cfg" rev 0x00
km0 at pci0 dev 24 function 3 "AMD 16h Misc Cfg" rev 0x00
pchb5 at pci0 dev 24 function 4 "AMD 16h CPU Power" rev 0x00
pchb6 at pci0 dev 24 function 5 vendor "AMD", unknown product 0x1535 rev
0x00
usb3 at ohci0: USB revision 1.0
uhub3 at usb3 configuration 1 interface 0 "AMD OHCI root hub" rev 1.00/1.00
addr 1
usb4 at ohci1: USB revision 1.0
uhub4 at usb4 configuration 1 interface 0 "AMD OHCI root hub" rev 1.00/1.00
addr 1
isa0 at pcib0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
pckbc0 at isa0 port 0x60/5 irq 1 irq 12
pckbd0 at pckbc0 (kbd slot)
wskbd0 at pckbd0: console keyboard
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
lpt0 at isa0 port 0x378/4 irq 7
vmm0 at mainbus0: SVM/RVI
ugen0 at uhub3 port 3 "Intel product 0x0029" rev 2.01/0.01 addr 2
uftdi0 at uhub4 port 1 configuration 1 interface 0 "FTDI FT232R USB UART"
rev 2.00/6.00 addr 2
ucom0 at uftdi0 portno 1
vscsi0 at root
scsibus2 at vscsi0: 256 targets
softraid0 at root
scsibus3 at softraid0: 256 targets
root on sd0a (37802f031808436c.a) swap on sd0b dump on sd0b
initializing kernel modesetting (KABINI 0x1002:0x9830 0x1458:0xD000 0x00).
radeondrm0: 1440x900, 32bpp
wsdisplay0 at radeondrm0 mux 1: console (std, vt100 emulation), using wskbd0
wsdisplay0: screen 1-5 added (std, vt100 emulation)
iwx0: dumping device error log
iwx0: Start Error Log Dump:
iwx0: Status: 0x1, count: 6
iwx0: 0x00000071 | NMI_INTERRUPT_UMAC_FATAL
iwx0: 002022F0 | trm_hw_status0
iwx0: 00000000 | trm_hw_status1
iwx0: 004FC308 | branchlink2
iwx0: 00016E5A | interruptlink1
iwx0: 00016E5A | interruptlink2
iwx0: 004F9F62 | data1
iwx0: 00001000 | data2
iwx0: F0000008 | data3
iwx0: 00000000 | beacon time
iwx0: 00011A2E | tsf low
iwx0: 00000000 | tsf hi
iwx0: 00000000 | time gp1
iwx0: 00011A2F | time gp2
iwx0: 00000001 | uCode revision type
iwx0: 0000002E | uCode version major
iwx0: 177B3E46 | uCode version minor
iwx0: 00000340 | hw version
iwx0: 18889000 | board version
iwx0: 800AFD0C | hcmd
iwx0: 00020000 | isr0
iwx0: 00000000 | isr1
iwx0: 18F00002 | isr2
iwx0: 00C0000C | isr3
iwx0: 00000000 | isr4
iwx0: 00000000 | last cmd Id
iwx0: 004F9F62 | wait_event
iwx0: 00000000 | l2p_control
iwx0: 00000020 | l2p_duration
iwx0: 00000000 | l2p_mhvalid
iwx0: 00000000 | l2p_addr_match
iwx0: 00000009 | lmpm_pmg_sel
iwx0: 19071335 | timestamp
iwx0: 00000024 | flow_handler
iwx0: Start UMAC Error Log Dump:
iwx0: Status: 0x1, count: 7
iwx0: 0x201010A3 | ADVANCED_SYSASSERT
iwx0: 0x00000000 | umac branchlink1
iwx0: 0xC008B1C0 | umac branchlink2
iwx0: 0xC0084E04 | umac interruptlink1
iwx0: 0x00000000 | umac interruptlink2
iwx0: 0x00000002 | umac data1
iwx0: 0x00000001 | umac data2
iwx0: 0xDEADBEEF | umac data3
iwx0: 0x0000002E | umac major
iwx0: 0x177B3E46 | umac minor
iwx0: 0x00011A1F | frame pointer
iwx0: 0xC0886C6C | stack pointer
iwx0: 0x00050C00 | last host cmd
iwx0: 0x00000000 | isr status reg
driver status:
  tx ring  0: qid=0  cur=6   queued=0
  tx ring  1: qid=1  cur=0   queued=0
  tx ring  2: qid=2  cur=0   queued=0
  tx ring  3: qid=3  cur=0   queued=0
  tx ring  4: qid=4  cur=0   queued=0
  tx ring  5: qid=5  cur=0   queued=0
  tx ring  6: qid=6  cur=0   queued=0
  tx ring  7: qid=7  cur=0   queued=0
  tx ring  8: qid=8  cur=0   queued=0
  tx ring  9: qid=9  cur=0   queued=0
  tx ring 10: qid=10 cur=0   queued=0
  tx ring 11: qid=11 cur=0   queued=0
  tx ring 12: qid=12 cur=0   queued=0
  tx ring 13: qid=13 cur=0   queued=0
  tx ring 14: qid=14 cur=0   queued=0
  tx ring 15: qid=15 cur=0   queued=0
  tx ring 16: qid=16 cur=0   queued=0
  tx ring 17: qid=17 cur=0   queued=0
  tx ring 18: qid=18 cur=0   queued=0
  tx ring 19: qid=19 cur=0   queued=0
  tx ring 20: qid=20 cur=0   queued=0
  tx ring 21: qid=21 cur=0   queued=0
  tx ring 22: qid=22 cur=0   queued=0
  tx ring 23: qid=23 cur=0   queued=0
  tx ring 24: qid=24 cur=0   queued=0
  tx ring 25: qid=25 cur=0   queued=0
  tx ring 26: qid=26 cur=0   queued=0
  tx ring 27: qid=27 cur=0   queued=0
  tx ring 28: qid=28 cur=0   queued=0
  tx ring 29: qid=29 cur=0   queued=0
  tx ring 30: qid=30 cur=0   queued=0
  rx ring: cur=264
  802.11 state INIT
iwx0: fatal firmware error

# for v in  /etc/hostname.*; do echo $v; cat $v; done
/etc/hostname.em1
#rdomain 1
192.168.8.1 255.255.255.0
/etc/hostname.re0
dhcp
# strings /etc/firmware/iwx-cc-a0-46  | grep rel
release/core43_pv::177b3e46
# md5 /etc/firmware/iwx-cc-a0-46
MD5 (/etc/firmware/iwx-cc-a0-46) = babe453e0bc18ec93768ec6f002d8229
# ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 32768
        index 4 priority 0 llprio 3
        groups: lo
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
        inet 127.0.0.1 netmask 0xff000000
iwx0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:00:00:00:00:00
        index 1 priority 4 llprio 3
        groups: wlan
        media: IEEE802.11 autoselect
        status: no network
        ieee80211: nwid ""
re0: flags=808843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,AUTOCONF4> mtu 1500
        lladdr 40:8d:5c:c6:43:5d
        index 2 priority 0 llprio 3
        groups: egress
        media: Ethernet autoselect (100baseTX full-duplex,rxpause,txpause)
        status: active
        inet 172.16.1.2 netmask 0xffffff00 broadcast 172.16.1.255
enc0: flags=0<>
        index 3 priority 0 llprio 3
        groups: enc
        status: active
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33136
        index 5 priority 0 llprio 3
        groups: pflog

Do not know what to do.
Reply | Threaded
Open this post in threaded view
|

Re: 6.7 snaps upgrade went fine - Intel ax200ngw not so much

sven falempin
>
> OpenBSD 6.7 (GENERIC.MP) #182: Thu May  7 11:11:58 MDT 2020
>     [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> real mem = 7975399424 (7605MB)
> avail mem = 7721070592 (7363MB)
> mpath0 at root
> scsibus0 at mpath0: 256 targets
> mainbus0 at root
> bios0 at mainbus0: SMBIOS rev. 2.7 @ 0xebee0 (48 entries)
> bios0: vendor American Megatrends Inc. version "F2" date 06/20/2014
> bios0: Gigabyte Technology Co., Ltd. AM1M-S2H
> acpi0 at bios0: ACPI 5.0
> acpi0: sleep states S0 S3 S4 S5
> acpi0: tables DSDT FACP APIC FPDT MCFG HPET SSDT SSDT CRAT SSDT
> acpi0: wakeup devices BR11(S4) GPP0(S4) GPP1(S4) GBE_(S4) GPP2(S4) GPP3(S4) SBAZ(S4) PS2K(S3) OHC1(S4) EHC1(S4) OHC2(S4) EHC2(S4) OHC3(S4) EHC3(S4) XHC0(S4) PWRB(S3)
> acpitimer0 at acpi0: 3579545 Hz, 32 bits
> acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
> cpu0 at mainbus0: apid 0 (boot processor)
> cpu0: AMD Athlon(tm) 5350 APU with Radeon(tm) R3, 2046.43 MHz, 16-00-01
> cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PCTRL3,ITSC,BMI1,XSAVEOPT
> cpu0: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB 64b/line 16-way L2 cache
> cpu0: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
> cpu0: DTLB 40 4KB entries fully associative, 8 4MB entries fully associative
> cpu0: smt 0, core 0, package 0
> mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
> cpu0: apic clock running at 99MHz
> cpu0: mwait min=64, max=64, IBE
> cpu1 at mainbus0: apid 1 (application processor)
> cpu1: AMD Athlon(tm) 5350 APU with Radeon(tm) R3, 2046.16 MHz, 16-00-01
> cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PCTRL3,ITSC,BMI1,XSAVEOPT
> cpu1: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB 64b/line 16-way L2 cache
> cpu1: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
> cpu1: DTLB 40 4KB entries fully associative, 8 4MB entries fully associative
> cpu1: smt 0, core 1, package 0
> cpu2 at mainbus0: apid 2 (application processor)
> cpu2: AMD Athlon(tm) 5350 APU with Radeon(tm) R3, 2046.16 MHz, 16-00-01
> cpu2: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PCTRL3,ITSC,BMI1,XSAVEOPT
> cpu2: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB 64b/line 16-way L2 cache
> cpu2: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
> cpu2: DTLB 40 4KB entries fully associative, 8 4MB entries fully associative
> cpu2: smt 0, core 2, package 0
> cpu3 at mainbus0: apid 3 (application processor)
> cpu3: AMD Athlon(tm) 5350 APU with Radeon(tm) R3, 2046.16 MHz, 16-00-01
> cpu3: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,MWAIT,SSSE3,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,TOPEXT,DBKP,PCTRL3,ITSC,BMI1,XSAVEOPT
> cpu3: 32KB 64b/line 2-way I-cache, 32KB 64b/line 8-way D-cache, 2MB 64b/line 16-way L2 cache
> cpu3: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
> cpu3: DTLB 40 4KB entries fully associative, 8 4MB entries fully associative
> cpu3: smt 0, core 3, package 0
> ioapic0 at mainbus0: apid 5 pa 0xfec00000, version 21, 24 pins
> ioapic1 at mainbus0: apid 6 pa 0xfec01000, version 21, 32 pins
> acpimcfg0 at acpi0
> acpimcfg0: addr 0xe0000000, bus 0-255
> acpihpet0 at acpi0: 14318180 Hz
> acpiprt0 at acpi0: bus 0 (PCI0)
> acpiprt1 at acpi0: bus -1 (BR11)
> acpiprt2 at acpi0: bus 1 (GPP0)
> acpiprt3 at acpi0: bus 2 (GPP1)
> acpiprt4 at acpi0: bus -1 (GPP2)
> acpiprt5 at acpi0: bus -1 (GPP3)
> acpicpu0 at acpi0: C2(0@400 io@0x414), C1(@1 halt!), PSS
> acpicpu1 at acpi0: C2(0@400 io@0x414), C1(@1 halt!), PSS
> acpicpu2 at acpi0: C2(0@400 io@0x414), C1(@1 halt!), PSS
> acpicpu3 at acpi0: C2(0@400 io@0x414), C1(@1 halt!), PSS
> acpipci0 at acpi0 PCI0: 0x00000010 0x00000011 0x00000000
> acpicmos0 at acpi0
> acpibtn0 at acpi0: PWRB
> cpu0: 2046 MHz: speeds: 2050 1850 1650 1400 1200 1000 800 MHz
> pci0 at mainbus0 bus 0
> pchb0 at pci0 dev 0 function 0 "AMD 16h Host" rev 0x00
> radeondrm0 at pci0 dev 1 function 0 "ATI Kabini" rev 0x00
> drm0 at radeondrm0
> radeondrm0: msi
> azalia0 at pci0 dev 1 function 1 "ATI Radeon HD Audio" rev 0x00: msi
> azalia0: no supported codecs
> pchb1 at pci0 dev 2 function 0 vendor "AMD", unknown product 0x1538 rev 0x00
> ppb0 at pci0 dev 2 function 2 "AMD 16h PCIE" rev 0x00: msi
> pci1 at ppb0 bus 1
> iwx0 at pci1 dev 0 function 0 "Intel Wi-Fi 6 AX200" rev 0x1a, msix
> ppb1 at pci0 dev 2 function 3 "AMD 16h PCIE" rev 0x00: msi
> pci2 at ppb1 bus 2
> re0 at pci2 dev 0 function 0 "Realtek 8168" rev 0x0c: RTL8168G/8111G (0x4c00), msi, address 40:8d:5c:c6:43:5d
> rgephy0 at re0 phy 7: RTL8251 PHY, rev. 0
> xhci0 at pci0 dev 16 function 0 "AMD Bolton xHCI" rev 0x01: msi, xHCI 1.0
> usb0 at xhci0: USB revision 3.0
> uhub0 at usb0 configuration 1 interface 0 "AMD xHCI root hub" rev 3.00/1.00 addr 1
> ahci0 at pci0 dev 17 function 0 "AMD Hudson-2 SATA" rev 0x40: msi, AHCI 1.3
> ahci0: port 0: 6.0Gb/s
> scsibus1 at ahci0: 32 targets
> sd0 at scsibus1 targ 0 lun 0: <ATA, CT1000MX500SSD1, M3CR> naa.500a0751e204f2ea
> sd0: 953869MB, 512 bytes/sector, 1953525168 sectors, thin
> ohci0 at pci0 dev 18 function 0 "AMD Hudson-2 USB" rev 0x39: apic 5 int 18, version 1.0, legacy support
> ehci0 at pci0 dev 18 function 2 "AMD Hudson-2 USB2" rev 0x39: apic 5 int 17
> usb1 at ehci0: USB revision 2.0
> uhub1 at usb1 configuration 1 interface 0 "AMD EHCI root hub" rev 2.00/1.00 addr 1
> ohci1 at pci0 dev 19 function 0 "AMD Hudson-2 USB" rev 0x39: apic 5 int 18, version 1.0, legacy support
> ehci1 at pci0 dev 19 function 2 "AMD Hudson-2 USB2" rev 0x39: apic 5 int 17
> usb2 at ehci1: USB revision 2.0
> uhub2 at usb2 configuration 1 interface 0 "AMD EHCI root hub" rev 2.00/1.00 addr 1
> piixpm0 at pci0 dev 20 function 0 "AMD Hudson-2 SMBus" rev 0x3a: SMBus disabled
> pcib0 at pci0 dev 20 function 3 "AMD Hudson-2 LPC" rev 0x11
> pchb2 at pci0 dev 24 function 0 "AMD 16h Link Cfg" rev 0x00
> pchb3 at pci0 dev 24 function 1 "AMD 16h Address Map" rev 0x00
> pchb4 at pci0 dev 24 function 2 "AMD 16h DRAM Cfg" rev 0x00
> km0 at pci0 dev 24 function 3 "AMD 16h Misc Cfg" rev 0x00
> pchb5 at pci0 dev 24 function 4 "AMD 16h CPU Power" rev 0x00
> pchb6 at pci0 dev 24 function 5 vendor "AMD", unknown product 0x1535 rev 0x00
> usb3 at ohci0: USB revision 1.0
> uhub3 at usb3 configuration 1 interface 0 "AMD OHCI root hub" rev 1.00/1.00 addr 1
> usb4 at ohci1: USB revision 1.0
> uhub4 at usb4 configuration 1 interface 0 "AMD OHCI root hub" rev 1.00/1.00 addr 1
> isa0 at pcib0
> isadma0 at isa0
> com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
> pckbc0 at isa0 port 0x60/5 irq 1 irq 12
> pckbd0 at pckbc0 (kbd slot)
> wskbd0 at pckbd0: console keyboard
> pcppi0 at isa0 port 0x61
> spkr0 at pcppi0
> lpt0 at isa0 port 0x378/4 irq 7
> vmm0 at mainbus0: SVM/RVI
> ugen0 at uhub3 port 3 "Intel product 0x0029" rev 2.01/0.01 addr 2
> uftdi0 at uhub4 port 1 configuration 1 interface 0 "FTDI FT232R USB UART" rev 2.00/6.00 addr 2
> ucom0 at uftdi0 portno 1
> vscsi0 at root
> scsibus2 at vscsi0: 256 targets
> softraid0 at root
> scsibus3 at softraid0: 256 targets
> root on sd0a (37802f031808436c.a) swap on sd0b dump on sd0b
> initializing kernel modesetting (KABINI 0x1002:0x9830 0x1458:0xD000 0x00).
> radeondrm0: 1440x900, 32bpp
> wsdisplay0 at radeondrm0 mux 1: console (std, vt100 emulation), using wskbd0
> wsdisplay0: screen 1-5 added (std, vt100 emulation)
> iwx0: dumping device error log
> iwx0: Start Error Log Dump:
> iwx0: Status: 0x1, count: 6
> iwx0: 0x00000071 | NMI_INTERRUPT_UMAC_FATAL
> iwx0: 002022F0 | trm_hw_status0
> iwx0: 00000000 | trm_hw_status1
> iwx0: 004FC308 | branchlink2
> iwx0: 00016E5A | interruptlink1
> iwx0: 00016E5A | interruptlink2
> iwx0: 004F9F62 | data1
> iwx0: 00001000 | data2
> iwx0: F0000008 | data3
> iwx0: 00000000 | beacon time
> iwx0: 00011A2E | tsf low
> iwx0: 00000000 | tsf hi
> iwx0: 00000000 | time gp1
> iwx0: 00011A2F | time gp2
> iwx0: 00000001 | uCode revision type
> iwx0: 0000002E | uCode version major
> iwx0: 177B3E46 | uCode version minor
> iwx0: 00000340 | hw version
> iwx0: 18889000 | board version
> iwx0: 800AFD0C | hcmd
> iwx0: 00020000 | isr0
> iwx0: 00000000 | isr1
> iwx0: 18F00002 | isr2
> iwx0: 00C0000C | isr3
> iwx0: 00000000 | isr4
> iwx0: 00000000 | last cmd Id
> iwx0: 004F9F62 | wait_event
> iwx0: 00000000 | l2p_control
> iwx0: 00000020 | l2p_duration
> iwx0: 00000000 | l2p_mhvalid
> iwx0: 00000000 | l2p_addr_match
> iwx0: 00000009 | lmpm_pmg_sel
> iwx0: 19071335 | timestamp
> iwx0: 00000024 | flow_handler
> iwx0: Start UMAC Error Log Dump:
> iwx0: Status: 0x1, count: 7
> iwx0: 0x201010A3 | ADVANCED_SYSASSERT
> iwx0: 0x00000000 | umac branchlink1
> iwx0: 0xC008B1C0 | umac branchlink2
> iwx0: 0xC0084E04 | umac interruptlink1
> iwx0: 0x00000000 | umac interruptlink2
> iwx0: 0x00000002 | umac data1
> iwx0: 0x00000001 | umac data2
> iwx0: 0xDEADBEEF | umac data3
> iwx0: 0x0000002E | umac major
> iwx0: 0x177B3E46 | umac minor
> iwx0: 0x00011A1F | frame pointer
> iwx0: 0xC0886C6C | stack pointer
> iwx0: 0x00050C00 | last host cmd
> iwx0: 0x00000000 | isr status reg
> driver status:
>   tx ring  0: qid=0  cur=6   queued=0
>   tx ring  1: qid=1  cur=0   queued=0
>   tx ring  2: qid=2  cur=0   queued=0
>   tx ring  3: qid=3  cur=0   queued=0
>   tx ring  4: qid=4  cur=0   queued=0
>   tx ring  5: qid=5  cur=0   queued=0
>   tx ring  6: qid=6  cur=0   queued=0
>   tx ring  7: qid=7  cur=0   queued=0
>   tx ring  8: qid=8  cur=0   queued=0
>   tx ring  9: qid=9  cur=0   queued=0
>   tx ring 10: qid=10 cur=0   queued=0
>   tx ring 11: qid=11 cur=0   queued=0
>   tx ring 12: qid=12 cur=0   queued=0
>   tx ring 13: qid=13 cur=0   queued=0
>   tx ring 14: qid=14 cur=0   queued=0
>   tx ring 15: qid=15 cur=0   queued=0
>   tx ring 16: qid=16 cur=0   queued=0
>   tx ring 17: qid=17 cur=0   queued=0
>   tx ring 18: qid=18 cur=0   queued=0
>   tx ring 19: qid=19 cur=0   queued=0
>   tx ring 20: qid=20 cur=0   queued=0
>   tx ring 21: qid=21 cur=0   queued=0
>   tx ring 22: qid=22 cur=0   queued=0
>   tx ring 23: qid=23 cur=0   queued=0
>   tx ring 24: qid=24 cur=0   queued=0
>   tx ring 25: qid=25 cur=0   queued=0
>   tx ring 26: qid=26 cur=0   queued=0
>   tx ring 27: qid=27 cur=0   queued=0
>   tx ring 28: qid=28 cur=0   queued=0
>   tx ring 29: qid=29 cur=0   queued=0
>   tx ring 30: qid=30 cur=0   queued=0
>   rx ring: cur=264
>   802.11 state INIT
> iwx0: fatal firmware error
>
> # for v in  /etc/hostname.*; do echo $v; cat $v; done
> /etc/hostname.em1
> #rdomain 1
> 192.168.8.1 255.255.255.0
> /etc/hostname.re0
> dhcp
> # strings /etc/firmware/iwx-cc-a0-46  | grep rel
> release/core43_pv::177b3e46
> # md5 /etc/firmware/iwx-cc-a0-46
> MD5 (/etc/firmware/iwx-cc-a0-46) = babe453e0bc18ec93768ec6f002d8229
> # ifconfig
> lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 32768
>         index 4 priority 0 llprio 3
>         groups: lo
>         inet6 ::1 prefixlen 128
>         inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
>         inet 127.0.0.1 netmask 0xff000000
> iwx0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
>         lladdr 00:00:00:00:00:00
>         index 1 priority 4 llprio 3
>         groups: wlan
>         media: IEEE802.11 autoselect
>         status: no network
>         ieee80211: nwid ""
> re0: flags=808843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,AUTOCONF4> mtu 1500
>         lladdr 40:8d:5c:c6:43:5d
>         index 2 priority 0 llprio 3
>         groups: egress
>         media: Ethernet autoselect (100baseTX full-duplex,rxpause,txpause)
>         status: active
>         inet 172.16.1.2 netmask 0xffffff00 broadcast 172.16.1.255
> enc0: flags=0<>
>         index 3 priority 0 llprio 3
>         groups: enc
>         status: active
> pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33136
>         index 5 priority 0 llprio 3
>         groups: pflog
>
> Do not know what to do.
>

*Please*
advise how to squeeze more information to thwart that problem.

--
--
---------------------------------------------------------------------------------------------------------------------
Knowing is not enough; we must apply. Willing is not enough; we must do

Reply | Threaded
Open this post in threaded view
|

Re: 6.7 snaps upgrade went fine - Intel ax200ngw not so much

Stuart Henderson
On 2020/05/13 13:46, sven falempin wrote:
> *Please*
> advise how to squeeze more information to thwart that problem.

If I had a card using a newly developed driver that was doing that,
I would remove the card, offer to send it to somebody working on the
driver if they want it, and replace it with an alternative..

Reply | Threaded
Open this post in threaded view
|

Re: 6.7 snaps upgrade went fine - Intel ax200ngw not so much

sven falempin
On Wed, May 13, 2020 at 2:24 PM Stuart Henderson <[hidden email]> wrote:
>
> On 2020/05/13 13:46, sven falempin wrote:
> > *Please*
> > advise how to squeeze more information to thwart that problem.
>
> If I had a card using a newly developed driver that was doing that,
> I would remove the card, offer to send it to somebody working on the
> driver if they want it, and replace it with an alternative..
>

It is possible to send the m2 wifi card out there to a Dev.
I can also recompile custom kernel with broad guidance
to dumping `things` .

As it is always good to have some test outside the dev bench.
I will check some #if DEBUG in the driver see if I can squeeze out
more information.

--
--
---------------------------------------------------------------------------------------------------------------------
Knowing is not enough; we must apply. Willing is not enough; we must do

Reply | Threaded
Open this post in threaded view
|

Re: 6.7 snaps upgrade went fine - Intel ax200ngw not so much

sven falempin
'good news'

I build a custom kernel with the DEBUG flag for the driver

ugen0 at uhub3 port 3 "Intel product 0x0029" rev 2.01/0.01 addr 2
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x203 done
iwx0: unexpected firmware response to command 0x203
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_cmd_done: command 0x88 done
iwx_send_cmd: sending command 0x88
iwx_cmd_done: command 0x88 done
iwx_send_cmd: sending command 0x88
iwx_cmd_done: command 0x88 done
iwx_send_cmd: sending command 0x88
iwx_cmd_done: command 0x88 done
iwx_send_cmd: sending command 0x88
iwx_cmd_done: command 0x88 done
iwx_send_cmd: sending command 0x88
iwx_cmd_done: command 0x88 done
iwx_send_cmd: sending command 0x88
iwx_cmd_done: command 0x88 done
iwx_send_cmd: sending command 0x88
iwx_cmd_done: command 0x88 done
iwx_send_cmd: sending command 0xc00
iwx_cmd_done: command 0xc00 done
iwx0: hw rev 0x340, fw ver 46.393952838.0, address f8:e4:e3:23:3c:46

I 'works' ,

shall i log more around like the reponse  here ?

iwx_cmd_done: command 0x203 done
iwx0: unexpected firmware response to command 0x203

Scanning worked !

--
--
---------------------------------------------------------------------------------------------------------------------
Knowing is not enough; we must apply. Willing is not enough; we must do

Reply | Threaded
Open this post in threaded view
|

Re: 6.7 snaps upgrade went fine - Intel ax200ngw not so much

Stefan Sperling-5
On Wed, May 13, 2020 at 07:55:02PM -0400, sven falempin wrote:
> 'good news'
>
> I build a custom kernel with the DEBUG flag for the driver

> I 'works' ,

This means that the driver is doing something too fast on your hardware,
and some miscommunication happens with the card as a result.

One way to work around this is to add DELAY calls. It is not the ideal
solution but would be a good first step to get the card working.

Can you disable debugging again and try the patch below instead?
If the problem re-appears, try to increase the amount of delay (up to 5000
seems reasonable). If increasing the DELAY value does not help, try to move
the DELAY call further down until it works.

The DELAY may even need to be moved into the while loop inside iwx_nvm_init().
But please try using the DELAY outside of a loop first.

Finding the right spot might take some time. Welcome to driver development :)

If you cannot find a spot for the DELAY that makes this work, then we will
have to wait for someone else who is seeing the same problem and tries harder.

diff 4a0fa473f5ea308b63ffd39645f73b2195291973 /usr/src
blob - 64c3641a2d0d07a9d899c0b7ccdbe46d46e17b96
file + sys/dev/pci/if_iwx.c
--- sys/dev/pci/if_iwx.c
+++ sys/dev/pci/if_iwx.c
@@ -3222,6 +3222,7 @@ iwx_run_init_mvm_ucode(struct iwx_softc *sc, int readn
  * Send init config command to mark that we are sending NVM
  * access commands
  */
+ DELAY(1000);
  err = iwx_send_cmd_pdu(sc, IWX_WIDE_ID(IWX_SYSTEM_GROUP,
     IWX_INIT_EXTENDED_CFG_CMD), 0, sizeof(init_cfg), &init_cfg);
  if (err)

Reply | Threaded
Open this post in threaded view
|

Re: 6.7 snaps upgrade went fine - Intel ax200ngw not so much

sven falempin
On Thu, May 14, 2020 at 5:55 AM Stefan Sperling <[hidden email]> wrote:

> On Wed, May 13, 2020 at 07:55:02PM -0400, sven falempin wrote:
> > 'good news'
> >
> > I build a custom kernel with the DEBUG flag for the driver
>
> > I 'works' ,
>
> This means that the driver is doing something too fast on your hardware,
> and some miscommunication happens with the card as a result.
>
> One way to work around this is to add DELAY calls. It is not the ideal
> solution but would be a good first step to get the card working.
>
> Can you disable debugging again and try the patch below instead?
> If the problem re-appears, try to increase the amount of delay (up to 5000
> seems reasonable). If increasing the DELAY value does not help, try to move
> the DELAY call further down until it works.
>
> The DELAY may even need to be moved into the while loop inside
> iwx_nvm_init().
> But please try using the DELAY outside of a loop first.
>
> Finding the right spot might take some time. Welcome to driver development
> :)
>
> If you cannot find a spot for the DELAY that makes this work, then we will
> have to wait for someone else who is seeing the same problem and tries
> harder.
>
> diff 4a0fa473f5ea308b63ffd39645f73b2195291973 /usr/src
> blob - 64c3641a2d0d07a9d899c0b7ccdbe46d46e17b96
> file + sys/dev/pci/if_iwx.c
> --- sys/dev/pci/if_iwx.c
> +++ sys/dev/pci/if_iwx.c
> @@ -3222,6 +3222,7 @@ iwx_run_init_mvm_ucode(struct iwx_softc *sc, int
> readn
>          * Send init config command to mark that we are sending NVM
>          * access commands
>          */
> +       DELAY(1000);
>         err = iwx_send_cmd_pdu(sc, IWX_WIDE_ID(IWX_SYSTEM_GROUP,
>             IWX_INIT_EXTENDED_CFG_CMD), 0, sizeof(init_cfg), &init_cfg);
>         if (err)
>


Index: if_iwx.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/if_iwx.c,v
retrieving revision 1.11
diff -u -p -r1.11 if_iwx.c
--- if_iwx.c    29 Apr 2020 13:13:30 -0000      1.11
+++ if_iwx.c    15 May 2020 15:08:45 -0000
@@ -3222,6 +3222,9 @@ iwx_run_init_mvm_ucode(struct iwx_softc
         * Send init config command to mark that we are sending NVM
         * access commands
         */
+       printf("%s: DELAYING\n", DEVNAME(sc));
+       DELAY(5000);
+
        err = iwx_send_cmd_pdu(sc, IWX_WIDE_ID(IWX_SYSTEM_GROUP,
            IWX_INIT_EXTENDED_CFG_CMD), 0, sizeof(init_cfg), &init_cfg);
        if (err)

Gave

iwx0: DELAYING
iwx0: dumping device error log
iwx0: Start Error Log Dump:
iwx0: Status: 0x1, count: 6
iwx0: 0x00000071 | NMI_INTERRUPT_UMAC_FATAL
iwx0: 0020A2F0 | trm_hw_status0
iwx0: 00000000 | trm_hw_status1
iwx0: 004FC308 | branchlink2
iwx0: 00016E5A | interruptlink1
iwx0: 00016E5A | interruptlink2
iwx0: 004F9F62 | data1
iwx0: 00001000 | data2
iwx0: F0000008 | data3
iwx0: 00000000 | beacon time
iwx0: 000115E1 | tsf low
iwx0: 00000000 | tsf hi
iwx0: 00000000 | time gp1
iwx0: 000115E2 | time gp2
iwx0: 00000001 | uCode revision type
iwx0: 0000002E | uCode version major
iwx0: 177B3E46 | uCode version minor
iwx0: 00000340 | hw version
iwx0: 18889000 | board version
iwx0: 800AFD0C | hcmd
iwx0: 20020000 | isr0
iwx0: 00000000 | isr1
iwx0: 18F00002 | isr2
iwx0: 00C0000C | isr3
iwx0: 00000000 | isr4
iwx0: 00000000 | last cmd Id
iwx0: 004F9F62 | wait_event
iwx0: 00000000 | l2p_control
iwx0: 00000020 | l2p_duration
iwx0: 00000000 | l2p_mhvalid
iwx0: 00000000 | l2p_addr_match
iwx0: 00000009 | lmpm_pmg_sel
iwx0: 19071335 | timestamp
iwx0: 00000828 | flow_handler
iwx0: Start UMAC Error Log Dump:
iwx0: Status: 0x1, count: 7
iwx0: 0x201010A3 | ADVANCED_SYSASSERT
iwx0: 0x00000000 | umac branchlink1
iwx0: 0xC008B1C0 | umac branchlink2
iwx0: 0xC0084E04 | umac interruptlink1
iwx0: 0x00000000 | umac interruptlink2
iwx0: 0x00000002 | umac data1
iwx0: 0x00000001 | umac data2
iwx0: 0xDEADBEEF | umac data3
iwx0: 0x0000002E | umac major
iwx0: 0x177B3E46 | umac minor
iwx0: 0x000115D2 | frame pointer
iwx0: 0xC0886C6C | stack pointer
iwx0: 0x00050C00 | last host cmd
iwx0: 0x00000000 | isr status reg
driver status:
  tx ring  0: qid=0  cur=6   queued=0
  tx ring  1: qid=1  cur=0   queued=0
  tx ring  2: qid=2  cur=0   queued=0
  tx ring  3: qid=3  cur=0   queued=0
  tx ring  4: qid=4  cur=0   queued=0
  tx ring  5: qid=5  cur=0   queued=0
  tx ring  6: qid=6  cur=0   queued=0
  tx ring  7: qid=7  cur=0   queued=0
  tx ring  8: qid=8  cur=0   queued=0
  tx ring  9: qid=9  cur=0   queued=0
  tx ring 10: qid=10 cur=0   queued=0
  tx ring 11: qid=11 cur=0   queued=0
  tx ring 12: qid=12 cur=0   queued=0
  tx ring 13: qid=13 cur=0   queued=0
  tx ring 14: qid=14 cur=0   queued=0
  tx ring 15: qid=15 cur=0   queued=0
  tx ring 16: qid=16 cur=0   queued=0
  tx ring 17: qid=17 cur=0   queued=0
  tx ring 18: qid=18 cur=0   queued=0
  tx ring 19: qid=19 cur=0   queued=0
  tx ring 20: qid=20 cur=0   queued=0
  tx ring 21: qid=21 cur=0   queued=0
  tx ring 22: qid=22 cur=0   queued=0
  tx ring 23: qid=23 cur=0   queued=0
  tx ring 24: qid=24 cur=0   queued=0
  tx ring 25: qid=25 cur=0   queued=0
  tx ring 26: qid=26 cur=0   queued=0
  tx ring 27: qid=27 cur=0   queued=0
  tx ring 28: qid=28 cur=0   queued=0
  tx ring 29: qid=29 cur=0   queued=0
  tx ring 30: qid=30 cur=0   queued=0
  rx ring: cur=265
  802.11 state INIT
iwx0: fatal firmware error

I think the delay must be somewhere after.


I know it s a bit silly , but would a test with

#ifdef IWX_DEBUG
#define DPRINTF(x)      do { if (iwx_debug > 0) printf x; } while (0)
#define DPRINTFN(n, x)  do { if (iwx_debug >= (n)) printf x; } while (0)
int iwx_debug = 1;
#else
#define DPRINTF(x)      do { DELAY(10); } while (1)
#define DPRINTFN(n, x)  do { DELAY(10); } while (1)
#endif

makes sense ?

--
--
---------------------------------------------------------------------------------------------------------------------
Knowing is not enough; we must apply. Willing is not enough; we must do
Reply | Threaded
Open this post in threaded view
|

Re: 6.7 snaps upgrade went fine - Intel ax200ngw not so much

Stefan Sperling-5
On Fri, May 15, 2020 at 11:11:44AM -0400, sven falempin wrote:

> Index: if_iwx.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/if_iwx.c,v
> retrieving revision 1.11
> diff -u -p -r1.11 if_iwx.c
> --- if_iwx.c    29 Apr 2020 13:13:30 -0000      1.11
> +++ if_iwx.c    15 May 2020 15:08:45 -0000
> @@ -3222,6 +3222,9 @@ iwx_run_init_mvm_ucode(struct iwx_softc
>          * Send init config command to mark that we are sending NVM
>          * access commands
>          */
> +       printf("%s: DELAYING\n", DEVNAME(sc));
> +       DELAY(5000);
> +
>         err = iwx_send_cmd_pdu(sc, IWX_WIDE_ID(IWX_SYSTEM_GROUP,
>             IWX_INIT_EXTENDED_CFG_CMD), 0, sizeof(init_cfg), &init_cfg);
>         if (err)
>
> Gave
>
> iwx0: DELAYING
> iwx0: dumping device error log
> iwx0: Start Error Log Dump:
> iwx0: Status: 0x1, count: 6
> iwx0: 0x00000071 | NMI_INTERRUPT_UMAC_FATAL
> iwx0: 0020A2F0 | trm_hw_status0
> iwx0: 00000000 | trm_hw_status1
> iwx0: 004FC308 | branchlink2
> iwx0: 00016E5A | interruptlink1
> iwx0: 00016E5A | interruptlink2
> iwx0: 004F9F62 | data1
> iwx0: 00001000 | data2
> iwx0: F0000008 | data3
> iwx0: 00000000 | beacon time
> iwx0: 000115E1 | tsf low
> iwx0: 00000000 | tsf hi
> iwx0: 00000000 | time gp1
> iwx0: 000115E2 | time gp2
> iwx0: 00000001 | uCode revision type
> iwx0: 0000002E | uCode version major
> iwx0: 177B3E46 | uCode version minor
> iwx0: 00000340 | hw version
> iwx0: 18889000 | board version
> iwx0: 800AFD0C | hcmd
> iwx0: 20020000 | isr0
> iwx0: 00000000 | isr1
> iwx0: 18F00002 | isr2
> iwx0: 00C0000C | isr3
> iwx0: 00000000 | isr4
> iwx0: 00000000 | last cmd Id
> iwx0: 004F9F62 | wait_event
> iwx0: 00000000 | l2p_control
> iwx0: 00000020 | l2p_duration
> iwx0: 00000000 | l2p_mhvalid
> iwx0: 00000000 | l2p_addr_match
> iwx0: 00000009 | lmpm_pmg_sel
> iwx0: 19071335 | timestamp
> iwx0: 00000828 | flow_handler
> iwx0: Start UMAC Error Log Dump:
> iwx0: Status: 0x1, count: 7
> iwx0: 0x201010A3 | ADVANCED_SYSASSERT
> iwx0: 0x00000000 | umac branchlink1
> iwx0: 0xC008B1C0 | umac branchlink2
> iwx0: 0xC0084E04 | umac interruptlink1
> iwx0: 0x00000000 | umac interruptlink2
> iwx0: 0x00000002 | umac data1
> iwx0: 0x00000001 | umac data2
> iwx0: 0xDEADBEEF | umac data3
> iwx0: 0x0000002E | umac major
> iwx0: 0x177B3E46 | umac minor
> iwx0: 0x000115D2 | frame pointer
> iwx0: 0xC0886C6C | stack pointer
> iwx0: 0x00050C00 | last host cmd
> iwx0: 0x00000000 | isr status reg
> driver status:
>   tx ring  0: qid=0  cur=6   queued=0
>   tx ring  1: qid=1  cur=0   queued=0
>   tx ring  2: qid=2  cur=0   queued=0
>   tx ring  3: qid=3  cur=0   queued=0
>   tx ring  4: qid=4  cur=0   queued=0
>   tx ring  5: qid=5  cur=0   queued=0
>   tx ring  6: qid=6  cur=0   queued=0
>   tx ring  7: qid=7  cur=0   queued=0
>   tx ring  8: qid=8  cur=0   queued=0
>   tx ring  9: qid=9  cur=0   queued=0
>   tx ring 10: qid=10 cur=0   queued=0
>   tx ring 11: qid=11 cur=0   queued=0
>   tx ring 12: qid=12 cur=0   queued=0
>   tx ring 13: qid=13 cur=0   queued=0
>   tx ring 14: qid=14 cur=0   queued=0
>   tx ring 15: qid=15 cur=0   queued=0
>   tx ring 16: qid=16 cur=0   queued=0
>   tx ring 17: qid=17 cur=0   queued=0
>   tx ring 18: qid=18 cur=0   queued=0
>   tx ring 19: qid=19 cur=0   queued=0
>   tx ring 20: qid=20 cur=0   queued=0
>   tx ring 21: qid=21 cur=0   queued=0
>   tx ring 22: qid=22 cur=0   queued=0
>   tx ring 23: qid=23 cur=0   queued=0
>   tx ring 24: qid=24 cur=0   queued=0
>   tx ring 25: qid=25 cur=0   queued=0
>   tx ring 26: qid=26 cur=0   queued=0
>   tx ring 27: qid=27 cur=0   queued=0
>   tx ring 28: qid=28 cur=0   queued=0
>   tx ring 29: qid=29 cur=0   queued=0
>   tx ring 30: qid=30 cur=0   queued=0
>   rx ring: cur=265
>   802.11 state INIT
> iwx0: fatal firmware error
>
> I think the delay must be somewhere after.

Ouch. Yes, looks like that's a bad spot.

Though it is an interesting observation that waiting there for a long time
causes another problem.

> I know it s a bit silly , but would a test with
>
> #ifdef IWX_DEBUG
> #define DPRINTF(x)      do { if (iwx_debug > 0) printf x; } while (0)
> #define DPRINTFN(n, x)  do { if (iwx_debug >= (n)) printf x; } while (0)
> int iwx_debug = 1;
> #else
> #define DPRINTF(x)      do { DELAY(10); } while (1)
> #define DPRINTFN(n, x)  do { DELAY(10); } while (1)
> #endif
>
> makes sense ?

Not really. That just puts DELAY(10) in some arbitrary places.
What we need to know is where exactly the driver is going too fast.

Reply | Threaded
Open this post in threaded view
|

Re: 6.7 snaps upgrade went fine - Intel ax200ngw not so much

sven falempin
On Fri, May 15, 2020 at 11:17 AM Stefan Sperling <[hidden email]> wrote:

> On Fri, May 15, 2020 at 11:11:44AM -0400, sven falempin wrote:
> > Index: if_iwx.c
> > ===================================================================
> > RCS file: /cvs/src/sys/dev/pci/if_iwx.c,v
> > retrieving revision 1.11
> > diff -u -p -r1.11 if_iwx.c
> > --- if_iwx.c    29 Apr 2020 13:13:30 -0000      1.11
> > +++ if_iwx.c    15 May 2020 15:08:45 -0000
> > @@ -3222,6 +3222,9 @@ iwx_run_init_mvm_ucode(struct iwx_softc
> >          * Send init config command to mark that we are sending NVM
> >          * access commands
> >          */
> > +       printf("%s: DELAYING\n", DEVNAME(sc));
> > +       DELAY(5000);
> > +
> >         err = iwx_send_cmd_pdu(sc, IWX_WIDE_ID(IWX_SYSTEM_GROUP,
> >             IWX_INIT_EXTENDED_CFG_CMD), 0, sizeof(init_cfg), &init_cfg);
> >         if (err)
> >
> > Gave
> >
> > iwx0: DELAYING
> > iwx0: dumping device error log
> > iwx0: Start Error Log Dump:
> > iwx0: Status: 0x1, count: 6
> > iwx0: 0x00000071 | NMI_INTERRUPT_UMAC_FATAL
> > iwx0: 0020A2F0 | trm_hw_status0
> > iwx0: 00000000 | trm_hw_status1
> > iwx0: 004FC308 | branchlink2
> > iwx0: 00016E5A | interruptlink1
> > iwx0: 00016E5A | interruptlink2
> > iwx0: 004F9F62 | data1
> > iwx0: 00001000 | data2
> > iwx0: F0000008 | data3
> > iwx0: 00000000 | beacon time
> > iwx0: 000115E1 | tsf low
> > iwx0: 00000000 | tsf hi
> > iwx0: 00000000 | time gp1
> > iwx0: 000115E2 | time gp2
> > iwx0: 00000001 | uCode revision type
> > iwx0: 0000002E | uCode version major
> > iwx0: 177B3E46 | uCode version minor
> > iwx0: 00000340 | hw version
> > iwx0: 18889000 | board version
> > iwx0: 800AFD0C | hcmd
> > iwx0: 20020000 | isr0
> > iwx0: 00000000 | isr1
> > iwx0: 18F00002 | isr2
> > iwx0: 00C0000C | isr3
> > iwx0: 00000000 | isr4
> > iwx0: 00000000 | last cmd Id
> > iwx0: 004F9F62 | wait_event
> > iwx0: 00000000 | l2p_control
> > iwx0: 00000020 | l2p_duration
> > iwx0: 00000000 | l2p_mhvalid
> > iwx0: 00000000 | l2p_addr_match
> > iwx0: 00000009 | lmpm_pmg_sel
> > iwx0: 19071335 | timestamp
> > iwx0: 00000828 | flow_handler
> > iwx0: Start UMAC Error Log Dump:
> > iwx0: Status: 0x1, count: 7
> > iwx0: 0x201010A3 | ADVANCED_SYSASSERT
> > iwx0: 0x00000000 | umac branchlink1
> > iwx0: 0xC008B1C0 | umac branchlink2
> > iwx0: 0xC0084E04 | umac interruptlink1
> > iwx0: 0x00000000 | umac interruptlink2
> > iwx0: 0x00000002 | umac data1
> > iwx0: 0x00000001 | umac data2
> > iwx0: 0xDEADBEEF | umac data3
> > iwx0: 0x0000002E | umac major
> > iwx0: 0x177B3E46 | umac minor
> > iwx0: 0x000115D2 | frame pointer
> > iwx0: 0xC0886C6C | stack pointer
> > iwx0: 0x00050C00 | last host cmd
> > iwx0: 0x00000000 | isr status reg
> > driver status:
> >   tx ring  0: qid=0  cur=6   queued=0
> >   tx ring  1: qid=1  cur=0   queued=0
> >   tx ring  2: qid=2  cur=0   queued=0
> >   tx ring  3: qid=3  cur=0   queued=0
> >   tx ring  4: qid=4  cur=0   queued=0
> >   tx ring  5: qid=5  cur=0   queued=0
> >   tx ring  6: qid=6  cur=0   queued=0
> >   tx ring  7: qid=7  cur=0   queued=0
> >   tx ring  8: qid=8  cur=0   queued=0
> >   tx ring  9: qid=9  cur=0   queued=0
> >   tx ring 10: qid=10 cur=0   queued=0
> >   tx ring 11: qid=11 cur=0   queued=0
> >   tx ring 12: qid=12 cur=0   queued=0
> >   tx ring 13: qid=13 cur=0   queued=0
> >   tx ring 14: qid=14 cur=0   queued=0
> >   tx ring 15: qid=15 cur=0   queued=0
> >   tx ring 16: qid=16 cur=0   queued=0
> >   tx ring 17: qid=17 cur=0   queued=0
> >   tx ring 18: qid=18 cur=0   queued=0
> >   tx ring 19: qid=19 cur=0   queued=0
> >   tx ring 20: qid=20 cur=0   queued=0
> >   tx ring 21: qid=21 cur=0   queued=0
> >   tx ring 22: qid=22 cur=0   queued=0
> >   tx ring 23: qid=23 cur=0   queued=0
> >   tx ring 24: qid=24 cur=0   queued=0
> >   tx ring 25: qid=25 cur=0   queued=0
> >   tx ring 26: qid=26 cur=0   queued=0
> >   tx ring 27: qid=27 cur=0   queued=0
> >   tx ring 28: qid=28 cur=0   queued=0
> >   tx ring 29: qid=29 cur=0   queued=0
> >   tx ring 30: qid=30 cur=0   queued=0
> >   rx ring: cur=265
> >   802.11 state INIT
> > iwx0: fatal firmware error
> >
> > I think the delay must be somewhere after.
>
> Ouch. Yes, looks like that's a bad spot.
>
> Though it is an interesting observation that waiting there for a long time
> causes another problem.
>
> > I know it s a bit silly , but would a test with
> >
> > #ifdef IWX_DEBUG
> > #define DPRINTF(x)      do { if (iwx_debug > 0) printf x; } while (0)
> > #define DPRINTFN(n, x)  do { if (iwx_debug >= (n)) printf x; } while (0)
> > int iwx_debug = 1;
> > #else
> > #define DPRINTF(x)      do { DELAY(10); } while (1)
> > #define DPRINTFN(n, x)  do { DELAY(10); } while (1)
> > #endif
> >
> > makes sense ?
>
> Not really. That just puts DELAY(10) in some arbitrary places.
> What we need to know is where exactly the driver is going too fast.
>

Current test.

# dmesg | grep fatal
iwx0: fatal firmware error 1
iwx0: fatal firmware error 1
iwx0: fatal firmware error 1
iwx0: fatal firmware error 1
iwx0: fatal firmware error 1
iwx0: fatal firmware error 1
iwx0: fatal firmware error 1
iwx0: fatal firmware error 1
iwx0: fatal firmware error 1
iwx0: fatal firmware error 1
iwx0: fatal firmware error 1
iwx0: fatal firmware error 1
iwx0: fatal firmware error 1
iwx0: fatal firmware error 1
iwx0: fatal firmware error 1
iwx0: fatal firmware error 1
iwx0: fatal firmware error 1
iwx0: fatal firmware error 1
iwx0: fatal firmware error 1
iwx0: fatal firmware error 1
iwx0: fatal firmware error 1
iwx0: fatal firmware error 1
iwx0: fatal firmware error 1
iwx0: fatal firmware error 1
iwx0: fatal firmware error 1
iwx0: fatal firmware error 1

[0]-[current]-[/usr/src/sys/dev/pci]
# cd /usr/src/sys/dev/pci/ ; cvs diff 2>/dev/null
Index: if_iwx.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/if_iwx.c,v
retrieving revision 1.11
diff -u -p -r1.11 if_iwx.c
--- if_iwx.c    29 Apr 2020 13:13:30 -0000      1.11
+++ if_iwx.c    16 May 2020 22:49:21 -0000
@@ -343,10 +343,8 @@ void       iwx_rx_tx_cmd(struct iwx_softc *, s
 void   iwx_rx_bmiss(struct iwx_softc *, struct iwx_rx_packet *,
            struct iwx_rx_data *);
 int    iwx_binding_cmd(struct iwx_softc *, struct iwx_node *, uint32_t);
-void   iwx_phy_ctxt_cmd_hdr(struct iwx_softc *, struct iwx_phy_ctxt *,
-           struct iwx_phy_context_cmd *, uint32_t, uint32_t);
-void   iwx_phy_ctxt_cmd_data(struct iwx_softc *, struct
iwx_phy_context_cmd *,
-           struct ieee80211_channel *, uint8_t, uint8_t);
+int    iwx_phy_ctxt_cmd_uhb(struct iwx_softc *, struct iwx_phy_ctxt *,
uint8_t,
+           uint8_t, uint32_t, uint32_t);
 int    iwx_phy_ctxt_cmd(struct iwx_softc *, struct iwx_phy_ctxt *, uint8_t,
            uint8_t, uint32_t, uint32_t);
 int    iwx_send_cmd(struct iwx_softc *, struct iwx_host_cmd *);
@@ -738,6 +736,7 @@ iwx_apply_debug_destination(struct iwx_s
                            DEVNAME(sc), op));
                        break;
                }
+               // DELAY(2);
        }

 monitor:
@@ -1380,7 +1379,7 @@ iwx_poll_bit(struct iwx_softc *sc, int r
                        return 0;
                }
                timo -= 10;
-               DELAY(10);
+               DELAY(20);
        }
 }

@@ -1396,7 +1395,7 @@ iwx_nic_lock(struct iwx_softc *sc)
        IWX_SETBITS(sc, IWX_CSR_GP_CNTRL,
            IWX_CSR_GP_CNTRL_REG_FLAG_MAC_ACCESS_REQ);

-       DELAY(2);
+       DELAY(20);

        if (iwx_poll_bit(sc, IWX_CSR_GP_CNTRL,
            IWX_CSR_GP_CNTRL_REG_VAL_MAC_ACCESS_EN,
@@ -3240,6 +3239,9 @@ iwx_run_init_mvm_ucode(struct iwx_softc
        if (err)
                return err;

+       // printf("%s: DELAYING\n", DEVNAME(sc));
+       // DELAY(2000);
+
        /* Wait for the init complete notification from the firmware. */
        while ((sc->sc_init_complete & wait_flags) != wait_flags) {
                err = tsleep_nsec(&sc->sc_init_complete, 0, "iwxinit",
@@ -3773,52 +3775,38 @@ iwx_binding_cmd(struct iwx_softc *sc, st
        return err;
 }

-void
-iwx_phy_ctxt_cmd_hdr(struct iwx_softc *sc, struct iwx_phy_ctxt *ctxt,
-    struct iwx_phy_context_cmd *cmd, uint32_t action, uint32_t apply_time)
+int
+iwx_phy_ctxt_cmd_uhb(struct iwx_softc *sc, struct iwx_phy_ctxt *ctxt,
+    uint8_t chains_static, uint8_t chains_dynamic, uint32_t action,
+    uint32_t apply_time)
 {
-       memset(cmd, 0, sizeof(struct iwx_phy_context_cmd));
+       struct ieee80211com *ic = &sc->sc_ic;
+       struct iwx_phy_context_cmd_uhb cmd;
+       uint8_t active_cnt, idle_cnt;
+       struct ieee80211_channel *chan = ctxt->channel;

-       cmd->id_and_color = htole32(IWX_FW_CMD_ID_AND_COLOR(ctxt->id,
+       memset(&cmd, 0, sizeof(cmd));
+       cmd.id_and_color = htole32(IWX_FW_CMD_ID_AND_COLOR(ctxt->id,
            ctxt->color));
-       cmd->action = htole32(action);
-       cmd->apply_time = htole32(apply_time);
-}
+       cmd.action = htole32(action);
+       cmd.apply_time = htole32(apply_time);

-void
-iwx_phy_ctxt_cmd_data(struct iwx_softc *sc, struct iwx_phy_context_cmd
*cmd,
-    struct ieee80211_channel *chan, uint8_t chains_static,
-    uint8_t chains_dynamic)
-{
-       struct ieee80211com *ic = &sc->sc_ic;
-       uint8_t active_cnt, idle_cnt;
+       cmd.ci.band = IEEE80211_IS_CHAN_2GHZ(chan) ?
+           IWX_PHY_BAND_24 : IWX_PHY_BAND_5;
+       cmd.ci.channel = htole32(ieee80211_chan2ieee(ic, chan));
+       cmd.ci.width = IWX_PHY_VHT_CHANNEL_MODE20;
+       cmd.ci.ctrl_pos = IWX_PHY_VHT_CTRL_POS_1_BELOW;

-       if (isset(sc->sc_enabled_capa,
IWX_UCODE_TLV_CAPA_ULTRA_HB_CHANNELS)) {
-               cmd->ci.band = IEEE80211_IS_CHAN_2GHZ(chan) ?
-                   IWX_PHY_BAND_24 : IWX_PHY_BAND_5;
-               cmd->ci.channel = htole32(ieee80211_chan2ieee(ic, chan));
-               cmd->ci.width = IWX_PHY_VHT_CHANNEL_MODE20;
-               cmd->ci.ctrl_pos = IWX_PHY_VHT_CTRL_POS_1_BELOW;
-       } else {
-               struct iwx_fw_channel_info_v1 *ci_v1;
-               ci_v1 = (struct iwx_fw_channel_info_v1 *)&cmd->ci;
-               ci_v1->band = IEEE80211_IS_CHAN_2GHZ(chan) ?
-                   IWX_PHY_BAND_24 : IWX_PHY_BAND_5;
-               ci_v1->channel = ieee80211_chan2ieee(ic, chan);
-               ci_v1->width = IWX_PHY_VHT_CHANNEL_MODE20;
-               ci_v1->ctrl_pos = IWX_PHY_VHT_CTRL_POS_1_BELOW;
-       }
-       /* Set rx the chains */
        idle_cnt = chains_static;
        active_cnt = chains_dynamic;
-
-       cmd->rxchain_info = htole32(iwx_fw_valid_rx_ant(sc) <<
+       cmd.rxchain_info = htole32(iwx_fw_valid_rx_ant(sc) <<
                                        IWX_PHY_RX_CHAIN_VALID_POS);
-       cmd->rxchain_info |= htole32(idle_cnt << IWX_PHY_RX_CHAIN_CNT_POS);
-       cmd->rxchain_info |= htole32(active_cnt <<
+       cmd.rxchain_info |= htole32(idle_cnt << IWX_PHY_RX_CHAIN_CNT_POS);
+       cmd.rxchain_info |= htole32(active_cnt <<
            IWX_PHY_RX_CHAIN_MIMO_CNT_POS);
+       cmd.txchain_info = htole32(iwx_fw_valid_tx_ant(sc));

-       cmd->txchain_info = htole32(iwx_fw_valid_tx_ant(sc));
+       return iwx_send_cmd_pdu(sc, IWX_PHY_CONTEXT_CMD, 0, sizeof(cmd),
&cmd);
 }

 int
@@ -3826,23 +3814,44 @@ iwx_phy_ctxt_cmd(struct iwx_softc *sc, s
     uint8_t chains_static, uint8_t chains_dynamic, uint32_t action,
     uint32_t apply_time)
 {
+       struct ieee80211com *ic = &sc->sc_ic;
        struct iwx_phy_context_cmd cmd;
-       size_t len;
-
-       iwx_phy_ctxt_cmd_hdr(sc, ctxt, &cmd, action, apply_time);
+       uint8_t active_cnt, idle_cnt;
+       struct ieee80211_channel *chan = ctxt->channel;

        /*
-        * Intel resized fw_channel_info struct and neglected to resize the
-        * phy_context_cmd struct which contains it; so magic happens with
-        * command length adjustments at run-time... :(
+        * Intel increased the size of the fw_channel_info struct and
neglected
+        * to bump the phy_context_cmd struct, which contains an
fw_channel_info
+        * member in the middle.
+        * To keep things simple we use a separate function to handle the
larger
+        * variant of the phy context command.
         */
-       iwx_phy_ctxt_cmd_data(sc, &cmd, ctxt->channel,
-           chains_static, chains_dynamic);
-       len = sizeof(struct iwx_phy_context_cmd);
-       if (!isset(sc->sc_enabled_capa,
IWX_UCODE_TLV_CAPA_ULTRA_HB_CHANNELS))
-               len -= (sizeof(struct iwx_fw_channel_info) -
-                   sizeof(struct iwx_fw_channel_info_v1));
-       return iwx_send_cmd_pdu(sc, IWX_PHY_CONTEXT_CMD, 0, len, &cmd);
+       if (isset(sc->sc_enabled_capa,
IWX_UCODE_TLV_CAPA_ULTRA_HB_CHANNELS))
+               return iwx_phy_ctxt_cmd_uhb(sc, ctxt, chains_static,
+                   chains_dynamic, action, apply_time);
+
+       memset(&cmd, 0, sizeof(cmd));
+       cmd.id_and_color = htole32(IWX_FW_CMD_ID_AND_COLOR(ctxt->id,
+           ctxt->color));
+       cmd.action = htole32(action);
+       cmd.apply_time = htole32(apply_time);
+
+       cmd.ci.band = IEEE80211_IS_CHAN_2GHZ(chan) ?
+           IWX_PHY_BAND_24 : IWX_PHY_BAND_5;
+       cmd.ci.channel = ieee80211_chan2ieee(ic, chan);
+       cmd.ci.width = IWX_PHY_VHT_CHANNEL_MODE20;
+       cmd.ci.ctrl_pos = IWX_PHY_VHT_CTRL_POS_1_BELOW;
+
+       idle_cnt = chains_static;
+       active_cnt = chains_dynamic;
+       cmd.rxchain_info = htole32(iwx_fw_valid_rx_ant(sc) <<
+                                       IWX_PHY_RX_CHAIN_VALID_POS);
+       cmd.rxchain_info |= htole32(idle_cnt << IWX_PHY_RX_CHAIN_CNT_POS);
+       cmd.rxchain_info |= htole32(active_cnt <<
+           IWX_PHY_RX_CHAIN_MIMO_CNT_POS);
+       cmd.txchain_info = htole32(iwx_fw_valid_tx_ant(sc));
+
+       return iwx_send_cmd_pdu(sc, IWX_PHY_CONTEXT_CMD, 0, sizeof(cmd),
&cmd);
 }

 int
@@ -7335,7 +7344,7 @@ iwx_intr(void *arg)
                    ieee80211_state_name[sc->sc_ic.ic_state]);
 #endif

-               printf("%s: fatal firmware error\n", DEVNAME(sc));
+               printf("%s: fatal firmware error 2\n", DEVNAME(sc));
                if ((sc->sc_flags & IWX_FLAG_SHUTDOWN) == 0)
                        task_add(systq, &sc->init_task);
                rv = 1;
@@ -7445,7 +7454,7 @@ iwx_intr_msix(void *arg)
                    ieee80211_state_name[sc->sc_ic.ic_state]);
 #endif

-               printf("%s: fatal firmware error\n", DEVNAME(sc));
+               printf("%s: fatal firmware error 1\n", DEVNAME(sc));
                if ((sc->sc_flags & IWX_FLAG_SHUTDOWN) == 0)
                        task_add(systq, &sc->init_task);
                return 1;
Index: if_iwxreg.h
===================================================================
RCS file: /cvs/src/sys/dev/pci/if_iwxreg.h,v
retrieving revision 1.2
diff -u -p -r1.2 if_iwxreg.h
--- if_iwxreg.h 28 Feb 2020 14:51:53 -0000      1.2
+++ if_iwxreg.h 16 May 2020 22:49:22 -0000
@@ -2794,7 +2794,15 @@ struct iwx_fw_channel_info {
  * @acquisition_data: ???
  * @dsp_cfg_flags: set to 0
  */
-struct iwx_phy_context_cmd {
+/*
+ * XXX Intel forgot to bump the PHY_CONTEXT command API when they increased
+ * the size of fw_channel_info from v1 to v2.
+ * To keep things simple we define two versions of this struct, and both
+ * are labled as CMD_API_VER_1. (The Linux iwlwifi driver performs dark
+ * magic with pointers to struct members instead.)
+ */
+/* This version must be used if IWX_UCODE_TLV_CAPA_ULTRA_HB_CHANNELS is
set: */
+struct iwx_phy_context_cmd_uhb {
        /* COMMON_INDEX_HDR_API_S_VER_1 */
        uint32_t id_and_color;
        uint32_t action;
@@ -2807,6 +2815,21 @@ struct iwx_phy_context_cmd {
        uint32_t acquisition_data;
        uint32_t dsp_cfg_flags;
 } __packed; /* IWX_PHY_CONTEXT_CMD_API_VER_1 */
+/* This version must be used otherwise: */
+struct iwx_phy_context_cmd {
+       /* COMMON_INDEX_HDR_API_S_VER_1 */
+       uint32_t id_and_color;
+       uint32_t action;
+       /* IWX_PHY_CONTEXT_DATA_API_S_VER_1 */
+       uint32_t apply_time;
+       uint32_t tx_param_color;
+       struct iwx_fw_channel_info_v1 ci;
+       uint32_t txchain_info;
+       uint32_t rxchain_info;
+       uint32_t acquisition_data;
+       uint32_t dsp_cfg_flags;
+} __packed; /* IWX_PHY_CONTEXT_CMD_API_VER_1 */
+

 #define IWX_RX_INFO_PHY_CNT 8
 #define IWX_RX_INFO_ENERGY_ANT_ABC_ID

#dmesg snip

iwx0: dumping device error log
iwx0: Start Error Log Dump:
iwx0: Status: 0x5, count: 6
iwx0: 0x00002073 | ADVANCED_SYSASSERT
iwx0: 000022F0 | trm_hw_status0
iwx0: 00000000 | trm_hw_status1
iwx0: 004FC308 | branchlink2
iwx0: 004E8926 | interruptlink1
iwx0: 004E8926 | interruptlink2
iwx0: 00000001 | data1
iwx0: 00000000 | data2
iwx0: DEADBEEF | data3
iwx0: 00000000 | beacon time
iwx0: 05C18CA0 | tsf low
iwx0: 00000000 | tsf hi
iwx0: 00000000 | time gp1
iwx0: 05C18CA1 | time gp2
iwx0: 00000001 | uCode revision type
iwx0: 0000002E | uCode version major
iwx0: 177B3E46 | uCode version minor
iwx0: 00000340 | hw version
iwx0: 18889000 | board version
iwx0: 80F9FC07 | hcmd
iwx0: 00020000 | isr0
iwx0: 00000000 | isr1
iwx0: 18F80002 | isr2
iwx0: 00C0A64C | isr3
iwx0: 00000000 | isr4
iwx0: 000900D2 | last cmd Id
iwx0: 00017240 | wait_event
iwx0: 00000000 | l2p_control
iwx0: 00000020 | l2p_duration
iwx0: 00000000 | l2p_mhvalid
iwx0: 00000080 | l2p_addr_match
iwx0: 00000009 | lmpm_pmg_sel
iwx0: 19071335 | timestamp
iwx0: 000098B8 | flow_handler
iwx0: Start UMAC Error Log Dump:
iwx0: Status: 0x5, count: 7
iwx0: 0x20000070 | NMI_INTERRUPT_LMAC_FATAL
iwx0: 0x00000000 | umac branchlink1
iwx0: 0xC008B1C0 | umac branchlink2
iwx0: 0x80489F5E | umac interruptlink1
iwx0: 0x80489F5E | umac interruptlink2
iwx0: 0x00000400 | umac data1
iwx0: 0x80489F5E | umac data2
iwx0: 0xDEADBEEF | umac data3
iwx0: 0x0000002E | umac major
iwx0: 0x177B3E46 | umac minor
iwx0: 0x05C18CB1 | frame pointer
iwx0: 0xC088628C | stack pointer
iwx0: 0x00030018 | last host cmd
iwx0: 0x00000000 | isr status reg
driver status:
  tx ring  0: qid=0  cur=0   queued=0
  tx ring  1: qid=1  cur=0   queued=0
  tx ring  2: qid=2  cur=0   queued=0
  tx ring  3: qid=3  cur=0   queued=0
  tx ring  4: qid=4  cur=0   queued=0
  tx ring  5: qid=5  cur=0   queued=0
  tx ring  6: qid=6  cur=0   queued=0
  tx ring  7: qid=7  cur=0   queued=0
  tx ring  8: qid=8  cur=0   queued=0
  tx ring  9: qid=9  cur=0   queued=0
  tx ring 10: qid=10 cur=0   queued=0
  tx ring 11: qid=11 cur=0   queued=0
  tx ring 12: qid=12 cur=0   queued=0
  tx ring 13: qid=13 cur=0   queued=0
  tx ring 14: qid=14 cur=0   queued=0
  tx ring 15: qid=15 cur=0   queued=0
  tx ring 16: qid=16 cur=0   queued=0
  tx ring 17: qid=17 cur=0   queued=0
  tx ring 18: qid=18 cur=0   queued=0
  tx ring 19: qid=19 cur=0   queued=0
  tx ring 20: qid=20 cur=0   queued=0
  tx ring 21: qid=21 cur=0   queued=0
  tx ring 22: qid=22 cur=0   queued=0
  tx ring 23: qid=23 cur=0   queued=0
  tx ring 24: qid=24 cur=0   queued=0
  tx ring 25: qid=25 cur=0   queued=0
  tx ring 26: qid=26 cur=0   queued=0
  tx ring 27: qid=27 cur=0   queued=0
  tx ring 28: qid=28 cur=0   queued=0
  tx ring 29: qid=29 cur=0   queued=0
  tx ring 30: qid=30 cur=0   queued=0
  rx ring: cur=154
  802.11 state SCAN
iwx0: fatal firmware error 1


Unsure it s a delay , maybe some kind of interrupt is missing
or a instruction is missing .

// DELAY , failed to fix anything ( tested one at a time ) last test same.

FAILED Sat May 16 17:52:42 EDT 2020 1589665962
OK Sat May 16 17:53:20 EDT 2020 1589666000
OK Sat May 16 17:53:59 EDT 2020 1589666039
OK Sat May 16 17:54:38 EDT 2020 1589666078
FAILED Sat May 16 17:55:21 EDT 2020 1589666121
OK Sat May 16 17:56:00 EDT 2020 1589666160
OK Sat May 16 17:56:39 EDT 2020 1589666199
OK Sat May 16 17:57:21 EDT 2020 1589666241
FAILED Sat May 16 17:58:06 EDT 2020 1589666286
OK Sat May 16 17:58:44 EDT 2020 1589666324
OK Sat May 16 17:59:23 EDT 2020 1589666363
OK Sat May 16 18:00:04 EDT 2020 1589666404
FAILED Sat May 16 18:00:48 EDT 2020 1589666448
OK Sat May 16 18:01:26 EDT 2020 1589666486
FAILED Sat May 16 18:02:10 EDT 2020 1589666530
FAILED Sat May 16 18:02:54 EDT 2020 1589666574
OK Sat May 16 18:03:33 EDT 2020 1589666613
FAILED Sat May 16 18:04:17 EDT 2020 1589666657
FAILED Sat May 16 18:05:00 EDT 2020 1589666700
OK Sat May 16 18:05:38 EDT 2020 1589666738
FAILED Sat May 16 18:06:22 EDT 2020 1589666782
OK Sat May 16 18:07:00 EDT 2020 1589666820
FAILED Sat May 16 18:07:43 EDT 2020 1589666863
FAILED Sat May 16 18:08:27 EDT 2020 1589666907
FAILED Sat May 16 18:09:10 EDT 2020 1589666950
OK Sat May 16 18:09:50 EDT 2020 1589666990
OK Sat May 16 18:10:29 EDT 2020 1589667029
FAILED Sat May 16 18:12:13 EDT 2020 1589667133
OK Sat May 16 18:12:53 EDT 2020 1589667173
FAILED Sat May 16 18:13:37 EDT 2020 1589667217
FAILED Sat May 16 18:14:20 EDT 2020 1589667260
FAILED Sat May 16 18:15:03 EDT 2020 1589667303
FAILED Sat May 16 18:15:46 EDT 2020 1589667346
FAILED Sat May 16 18:16:28 EDT 2020 1589667388
OK Sat May 16 18:17:07 EDT 2020 1589667427
OK Sat May 16 18:17:46 EDT 2020 1589667466
OK Sat May 16 18:18:25 EDT 2020 1589667505

--
--
---------------------------------------------------------------------------------------------------------------------
Knowing is not enough; we must apply. Willing is not enough; we must do
Reply | Threaded
Open this post in threaded view
|

Re: 6.7 snaps upgrade went fine - Intel ax200ngw not so much

sven falempin
 After a few days ... (free size too small  288 < 1024 /2 )

Maybe this can help make the driver better.

printf '%x\n' $((0x350+0xf7)) ; grep -A2 'if_iwx.c:515'  /tmp/iwx.dis
447
/usr/src/sys/dev/pci/if_iwx.c:515
     447:       41 c7 86 28 2f 05 00    movl   $0x0,0x52f28(%r14)
     44e:       00 00 00 00

[0]-[current]-[~]
# cat -n /usr/src/sys/dev/pci/if_iwx.c | grep -C5 -E '  515'
   510          /* free paging*/
   511          for (i = 0; i < dram->paging_cnt; i++)
   512                  iwx_dma_contig_free(dram->paging);
   513
   514          free(dram->paging, M_DEVBUF, dram->paging_cnt *
sizeof(*dram->paging));
   515          dram->paging_cnt = 0;
   516          dram->paging = NULL;
   517  }
   518
   519  int
   520  iwx_get_num_sections(const struct iwx_fw_sects *fws, int start

IMG_1149.jpg (2M) Download Attachment