(+86) 15013630202 sales@pcie.com

Facing issues with WiFi module on PCIe interface

Mar 04, 2024

Hi,


I am trying to get our WiFi module to work on the PCIe interface for the Xavier NX on our custom board. The module has the 88W8997 chipset.


The module is detected as shown by the lspci output. On boot, the wlP4p1s0 interface is seen in the ifconfig -a output. I can use wpa_supplicant to connect to my WiFi AP and ping websites. But as soon as the connection is established with the AP, I start seeing errors in the dmesg for mc-err and t19x-arm-smmu 12000000.iommu. These messages are continuously printed to the dmesg until I disconnect from the AP.


Snippet of the errors seen in the dmesg:


[Dec21 09:22] IPv6: ADDRCONF(NETDEV_UP): wlP4p1s0: link is not ready
[ +0.109750] mc-err: vpr base=0:c6000000, size=20, ctrl=3, override:(a01a8340, fcee10c1, 1, 0)
[ +0.000310] mc-err: (255) csw_pcie4w: MC request violates VPR requirements
[ +0.000276] mc-err: status = 0x0ff740e1; addr = 0xffffffff00; hi_adr_reg=008
[ +0.000231] mc-err: secure: yes, access-type: write
[ +0.000178] mc-err: mcerr: unknown intr source intstatus = 0x00000000, intstatus_1 = 0x00000000
[ +0.000033] t19x-arm-smmu 12000000.iommu: Unhandled context fault: smmu1, iova=0xfffa8980, fsynr=0x110013, cb=0, sid=90(0x5a - PCIE4), pgd=2716cf003, pud=2716cf003, pmd=275278003, pte=0
[ +3.875145] mwifiex_pcie 0004:01:00.0: info: trying to associate to 'AP' bssid xx:xx:xx:xx:xx:xx
[ +0.013582] mwifiex_pcie 0004:01:00.0: info: associated to bssid xx:xx:xx:xx:xx:xx successfully
[ +0.101247] IPv6: ADDRCONF(NETDEV_CHANGE): wlP4p1s0: link becomes ready
[ +1.050146] mc-err: Too many MC errors; throttling prints
[ +0.000301] t19x-arm-smmu 12000000.iommu: Unhandled context fault: smmu1, iova=0xfffb6980, fsynr=0x110013, cb=0, sid=90(0x5a - PCIE4), pgd=2716cf003, pud=2716cf003, pmd=275278003, pte=0
[ +0.321591] t19x-arm-smmu 12000000.iommu: Unhandled context fault: smmu1, iova=0xfffb6980, fsynr=0x110013, cb=0, sid=90(0x5a - PCIE4), pgd=2716cf003, pud=2716cf003, pmd=275278003, pte=0
[ +0.081404] t19x-arm-smmu 12000000.iommu: Unhandled context fault: smmu1, iova=0xfffa4980, fsynr=0x110013, cb=0, sid=90(0x5a - PCIE4), pgd=2716cf003, pud=2716cf003, pmd=275278003, pte=0
[ +0.131773] t19x-arm-smmu 12000000.iommu: Unhandled context fault: smmu1, iova=0xfffa2980, fsynr=0x110013, cb=0, sid=90(0x5a - PCIE4), pgd=2716cf003, pud=2716cf003, pmd=275278003, pte=0
[ +0.005743] t19x-arm-smmu 12000000.iommu: Unhandled context fault: smmu1, iova=0xfffa0980, fsynr=0x110013, cb=0, sid=90(0x5a - PCIE4), pgd=2716cf003, pud=2716cf003, pmd=275278003, pte=0
[ +0.210475] t19x-arm-smmu 12000000.iommu: Unhandled context fault: smmu1, iova=0xfff9e980, fsynr=0x110013, cb=0, sid=90(0x5a - PCIE4), pgd=2716cf003, pud=2716cf003, pmd=275278003, pte=0
[ +0.058157] t19x-arm-smmu 12000000.iommu: Unhandled context fault: smmu1, iova=0xfff9c980, fsynr=0x110013, cb=0, sid=90(0x5a - PCIE4), pgd=2716cf003, pud=2716cf003, pmd=275278003, pte=0
[ +0.096359] t19x-arm-smmu 12000000.iommu: Unhandled context fault: smmu1, iova=0xfff9a980, fsynr=0x110013, cb=0, sid=90(0x5a - PCIE4), pgd=2716cf003, pud=2716cf003, pmd=275278003, pte=0
[ +0.087796] t19x-arm-smmu 12000000.iommu: Unhandled context fault: smmu1, iova=0xfff98980, fsynr=0x110013, cb=0, sid=90(0x5a - PCIE4), pgd=2716cf003, pud=2716cf003, pmd=275278003, pte=0
[ +0.011514] t19x-arm-smmu 12000000.iommu: Unhandled context fault: smmu1, iova=0xfff98980, fsynr=0x110013, cb=0, sid=90(0x5a - PCIE4), pgd=2716cf003, pud=2716cf003, pmd=275278003, pte=0

Please look at the dmesg log:
dmesg-smmu-mc-err.txt (172.8 KB)


Based on this post Why smmu on PCIe3 doesn't work (Jetson-AGX-Xavier)? I removed iommus and dma-coherent from the pcie@14160000 node. But after doing so, the WiFi module fails to download the firmware during boot. And some mc-err and t19x-arm-smmu errors are still present. This is the dmesg for the same:
dmesg-fw-download-failure-iommus-and-dma-coherent-deleted_2.txt (66.8 KB)


I have enabled CONFIG_MWIFIEX_PCIE=y and CONFIG_MWIFIEX=y in the kernel and the kernel drivers are being used for the 88W8997.


Need help understanding what I should do to fix this.


Thanks,

Abhijit