On 21/10/2025 16:05, Andriy Gapon wrote:
It seems that the problem happens because the VAP is already in IEEE80211_S_RUN
state somehow and ieee80211_start_locked is not called, obviously, in
SIOCSIFFLAGS handling code.
I have this DTrace output to confirm that:
ieee80211_ioctl:entry wlan0 cmd 0x80206910 flags 0x8902 drv flags 0 state 5
ieee80211_ioctl:entry wlan0 cmd 0x80206910 flags 0x8903 drv flags 0 state 5
So, the VAP state is indeed IEEE80211_S_RUN.
But IFF_RUNNING / IFF_DRV_RUNNING is not set in either if_flags or if_drv_flags.
Looks like something set the VAP state bypassing the interface state machinery.
I tried to catch the state transitions with wlandebug_wlan0 in rc.conf but
apparently that changes timing enough to mask the issue.
--
Andriy Gapon