diff options
author | Todd C. Miller <millert@cvs.openbsd.org> | 2002-06-15 18:49:05 +0000 |
---|---|---|
committer | Todd C. Miller <millert@cvs.openbsd.org> | 2002-06-15 18:49:05 +0000 |
commit | ada81e6a71fb189a592df027147b7ddc735e1017 (patch) | |
tree | 1750b9c2292ba204453d5f8c39502a39df26fa3c /sys | |
parent | 65652e420466b1a248f41e9b7b43f5d37142d055 (diff) |
Don't advertise hostap as an allowed media type for firmware < 0.80
Hopefully this will confuse people with crufty firmware a little less
than the old behavior. Supposedly it is possible to get hostap working
on prism firmware 0.7.6 but I'm not going to attempt that at this time.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/ic/if_wi.c | 15 | ||||
-rw-r--r-- | sys/dev/ic/if_wivar.h | 3 |
2 files changed, 10 insertions, 8 deletions
diff --git a/sys/dev/ic/if_wi.c b/sys/dev/ic/if_wi.c index e295d606c9e..b8af1cfefbd 100644 --- a/sys/dev/ic/if_wi.c +++ b/sys/dev/ic/if_wi.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_wi.c,v 1.66 2002/06/14 03:58:45 millert Exp $ */ +/* $OpenBSD: if_wi.c,v 1.67 2002/06/15 18:49:04 millert Exp $ */ /* * Copyright (c) 1997, 1998, 1999 @@ -124,7 +124,7 @@ u_int32_t widebug = WIDEBUG; #if !defined(lint) && !defined(__OpenBSD__) static const char rcsid[] = - "$OpenBSD: if_wi.c,v 1.66 2002/06/14 03:58:45 millert Exp $"; + "$OpenBSD: if_wi.c,v 1.67 2002/06/15 18:49:04 millert Exp $"; #endif /* lint */ #ifdef foo @@ -266,6 +266,7 @@ wi_attach(sc) case WI_INTERSIL: sc->wi_flags |= WI_FLAGS_HAS_ROAMING; if (sc->sc_sta_firmware_ver >= 800) { + sc->wi_flags |= WI_FLAGS_HAS_HOSTAP; sc->wi_flags |= WI_FLAGS_HAS_IBSS; sc->wi_flags |= WI_FLAGS_HAS_CREATE_IBSS; } @@ -311,7 +312,7 @@ wi_attach(sc) if (sc->wi_flags & WI_FLAGS_HAS_CREATE_IBSS) ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_AUTO, IFM_IEEE80211_IBSSMASTER, 0), 0); - if (sc->sc_firmware_type == WI_INTERSIL) + if (sc->wi_flags & WI_FLAGS_HAS_HOSTAP) ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_AUTO, IFM_IEEE80211_HOSTAP, 0), 0); if (sc->wi_supprates & WI_SUPPRATES_1M) { @@ -324,7 +325,7 @@ wi_attach(sc) if (sc->wi_flags & WI_FLAGS_HAS_CREATE_IBSS) ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_IEEE80211_DS1, IFM_IEEE80211_IBSSMASTER, 0), 0); - if (sc->sc_firmware_type == WI_INTERSIL) + if (sc->wi_flags & WI_FLAGS_HAS_HOSTAP) ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_IEEE80211_DS1, IFM_IEEE80211_HOSTAP, 0), 0); } @@ -338,7 +339,7 @@ wi_attach(sc) if (sc->wi_flags & WI_FLAGS_HAS_CREATE_IBSS) ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_IEEE80211_DS2, IFM_IEEE80211_IBSSMASTER, 0), 0); - if (sc->sc_firmware_type == WI_INTERSIL) + if (sc->wi_flags & WI_FLAGS_HAS_HOSTAP) ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_IEEE80211_DS2, IFM_IEEE80211_HOSTAP, 0), 0); } @@ -352,7 +353,7 @@ wi_attach(sc) if (sc->wi_flags & WI_FLAGS_HAS_CREATE_IBSS) ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_IEEE80211_DS5, IFM_IEEE80211_IBSSMASTER, 0), 0); - if (sc->sc_firmware_type == WI_INTERSIL) + if (sc->wi_flags & WI_FLAGS_HAS_HOSTAP) ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_IEEE80211_DS5, IFM_IEEE80211_HOSTAP, 0), 0); } @@ -366,7 +367,7 @@ wi_attach(sc) if (sc->wi_flags & WI_FLAGS_HAS_CREATE_IBSS) ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_IEEE80211_DS11, IFM_IEEE80211_IBSSMASTER, 0), 0); - if (sc->sc_firmware_type == WI_INTERSIL) + if (sc->wi_flags & WI_FLAGS_HAS_HOSTAP) ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_IEEE80211_DS11, IFM_IEEE80211_HOSTAP, 0), 0); ADD(IFM_MAKEWORD(IFM_IEEE80211, IFM_MANUAL, 0, 0), 0); diff --git a/sys/dev/ic/if_wivar.h b/sys/dev/ic/if_wivar.h index 77128c843dc..60e89db2527 100644 --- a/sys/dev/ic/if_wivar.h +++ b/sys/dev/ic/if_wivar.h @@ -1,4 +1,4 @@ -/* $OpenBSD: if_wivar.h,v 1.13 2002/06/09 03:14:18 todd Exp $ */ +/* $OpenBSD: if_wivar.h,v 1.14 2002/06/15 18:49:04 millert Exp $ */ /* * Copyright (c) 1997, 1998, 1999 @@ -116,6 +116,7 @@ struct wi_softc { #define WI_FLAGS_HAS_MOR 0x20 #define WI_FLAGS_HAS_ROAMING 0x30 #define WI_FLAGS_HAS_DIVERSITY 0x40 +#define WI_FLAGS_HAS_HOSTAP 0x80 /* Firmware types */ #define WI_LUCENT 0 |