Skip to content

wifi: mt7932: report a connect the AP did not complete at info level - #632

Merged
RyanTheTide merged 2 commits into
aurora-wipfrom
bootlog/mt7932-connect-outcome-info
Oct 30, 2026
Merged

RyanTheTide merged 2 commits into
aurora-wipfrom
bootlog/mt7932-connect-outcome-info

Conversation

@RyanTheTide

Copy link
Copy Markdown
Contributor

One Neo boot tonight (fleet10, boot at 22:14) logged an error-level line while NetworkManager brought Wi-Fi up:

mt7932-fullmac 0000:01:00.0: CONNECT_FAILED: -110; recovery-required=0

Nothing was wrong with the driver or firmware. wpa_supplicant logged CTRL-EVENT-ASSOC-REJECT ... status_code=1 timeout at the same moment and CTRL-EVENT-CONNECTED 5 s later, and NM activated the link.

Once the request has gone to the AP (auth_submitted), a timeout, a refusal or a reset with the firmware still healthy (!link_failed) is how the AP answered. Those are the same three codes the connect worker already treats as retryable for the first OWE attempt. mac80211 reports association timeouts and refusals at info level, so this does the same.

Still at error level:

  • failures before the request reaches the AP (firmware commands, queue setup, TX drain)
  • -EPROTO, -EIO and the rest
  • anything with link_failed set. A firmware command timeout sets it in frontend.c, so a stalled firmware still shows as an error.

The message text is unchanged, so log searches keep working.

Build

  • drivers/net/wireless/mediatek/mt7932/ with W=1 LLVM=1 on aurora-wip 72b4b56 using the universal config (Fedora base + asahi.config). No warnings. checkpatch clean.

Hardware test (not run, the Neo is owned by the U-Boot agent tonight)
This is only a log level change. Carry it in the next fleet kernel through the fleet kit, then on the Neo:

journalctl -b -k -p 3 | grep mt7932            # expect nothing on a normal boot
nmcli radio wifi off; sleep 2; nmcli radio wifi on; sleep 20; nmcli -t -f DEVICE,STATE dev | grep wifi   # connected
journalctl -b -k | grep CONNECT_FAILED          # any AP-side failure shows at info only

🤖 Generated with Claude Code

A Neo boot logged

  mt7932-fullmac 0000:01:00.0: CONNECT_FAILED: -110; recovery-required=0

at error level while NetworkManager brought up Wi-Fi. The firmware was
fine. The association timed out at the AP, cfg80211 reported the failed
connect to the supplicant, and the next attempt connected.

Once the request has gone to the AP, a timeout, a refusal or a reset
with the firmware still healthy is how the AP answered. These are the
same three outcomes the connect worker already treats as retryable for
the first OWE attempt. mac80211 reports association timeouts and
refusals at info level, and the supplicant logs them too. Log them at
info level here as well.

Everything else keeps the error level: failures before the request
reaches the AP, protocol and I/O errors, and any failure that leaves
the link needing recovery. A firmware command timeout sets link_failed,
so it still shows as an error.

Assisted-by: LLM
Signed-off-by: Ryan Murray <ryan@aurorasilicon.org>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@RyanTheTide

Copy link
Copy Markdown
Contributor Author

Boot-tested on the MacBook Neo (J700). Kernel 7.3.0-aurora-fleet10nv (fleet10 46b7a93f plus #626), with mt7932-fullmac built from this PR's link.c and loaded from updates/.

  • journalctl -b -k -p 3 | grep mt7932: nothing.
  • nmcli radio wifi off; sleep 2; nmcli radio wifi on: neo-wifi0 reconnected (state connected). The whole boot's journalctl -b -p 3 is empty.
  • No AP-side timeout or refusal happened during this boot, so the new info-level path itself wasn't triggered. The test confirms the change causes no regression on the normal connect path.

Pass.

🤖 Generated with Claude Code

The connect worker now asks mt_connect_failed_at_peer() whether a failed
connect is the AP's answer, and logs those at info level. The host test
compiled the report path on its own, so it failed on the missing helper and
the auth_submitted local.

Extract the helper next to the report, pass auth_submitted to the test
worker and give the stub a link_failed flag. Count dev_info() and dev_err()
calls and check every error code with the request at the AP or not and the
firmware healthy or not: only a timeout, refusal or reset of a request that
reached the AP with healthy firmware is logged at info level.

Assisted-by: LLM
Signed-off-by: Ryan Murray <ryan@aurorasilicon.org>
@RyanTheTide
RyanTheTide merged commit 4db3a5a into aurora-wip Oct 30, 2026
1 check passed
@RyanTheTide
RyanTheTide deleted the bootlog/mt7932-connect-outcome-info branch October 30, 2026 12:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant