From: Bitterblue Smith <rtl8821cerfe2@gmail.com>
To: Angel Parra <jesusnavarrojr188@gmail.com>,
Linux Wireless Mailing List <linux-wireless@vger.kernel.org>
Cc: Felix Fietkau <nbd@nbd.name>,
Lorenzo Bianconi <lorenzo@kernel.org>,
Ryder Lee <ryder.lee@mediatek.com>,
Shayne Chen <shayne.chen@mediatek.com>,
Sean Wang <Sean.Wang@mediatek.com>
Subject: Re: [RESEND] Ongoing instability and connection loops with MT7922 (mt7921e driver)
Date: Mon, 8 Jun 2026 22:12:25 +0300 [thread overview]
Message-ID: <c056f6b3-e2e2-4bfd-9cd0-14225bd4d510@gmail.com> (raw)
In-Reply-To: <fa96f303-ba3d-47f0-8ffe-04c088d22913@gmail.com>
On 28/05/2026 04:44, Angel Parra wrote:
> Hello,
> I was advised to reach out to this mailing list regarding severe wireless connection issues with my MediaTek card. I am writing to request a review of the `mt7921e` driver. While I appreciate the significant improvements made to the `mt7902` driver recently, the support for some newer chipsets currently feels almost unusable in real-world conditions.
>
> My hardware details are as follows:
> ```text
> 02:00.0 Network controller: MEDIATEK Corp. MT7922 802.11ax PCI Express Wireless Network Adapter
> Subsystem: Foxconn International, Inc. Device e0cd
> Kernel driver in use: mt7921e
> ```
>
> Below are the most consistent bugs and instabilities I have observed to the date that constantly interrupt our workflow:
>
> * The adapter often fails to discover nearby access points, despite multiple mobile phones confirming their active presence.
> * Both 2.4GHz and 5GHz WLANs frequently remain undetected, even when the laptop is directly next to the router.
> * Regardless of physical proximity to the modem, the connection process regularly hangs on "Configuring interface" (in the KDE Plasma desktop applet) for over 15 seconds. After this delay, the connection either succeeds or fails completely.
> * When successfully connected to 2.4GHz bands, download speeds are remarkably slow and fall significantly below what my phone achieves on the same connection.
> * The detection range is severely limited; establishing a link to a 5GHz SSID requires being in the exact same room as the access point.
> * Introducing a single wall between the router and the laptop triggers the aforementioned 15-second "Configuring interface" hang, usually resulting in a failed connection.
> * Upon failing to connect to an otherwise healthy access point, the system enters an infinite loop. It hangs on configuration, fails, jumps to the next saved SSID, fails again, and cycles endlessly through all saved profiles.
> * Overall connection stability is exceptionally poor. A successful connection might persist only if the laptop remains perfectly stationary. Otherwise, the link randomly drops after a few minutes with a "Connection deactivated" state, triggering the failed connection loop.
> * Attempting to bypass these issues by tethering to a mobile hotspot directly next to the laptop also fails. The adapter either cannot detect the hotspot at all or hangs during configuration, leaving the machine entirely offline.
>
> The failing connection loop in `dmesg` looks like this over a span of several minutes, clearly illustrating the continuous authentication timeouts as the adapter cycles through my saved profiles:
>
> ```text
> [148485.661369] PM: suspend exit
> [148488.781860] wlp2s0: authenticate with f8:64:b8:b8:3d:7a (local address=38:d5:7a:12:c2:3b)
> [148488.795305] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 1/3)
> [148488.843935] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 2/3)
> [148488.996043] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 3/3)
> [148489.044916] wlp2s0: authentication with f8:64:b8:b8:3d:7a timed out
> [148491.867424] wlp2s0: authenticate with f8:64:b8:b8:3d:7a (local address=38:d5:7a:12:c2:3b)
> [148491.880895] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 1/3)
> [148491.939014] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 2/3)
> [148492.094896] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 3/3)
> [148492.142676] wlp2s0: authentication with f8:64:b8:b8:3d:7a timed out
> [148495.354718] wlp2s0: authenticate with f8:64:b8:b8:3d:7a (local address=38:d5:7a:12:c2:3b)
> [148495.368216] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 1/3)
> [148495.418798] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 2/3)
> [148495.577799] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 3/3)
> [148495.625990] wlp2s0: authentication with f8:64:b8:b8:3d:7a timed out
> [148499.324558] wlp2s0: authenticate with f8:64:b8:b8:3d:7a (local address=38:d5:7a:12:c2:3b)
> [148499.337991] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 1/3)
> [148499.387641] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 2/3)
> [148499.542987] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 3/3)
> [148499.593575] wlp2s0: authentication with f8:64:b8:b8:3d:7a timed out
> [148510.294935] wlp2s0: authenticate with f8:64:b8:b8:3d:7a (local address=38:d5:7a:12:c2:3b)
> [148510.308356] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 1/3)
> [148510.360427] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 2/3)
> [148510.406754] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 3/3)
> [148510.566970] wlp2s0: authentication with f8:64:b8:b8:3d:7a timed out
> [148520.573843] wlp2s0: authenticate with 84:d8:1b:9f:91:10 (local address=38:d5:7a:12:c2:3b)
> [148520.587285] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 1/3)
> [148520.644274] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 2/3)
> [148520.693177] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 3/3)
> [148521.140382] wlp2s0: authentication with 84:d8:1b:9f:91:10 timed out
> [148541.462597] wlp2s0: authenticate with 84:d8:1b:9f:91:10 (local address=38:d5:7a:12:c2:3b)
> [148541.476062] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 1/3)
> [148541.522330] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 2/3)
> [148541.973505] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 3/3)
> [148542.022304] wlp2s0: authentication with 84:d8:1b:9f:91:10 timed out
> [148548.610998] wlp2s0: authenticate with f8:64:b8:b8:3d:7a (local address=38:d5:7a:12:c2:3b)
> [148548.624376] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 1/3)
> [148549.075668] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 2/3)
> [148549.121771] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 3/3)
> [148549.574886] wlp2s0: authentication with f8:64:b8:b8:3d:7a timed out
> [148552.427178] wlp2s0: authenticate with 84:d8:1b:9f:91:10 (local address=38:d5:7a:12:c2:3b)
> [148552.430014] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 1/3)
> [148552.470639] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 2/3)
> [148552.513942] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 3/3)
> [148552.556374] wlp2s0: authentication with 84:d8:1b:9f:91:10 timed out
> [148565.252575] wlp2s0: authenticate with 84:d8:1b:9f:91:10 (local address=38:d5:7a:12:c2:3b)
> [148565.266023] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 1/3)
> [148565.396382] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 2/3)
> [148565.446749] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 3/3)
> [148565.605849] wlp2s0: authentication with 84:d8:1b:9f:91:10 timed out
> [148579.997166] wlp2s0: authenticate with 84:d8:1b:9f:91:10 (local address=38:d5:7a:12:c2:3b)
> [148580.010594] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 1/3)
> [148580.072257] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 2/3)
> [148580.112398] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 3/3)
> [148580.152361] wlp2s0: authentication with 84:d8:1b:9f:91:10 timed out
> [148592.848439] wlp2s0: authenticate with 84:d8:1b:9f:91:10 (local address=38:d5:7a:12:c2:3b)
> [148592.861867] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 1/3)
> [148592.903480] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 2/3)
> [148592.995422] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 3/3)
> [148593.041528] wlp2s0: authentication with 84:d8:1b:9f:91:10 timed out
> [148607.612953] wlp2s0: authenticate with f8:64:b8:b8:3d:7a (local address=38:d5:7a:12:c2:3b)
> [148607.626393] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 1/3)
> [148607.698476] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 2/3)
> [148607.742091] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 3/3)
> [148607.783429] wlp2s0: authentication with f8:64:b8:b8:3d:7a timed out
> [148620.219579] wlp2s0: authenticate with 84:d8:1b:9f:91:10 (local address=38:d5:7a:12:c2:3b)
> [148620.233011] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 1/3)
> [148620.328013] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 2/3)
> [148620.374159] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 3/3)
> [148620.534020] wlp2s0: authentication with 84:d8:1b:9f:91:10 timed out
> [148633.224869] wlp2s0: authenticate with 84:d8:1b:9f:91:10 (local address=38:d5:7a:12:c2:3b)
> [148633.238306] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 1/3)
> [148633.303939] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 2/3)
> [148633.356603] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 3/3)
> [148633.514978] wlp2s0: authentication with 84:d8:1b:9f:91:10 timed out
> [148637.634640] wlp2s0: authenticate with f8:64:b8:b8:3d:7a (local address=38:d5:7a:12:c2:3b)
> [148637.647620] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 1/3)
> [148637.694360] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 2/3)
> [148637.743291] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 3/3)
> [148638.192244] wlp2s0: authentication with f8:64:b8:b8:3d:7a timed out
> [148655.509368] wlp2s0: authenticate with 84:d8:1b:9f:91:10 (local address=38:d5:7a:12:c2:3b)
> [148655.522809] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 1/3)
> [148655.572981] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 2/3)
> [148656.021379] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 3/3)
> [148656.070061] wlp2s0: authentication with 84:d8:1b:9f:91:10 timed out
> [148677.626050] wlp2s0: authenticate with f8:64:b8:b8:3d:7a (local address=38:d5:7a:12:c2:3b)
> [148677.639450] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 1/3)
> [148677.704689] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 2/3)
> [148677.753188] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 3/3)
> [148677.914243] wlp2s0: authentication with f8:64:b8:b8:3d:7a timed out
> [148680.509871] wlp2s0: authenticate with 84:d8:1b:9f:91:10 (local address=38:d5:7a:12:c2:3b)
> [148680.512694] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 1/3)
> [148680.530021] wlp2s0: authenticated
> [148680.530280] wlp2s0: associate with 84:d8:1b:9f:91:10 (try 1/3)
> [148680.555487] wlp2s0: RX AssocResp from 84:d8:1b:9f:91:10 (capab=0x411 status=0 aid=4)
> [148680.582777] wlp2s0: associated
> [149142.517235] nvidia-modeset: WARNING: GPU:0: Correcting number of heads for current head configuration (0x00)
> [149361.823195] wlp2s0: Connection to AP 84:d8:1b:9f:91:10 lost
> [149418.133906] wlp2s0: authenticate with 84:d8:1b:9f:91:10 (local address=38:d5:7a:12:c2:3b)
> [149418.145316] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 1/3)
> [149418.194402] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 2/3)
> [149418.242746] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 3/3)
> [149418.692292] wlp2s0: authentication with 84:d8:1b:9f:91:10 timed out
> [149437.001016] wlp2s0: authenticate with 84:d8:1b:9f:91:10 (local address=38:d5:7a:12:c2:3b)
> [149437.012391] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 1/3)
> [149437.095855] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 2/3)
> [149437.142168] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 3/3)
> [149437.593548] wlp2s0: authentication with 84:d8:1b:9f:91:10 timed out
> [149464.557438] wlp2s0: authenticate with 84:d8:1b:9f:91:10 (local address=38:d5:7a:12:c2:3b)
> [149464.568407] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 1/3)
> [149464.730630] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 2/3)
> [149464.777125] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 3/3)
> [149464.932766] wlp2s0: authentication with 84:d8:1b:9f:91:10 timed out
> [149474.631073] wlp2s0: authenticate with 84:d8:1b:9f:91:10 (local address=38:d5:7a:12:c2:3b)
> [149474.644554] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 1/3)
> [149474.690700] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 2/3)
> [149474.849313] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 3/3)
> [149474.895328] wlp2s0: authentication with 84:d8:1b:9f:91:10 timed out
> [149535.532981] wlp2s0: authenticate with 84:d8:1b:9f:91:10 (local address=38:d5:7a:12:c2:3b)
> [149535.546820] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 1/3)
> [149535.678835] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 2/3)
> [149535.725111] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 3/3)
> [149535.880819] wlp2s0: authentication with 84:d8:1b:9f:91:10 timed out
> [149879.705065] wlp2s0: authenticate with 84:d8:1b:9f:91:10 (local address=38:d5:7a:12:c2:3b)
> [149879.718556] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 1/3)
> [149879.794297] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 2/3)
> [149879.843592] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 3/3)
> [149880.017253] wlp2s0: authentication with 84:d8:1b:9f:91:10 timed out
> [149888.633997] wlp2s0: authenticate with 84:d8:1b:9f:91:10 (local address=38:d5:7a:12:c2:3b)
> [149888.647548] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 1/3)
> [149888.805077] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 2/3)
> [149888.856075] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 3/3)
> [149889.015401] wlp2s0: authentication with 84:d8:1b:9f:91:10 timed out
> [149928.562888] wlp2s0: authenticate with 84:d8:1b:9f:91:10 (local address=38:d5:7a:12:c2:3b)
> [149928.576448] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 1/3)
> [149928.619097] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 2/3)
> [149928.661687] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 3/3)
> [149928.737998] wlp2s0: authentication with 84:d8:1b:9f:91:10 timed out
> [149941.444820] wlp2s0: authenticate with 84:d8:1b:9f:91:10 (local address=38:d5:7a:12:c2:3b)
> [149941.458370] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 1/3)
> [149941.615999] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 2/3)
> [149941.662509] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 3/3)
> [149941.711201] wlp2s0: authentication with 84:d8:1b:9f:91:10 timed out
> [149956.605669] wlp2s0: authenticate with 84:d8:1b:9f:91:10 (local address=38:d5:7a:12:c2:3b)
> [149956.619156] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 1/3)
> [149956.673039] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 2/3)
> [149956.721411] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 3/3)
> [149957.172885] wlp2s0: authentication with 84:d8:1b:9f:91:10 timed out
> [149969.882794] wlp2s0: authenticate with 84:d8:1b:9f:91:10 (local address=38:d5:7a:12:c2:3b)
> [149969.896301] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 1/3)
> [149969.943140] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 2/3)
> [149969.990954] wlp2s0: send auth to 84:d8:1b:9f:91:10 (try 3/3)
> [149970.442757] wlp2s0: authentication with 84:d8:1b:9f:91:10 timed out
> [149984.624558] wlp2s0: authenticate with f8:64:b8:b8:3d:7a (local address=38:d5:7a:12:c2:3b)
> [149984.638187] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 1/3)
> [149984.697458] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 2/3)
> [149984.737544] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 3/3)
> [149984.778744] wlp2s0: authentication with f8:64:b8:b8:3d:7a timed out
> [150016.560488] wlp2s0: authenticate with f8:64:b8:b8:3d:7a (local address=38:d5:7a:12:c2:3b)
> [150016.573492] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 1/3)
> [150016.614971] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 2/3)
> [150016.673246] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 3/3)
> [150016.721924] wlp2s0: authentication with f8:64:b8:b8:3d:7a timed out
> [150051.575890] wlp2s0: authenticate with f8:64:b8:b8:3d:7a (local address=38:d5:7a:12:c2:3b)
> [150051.589489] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 1/3)
> [150051.636535] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 2/3)
> [150051.685162] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 3/3)
> [150052.134899] wlp2s0: authentication with f8:64:b8:b8:3d:7a timed out
> [150064.827990] wlp2s0: authenticate with f8:64:b8:b8:3d:7a (local address=38:d5:7a:12:c2:3b)
> [150064.841478] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 1/3)
> [150064.966855] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 2/3)
> [150065.015378] wlp2s0: send auth to f8:64:b8:b8:3d:7a (try 3/3)
> [150065.174847] wlp2s0: authentication with f8:64:b8:b8:3d:7a timed out
> ```
>
> Thank you for your time and for reading through this report. I would greatly appreciate it if this could be routed to the appropriate maintainers to help address these driver issues. Have a great day wherever you are.
>
Hi!
These details could be helpful:
- Laptop model
- Wifi card's PCI ID (from "lspci -nn")
- Name and version of the Linux distro
- Full output of dmesg
The mt7921e module has a parameter called "disable_aspm". Have you
tried to set this to 1? Just a random thing you can try.
I'm not sure if it's necessary with the Mediatek cards, but if you
try this parameter, do a cold boot (set the parameter using the
bootloader or a file in /etc/modprobe.d/, shut down the laptop, then
turn it on again).
I added the maintainers of mt76 to the Cc list.
next prev parent reply other threads:[~2026-06-08 19:12 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-28 1:44 [RESEND] Ongoing instability and connection loops with MT7922 (mt7921e driver) Angel Parra
2026-06-08 19:12 ` Bitterblue Smith [this message]
2026-06-08 21:10 ` Nick
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=c056f6b3-e2e2-4bfd-9cd0-14225bd4d510@gmail.com \
--to=rtl8821cerfe2@gmail.com \
--cc=Sean.Wang@mediatek.com \
--cc=jesusnavarrojr188@gmail.com \
--cc=linux-wireless@vger.kernel.org \
--cc=lorenzo@kernel.org \
--cc=nbd@nbd.name \
--cc=ryder.lee@mediatek.com \
--cc=shayne.chen@mediatek.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox