Repository navigation
Fixes the throughput cap and reduces latency spikes during background scans.
It is still experimental and has been tested on one machine only (Lenovo Legion
Slim 5 16APH8, RZ616, macOS 26.7.1). The Sequoia build is compiled from the
same source but was not retested on macOS 15.
- AirportMtkWlan-Sequoia-v0.2.1.zip: native Wi-Fi menu, macOS 15 Sequoia.
- AirportMtkWlan-Tahoe-v0.2.1.zip: native Wi-Fi menu, macOS 26 Tahoe.
- SimpleMtkWlan-v0.2.1.zip: Ethernet-style; join with
mtkctl. - mtkctl-v0.2.1.zip: command-line client for both kexts.
Both AirportMtkWlan zips contain a kext named AirportMtkWlan.kext. Use the one
for your macOS version: a Sequoia build loads on Tahoe but never attaches. Load
one kext only.
Changes since v0.2.0
- Much lower CPU use per packet. The MT7922 can only DMA below 4 GB, so on
machines with more RAM almost every packet is copied through a bounce
buffer, and those buffers were uncached. On the test network, download went
from 41 to 96 Mbit/s and upload from 36 to 100 Mbit/s, withkernel_task
dropping from about 97% to about 40%. - Shorter background-scan dwell. The per-channel dwell now follows the
off-channel time macOS asks for (one third of it, since the firmware visits
about three channels per trip). Worst-case ping during a scan went from about
300 ms to about 140 ms.mtkctl dwell <ms|auto>overrides it. - macOS now sees the real TX rate (for example 867 Mbit/s, MCS 9) instead of a
fixed low value. It is taken from firmware TX status reports, which are now
requested only a few times per second instead of for every frame. - On firmware beacon loss the driver probes the AP before dropping the link.
BSS_ABSENCEfirmware events are ignored quietly.- When the firmware stops DMA, the driver logs the TX descriptor it rejected,
to help track down the cause.
Known problems
- Throughput above about 100 Mbit/s has not been measured yet.
- macOS link-quality reports still carry no RSSI.
- Sleep/wake is not tested. No WPA3-only (SAE), no 802.11ax, no 6 GHz.
For installation and troubleshooting, see the README.
Built from 9eff544 (Debug, x86_64, unsigned). Checksums are in SHA256SUMS.txt.