[bpi-r3] mt7922

Hello,

I have a BPI-R3 with a Debian bookworm image compiled with frank-w github. MT7986 is working fine. I added a MT7922 wifi card to have WiFi 6e.

I used a M2 key adapter.

But after the card installation, when I boot up, the card is not detected. Needed firmwares are here :

`root@bpi-r3:/lib/firmware/mediatek# ls -l
total 20148
-rw-r--r-- 1 root root  513878 Jan  5  2024 BT_RAM_CODE_MT7922_1_1_hdr.bin
-rw-r--r-- 1 root root  532206 Jan  5  2024 BT_RAM_CODE_MT7961_1_2_hdr.bin
-rw-r--r-- 1 root root  137632 Jan  5  2024 WIFI_MT7922_patch_mcu_1_1_hdr.bin
-rw-r--r-- 1 root root   92192 Jan  5  2024 WIFI_MT7961_patch_mcu_1_2_hdr.bin
-rw-r--r-- 1 root root 1018692 Jan  5  2024 WIFI_RAM_CODE_MT7922_1.bin
-rw-r--r-- 1 root root  797300 Jan  5  2024 WIFI_RAM_CODE_MT7961_1.bin
-rw-r--r-- 1 root root   45412 Jan  5  2024 mt7601u.bin
-rw-r--r-- 1 root root   80680 Jan  5  2024 mt7610e.bin
-rw-r--r-- 1 root root   80288 Jan  5  2024 mt7610u.bin
-rw-r--r-- 1 root root  122644 Jan  5  2024 mt7615_cr4.bin
-rw-r--r-- 1 root root  457992 Jan  5  2024 mt7615_n9.bin
-rw-r--r-- 1 root root   11102 Jan  5  2024 mt7615_rom_patch.bin
-rw-r--r-- 1 root root  300376 Jan  5  2024 mt7622_n9.bin
-rw-r--r-- 1 root root   82110 Jan  5  2024 mt7622_rom_patch.bin
-rwxr-xr-x 1 root root   78158 Jan  5  2024 mt7622pr2h.bin
-rw-r--r-- 1 root root  368220 Jan  5  2024 mt7650.bin
-rw-r--r-- 1 root root  382212 Jan  5  2024 mt7650e.bin
-rw-r--r-- 1 root root   81908 Jan  5  2024 mt7662.bin
-rw-r--r-- 1 root root   26350 Jan  5  2024 mt7662_rom_patch.bin
-rw-r--r-- 1 root root   91412 Jan  5  2024 mt7662u.bin
-rw-r--r-- 1 root root   20686 Jan  5  2024 mt7662u_rom_patch.bin
-rw-r--r-- 1 root root  335072 Jan  5  2024 mt7663_n9_rebb.bin
-rw-r--r-- 1 root root  441688 Jan  5  2024 mt7663_n9_v3.bin
-rw-r--r-- 1 root root  278558 Jan  5  2024 mt7663pr2h.bin
-rw-r--r-- 1 root root  209230 Jan  5  2024 mt7663pr2h_rebb.bin
-rwxr-xr-x 1 root root  170990 Jan  5  2024 mt7668pr2h.bin
-rw-r--r-- 1 root root    3584 Jan  5  2024 mt7915_eeprom.bin
-rw-r--r-- 1 root root    3584 Jan  5  2024 mt7915_eeprom_dbdc.bin
-rw-r--r-- 1 root root  144544 Jan  5  2024 mt7915_rom_patch.bin
-rw-r--r-- 1 root root  116160 Jan  5  2024 mt7915_wa.bin
-rw-r--r-- 1 root root 1260960 Jan  5  2024 mt7915_wm.bin
-rw-r--r-- 1 root root    4096 Jan  5  2024 mt7916_eeprom.bin
-rw-r--r-- 1 root root    8672 Jan  5  2024 mt7916_rom_patch.bin
-rw-r--r-- 1 root root  507856 Jan  5  2024 mt7916_wa.bin
-rw-r--r-- 1 root root 1710304 Jan  5  2024 mt7916_wm.bin
drwxr-xr-x 2 root root    4096 Jan  5  2024 mt7925
-rw-r--r-- 1 root root    8736 Jan  5  2024 mt7981_rom_patch.bin
-rw-r--r-- 1 root root  492336 Jan  5  2024 mt7981_wa.bin
-rw-r--r-- 1 root root 2052592 Jan  5  2024 mt7981_wm.bin
-rw-r--r-- 1 root root 2427600 Jan  5  2024 mt7981_wo.bin
-rw-r--r-- 1 root root    4096 Jan  5  2024 mt7986_eeprom_mt7975_dual.bin
-rw-r--r-- 1 root root    4096 Jan  5  2024 mt7986_eeprom_mt7976.bin
-rw-r--r-- 1 root root    4096 Jan  5  2024 mt7986_eeprom_mt7976_dbdc.bin
-rw-r--r-- 1 root root    4096 Jan  5  2024 mt7986_eeprom_mt7976_dual.bin
-rw-r--r-- 1 root root   12768 Jan  5  2024 mt7986_rom_patch.bin
-rw-r--r-- 1 root root   12768 Jan  5  2024 mt7986_rom_patch_mt7975.bin
-rw-r--r-- 1 root root  518784 Jan  5  2024 mt7986_wa.bin
-rw-r--r-- 1 root root 2226016 Jan  5  2024 mt7986_wm.bin
-rw-r--r-- 1 root root 2226016 Jan  5  2024 mt7986_wm_mt7975.bin
-rw-r--r-- 1 root root 2428032 Jan  5  2024 mt7986_wo_0.bin
-rw-r--r-- 1 root root 2428032 Jan  5  2024 mt7986_wo_1.bin
drwxr-xr-x 2 root root    4096 Jan  5  2024 mt7988
drwxr-xr-x 2 root root    4096 Jan  5  2024 mt8173
drwxr-xr-x 2 root root    4096 Jan  5  2024 mt8183
drwxr-xr-x 2 root root    4096 Jan  5  2024 mt8186
drwxr-xr-x 2 root root    4096 Jan  5  2024 mt8192
drwxr-xr-x 2 root root    4096 Jan  5  2024 mt8195
drwxr-xr-x 2 root root    4096 Jan  5  2024 sof
drwxr-xr-x 2 root root    4096 Jan  5  2024 sof-tplg
root@bpi-r3:/lib/firmware/mediatek#
`

