[prev in list] [next in list] [prev in thread] [next in thread] 

List:       hostap
Subject:    Active-backup bonded WiFi compatibility with wpa_supplicant
From:       Jeff Isaacs <scaasiffej () gmail ! com>
Date:       2021-07-24 18:40:06
Message-ID: CAOYMkPoy4vK9twyOCoWBfqHp2RFMDW1XJ+usoKqDPE6KQzJ4og () mail ! gmail ! com
[Download RAW message or body]

Good afternoon,

I have two WiFi interfaces bonded in active-backup mode, so at any given time,
only one interface is transmitting data but both interfaces have the same MAC
address. I am able to bring both interfaces up at the same time and authenticate
and associate each with a different AP on the same subnet, but when I change
which interface in the bond is active, I get booted from the network
for less than
a second, then immediately reconnect.

I ran wpa_supplicant at the highest debug level, and found that when I
switch the
active interface in the bond, I get "CTRL-EVENT-DISCONNECTED" with a reason
code 6. The AP reports "Class 2 frame received from nonauthenticated STA." The
AP sends a deauth frame to the newly activated client and wpa_supplicant reports
"Drv event 20 (NL80211_CMD_DEL_STATION)."

All of this happens even though wpa_cli status reports that the
interface was in a
connected state. Is wpa_supplicant responsible for key management? It seems like
when I switch the active interface, frames are sent with the wrong key
which results in
a disconnect, reauthentication, and reassociation.

Strangely enough, I've found an authentication and association
sequence that allows
me to flip between interfaces without any problems. I have one active
interface and one
inactive interface. I also have AP 1, AP 2, and AP 3. If I connect the
inactive interface
to AP A, then issue the wpa_cli roam command to AP B, then connect the
primary interface
to AP C, I can redirect network traffic between the two interfaces
without any authentication
problems. Because I've found this sequence, it leads me to believe one
of two things. Either
wpa_supplicant is mishandling keys, or this is not a typical use case
and just simply is
not implemented yet. If it is the latter, what am I missing here, and
how can I get this
to work?

Thank you,
Jeff

_______________________________________________
Hostap mailing list
Hostap@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/hostap
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic