Date: Tue, 21 Oct 2025 16:05:47 +0300 From: Andriy Gapon <avg@FreeBSD.org> To: "freebsd-wireless@freebsd.org" <wireless@freebsd.org> Subject: Re: wlan: UP but not RUNNING ? Message-ID: <6a2e22ae-b8f9-46de-8a0f-881d7c01ceb0@FreeBSD.org> In-Reply-To: <8ed936d2-242a-4dca-a38b-1117b41e87ef@FreeBSD.org> References: <8ed936d2-242a-4dca-a38b-1117b41e87ef@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 20/10/2025 23:34, Andriy Gapon wrote: > > This is on 14.3. > I have configured two VAPs, the configuration is almost identical except for SSID. > hostapd-s for both interfaces are also running. > Both interfaces are UP, both have status running, but one doesn't have RUNNING > in its flags. And I want to add that this is not just a cosmetic problem. It's not possible to connect to the AP on the interface while it is in that state. Stations can discover the AP, they can "associate" with it (not sure if this is the right term, but I see ASSOCIATING -> ASSOCIATED), but the 4-way handshake fails. A station would never receive the first packet. The AP (hostapd) logs it sends the first packet (there are 4 tries), but never gets a response. So, it looks like the driver just drops that packet. I should have mentioned that both wlan interface belong to bridges. So, they never get an IP address assigned. But for some reason wlan0 is just UP while wlan1 is UP and RUNNING. I found a convoluted way to make wlan0 RUNNING too: - stop hostapd for wlan0; - ifconfig wlan0 down; - ifconfig wlan0 inet 192.168.0.254 <-- this makes the interface UP and RUNNING; - ifconfig wlan0 -alias 192.168.0.254; - restart hostapd for the interface. After that, things are back to normal. So, to me it seems like there is a bug either net80211 or ath code with respect to tracking the interface state. I developed the method after looking at how SIOCSIFADDR is handled in ieee80211_ioctl. 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. > What does that mean? > > wlan0: flags=8903<UP,BROADCAST,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500 > options=0 > ... > parent interface: ath0 > media: IEEE 802.11 Wireless Ethernet autoselect mode 11ng <hostap> > status: running > > wlan1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500 > options=0 > ... > parent interface: ath0 > media: IEEE 802.11 Wireless Ethernet autoselect mode 11ng <hostap> > status: running > > -- Andriy Gapon
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6a2e22ae-b8f9-46de-8a0f-881d7c01ceb0>