Dmesg show nothing about MT7922 :

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 6.1.60-bpi-r3 (mtg@mtg-VirtualBox) (aarch64-linux-gnu-gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #1 SMP Fri Jan  5 14:26:11 CET 2024
[    0.000000] Machine model: Bananapi BPI-R3
[    0.000000] earlycon: uart8250 at MMIO32 0x0000000011002000 (options '')
[    0.000000] printk: bootconsole [uart8250] enabled
[    0.000000] efi: UEFI not found.
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000040000000-0x00000000bfffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000040000000-0x0000000042ffffff]
[    0.000000]   node   0: [mem 0x0000000043000000-0x000000004302ffff]
[    0.000000]   node   0: [mem 0x0000000043030000-0x000000004fbfffff]
[    0.000000]   node   0: [mem 0x000000004fc00000-0x000000004fcfffff]
[    0.000000]   node   0: [mem 0x000000004fd00000-0x00000000bfffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x00000000bfffffff]
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.4
[    0.000000] percpu: Embedded 27 pages/cpu s70952 r8192 d31448 u110592
[    0.000000] pcpu-alloc: s70952 r8192 d31448 u110592 alloc=27*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: GIC system register CPU interface
[    0.000000] CPU features: detected: ARM erratum 845719
[    0.000000] alternatives: applying boot alternatives
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 516096
[    0.000000] Kernel command line: board=bpi-r3 earlycon=uart8250,mmio32,0x11002000 debug=7 root=/dev/mmcblk0p6 rootfstype=ext4 rootwait
[    0.000000] Unknown kernel command line parameters "board=bpi-r3", will be passed to user space.
[    0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 2032252K/2097152K available (12352K kernel code, 2340K rwdata, 3880K rodata, 3968K init, 419K bss, 64900K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] trace event string verifier disabled
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000]  Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
[    0.000000] GICv3: 640 SPIs implemented
[    0.000000] GICv3: 0 Extended SPIs implemented
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GICv3: GICv3 features: 16 PPIs
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x000000000c080000
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] arch_timer: cp15 timer(s) running at 13.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2ff89eacb, max_idle_ns: 440795202429 ns
[    0.000000] sched_clock: 56 bits at 13MHz, resolution 76ns, wraps every 4398046511101ns
[    0.008258] Console: colour dummy device 80x25
[    0.012721] printk: console [tty0] enabled
[    0.016834] printk: bootconsole [uart8250] disabled
[    0.021757] Calibrating delay loop (skipped), value calculated using timer frequency.. 26.00 BogoMIPS (lpj=130000)
[    0.021768] pid_max: default: 32768 minimum: 301
[    0.021869] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.021885] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.022477] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    0.022820] cblist_init_generic: Setting adjustable number of callback queues.
[    0.022828] cblist_init_generic: Setting shift to 2 and lim to 1.
[    0.022927] rcu: Hierarchical SRCU implementation.
[    0.022933] rcu:     Max phase no-delay instances is 1000.
[    0.023316] EFI services will not be available.
[    0.023464] smp: Bringing up secondary CPUs ...
[    0.023792] Detected VIPT I-cache on CPU1
[    0.023845] cacheinfo: Unable to detect cache hierarchy for CPU 1
[    0.023853] GICv3: CPU1: found redistributor 1 region 0:0x000000000c0a0000
[    0.023885] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.024218] Detected VIPT I-cache on CPU2
[    0.024252] cacheinfo: Unable to detect cache hierarchy for CPU 2
[    0.024256] GICv3: CPU2: found redistributor 2 region 0:0x000000000c0c0000
[    0.024269] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.024546] Detected VIPT I-cache on CPU3
[    0.024575] cacheinfo: Unable to detect cache hierarchy for CPU 3
[    0.024579] GICv3: CPU3: found redistributor 3 region 0:0x000000000c0e0000
[    0.024589] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[    0.024623] smp: Brought up 1 node, 4 CPUs
[    0.024672] SMP: Total of 4 processors activated.
[    0.024678] CPU features: detected: 32-bit EL0 Support
[    0.024684] CPU features: detected: CRC32 instructions
[    0.024727] CPU features: emulated: Privileged Access Never (PAN) using TTBR0_EL1 switching
[    0.024737] CPU: All CPU(s) started at EL2
[    0.024742] alternatives: applying system-wide alternatives
[    0.026033] devtmpfs: initialized
[    0.027940] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.027972] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.028081] pinctrl core: initialized pinctrl subsystem
[    0.028375] DMI not present or invalid.
[    0.028727] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.029027] DMA: preallocated 256 KiB GFP_KERNEL pool for atomic allocations
[    0.029061] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.029092] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.029479] thermal_sys: Registered thermal governor 'fair_share'
[    0.029483] thermal_sys: Registered thermal governor 'bang_bang'
[    0.029489] thermal_sys: Registered thermal governor 'step_wise'
[    0.029495] thermal_sys: Registered thermal governor 'user_space'
[    0.029585] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.029646] ASID allocator initialised with 65536 entries
[    0.040761] cryptd: max_cpu_qlen set to 1000
[    0.041728] iommu: Default domain type: Translated
[    0.041749] iommu: DMA domain TLB invalidation policy: strict mode
[    0.041882] SCSI subsystem initialized
[    0.041988] libata version 3.00 loaded.
[    0.042094] usbcore: registered new interface driver usbfs
[    0.042118] usbcore: registered new interface driver hub
[    0.042140] usbcore: registered new device driver usb
[    0.042377] i2c-gpio i2c-gpio-0: using lines 427 (SDA) and 428 (SCL)
[    0.042488] i2c-gpio i2c-gpio-1: using lines 429 (SDA) and 430 (SCL)
[    0.042531] pps_core: LinuxPPS API ver. 1 registered
[    0.042538] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <[email protected]>
[    0.042552] PTP clock support registered
[    0.043372] vgaarb: loaded
[    0.043820] clocksource: Switched to clocksource arch_sys_counter
[    0.047614] NET: Registered PF_INET protocol family
[    0.047769] IP idents hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.048801] tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes, linear)
[    0.048829] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.048843] TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.048917] TCP bind hash table entries: 16384 (order: 7, 524288 bytes, linear)
[    0.049250] TCP: Hash tables configured (established 16384 bind 16384)
[    0.049341] UDP hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.049378] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.049504] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.049842] RPC: Registered named UNIX socket transport module.
[    0.049852] RPC: Registered udp transport module.
[    0.049857] RPC: Registered tcp transport module.
[    0.049863] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.049874] PCI: CLS 0 bytes, default 64
[    0.050963] Initialise system trusted keyrings
[    0.051144] workingset: timestamp_bits=46 max_order=19 bucket_order=0
[    0.054295] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.054700] NFS: Registering the id_resolver key type
[    0.054740] Key type id_resolver registered
[    0.054745] Key type id_legacy registered
[    0.054790] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.054798] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    0.054817] jffs2: version 2.2. (NAND) (SUMMARY)  \xc2\xa9 2001-2006 Red Hat, Inc.
[    0.077088] Key type asymmetric registered
[    0.077108] Asymmetric key parser 'x509' registered
[    0.077161] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248)
[    0.077171] io scheduler mq-deadline registered
[    0.077183] io scheduler kyber registered
[    0.110206] Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled
[    0.131676] 11002000.serial: ttyS0 at MMIO 0x11002000 (irq = 116, base_baud = 2500000) is a ST16650V2
[    1.004832] printk: console [ttyS0] enabled
[    1.030045] 11003000.serial: ttyS1 at MMIO 0x11003000 (irq = 117, base_baud = 1625000) is a ST16650V2
[    1.060166] 11004000.serial: ttyS2 at MMIO 0x11004000 (irq = 118, base_baud = 1625000) is a ST16650V2
[    1.070132] mtk_rng 1020f000.rng: registered RNG driver
[    1.075629] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    1.085048] loop: module loaded
[    1.089782] spi-nand spi0.0: Winbond SPI NAND was found.
[    1.095124] spi-nand spi0.0: 128 MiB, block size: 128 KiB, page size: 2048, OOB size: 64
[    1.103420] 4 fixed-partitions partitions found on MTD device spi0.0
[    1.109777] Creating 4 MTD partitions on "spi0.0":
[    1.114566] 0x000000580000-0x000008000000 : "ubi"
[    1.253893] 0x000000380000-0x000000580000 : "fip"
[    1.261677] 0x000000080000-0x000000380000 : "reserved"
[    1.270522] 0x000000000000-0x000000080000 : "bl2"
[    1.277539] sfp sfp-1: Host maximum power 3.0W
[    1.282498] sfp sfp-2: Host maximum power 3.0W
[    1.300583] mtk_soc_eth 15100000.ethernet: generated random MAC address d6:ae:20:77:d4:a7
[    1.310201] mtk_soc_eth 15100000.ethernet eth0: mediatek frame engine at 0xffffffc00aa00000, irq 123
[    1.319616] mtk_soc_eth 15100000.ethernet eth1: mediatek frame engine at 0xffffffc00aa00000, irq 123
[    1.329163] usbcore: registered new interface driver usb-storage
[    1.335387] i2c_dev: i2c /dev entries driver
[    1.341650] mtk-wdt 1001c000.watchdog: Watchdog enabled (timeout=31 sec, nowayout=0)
[    1.350369] SMCCC: SOC_ID: ID = jep106:0426:7986 Revision = 0x00000000
[    1.357040] usbcore: registered new interface driver usbhid
[    1.362616] usbhid: USB HID core driver
[    1.366841] NET: Registered PF_INET6 protocol family
[    1.372518] Segment Routing with IPv6
[    1.376229] In-situ OAM (IOAM) with IPv6
[    1.380178] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    1.386479] NET: Registered PF_PACKET protocol family
[    1.391662] 8021q: 802.1Q VLAN Support v1.8
[    1.396256] Loading compiled-in X.509 certificates
[    1.409825] mtk-pcie-gen3 11280000.pcie: host bridge /soc/pcie@11280000 ranges:
[    1.411543] mmc0: host does not support reading read-only switch, assuming write-enable
[    1.417166] mtk-pcie-gen3 11280000.pcie: Parsing ranges property...
[    1.428855] mmc0: new high speed SDHC card at address aaaa
[    1.431380] mtk-pcie-gen3 11280000.pcie:      MEM 0x0020000000..0x002fffffff -> 0x0020000000
[    1.437649] mmcblk0: mmc0:aaaa SA08G 7.40 GiB
[    1.458592]  mmcblk0: p1 p2 p3 p4 p5 p6
[    1.686496] mtk-pcie-gen3 11280000.pcie: set MEM trans window[0]: cpu_addr = 0x20000000, pci_addr = 0x20000000, size = 0x10000000
[    1.698364] mtk-pcie-gen3 11280000.pcie: PCI host bridge to bus 0000:00
[    1.704978] pci_bus 0000:00: root bus resource [bus 00-ff]
[    1.710451] pci_bus 0000:00: root bus resource [mem 0x20000000-0x2fffffff]
[    1.717314] pci_bus 0000:00: scanning bus
[    1.721337] pci 0000:00:00.0: [14c3:1f32] type 01 class 0x060400
[    1.727350] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x00007fff 64bit]
[    1.734196] pci 0000:00:00.0: PME# supported from D0 D3hot D3cold
[    1.740278] pci 0000:00:00.0: PME# disabled
[    1.744574] pci 0000:00:00.0: vgaarb: pci_notify
[    1.749772] pci_bus 0000:00: fixups for bus
[    1.753952] pci 0000:00:00.0: scanning [bus 00-00] behind bridge, pass 0
[    1.760637] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    1.768634] pci 0000:00:00.0: scanning [bus 00-00] behind bridge, pass 1
[    1.775387] pci_bus 0000:01: scanning bus
[    1.779410] pci 0000:01:00.0: [14c3:0616] type 00 class 0x028000
[    1.785434] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x000fffff 64bit pref]
[    1.792655] pci 0000:01:00.0: reg 0x18: [mem 0x00000000-0x00007fff 64bit]
[    1.799564] pci 0000:01:00.0: PME# supported from D0 D3hot D3cold
[    1.805655] pci 0000:01:00.0: PME# disabled
[    1.810002] pci 0000:01:00.0: vgaarb: pci_notify
[    1.843871] pci_bus 0000:01: fixups for bus
[    1.848043] pci_bus 0000:01: bus scan returning with max=01
[    1.853602] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[    1.860213] pci_bus 0000:00: bus scan returning with max=01
[    1.865788] pci 0000:00:00.0: BAR 8: assigned [mem 0x20000000-0x200fffff]
[    1.872561] pci 0000:00:00.0: BAR 9: assigned [mem 0x20100000-0x201fffff 64bit pref]
[    1.880291] pci 0000:00:00.0: BAR 0: assigned [mem 0x20200000-0x20207fff 64bit]
[    1.887593] pci 0000:01:00.0: BAR 0: assigned [mem 0x20100000-0x201fffff 64bit pref]
[    1.895335] pci 0000:01:00.0: BAR 2: assigned [mem 0x20000000-0x20007fff 64bit]
[    1.902640] pci 0000:00:00.0: PCI bridge to [bus 01]
[    1.907596] pci 0000:00:00.0:   bridge window [mem 0x20000000-0x200fffff]
[    1.914372] pci 0000:00:00.0:   bridge window [mem 0x20100000-0x201fffff 64bit pref]
[    1.922158] pcieport 0000:00:00.0: vgaarb: pci_notify
[    1.927254] pcieport 0000:00:00.0: assign IRQ: got 130
[    1.932385] pcieport 0000:00:00.0: enabling device (0000 -> 0002)
[    1.938478] pcieport 0000:00:00.0: enabling bus mastering
[    1.944253] mtk-pcie-gen3 11280000.pcie: msi#0x0 address_hi 0x0 address_lo 0x11280c00 data 0
[    1.952680] mtk-pcie-gen3 11280000.pcie: msi#0x1 address_hi 0x0 address_lo 0x11280c00 data 1
[    1.961104] mtk-pcie-gen3 11280000.pcie: msi#0x2 address_hi 0x0 address_lo 0x11280c00 data 2
[    1.969531] mtk-pcie-gen3 11280000.pcie: msi#0x3 address_hi 0x0 address_lo 0x11280c00 data 3
[    1.977954] mtk-pcie-gen3 11280000.pcie: msi#0x4 address_hi 0x0 address_lo 0x11280c00 data 4
[    1.986377] mtk-pcie-gen3 11280000.pcie: msi#0x5 address_hi 0x0 address_lo 0x11280c00 data 5
[    1.994800] mtk-pcie-gen3 11280000.pcie: msi#0x6 address_hi 0x0 address_lo 0x11280c00 data 6
[    2.003219] mtk-pcie-gen3 11280000.pcie: msi#0x7 address_hi 0x0 address_lo 0x11280c00 data 7
[    2.011642] mtk-pcie-gen3 11280000.pcie: msi#0x8 address_hi 0x0 address_lo 0x11280c00 data 8
[    2.020064] mtk-pcie-gen3 11280000.pcie: msi#0x9 address_hi 0x0 address_lo 0x11280c00 data 9
[    2.028486] mtk-pcie-gen3 11280000.pcie: msi#0xa address_hi 0x0 address_lo 0x11280c00 data 10
[    2.036994] mtk-pcie-gen3 11280000.pcie: msi#0xb address_hi 0x0 address_lo 0x11280c00 data 11
[    2.045505] mtk-pcie-gen3 11280000.pcie: msi#0xc address_hi 0x0 address_lo 0x11280c00 data 12
[    2.054014] mtk-pcie-gen3 11280000.pcie: msi#0xd address_hi 0x0 address_lo 0x11280c00 data 13
[    2.062519] mtk-pcie-gen3 11280000.pcie: msi#0xe address_hi 0x0 address_lo 0x11280c00 data 14
[    2.071027] mtk-pcie-gen3 11280000.pcie: msi#0xf address_hi 0x0 address_lo 0x11280c00 data 15
[    2.079542] mtk-pcie-gen3 11280000.pcie: msi#0x10 address_hi 0x0 address_lo 0x11280c00 data 16
[    2.088143] mtk-pcie-gen3 11280000.pcie: msi#0x11 address_hi 0x0 address_lo 0x11280c00 data 17
[    2.096740] mtk-pcie-gen3 11280000.pcie: msi#0x12 address_hi 0x0 address_lo 0x11280c00 data 18
[    2.105336] mtk-pcie-gen3 11280000.pcie: msi#0x13 address_hi 0x0 address_lo 0x11280c00 data 19
[    2.113933] mtk-pcie-gen3 11280000.pcie: msi#0x14 address_hi 0x0 address_lo 0x11280c00 data 20
[    2.122525] mtk-pcie-gen3 11280000.pcie: msi#0x15 address_hi 0x0 address_lo 0x11280c00 data 21
[    2.131122] mtk-pcie-gen3 11280000.pcie: msi#0x16 address_hi 0x0 address_lo 0x11280c00 data 22
[    2.139718] mtk-pcie-gen3 11280000.pcie: msi#0x17 address_hi 0x0 address_lo 0x11280c00 data 23
[    2.148314] mtk-pcie-gen3 11280000.pcie: msi#0x18 address_hi 0x0 address_lo 0x11280c00 data 24
[    2.156911] mtk-pcie-gen3 11280000.pcie: msi#0x19 address_hi 0x0 address_lo 0x11280c00 data 25
[    2.165508] mtk-pcie-gen3 11280000.pcie: msi#0x1a address_hi 0x0 address_lo 0x11280c00 data 26
[    2.174104] mtk-pcie-gen3 11280000.pcie: msi#0x1b address_hi 0x0 address_lo 0x11280c00 data 27
[    2.182697] mtk-pcie-gen3 11280000.pcie: msi#0x1c address_hi 0x0 address_lo 0x11280c00 data 28
[    2.191293] mtk-pcie-gen3 11280000.pcie: msi#0x1d address_hi 0x0 address_lo 0x11280c00 data 29
[    2.199890] mtk-pcie-gen3 11280000.pcie: msi#0x1e address_hi 0x0 address_lo 0x11280c00 data 30
[    2.208490] mtk-pcie-gen3 11280000.pcie: msi#0x1f address_hi 0x0 address_lo 0x11280c00 data 31
[    2.217446] mtk-pcie-gen3 11280000.pcie: msi#0x0 address_hi 0x0 address_lo 0x11280c00 data 0
[    2.225984] pcieport 0000:00:00.0: PME: Signaling with IRQ 131
[    2.232002] pcieport 0000:00:00.0: AER: enabled with IRQ 131
[    2.237733] pcieport 0000:00:00.0: saving config space at offset 0x0 (reading 0x1f3214c3)
[    2.245905] pcieport 0000:00:00.0: saving config space at offset 0x4 (reading 0x100406)
[    2.253894] pcieport 0000:00:00.0: saving config space at offset 0x8 (reading 0x6040001)
[    2.261965] pcieport 0000:00:00.0: saving config space at offset 0xc (reading 0x10000)
[    2.269870] pcieport 0000:00:00.0: saving config space at offset 0x10 (reading 0x20200004)
[    2.278120] pcieport 0000:00:00.0: saving config space at offset 0x14 (reading 0x0)
[    2.285761] pcieport 0000:00:00.0: saving config space at offset 0x18 (reading 0x10100)
[    2.293746] pcieport 0000:00:00.0: saving config space at offset 0x1c (reading 0x1f1)
[    2.301561] pcieport 0000:00:00.0: saving config space at offset 0x20 (reading 0x20002000)
[    2.309809] pcieport 0000:00:00.0: saving config space at offset 0x24 (reading 0x20112011)
[    2.318058] pcieport 0000:00:00.0: saving config space at offset 0x28 (reading 0x0)
[    2.325700] pcieport 0000:00:00.0: saving config space at offset 0x2c (reading 0x0)
[    2.333339] pcieport 0000:00:00.0: saving config space at offset 0x30 (reading 0x0)
[    2.340980] pcieport 0000:00:00.0: saving config space at offset 0x34 (reading 0x80)
[    2.348707] pcieport 0000:00:00.0: saving config space at offset 0x38 (reading 0x0)
[    2.356349] pcieport 0000:00:00.0: saving config space at offset 0x3c (reading 0x20182)
[    2.364369] pcieport 0000:00:00.0: vgaarb: pci_notify
[    2.392362] mt7530 mdio-bus:1f: configuring for fixed/2500base-x link mode
[    2.399576] mt7530 mdio-bus:1f: Link is Up - 2.5Gbps/Full - flow control rx/tx
[    2.408519] mt7530 mdio-bus:1f wan (uninitialized): PHY [mt7530-0:00] driver [MediaTek MT7531 PHY] (irq=132)
[    2.428487] mt7530 mdio-bus:1f lan0 (uninitialized): PHY [mt7530-0:01] driver [MediaTek MT7531 PHY] (irq=133)
[    2.448148] mt7530 mdio-bus:1f lan1 (uninitialized): PHY [mt7530-0:02] driver [MediaTek MT7531 PHY] (irq=134)
[    2.467804] mt7530 mdio-bus:1f lan2 (uninitialized): PHY [mt7530-0:03] driver [MediaTek MT7531 PHY] (irq=135)
[    2.487464] mt7530 mdio-bus:1f lan3 (uninitialized): PHY [mt7530-0:04] driver [MediaTek MT7531 PHY] (irq=136)
[    2.498345] device eth0 entered promiscuous mode
[    2.502987] DSA: tree 0 setup
[    2.506353] xhci-mtk 11200000.usb: supply vbus not found, using dummy regulator
[    2.513739] xhci-mtk 11200000.usb: supply vusb33 not found, using dummy regulator
[    2.522108] xhci-mtk 11200000.usb: xHCI Host Controller
[    2.527357] xhci-mtk 11200000.usb: new USB bus registered, assigned bus number 1
[    2.537740] xhci-mtk 11200000.usb: hcc params 0x01403f99 hci version 0x110 quirks 0x0000000000210010
[    2.546948] xhci-mtk 11200000.usb: irq 137, io mem 0x11200000
[    2.552764] xhci-mtk 11200000.usb: xHCI Host Controller
[    2.557986] xhci-mtk 11200000.usb: new USB bus registered, assigned bus number 2
[    2.565379] xhci-mtk 11200000.usb: Host supports USB 3.2 Enhanced SuperSpeed
[    2.572866] hub 1-0:1.0: USB hub found
[    2.576647] hub 1-0:1.0: 2 ports detected
[    2.580942] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[    2.589387] hub 2-0:1.0: USB hub found
[    2.593155] hub 2-0:1.0: 1 port detected
[    2.611035] EXT4-fs (mmcblk0p6): mounted filesystem with ordered data mode. Quota mode: disabled.
[    2.619969] VFS: Mounted root (ext4 filesystem) readonly on device 179:6.
[    2.628216] devtmpfs: mounted
[    2.632545] Freeing unused kernel memory: 3968K
[    2.683915] Run /sbin/init as init process
[    2.688003]   with arguments:
[    2.690960]     /sbin/init
[    2.693655]   with environment:
[    2.696791]     HOME=/
[    2.699139]     TERM=linux
[    2.701834]     board=bpi-r3
[    3.053847] usb 1-1: new high-speed USB device number 2 using xhci-mtk
[    3.244642] hub 1-1:1.0: USB hub found
[    3.248438] hub 1-1:1.0: 4 ports detected
[    3.602248] systemd[1]: System time before build time, advancing clock.
[    3.661820] systemd[1]: Failed to find module 'autofs4'
[    3.834884] systemd[1]: systemd 252.19-1~deb12u1 running in system mode (+PAM +AUDIT +SELINUX +APPARMOR +IMA +SMACK +SECCOMP +GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 -PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD -BPF_FRAMEWORK -XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified)
[    3.867538] systemd[1]: Detected architecture arm64.
[    3.920547] systemd[1]: Hostname set to <bpi-r3>.
[    4.513514] systemd[1]: Queued start job for default target graphical.target.
[    4.566163] systemd[1]: Created slice system-getty.slice - Slice /system/getty.
[    4.605071] systemd[1]: Created slice system-modprobe.slice - Slice /system/modprobe.
[    4.645029] systemd[1]: Created slice system-serial\x2dgetty.slice - Slice /system/serial-getty.
[    4.684688] systemd[1]: Created slice user.slice - User and Session Slice.
[    4.724193] systemd[1]: Started systemd-ask-password-console.path - Dispatch Password Requests to Console Directory Watch.
[    4.764089] systemd[1]: Started systemd-ask-password-wall.path - Forward Password Requests to Wall Directory Watch.
[    4.804018] systemd[1]: proc-sys-fs-binfmt_misc.automount - Arbitrary Executable File Formats File System Automount Point was skipped because of an unmet condition check (ConditionPathExists=/proc/sys/fs/binfmt_misc).
[    4.823435] systemd[1]: Reached target cryptsetup.target - Local Encrypted Volumes.
[    4.863963] systemd[1]: Reached target integritysetup.target - Local Integrity Protected Volumes.
[    4.903988] systemd[1]: Reached target paths.target - Path Units.
[    4.943929] systemd[1]: Reached target remote-fs.target - Remote File Systems.
[    4.983905] systemd[1]: Reached target slices.target - Slice Units.
[    5.023946] systemd[1]: Reached target swap.target - Swaps.
[    5.063936] systemd[1]: Reached target veritysetup.target - Local Verity Protected Volumes.
[    5.104166] systemd[1]: Listening on systemd-initctl.socket - initctl Compatibility Named Pipe.
[    5.150233] systemd[1]: systemd-journald-audit.socket - Journal Audit Socket was skipped because of an unmet condition check (ConditionSecurity=audit).
[    5.164455] systemd[1]: Listening on systemd-journald-dev-log.socket - Journal Socket (/dev/log).
[    5.204394] systemd[1]: Listening on systemd-journald.socket - Journal Socket.
[    5.244505] systemd[1]: Listening on systemd-networkd.socket - Network Service Netlink Socket.
[    5.284451] systemd[1]: Listening on systemd-udevd-control.socket - udev Control Socket.
[    5.324307] systemd[1]: Listening on systemd-udevd-kernel.socket - udev Kernel Socket.
[    5.364343] systemd[1]: dev-hugepages.mount - Huge Pages File System was skipped because of an unmet condition check (ConditionPathExists=/sys/kernel/mm/hugepages).
[    5.424094] systemd[1]: Mounting dev-mqueue.mount - POSIX Message Queue File System...
[    5.466567] systemd[1]: Mounting sys-kernel-debug.mount - Kernel Debug File System...
[    5.506361] systemd[1]: Mounting sys-kernel-tracing.mount - Kernel Trace File System...
[    5.546958] systemd[1]: Starting kmod-static-nodes.service - Create List of Static Device Nodes...
[    5.596861] systemd[1]: Starting [email protected] - Load Kernel Module configfs...
[    5.636842] systemd[1]: Starting modprobe@dm_mod.service - Load Kernel Module dm_mod...
[    5.676841] systemd[1]: Starting [email protected] - Load Kernel Module drm...
[    5.716853] systemd[1]: Starting modprobe@efi_pstore.service - Load Kernel Module efi_pstore...
[    5.766772] systemd[1]: Starting [email protected] - Load Kernel Module fuse...
[    5.816948] systemd[1]: Starting [email protected] - Load Kernel Module loop...
[    5.854608] systemd[1]: systemd-journald.service: unit configures an IP firewall, but the local system does not support BPF/cgroup firewalling.
[    5.867499] systemd[1]: (This warning is only shown for the first unit using IP firewalling.)
[    5.878450] systemd[1]: Starting systemd-journald.service - Journal Service...
[    6.015756] fuse: init (API version 7.37)
[    6.074248] systemd[1]: Starting systemd-modules-load.service - Load Kernel Modules...
[    6.116693] systemd[1]: Starting systemd-network-generator.service - Generate network units from Kernel command line...
[    6.166783] systemd[1]: Starting systemd-remount-fs.service - Remount Root and Kernel File Systems...
[    6.195971] EXT4-fs (mmcblk0p6): re-mounted. Quota mode: disabled.
[    6.206672] systemd[1]: Starting systemd-udev-trigger.service - Coldplug All udev Devices...
[    6.248197] systemd[1]: Started systemd-journald.service - Journal Service.
[    6.932410] systemd-journald[1096]: Received client request to flush runtime journal.
[    6.959277] systemd-journald[1096]: File /var/log/journal/2b023d50683043f2ba899c3952751e1d/system.journal corrupted or uncleanly shut down, renaming and replacing.
[    8.295761] mtdblock: MTD device 'ubi' is NAND, please consider using UBI block devices instead.
[    8.308183] mtdblock: MTD device 'fip' is NAND, please consider using UBI block devices instead.
[    8.310026] mtdblock: MTD device 'bl2' is NAND, please consider using UBI block devices instead.
[    8.332026] mtdblock: MTD device 'reserved' is NAND, please consider using UBI block devices instead.
[    9.882072] FAT-fs (mmcblk0p5): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[    9.884584] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    9.912874] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[   11.354098] random: crng init done
[   13.087688] mt7986-wmac 18000000.wifi: HW/SW Version: 0x8a108a10, Build Time: 20221012174743a

[   13.173570] mt7986-wmac 18000000.wifi: WM Firmware Version: ____000000, Build Time: 20221012174805
[   13.238589] mt7986-wmac 18000000.wifi: WA Firmware Version: DEV_000000, Build Time: 20221012174937
[   13.343986] mt7986-wmac 18000000.wifi: Load eeprom: /lib/firmware/mediatek/mt7986-wmac_rf.bin
[   13.352567] mt7986-wmac 18000000.wifi: Open eeprom file failed: /lib/firmware/mediatek/mt7986-wmac_rf.bin
[   16.502444] mtk_soc_eth 15100000.ethernet eth0: configuring for fixed/2500base-x link mode
[   16.510894] mtk_soc_eth 15100000.ethernet eth0: Link is Up - 2.5Gbps/Full - flow control rx/tx
[   16.511647] mt7530 mdio-bus:1f wan: configuring for phy/gmii link mode
[   16.532156] mt7530 mdio-bus:1f wan: Link is Up - 1Gbps/Full - flow control rx/tx
[   16.539688] IPv6: ADDRCONF(NETDEV_CHANGE): wan: link becomes ready
[   16.654486] mt7530 mdio-bus:1f lan0: configuring for phy/gmii link mode
[   17.636619] mt7530 mdio-bus:1f lan1: configuring for phy/gmii link mode
[   17.729079] mt7530 mdio-bus:1f lan2: configuring for phy/gmii link mode
[   17.822656] mt7530 mdio-bus:1f lan3: configuring for phy/gmii link mode

Is there anything to do to enable m2 port ?

Thank you.

Which slot do you use? M.2 on top has only usb connected. Slot on bottom side is intended for nvme,but has pcie and so should work with pci cards. What does lspci say? If using bottom port it should be listed and then you may need driver enabled in kernel first as i have only enabled hw of r3 itself

I use the bottom slot. lspci indeed found the hardware :


root@bpi-r3:/lib/modules/6.1.60-bpi-r3# lspci
00:00.0 PCI bridge: MEDIATEK Corp. Device 1f32 (rev 01)
01:00.0 Network controller: MEDIATEK Corp. MT7922 802.11ax PCI Express Wireless Network Adapter

Do you know how to enable the driver ?

Thank you.

Clone my repo,switch to 6.1-main,run build.sh with importconfig,config and without parameter :slight_smile: and then choose install option after build with sdcard inserted

Looks like you have kernel already built by yourself,so you have already build environment ready, so just “./build.sh config” to change settings…either going through menuconfig (network drivers,wireless, mediatek,mt7922) or searching with “/”

Seems it is handled by mt7921

I added mt7921 driver and it is all good now : WiFi 6e is working fine (AP and client). :grinning:

Thank you very much for your answers !