openwrt / openwrt/mt76

mt7925e: Unhandled kernel unaligned access on MIPS (Big-Endian)

Open
#1,056 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
888
Forks
436
PR merge metrics
No merged PRs in 30d

Description

Hi, I have a rare and unusual configuration here. 0:)
I really like OpenWrt + TP-Link Archer C7 AC1750, I have V2, V4, and V5.
On the C7 V2 I just replaced original ath10k 5GHz miniPCIe WiFi 5 card to an AzureWave M.2 E-Key WiFi 7 card AW-EB600NF (in M.2 E-Key adapter) with MT7925B22M.

Router: TP-Link Archer C7 v2 (QCA9558, MIPS 74Kc, Big-Endian)
OpenWrt: 25.12.0-rc5, r32673-482ba7230a
Kernel: Linux version 6.12.71 (builder@buildhost) (mips-openwrt-linux-musl-gcc (OpenWrt GCC 14.3.0 r32673-482ba7230a) 14.3.0, GNU ld (GNU Binutils) 2.44) #0 Tue Feb 17 21:30:37 2026
Card: MT7925 PCIe

Playing with:

WIFI_MT7925_PATCH_MCU_1_1_hdr.bin
WIFI_RAM_CODE_MT7925_1_1.bin

With the original kmod-mt7925e kmod-mt7925-firmware packages from OpenWrt, boot hangs, then watchdog takes over.
BTW, "____000000" looks weird.

...
[   23.220895] mt7925e 0000:00:00.0: enabling device (0000 -> 0002)
[   24.119453] mt7925e 0000:00:00.0: ASIC revision: 79250000
[   24.236494] mt7925e 0000:00:00.0: HW/SW Version: 0x8a108a10, Build Time: 20231227093012a
[   24.236494]
[   24.333372] ieee80211 phy1: Atheros AR9550 Rev:0 mem=0x2b382f0c, irq=15
[   24.430742] kmodloader: done loading kernel modules from /etc/modules.d/*
[   24.735555] mt7925e 0000:00:00.0: WM Firmware Version: ____000000, Build Time: 20231227093232

U-Boot 1.1.4 (Mar  5 2018 - 13:57:29)
...

On some newer firmware 20251210092928a + 20251210093025 that I find here:
linux-firmware: update firmware for MT7925 devices
or 20260106153007a + 20260106153120 from here:
mt7925

I get an error Unhandled kernel unaligned access[#1] in the kernel:

root@OpenWrt:/# modprobe mt7925e
[ 620.583743] mt7925e 0000:00:00.0: enabling device (0000 -> 0002)
[ 621.411575] mt7925e 0000:00:00.0: ASIC revision: 79250000
root@OpenWrtOld:/# [ 2621.635324] mt7925e 0000:00:00.0: HW/SW Version: 0x8a108a10, Build Time: 20260106153007a
[ 621.635324]
[ 621.992939] mt7925e 0000:00:00.0: WM Firmware Version: ____000000, Build Time: 20260106153120
[ 622.861532] ------------[ cut here ]------------
[ 622.866236] WARNING: CPU: 0 PID: 293 at kernel/workqueue.c:2257 0x800e3d7c
[ 622.873220] Modules linked in: mt7925e(O) mt7925_common(O) mt792x_lib(O) mt76_connac_lib(O) mt76(O) hwmon ath9k(O) ath9k_common(O) pppoe ▒▒▒▒(PFCOEKXTN)
[ 622.873298] Unhandled kernel unaligned access[#1]:
[ 622.891985] CPU: 0 UID: 0 PID: 293 Comm: kworker/0:3 Tainted: G           O       6.12.71 #0
[ 622.900556] Tainted: [O]=OOT_MODULE
[ 622.904090] Hardware name: TP-Link Archer C7 v2
[ 622.908686] Workqueue: events 0x82c4f06c [mt7925_common@b5edcfec+0x11000]
[ 622.915591] $ 0   : 00000000 00000001 ffffffff 00000027
[ 622.920915] $ 4   : 8085f580 8085f580 00000000 8180dcf0
[ 622.926240] $ 8   : ffffefff 00000000 ffffffea 000000a0
[ 622.931563] $12   : 8180dcfc 000000a0 8085f610 ffffffff
[ 622.936887] $16   : fffffffb 8076c4a0 808c58dc 80850000
[ 622.942211] $20   : 00000003 000008d1 808c0000 00038b64
[ 622.947536] $24   : 00000002 fffc2637
[ 622.952859] $28   : 81c44000 8180de10 808c5a40 800e19fc
[ 622.958183] Hi    : 001ebb7b
[ 622.961105] Lo    : 0bedb37a
[ 622.964027] epc   : 800e19d4 0x800e19d4
[ 622.967916] ra    : 800e19fc 0x800e19fc
[ 622.971806] Status: 1100fc02 KERNEL EXL
[ 622.975793] Cause : 40808010 (ExcCode 04)
[ 622.979857] BadVA : fffffffb
[ 622.982780] PrId  : 00019750 (MIPS 74Kc)
[ 622.986757] Modules linked in: mt7925e(O) mt7925_common(O) mt792x_lib(O) mt76_connac_lib(O) mt76(O) hwmon ath9k(O) ath9k_common(O) pppoe ▒▒▒▒(PFCOEKXTN)
[ 622.986819] Unhandled kernel unaligned access[#2]:
[ 623.005504] CPU: 0 UID: 0 PID: 293 Comm: kworker/0:3 Tainted: G           O       6.12.71 #0
...

Important part of kernel log:

...
[    1.869808] PCI host bridge to bus 0000:00
[    1.874039] pci_bus 0000:00: root bus resource [mem 0x12000000-0x13ffffff]
[    1.881031] pci_bus 0000:00: root bus resource [io  0x0001]
[    1.886706] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[    1.894870] pci 0000:00:00.0: [14c3:7925] type 00 class 0x028000 PCIe Endpoint
[    1.902253] pci 0000:00:00.0: BAR 0 [mem 0x00000000-0x001fffff 64bit]
[    1.908848] pci 0000:00:00.0: BAR 2 [mem 0x00000000-0x00007fff 64bit]
[    1.915540] pci 0000:00:00.0: PME# supported from D0 D3hot D3cold
[    1.921757] pci 0000:00:00.0: 2.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s PCIe x1 link at 0000:00:00.0 (capable of 4.000 Gb/s with 5.0 GT/s PCIe x1 link)
[    1.938065] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00
[    1.944847] pci 0000:00:00.0: BAR 0 [mem 0x12000000-0x121fffff 64bit]: assigned
[    1.952299] pci 0000:00:00.0: BAR 2 [mem 0x12200000-0x12207fff 64bit]: assigned
...

Does anyone have any idea what's wrong and how to fix it?
How else can I contribute to getting this working?
Is it realistic that it could work one day? =)
Thank you!

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue points to the mt7925e driver and mt7925_common workqueue on a MIPS big-endian Archer C7. Reproduce with modprobe mt7925e using the reported firmware and kernel versions, then use the unaligned-access trace to locate the failing path and compare behavior across firmware versions. Done means the fault’s source and a verified fix or clearly documented compatibility limitation are established.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, linux
Domain
embedded-iot, networking, operating-systems
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.