Page MenuHomeFreeBSD

net80211: sta: RUN to INIT is a DEAUTH not a DISASSOC
Needs ReviewPublic

Authored by bz on Mar 4 2026, 8:18 AM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, May 14, 3:51 AM
Unknown Object (File)
Wed, May 13, 8:33 PM
Unknown Object (File)
Tue, May 12, 10:47 PM
Unknown Object (File)
Tue, May 12, 5:58 AM
Unknown Object (File)
Mon, May 11, 8:23 AM
Unknown Object (File)
Mon, May 11, 8:23 AM
Unknown Object (File)
Sun, May 10, 5:05 AM
Unknown Object (File)
Sun, May 10, 5:01 AM

Details

Reviewers
None
Group Reviewers
wireless
Summary

When taking a node down from RUN to INIT (the latter being the important
part) we are going back to State 1 (cf. 802.11-2024, Figure 11-23) and
that is a DEUATH and not a DISASSOC change (like ASSOC to INIT).
Correct the management type frame we are sending and reason.

Sponsored by: The FreeBSD Foundation
MFC after: 3 days

Test Plan

Is there any reason why we did send a disassoc in this case forever?
I saw it elsewhere too in a Linux based product which made me wonder.
Even the simple diagram in 802.11-2007 (Figure 11-6) seems to have
it as deauth.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 71171
Build 68054: arc lint + arc unit

Event Timeline

bz requested review of this revision.Mar 4 2026, 8:18 AM

oh good question, lemme go do some digging. It's likely worth seeing what linux is doing and some of the older wifi stacks that are floating about.

(ie what they send, and what they do when they receive DEAUTH vs DISASSOC)