0000:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries BCM2712 PCIe Bridge (rev 21)
0000:01:00.0 Network controller: MEDIATEK Corp. MT7921 802.11ax PCI Express Wireless Network Adapter
0001:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries BCM2712 PCIe Bridge (rev 21)
0001:01:00.0 Ethernet controller: Raspberry Pi Ltd RP1 PCIe 2.0 South Bridge
So the device itself is being recognized by PCIe, however when I'm booting up no radio interface is being created. I also tried a different card by atheros, upon of course installing all the required drivers and firmware, and I got the same result: card shows up on lspci but not in Luci.
I'm using OpenWrt SNAPSHOT (r27433-7e1d092552) for the Pi5.
That is about kmalloc failing or device mapping not allocated.
Can you show
cat /proc/iomem
For device allocations (it is not memory, it is address space, dont be scared)
Uninstall firmware and do a cold poweron, then rmmod and imodprobe of the driver.
And then rmmod and modprobe mt7921e disable_aspm=1
Do the error messages change?
problem is when I'm uninstalling kmod-mt7921-firmware the package kmod-mt7921e is automatically uninstalled (altough box to automatically uninstall dependencies is not ticked), apparently I can only have kmod-mt7921e installed together with the firmware.
Funny thing is I also used an Intel card once on the same device and it worked exactly as it should... auto-detected and radio interface auto generated by OpenWrt.
After googling the error message above a little bit I found an older post suggesting to add dtoverlay=pcie-32bit-dma to /boot/config.txt in OpenWrt, however if you're using a RPi Pi5 you should use dtoverlay=pcie-32bit-dma-pi5.
This, from what I understand, causes the address allocation to be made in 32bit bit instead of 64bit (?). My previously mentioned Intel card seems to not have the same problem and is apparently able to take 64bit (I presume) address allocations.
Now for both cards the radio interface is being auto-generated and I'm testing AP mode now.