Hi Mikolaj et al,

Mikolaj Kucharski <miko...@kucharski.name> writes:

>
> Here is debug output of one day session, with suspend in the middle
> when going home, back to work and home again.
> [...]
> Tomorrow I may give you example of above log when walking around the
> office, to compare events while switching APs.
> [...]

That'd be good, thank you.

> The other day I did testing by walking around and it works most of the
> time, however there is a race somewhere, as while I was walking around
> I sometimes ended up without connection and ifconfig(8) at the same
> time was showing:
>
>       status: active
>       ieee80211: join lighthouse chan 100 bssid <random-ap-close> <level>dBm 
> wpaprotos wpa2 wpaakms 802.1x wpaciphers ccmp wpagroupcipher ccmp
>
> like network should work, but it didn't and connection was totally
> offline.

> This is very empirical, but it looked to me, when I walked
> slower to give wpa_supplicant time to reassoc with each access point on
> the way it all worked. When I got bored and walked faster, passing by
> multiple APs on the way and with reassocs happening one after another,
> before previous assoc was able to finish and me finally stopping, I
> ended up with iwn0 card with status active, but no connectivity.
> Restarting slaacd(8) or dhclient(8) was not helping as problem was layer
> below them.
> [...]

Yeah, I've got the feeling that wpa_supplicant really doesn't like
getting poked while it's doing its thing. Maybe I've got to work on the
timing here a bit or sort of deduplicate ASSOC events after multiple
IFINFO/802INFO are received.

> [...]
> I think your diff makes sense and with handling of RTM_IFINFO it's good
> progress in correct direction. I even took your diff and tested with
> latest wpa_supplicant 2.7 and it works there too.
> [...]

That is good to hear. I'm planning on sending this upstream as soon as
we've agreed it's more or less working.

> [...]
> If you would like to see any specific info tomorrow, please let me know
> I will try to arrange something. After that I'll go offline for family
> time.
> [...]

I'm afraid I don't have anything more specific I could ask you to test.
Thanks a bunch for your help this far. I'll just have to walk around my
university some time next week, I'm not at work then anyway :)

> [...]
>> ++  if (rtm->rtm_type == RTM_80211INFO) {
>> ++    printf("RTM_80211INFO received\n");
>
> This printf(3) should be removed or changed into wpa_printf(). For my tests
> I've used wpa_printf(MSG_DEBUG, ...), which I think is good enough balance
> of being not noisy in logs by default, but still providing info when there
> is a need via debug flag to the cli. However this is your call and giving
> the current sparsity of debug log lines in this c-file, I would just remove
> it.
> [...]

Absolutely. This was an oversight that I wanted to remove before sending
out the patch. Same for the weird indentation :)

--
        Gregor

Attachment: signature.asc
Description: PGP signature

Reply via email to