Thread (2 messages) 2 messages, 2 authors, 2019-10-29

Re: [PATCH v2] 802.11n IBSS: wlan0 stops receiving packets due to aggregation after sender reboot

From: Johannes Berg <johannes@sipsolutions.net>
Date: 2019-10-29 09:07:41
Also in: linux-wireless, lkml

On Tue, 2019-10-29 at 09:54 +0100, Krzysztof Hałasa wrote:
The problem I can see is that the dialog_tokens are 8-bit, way too small
to eliminate conflicts.
Well, they're also per station, we could just randomize the start and
then we'd delete the old session and start a new one, on the receiver.

So that would improve robustness somewhat (down to a 1/256 chance to hit
this problem).
quoted
Really what I think probably happened is that one of your stations lost
the connection to the other, and didn't tell it about it in any way - so
the other kept all the status alive.
You must have missed my previous mail - I simply rebooted that station,
and alternatively rmmoded/modprobed ath9k. But the problem originated in
a station going out of and back in range, in fact.
I was on vacation, so yeah, quite possible I missed it.

Sounds like we need not just
4b08d1b6a994 ("mac80211: IBSS: send deauth when expiring inactive STAs")

but also send a deauth when we disconnect. Surprising we don't do that,
actually.
quoted
I suspect to make all this work well we need to not only have the fixes
I made recently to actually send and parse deauth frames, but also to
even send an auth and reset the state when we receive that, so if we
move out of range and even the deauth frame is lost, we can still reset
properly.
That's one thing. The other is a station trying ADDBA for the first time
after boot (while the local station has seen it before that reboot).
That's the situation though - the local station needs to know that it
has in fact *not* seen the same instance of the station, but that the
station has reset and needs to be removed & re-added.
I guess we need to identify "new connection" reliably. Otherwise,
the new connections are treated as old ones and it doesn't work.
Right. But we can implement the (optional) authentication (which you
actually already get when you implement [encrypted] IBSS with wpa_s),
and reset the station state when we get an authentication frame.

johannes
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help