Public bug reported:

SUMMARY

On a Lenovo IdeaPad Slim 5 16AGP11 (MediaTek MT7925, driver mt7925e) in
Canada, Ubuntu 26.04 can't connect to any Wi-Fi network whose access
point advertises a Wi-Fi 7 Basic Multi-Link element. The kernel refuses
every authentication attempt before a single frame is sent, and
wpa_supplicant never falls back to a normal (non-MLO) connection. These
networks are therefore unusable. About 30 other devices connect to the
same access point without trouble, including other Ubuntu laptops. This
laptop connects normally to networks that don't advertise a Multi-Link
element.

Cause, in short: the BIOS disables 802.11be (Wi-Fi 7) for Canada in its
ACPI MTCL table, so mt7925e marks every channel NO_EHT. But mt7925e
still advertises MLO support (WIPHY_FLAG_SUPPORTS_MLO), and its EHT
capabilities stay advertised too. wpa_supplicant therefore requests an
MLO authentication. mac80211 drops the connection to HE because of
NO_EHT, stops seeing the AP's Multi-Link element, and rejects the
request with "Rejecting MLO as it is not supported by AP".

HARDWARE AND SOFTWARE

- Lenovo IdeaPad Slim 5 16AGP11, machine type 83S2, BIOS TGCN13WW (02/28/2026)
- MEDIATEK MT7925 802.11be PCIe [14c3:7925], subsystem Lenovo [17aa:e0ff], 
driver mt7925e
- Ubuntu 26.04.1 LTS
- Kernels: 7.0.0-30-generic (7.0.0-30.30, upstream 7.0.12) and 7.0.0-38-generic 
(7.0.0-38.38, upstream 7.0.14). Both are affected.
- Firmware: linux-firmware-mediatek 20260319.git217ca6e4-0ubuntu1.2 (WM 
firmware build 20260605184805). The newer upstream build 20260813113118 fails 
the same way.
- wpasupplicant 2:2.11-0ubuntu5, network-manager 1.54.3-2ubuntu3.1
- Regulatory domain: CA, set by the driver ("CTRL-EVENT-REGDOM-CHANGE 
init=DRIVER type=COUNTRY alpha2=CA")
- Access point: a Wi-Fi 7 router with a Basic Multi-Link element on every SSID. 
<SSID-1> is a separate single-link MLD per band (5745 MHz and 2432 MHz). 
<SSID-2> is one 2-link MLD (link 0 on 5745 MHz, link 1 on 2432 MHz).

STEPS TO REPRODUCE

1. Use this laptop (BIOS TGCN13WW) somewhere the regulatory country becomes CA 
("iw reg get" shows "country CA").
2. With the default NetworkManager + wpa_supplicant, connect to a Wi-Fi 7 
access point that advertises a Multi-Link element (an MLO SSID, or a 
single-link MLD).
3. Watch "journalctl -f".

EXPECTED RESULT

The laptop connects: with MLO if Wi-Fi 7 is allowed, otherwise as a
normal non-MLO Wi-Fi 6 (HE) connection. iwd does the latter on the same
machine.

ACTUAL RESULT

No connection. Each BSS fails within about 60 ms: the kernel logs
"regulatory prevented using AP config, downgraded" and "Rejecting MLO as
it is not supported by AP", then wpa_supplicant logs "SME:
Authentication request to the driver failed". No authentication frame is
sent. wpa_supplicant ignore-lists the BSSID, tries the next one (again
with MLO), and after that temporarily disables the network. This repeats
on every attempt, on both kernels and with both firmware builds.

LOGS (redacted)

7.0.0-38-generic, 2-link MLD SSID:

[  259.994810] wpa_supplicant[6403]: wlo1: SME: Trying to authenticate with 
<BSSID-2a> (SSID='<SSID-2>' freq=5745 MHz)
[  260.060118] kernel: wlo1: [link 0] regulatory prevented using AP config, 
downgraded
[  260.060318] kernel: wlo1: Rejecting MLO as it is not supported by AP
[  260.063602] wpa_supplicant[6403]: wlo1: SME: Authentication request to the 
driver failed
[  260.063628] wpa_supplicant[6403]: wlo1: Added BSSID <BSSID-2a> into ignore 
list, ignoring for 10 seconds
[  260.367503] wpa_supplicant[6403]: wlo1: SME: Trying to authenticate with 
<BSSID-2b> (SSID='<SSID-2>' freq=2432 MHz)
[  260.418124] kernel: wlo1: [link 1] regulatory prevented using AP config, 
downgraded
[  260.418326] kernel: wlo1: Rejecting MLO as it is not supported by AP
[  260.421295] wpa_supplicant[6403]: wlo1: SME: Authentication request to the 
driver failed
[  260.421316] wpa_supplicant[6403]: wlo1: Added BSSID <BSSID-2b> into ignore 
list, ignoring for 10 seconds

7.0.0-30-generic, SSID with a single-link MLD per band:

[    4.284069] kernel: mt7925e 0000:03:00.0: WM Firmware Version: ____000000, 
Build Time: 20260605184805
[    9.670529] wpa_supplicant[1611]: wlo1: CTRL-EVENT-REGDOM-CHANGE init=DRIVER 
type=COUNTRY alpha2=CA
[   13.698595] wpa_supplicant[1611]: wlo1: SME: Trying to authenticate with 
<BSSID-1a> (SSID='<SSID-1>' freq=5745 MHz)
[   13.762101] kernel: wlo1: [link 0] regulatory prevented using AP config, 
downgraded
[   13.762266] kernel: wlo1: Rejecting MLO as it is not supported by AP
[   13.769397] wpa_supplicant[1611]: wlo1: SME: Authentication request to the 
driver failed
[   14.077020] wpa_supplicant[1611]: wlo1: SME: Trying to authenticate with 
<BSSID-1b> (SSID='<SSID-1>' freq=2432 MHz)
[   14.139096] kernel: wlo1: [link 0] regulatory prevented using AP config, 
downgraded
[   14.139250] kernel: wlo1: Rejecting MLO as it is not supported by AP
[   14.142303] wpa_supplicant[1611]: wlo1: SME: Authentication request to the 
driver failed

7.0.0-38-generic with upstream firmware build 20260813113118: the same
sequence.

Driver state while affected (7.0.0-30-generic):
- "iw reg get": country CA: DFS-FCC, both global and for phy#0
- Channel flags read through nl80211: NO_EHT on 14/14 2.4 GHz, 28/28 5 GHz and 
59/59 6 GHz channels; NO_HE on none
- "iw phy": "EHT Iftypes: managed" is still listed in all three bands

ANALYSIS (from the v7.0.12 source; the logic is the same in mainline
v7.3-rc7, wireless-next and the mt76 tree)

1. mt792x_acpi_get_mtcl_conf() reads the BIOS ACPI MTCL v3 table. CA is in 
cc_list_be, and its 802.11be bits (4-5) are 0, so mt7925_regd_be_ctrl() sets 
dev->has_eht = false. The firmware's CLC BE_CTRL list is HK ZA IQ UA RU PK, 
without CA, so the restriction comes from the BIOS.
2. mt7925_regd_channel_update() then sets IEEE80211_CHAN_NO_EHT on every 
channel.
3. mt7925_init_mlo_caps() sets WIPHY_FLAG_SUPPORTS_MLO at registration, and 
nothing clears it. mt7925_init_eht_caps() returns early without clearing the 
EHT capabilities set earlier, so those stay advertised too.
4. wpa_supplicant sees MLO support and the AP's Multi-Link element, and 
requests an MLD authentication.
5. In mac80211, ieee80211_determine_chan_mode() lowers the mode from EHT to HE 
because of NO_EHT and re-parses the AP's elements without the Multi-Link 
element. ieee80211_prep_channel() then returns -EINVAL ("Rejecting MLO as it is 
not supported by AP").
6. wpa_supplicant 2.11 has no fallback to a non-MLO connection for this case.

Suggested fixes (sent upstream): mt7925 shouldn't advertise MLO or EHT
while has_eht is false. mac80211 and/or wpa_supplicant should fall back
to a non-MLO association when EHT can't be used on the channel.

WORKAROUND

Switch NetworkManager to the iwd backend. iwd 3.10 never requests MLO
and connects as Wi-Fi 6 (HE, 80 MHz).

  sudo apt install iwd network-manager-iwd
  sudo systemctl mask --now wpa_supplicant

/etc/iwd/main.conf (both lines were needed with this chip; the first
keeps the wlo1 interface that the saved NetworkManager profiles are tied
to, and the second avoids about 10% packet loss and about 380 ms latency
with power save on):

  [DriverQuirks]
  DefaultInterface=mt7925e
  PowerSaveDisable=mt7925e

/etc/NetworkManager/conf.d/90-wifi-backend-iwd.conf:

  [device]
  wifi.backend=iwd

Then:

  sudo systemctl enable --now iwd
  sudo systemctl restart NetworkManager

Note: with the iwd backend, NetworkManager only matched a WPA3-only
(SAE) profile after its key-mgmt was changed to wpa-psk. iwd still uses
SAE for it.

UPSTREAM AND RELATED

- Upstream report: [email protected], <lore.kernel.org link>
- Lenovo has been asked whether a BIOS update enables 802.11be for Canada in 
the MTCL table.
- Related: LP: #2121342 (Enable Wi-Fi 7 MLO on MTK MT7925)
- Not tested on a mainline kernel build; the relevant code is unchanged in 
v7.3-rc7.

ProblemType: Bug
DistroRelease: Ubuntu 26.04
Package: linux-image-7.0.0-30-generic 7.0.0-30.30
ProcVersionSignature: Ubuntu 7.0.0-30.30-generic 7.0.12
Uname: Linux 7.0.0-30-generic x86_64
ApportVersion: 2.34.1-0ubuntu0.1
Architecture: amd64
CasperMD5CheckResult: unknown
CurrentDesktop: ubuntu:GNOME
CurrentDmesg: Error: command ['pkexec', 'dmesg'] failed with exit code 1: 
skipped: root access not used when collecting this report
Date: Fri Oct 16 12:31:24 2026
InstallationDate: Installed on 2026-10-15 (1 days ago)
InstallationMedia: Ubuntu 26.04.1 LTS "Resolute Raccoon" - Release amd64 
(20260826)
MachineType: LENOVO 83S2
ProcEnviron:
 LANG=en_US.UTF-8
 PATH=(custom, user)
 SHELL=/bin/bash
 XDG_RUNTIME_DIR=<set>
ProcFB: 0 amdgpudrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-7.0.0-30-generic root=UUID=<uuid> 
ro quiet splash 
crashkernel=2G-4G:320M,4G-32G:512M,32G-64G:1024M,64G-128G:2048M,128G-:4096M
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
acpidump: Error: command ['pkexec', '/usr/share/apport/dump_acpi_tables.py'] 
failed with exit code 1: skipped: root access not used when collecting this 
report
dmi.bios.date: 02/28/2026
dmi.bios.release: 1.13
dmi.bios.vendor: LENOVO
dmi.bios.version: TGCN13WW
dmi.board.asset.tag: NO Asset Tag
dmi.board.name: LNVNB161216
dmi.board.vendor: LENOVO
dmi.board.version: SDK0T76574 WIN
dmi.chassis.asset.tag: NO Asset Tag
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: IdeaPad Slim 5 16AGP11
dmi.ec.firmware.release: 1.13
dmi.modalias: 
dmi:bvnLENOVO:bvrTGCN13WW:bd02/28/2026:br1.13:efr1.13:svnLENOVO:pn83S2:pvrIdeaPadSlim516AGP11:rvnLENOVO:rnLNVNB161216:rvrSDK0T76574WIN:cvnLENOVO:ct10:cvrIdeaPadSlim516AGP11:skuLENOVO_MT_83S2_BU_idea_FM_IdeaPadSlim516AGP11:pfaIdeaPadSlim516AGP11:
dmi.product.family: IdeaPad Slim 5 16AGP11
dmi.product.name: 83S2
dmi.product.sku: LENOVO_MT_83S2_BU_idea_FM_IdeaPad Slim 5 16AGP11
dmi.product.version: IdeaPad Slim 5 16AGP11
dmi.sys.vendor: LENOVO

** Affects: linux (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: amd64 apport-bug resolute wayland-session

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2171313

Title:
  mt7925e can't connect to Wi-Fi 7 (MLO) access points when the BIOS
  disables 802.11be for the country (Canada)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2171313/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to