Sunday, July 05, 2020

Re: An Athn ar9280 client seems to require cold boots of late?

On Mon, Jun 29, 2020 at 12:09:12PM +0000, Kapfhammer, Stefan wrote:
> Hi,
>
> I am using exactly the same WLE-200NX wifi card in an APU2B4. I have a BlackBerry KeyONE
> running at Android 8.1 / Version ABT975 which I use as hotspot for the APU2.
>
> After setting athn0 down, it is impossible to establish the connection - without further intervention -
> a second time.
>
> What helps is:
>
> First:
> #/bin/sh
> /sbin/ifconfig athn0
> /sbin/ifconfig athn0 down -inet -inet6 -join bbk1 -wpakey -chan -bssid
> /sbin/ifconfig athn0
>
> Second:
> Disabling the hotspot on bbk1 and re-enabling it
>
> Third:
> sh -x /etc/netstart athn0
>
> This prevents to do a coldboot on the APU2 - reducing downtime.
> AND: It works reliably everytime since month!
>

In case you missed it, a fix was proposed on the bugs@ list on Friday:
https://marc.info/?l=openbsd-bugs&m=159380123409160&w=2
The same patch is copied below.

If anyone else could confirm that this makes athn(4) work again as
a client against a WPA2 AP then I will commit this.

diff refs/heads/master refs/heads/athn-ccmpfix
blob - 3a28d87bc88a0e7b9ed6c873bd7a07682cc91a0b
blob + 1d739529d7d214bea314e50e847594dc01021a41
--- sys/dev/ic/ar5008.c
+++ sys/dev/ic/ar5008.c
@@ -811,12 +811,20 @@ ar5008_ccmp_decap(struct athn_softc *sc, struct mbuf *
/* Sanity checks to ensure this is really a key we installed. */
entry = (uintptr_t)k->k_priv;
if (k->k_flags & IEEE80211_KEY_GROUP) {
- if (k->k_id > IEEE80211_WEP_NKID ||
+ if (k->k_id >= IEEE80211_WEP_NKID ||
entry != k->k_id)
return 1;
- } else if (entry != IEEE80211_WEP_NKID +
- IEEE80211_AID(ni->ni_associd))
- return 1;
+ } else {
+#ifndef IEEE80211_STA_ONLY
+ if (ic->ic_opmode == IEEE80211_M_HOSTAP) {
+ if (entry != IEEE80211_WEP_NKID +
+ IEEE80211_AID(ni->ni_associd))
+ return 1;
+ } else
+

No comments:

Post a Comment