What is the recommended way of updating drivers of L4T?

I’m working on device with a Xavier NX on a custom board. The board has an EWM-W306 WiFi/BT chip (SoC 88W8997) configured to use the WiFi over the PCIe interface.

I’m getting errors using the default WiFi drivers (L4T 32.7.1: Linux_for_Tegra/sources/kernel/kernel-4.9/drivers/net/wireless/marvell/mwifiex) and different versions of WiFi firmware:

[    4.098841] using random host ethernet address
[    4.199826] mwifiex_pcie: try set_consistent_dma_mask(32)
[    4.200160] mwifiex_pcie: PCI memory map Virt0: ffffff8012200000 PCI memory map Virt2: f                                                                                              fffff8012400000
[    4.203279] mwifiex: rx work enabled, cpus 6
[    4.349799] using random self ethernet address
[    4.349924] using random host ethernet address
[    6.035082] random: crng init done
[    6.035194] random: 7 urandom warning(s) missed due to ratelimiting
[    6.184893] irq 88: nobody cared (try booting with the "irqpoll" option)
[    6.185293] handlers:
[    6.185353] [<ffffff8008c5b250>] tegra_mcerr_hard_irq threaded [<ffffff8008c5b400>] tegr                                                                                              a_mcerr_thread
[    6.185552] Disabling IRQ #88
[    6.185640] t19x-arm-smmu 12000000.iommu: Unhandled context fault: smmu1, iova=0xfffa898                                                                                              0, fsynr=0x10013, cb=0, sid=90(0x5a - PCIE4), pgd=27125c003, pud=27125c003, pmd=27125d003,                                                                                               pte=0
[    6.186344] mc-err: vpr base=0:c6000000, size=20, ctrl=3, override:(a01a8340, fcee10c1,                                                                                               1, 0)
[    6.186537] mc-err: (255) csw_pcie4w: MC request violates VPR requirements
[    6.186688] mc-err:   status = 0x0ff740e1; addr = 0xffffffff00; hi_adr_reg=008
[    6.186825] mc-err:   secure: yes, access-type: write
[    9.789065] t19x-arm-smmu 12000000.iommu: Unhandled context fault: smmu1, iova=0xfffb298                                                                                              0, fsynr=0x10013, cb=0, sid=90(0x5a - PCIE4), pgd=27125c003, pud=27125c003, pmd=27125d003,                                                                                               pte=0

Ubuntu 18.04.6 LTS FOCUS-XXXXXX ttyTCU0

FOCUS-XXXXXX login: [   36.773035] t19x-arm-smmu 12000000.iommu: Unhandled context fault: s                                                                                              mmu1, iova=0xfffa2980, fsynr=0x10013, cb=0, sid=90(0x5a - PCIE4), pgd=27125c003, pud=27125c                                                                                              003, pmd=27125d003, pte=0
[   69.779205] t19x-arm-smmu 12000000.iommu: Unhandled context fault: smmu1, iova=0xfffa098                                                                                              0, fsynr=0x10013, cb=0, sid=90(0x5a - PCIE4), pgd=27125c003, pud=27125c003, pmd=27125d003,                                                                                               pte=0
[  112.784135] t19x-arm-smmu 12000000.iommu: Unhandled context fault: smmu1, iova=0xfffa098                                                                                              0, fsynr=0x10013, cb=0, sid=90(0x5a - PCIE4), pgd=27125c003, pud=27125c003, pmd=27125d003,                                                                                               pte=0
[  165.813728] t19x-arm-smmu 12000000.iommu: Unhandled context fault: smmu1, iova=0xfffb298                                                                                              0, fsynr=0x10013, cb=0, sid=90(0x5a - PCIE4), pgd=27125c003, pud=27125c003, pmd=27125d003,                                                                                               pte=0
[  228.824723] t19x-arm-smmu 12000000.iommu: Unhandled context fault: smmu1, iova=0xfffa298                                                                                              0, fsynr=0x10013, cb=0, sid=90(0x5a - PCIE4), pgd=27125c003, pud=27125c003, pmd=27125d003,                                                                                               pte=0
[  417.787403] t19x-arm-smmu 12000000.iommu: Unhandled context fault: smmu1, iova=0xfffb698                                                                                              0, fsynr=0x10013, cb=0, sid=90(0x5a - PCIE4), pgd=27125c003, pud=27125c003, pmd=27125d003,                                                                                               pte=0
[  556.871657] t19x-arm-smmu 12000000.iommu: Unhandled context fault: smmu1, iova=0xfff9c98                                                                                              0, fsynr=0x10013, cb=0, sid=90(0x5a - PCIE4), pgd=27125c003, pud=27125c003, pmd=27125d003,                                                                                               pte=0
[  578.937986] t19x-arm-smmu 12000000.iommu: Unhandled context fault: smmu1, iova=0xfff8e98                                                                                              0, fsynr=0x10013, cb=0, sid=90(0x5a - PCIE4), pgd=27125c003, pud=27125c003, pmd=27125d003,                                                                                               pte=0
[  580.047981] Internal error: Oops - SP/PC alignment exception: 8a000000 [#1] PREEMPT SMP
[  580.047993] Unable to handle kernel read from unreadable memory at virtual address fffff                                                                                              fc1f6b72a00
[  580.048003] Mem abort info:
[  580.048006]   ESR = 0x8600000d
[  580.048009]   Exception class = IABT (current EL), IL = 32 bits
[  580.048012]   SET = 0, FnV = 0
[  580.048014]   EA = 0, S1PTW = 0
[  580.048021] swapper pgtable: 4k pages, 39-bit VAs, pgd = ffffff800a210000
[  580.048028] [ffffffc1f6b72a00] *pgd=00e8000240000711, *pud=00e8000240000711

I ported some of the latest commits from the WiFi directory (marvell) and I don’t see the above errors anymore, but the WiFi is unstable when configured in Access Point mode (it is crashing when I’m bringing the interface up and down fast).

I tried to port commits from the Linux_for_Tegra/sources/kernel/kernel-4.9/drivers/net/wireless/marvell/mwifiex, one by one but some of them require changes in the kernel core, which require changes on other modules also => hard or impossible to port.

My question is: How should I port commits of a driver on top of the latest L4T sources?

Thanks!

Hi,

Looks like you posted in the wrong category. I will move this over to the Jetson Xavier NX forum.

Tom K

Thanks!

1 Like

Is that new driver supported over kernel 4.9? If not, then maybe upgrading to jp5.0 DP?

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.