Search Linux Wireless

Re: [Stable Regression Bisected] Linux 6.13.2 breaks mt7925e

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2025-02-12 at 22:26 -0600, Caleb Jorden wrote:
> 
> External email : Please do not click links or open attachments until
> you have verified the sender or the content.
> 
> 
> On Wed, Feb 12, 2025 at 9:50 PM Caleb Jorden <cjorden@xxxxxxxxx>
> wrote:
> > 
> > On Wed, Feb 12, 2025 at 9:43 PM Mingyen Hsieh (謝明諺)
> > <Mingyen.Hsieh@xxxxxxxxxxxx> wrote:
> > > 
> > > On Wed, 2025-02-12 at 21:16 -0600, Caleb Jorden wrote:
> > > > 
> > > > External email : Please do not click links or open attachments
> > > > until
> > > > you have verified the sender or the content.
> > > > 
> > > > 
> > > > Hello Kernel team,
> > > > 
> > > > I discovered that the 6.13.2 kernel breaks my laptop's
> > > > wireless.
> > > > Here
> > > > are the details of my system:
> > > > 
> > > > - Framework 13 (AMD Ryzen 7840)
> > > > - mt7925e wireless card (purchased from:
> > > > https://urldefense.com/v3/__https://www.amazon.com/dp/B0DP68GV9V__
> > > > ;!!
> > > > CTRNKA9wMg0ARbw!nB_7DXY8l5AYSvgN3AMFpJZOJVng1dxSh_2yZLKT8S8DkDE
> > > > wjaGvl
> > > > cmALUeik84J7ePLJnvOe-2oNQ7dxCM$ )
> > > > - Arch Linux, using IWD (3.3) to manage Wireless network
> > > > connectivity
> > > > 
> > > > When running the 6.13.0 and 6.13.1 kernels (from Arch), the
> > > > wireless
> > > > adapter worked very well.  I was able to associate to my Wifi 7
> > > > network (Ubiquiti U7 Pros) and operate in the 6GHz spectrum
> > > > with
> > > > 160MHz channels.  I also have an older wireless network that
> > > > runs on
> > > > Google Nest routers.
> > > > 
> > > > When I upgraded to the 6.13.2 kernel from Arch Linux, my
> > > > wireless
> > > > suddenly stopped working.  I looked at the kernel logs and saw
> > > > these
> > > > messages (wireless addresses changed to make clearer the
> > > > different
> > > > points):
> > > > 
> > > > [   10.007185] wlan0: authenticate with 28:80:xx:yy:zz:6e
> > > > (local
> > > > address=40:1a:58:aa:bb:cc)
> > > > [   10.376446] wlan0: send auth to 28:80:xx:yy:zz:6e (try 1/3)
> > > > [   10.384610] wlan0: 28:80:xx:yy:zz:6e denied authentication
> > > > (status
> > > > 77)
> > > > [   10.483900] wlan0: authenticate with 28:80:xx:yy:zz:6e
> > > > (local
> > > > address=40:1a:58:aa:bb:cc)
> > > > [   10.490138] wlan0: send auth to 28:80:xx:yy:zz:6e (try 1/3)
> > > > [   10.507531] wlan0: send auth to 28:80:xx:yy:zz:6e (try 2/3)
> > > > [   10.525580] wlan0: send auth to 28:80:xx:yy:zz:6e (try 3/3)
> > > > [   10.543048] wlan0: authentication with 28:80:xx:yy:zz:6e
> > > > timed out
> > > > [   10.619423] wlan0: authenticate with 28:80:aa:bb:cc:e1
> > > > (local
> > > > address=40:1a:58:aa:bb:cc)
> > > > [   10.749880] wlan0: send auth to 28:80:aa:bb:cc:e1 (try 1/3)
> > > > [   10.768530] wlan0: send auth to 28:80:aa:bb:cc:e1 (try 2/3)
> > > > [   10.786954] wlan0: send auth to 28:80:aa:bb:cc:e1 (try 3/3)
> > > > [   10.805792] wlan0: authentication with 28:80:aa:bb:cc:e1
> > > > timed out
> > > > [   10.881620] wlan0: authenticate with 28:80:ee:ff:gg:6d
> > > > (local
> > > > address=40:1a:58:aa:bb:cc)
> > > > [   11.016891] wlan0: send auth to 28:80:ee:ff:gg:6d (try 1/3)
> > > > [   11.033622] wlan0: send auth to 28:80:ee:ff:gg:6d (try 2/3)
> > > > [   11.050574] wlan0: send auth to 28:80:ee:ff:gg:6d (try 3/3)
> > > > [   11.065250] wlan0: authentication with 28:80:ee:ff:gg:6d
> > > > timed out
> > > > [   11.139745] wlan0: authenticate with 2a:80:hh:ii:jj:6f
> > > > (local
> > > > address=40:1a:58:aa:bb:cc)
> > > > [   11.506205] wlan0: send auth to 2a:80:hh:ii:jj:6f (try 1/3)
> > > > [   11.528071] wlan0: send auth to 2a:80:hh:ii:jj:6f (try 2/3)
> > > > [   11.550043] wlan0: send auth to 2a:80:hh:ii:jj:6f (try 3/3)
> > > > [   11.572005] wlan0: authentication with 2a:80:hh:ii:jj:6f
> > > > timed out
> > > > [   16.312942] wlan0: authenticate with 2a:80:kk:ll:mm:e3
> > > > (local
> > > > address=40:1a:58:aa:bb:cc)
> > > > [   16.675865] wlan0: send auth to 2a:80:kk:ll:mm:e3 (try 1/3)
> > > > [   16.702328] wlan0: send auth to 2a:80:kk:ll:mm:e3 (try 2/3)
> > > > [   16.726162] wlan0: send auth to 2a:80:kk:ll:mm:e3 (try 3/3)
> > > > [   16.748958] wlan0: authentication with 2a:80:kk:ll:mm:e3
> > > > timed out
> > > > [   16.829874] wlan0: authenticate with 2a:80:nn:oo:pp:e2
> > > > (local
> > > > address=40:1a:58:aa:bb:cc)
> > > > [   17.196579] wlan0: send auth to 2a:80:nn:oo:pp:e2 (try 1/3)
> > > > [   17.214256] wlan0: send auth to 2a:80:nn:oo:pp:e2 (try 2/3)
> > > > [   17.231852] wlan0: send auth to 2a:80:nn:oo:pp:e2 (try 3/3)
> > > > [   17.250116] wlan0: authentication with 2a:80:nn:oo:pp:e2
> > > > timed out
> > > > 
> > > > Then IWD seems to have stopped attempting to associate for some
> > > > time.
> > > > My wireless interface showed link down, and I had no IP
> > > > address.  I
> > > > attempted to associate to my older Google Nest network, but
> > > > that also
> > > > failed with the same behavior (thus showing the problem not to
> > > > be
> > > > Wifi
> > > > 7 or Ubiquiti-specific).
> > > > 
> > > > I compiled up the mainline 6.13.2 kernel myself and saw the
> > > > same
> > > > behavior.
> > > > 
> > > > I then went back to the Arch 6.13.1 kernel, and the system
> > > > operated
> > > > perfectly fine as expected.
> > > > 
> > > > I bisected the break to this commit:
> > > > 
> > > > $ git bisect good
> > > > c76fba3b07c7fb841c4f8f2acc0f01ff3cf73674 is the first bad
> > > > commit
> > > > commit c76fba3b07c7fb841c4f8f2acc0f01ff3cf73674
> > > > Author: Ming Yen Hsieh <mingyen.hsieh@xxxxxxxxxxxx>
> > > > Date:   Tue Dec 10 17:19:25 2024 -0800
> > > > 
> > > >     wifi: mt76: mt7925: Cleanup MLO settings post-disconnection
> > > > 
> > > >     [ Upstream commit 816161051a039eeb1226fc85e2b38389f508906c
> > > > ]
> > > > 
> > > >     Clean up MLO settings after disconnection.
> > > > 
> > > >     Fixes: 86c051f2c418 ("wifi: mt76: mt7925: enabling MLO when
> > > > the
> > > > firmware supports it")
> > > >     Signed-off-by: Ming Yen Hsieh <mingyen.hsieh@xxxxxxxxxxxx>
> > > >     Signed-off-by: Sean Wang <sean.wang@xxxxxxxxxxxx>
> > > >     Link:
> > > > https://urldefense.com/v3/__https://patch.msgid.link/20241211011926.5
> > > > 002-16-
> > > > sean.wang@kernel.org__;!!CTRNKA9wMg0ARbw!nB_7DXY8l5AYSvgN3AMFpJ
> > > > ZOJVng
> > > > 1dxSh_2yZLKT8S8DkDEwjaGvlcmALUeik84J7ePLJnvOe-2okec0mTc$
> > > >     Signed-off-by: Felix Fietkau <nbd@xxxxxxxx>
> > > >     Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
> > > > 
> > > >  drivers/net/wireless/mediatek/mt76/mt7925/main.c | 37
> > > > +++++++++++++++++++++++++++++++++++--
> > > >  drivers/net/wireless/mediatek/mt76/mt7925/mcu.c  |  4 ++--
> > > >  drivers/net/wireless/mediatek/mt76/mt7925/mcu.h  |  2 +-
> > > >  3 files changed, 38 insertions(+), 5 deletions(-)
> > > > 
> > > > I attempted to revert this commit on top of 6.13.2, but there
> > > > are
> > > > other commits that modify these files, so it can not be
> > > > reverted by
> > > > itself.  I looked at the commit, and a thought occurred to me
> > > > that
> > > > maybe wpa_supplicant might still function even though iwd did
> > > > not.
> > > > 
> > > > I set up wpa_supplicant, and found that I was able to associate
> > > > and
> > > > pass network traffic.  HOWEVER, when running a simple iperf3
> > > > test,
> > > > saw
> > > > very slow speeds while associated (about 10 times slower than
> > > > seen
> > > > with the 6.13.1 kernel).  Thus, I think this is quite clearly a
> > > > regression.  My guess is that this wireless adapter is new
> > > > enough
> > > > that
> > > > many people have yet to hit this.
> > > > 
> > > > Here are the details of the card:
> > > > # dmesg | grep mt79:
> > > > [   12.617246] mt7925e 0000:01:00.0: enabling device (0000 ->
> > > > 0002)
> > > > [   12.622426] mt7925e 0000:01:00.0: ASIC revision: 79250000
> > > > [   12.698681] mt7925e 0000:01:00.0: HW/SW Version: 0x8a108a10,
> > > > Build
> > > > Time: 20241104132949a
> > > > [   13.047884] mt7925e 0000:01:00.0: WM Firmware Version:
> > > > ____000000,
> > > > Build Time: 20241104133053
> > > > 
> > > > # lspci -vvv (mediatek device):
> > > > 01:00.0 Network controller: MEDIATEK Corp. Device 7925 (rev 01)
> > > >     Subsystem: Hewlett-Packard Company Device 8c38
> > > >     Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
> > > > ParErr- Stepping- SERR- FastB2B- DisINTx+
> > > >     Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast
> > > > >TAbort-
> > > > <TAbort- <MAbort- >SERR- <PERR- INTx-
> > > >     Latency: 0, Cache Line Size: 64 bytes
> > > >     Interrupt: pin A routed to IRQ 116
> > > >     IOMMU group: 12
> > > >     Region 0: Memory at 90600000 (64-bit, non-prefetchable)
> > > > [size=2M]
> > > >     Region 2: Memory at 90800000 (64-bit, non-prefetchable)
> > > > [size=32K]
> > > >     Capabilities: [80] Express (v2) Endpoint, IntMsgNum 0
> > > >         DevCap:    MaxPayload 256 bytes, PhantFunc 0, Latency
> > > > L0s
> > > > unlimited, L1 unlimited
> > > >             ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset+
> > > > SlotPowerLimit 75W TEE-IO-
> > > >         DevCtl:    CorrErr- NonFatalErr- FatalErr- UnsupReq-
> > > >             RlxdOrd- ExtTag+ PhantFunc- AuxPwr- NoSnoop+
> > > > FLReset-
> > > >             MaxPayload 256 bytes, MaxReadReq 512 bytes
> > > >         DevSta:    CorrErr- NonFatalErr- FatalErr- UnsupReq-
> > > > AuxPwr-
> > > > TransPend-
> > > >         LnkCap:    Port #1, Speed 5GT/s, Width x1, ASPM L0s L1,
> > > > Exit
> > > > Latency L0s <2us, L1 <8us
> > > >             ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
> > > >         LnkCtl:    ASPM L1 Enabled; RCB 64 bytes, LnkDisable-
> > > > CommClk+
> > > >             ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
> > > >         LnkSta:    Speed 5GT/s, Width x1
> > > >             TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
> > > >         DevCap2: Completion Timeout: Range ABCD, TimeoutDis+
> > > > NROPrPrP- LTR+
> > > >              10BitTagComp- 10BitTagReq- OBFF Not Supported,
> > > > ExtFmt+
> > > > EETLPPrefix-
> > > >              EmergencyPowerReduction Not Supported,
> > > > EmergencyPowerReductionInit-
> > > >              FRS- TPHComp- ExtTPHComp-
> > > >              AtomicOpsCap: 32bit- 64bit- 128bitCAS-
> > > >         DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-
> > > >              AtomicOpsCtl: ReqEn-
> > > >              IDOReq- IDOCompl- LTR+ EmergencyPowerReductionReq-
> > > >              10BitTagReq- OBFF Disabled, EETLPPrefixBlk-
> > > >         LnkCap2: Supported Link Speeds: 2.5-5GT/s, Crosslink-
> > > > Retimer-
> > > > 2Retimers- DRS-
> > > >         LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance-
> > > > SpeedDis-
> > > >              Transmit Margin: Normal Operating Range,
> > > > EnterModifiedCompliance- ComplianceSOS-
> > > >              Compliance Preset/De-emphasis: -6dB de-emphasis,
> > > > 0dB
> > > > preshoot
> > > >         LnkSta2: Current De-emphasis Level: -3.5dB,
> > > > EqualizationComplete- EqualizationPhase1-
> > > >              EqualizationPhase2- EqualizationPhase3-
> > > > LinkEqualizationRequest-
> > > >              Retimer- 2Retimers- CrosslinkRes: unsupported
> > > >     Capabilities: [e0] MSI: Enable+ Count=1/32 Maskable+ 64bit+
> > > >         Address: 00000000fee00000  Data: 0000
> > > >         Masking: fffffffe  Pending: 00000000
> > > >     Capabilities: [f8] Power Management version 3
> > > >         Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
> > > > PME(D0+,D1-,D2-,D3hot+,D3cold+)
> > > >         Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
> > > >     Capabilities: [100 v1] Vendor Specific Information: ID=1556
> > > > Rev=1
> > > > Len=008 <?>
> > > >     Capabilities: [108 v1] Latency Tolerance Reporting
> > > >         Max snoop latency: 1048576ns
> > > >         Max no snoop latency: 1048576ns
> > > >     Capabilities: [110 v1] L1 PM Substates
> > > >         L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+
> > > > ASPM_L1.1+
> > > > L1_PM_Substates+
> > > >               PortCommonModeRestoreTime=3us
> > > > PortTPowerOnTime=52us
> > > >         L1SubCtl1: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+
> > > > ASPM_L1.1+
> > > >                T_CommonMode=0us LTR1.2_Threshold=166912ns
> > > >         L1SubCtl2: T_PwrOn=150us
> > > >     Capabilities: [200 v2] Advanced Error Reporting
> > > >         UESta:    DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
> > > > UnxCmplt-
> > > > RxOF- MalfTLP-
> > > >             ECRC- UnsupReq- ACSViol- UncorrIntErr- BlockedTLP-
> > > > AtomicOpBlocked- TLPBlockedErr-
> > > >             PoisonTLPBlocked- DMWrReqBlocked- IDECheck-
> > > > MisIDETLP-
> > > > PCRC_CHECK- TLPXlatBlocked-
> > > >         UEMsk:    DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
> > > > UnxCmplt-
> > > > RxOF- MalfTLP-
> > > >             ECRC- UnsupReq- ACSViol- UncorrIntErr+ BlockedTLP-
> > > > AtomicOpBlocked- TLPBlockedErr-
> > > >             PoisonTLPBlocked- DMWrReqBlocked- IDECheck-
> > > > MisIDETLP-
> > > > PCRC_CHECK- TLPXlatBlocked-
> > > >         UESvrt:    DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt-
> > > > UnxCmplt-
> > > > RxOF+ MalfTLP+
> > > >             ECRC- UnsupReq- ACSViol- UncorrIntErr+ BlockedTLP-
> > > > AtomicOpBlocked- TLPBlockedErr-
> > > >             PoisonTLPBlocked- DMWrReqBlocked- IDECheck-
> > > > MisIDETLP-
> > > > PCRC_CHECK- TLPXlatBlocked-
> > > >         CESta:    RxErr- BadTLP- BadDLLP- Rollover- Timeout-
> > > > AdvNonFatalErr+ CorrIntErr- HeaderOF-
> > > >         CEMsk:    RxErr- BadTLP- BadDLLP- Rollover- Timeout-
> > > > AdvNonFatalErr+ CorrIntErr+ HeaderOF-
> > > >         AERCap:    First Error Pointer: 00, ECRCGenCap-
> > > > ECRCGenEn-
> > > > ECRCChkCap- ECRCChkEn-
> > > >             MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
> > > >         HeaderLog: 00000000 00000000 00000000 00000000
> > > >     Kernel driver in use: mt7925e
> > > >     Kernel modules: mt7925e
> > > > 
> > > > On my system, /etc/iwd/main.conf contains:
> > > > ------------
> > > > [Scan]
> > > > DisablePeriodicScan=true
> > > > 
> > > > [General]
> > > > EnableNetworkConfiguration=true
> > > > Country=US
> > > > ------------
> > > > 
> > > > At this point my suggestion is that the v6.13.2 mt7925 changes
> > > > should
> > > > be reverted from the stable series for now, unless a fix can be
> > > > quickly found.  I have not yet tested 6.14-rc2, but would be
> > > > willing
> > > > to do so if it would be helpful.
> > > > 
> > > > Note: I am not subscribed to any of these lists, so please CC
> > > > me if
> > > > you want to contact me about this.
> > > > 
> > > > Respectfully submitted,
> > > > Caleb Jorden
> > > > cjorden@xxxxxxxxx
> > > 
> > > Hi Caleb,
> > > 
> > > Here are some patches are currently ongoing.
> > > Could you please apply these patches and try again?
> > > 
> > > https://urldefense.com/v3/__https://patchwork.kernel.org/project/linux-wireless/list/?series=925106__;!!CTRNKA9wMg0ARbw!loRHy4yBHDuZsKmdDaYaF7i3Bn9v-1pzILSE-IhbmVZf_sl_bUqZ4FPeq6ysq6JIH2hoDToILe_7cjvAGxk$
> > > 
> > > Thanks~
> > > 
> > > Best Regards,
> > > Yen.
> > > 
> > 
> > Hi Yen,
> > 
> > Thank you for getting back to me so quickly.  However, I can't
> > apply
> > these patches to the v6.13.2 kernel.  It appears that these apply
> > cleanly to the v6.14-rc2 kernel, but the stable series seems to
> > have
> > only a subset of those changes.  Is this what you expect, or am I
> > missing something?
> > 
> > 
> > Respectfully submitted,
> > Caleb Jorden
> > cjorden@xxxxxxxxx
> 
> Hello again,
> 
> I decided to test the 6.14-rc2 kernel, and found it is broken just
> like the 6.13.2 kernel.
> 
> I then tried applying the patches found here:
> 
> https://urldefense.com/v3/__https://patchwork.kernel.org/project/linux-wireless/list/?series=925106__;!!CTRNKA9wMg0ARbw!loRHy4yBHDuZsKmdDaYaF7i3Bn9v-1pzILSE-IhbmVZf_sl_bUqZ4FPeq6ysq6JIH2hoDToILe_7cjvAGxk$
> 
> as suggested by Yen on top of 6.14-rc2, and everything seems to be
> working normally again!  Speed seems to be very good (possibly better
> than even 6.13.1).
> 
> So, I would suggest the 6.14 series pick up that set of patches.
> 
> For the stable 6.13.y series, it appears that either these patches
> (and any necessary predecessors) need to be applied, or the changes
> for the mt7925 driver introduced by 6.13.2 need to be reverted in
> order to fix the currently-broken state.
> 
> If there is any further checking I can do that would be helpful,
> please let me know.
> 
> Warm Regards,
> Caleb Jorden
> cjorden@xxxxxxxxx

Hi Caleb,

Thanks for your test.

I agree that these patches should go into 6.14 and be ported to 6.13
and 6.12.

Could you help me identify which patch can't be applied to 6.13.2? I
think it is the first one.

Best Regards,
Yen.




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux