PERFORCE change 138685 for review
Sam Leffler
sam at FreeBSD.org
Wed Mar 26 23:43:58 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=138685
Change 138685 by sam at sam_ebb on 2008/03/26 23:43:50
o set roaming mode to disabled to get intersil card kinda working
o cleanup more old cruft that can go away w/ symbol support
Affected files ...
.. //depot/projects/vap/sys/dev/wi/if_wi.c#14 edit
.. //depot/projects/vap/sys/dev/wi/if_wivar.h#11 edit
Differences ...
==== //depot/projects/vap/sys/dev/wi/if_wi.c#14 (text+ko) ====
@@ -183,12 +183,10 @@
0, "control debugging printfs");
#define DPRINTF(X) if (wi_debug) printf X
-#define DPRINTF2(X) if (wi_debug > 1) printf X
#define IFF_DUMPPKTS(_ifp) \
(((_ifp)->if_flags & (IFF_DEBUG|IFF_LINK2)) == (IFF_DEBUG|IFF_LINK2))
#else
#define DPRINTF(X)
-#define DPRINTF2(X)
#define IFF_DUMPPKTS(_ifp) 0
#endif
@@ -369,11 +367,11 @@
switch (sc->sc_firmware_type) {
case WI_LUCENT:
sc->sc_ntxbuf = 1;
- sc->sc_flags |= WI_FLAGS_HAS_SYSSCALE
- | WI_FLAGS_HAS_MOR;
+ sc->sc_flags |= WI_FLAGS_HAS_MOR;
ic->ic_caps |= IEEE80211_C_IBSS;
- sc->sc_ibss_port = htole16(1);
+ sc->sc_ibss_port = WI_PORTTYPE_BSS;
+ sc->sc_monitor_port = WI_PORTTYPE_ADHOC;
sc->sc_min_rssi = WI_LUCENT_MIN_RSSI;
sc->sc_max_rssi = WI_LUCENT_MAX_RSSI;
sc->sc_dbm_offset = WI_LUCENT_DBM_OFFSET;
@@ -381,8 +379,7 @@
case WI_INTERSIL:
sc->sc_ntxbuf = WI_NTXBUF;
sc->sc_flags |= WI_FLAGS_HAS_FRAGTHR
- | WI_FLAGS_HAS_ROAMING
- | WI_FLAGS_HAS_SYSSCALE;
+ | WI_FLAGS_HAS_ROAMING;
/*
* Old firmware are slow, so give peace a chance.
*/
@@ -399,7 +396,8 @@
*/
ic->ic_caps |= IEEE80211_C_HOSTAP;
- sc->sc_ibss_port = htole16(0);
+ sc->sc_ibss_port = WI_PORTTYPE_IBSS;
+ sc->sc_monitor_port = WI_PORTTYPE_APSILENT;
sc->sc_min_rssi = WI_PRISM_MIN_RSSI;
sc->sc_max_rssi = WI_PRISM_MAX_RSSI;
sc->sc_dbm_offset = WI_PRISM_DBM_OFFSET;
@@ -435,11 +433,7 @@
sc->sc_dbm_offset = le16toh(val);
}
- sc->sc_max_datalen = 2304;
- sc->sc_system_scale = 1;
- sc->sc_roaming_mode = 2; /* NB: host decides */
sc->sc_portnum = WI_DEFAULT_PORT;
- sc->sc_authtype = WI_DEFAULT_AUTHTYPE;
ieee80211_ifattach(ic);
ic->ic_raw_xmit = wi_raw_xmit;
@@ -544,14 +538,7 @@
sc->sc_porttype = WI_PORTTYPE_HOSTAP;
break;
case IEEE80211_M_MONITOR:
- switch (sc->sc_firmware_type) {
- case WI_LUCENT:
- sc->sc_porttype = WI_PORTTYPE_ADHOC;
- break;
- case WI_INTERSIL:
- sc->sc_porttype = WI_PORTTYPE_APSILENT;
- break;
- }
+ sc->sc_porttype = sc->sc_monitor_port;
break;
default:
break;
@@ -637,13 +624,11 @@
wi_write_val(sc, WI_RID_PORTTYPE, sc->sc_porttype);
wi_write_val(sc, WI_RID_CREATE_IBSS, 3); /* join only, don't create */
- wi_write_val(sc, WI_RID_MAX_DATALEN, sc->sc_max_datalen);
+ wi_write_val(sc, WI_RID_MAX_DATALEN, 2304);
/* NB: for IEEE80211_BPF_NOACK */
wi_write_val(sc, WI_RID_ALT_RETRY_CNT, 0);
- if (sc->sc_flags & WI_FLAGS_HAS_SYSSCALE)
- wi_write_val(sc, WI_RID_SYSTEM_SCALE, sc->sc_system_scale);
if (sc->sc_flags & WI_FLAGS_HAS_ROAMING)
- wi_write_val(sc, WI_RID_ROAMING_MODE, sc->sc_roaming_mode);
+ wi_write_val(sc, WI_RID_ROAMING_MODE, 3); /* NB: disabled */
if (sc->sc_flags & WI_FLAGS_HAS_MOR)
wi_write_val(sc, WI_RID_MICROWAVE_OVEN, sc->sc_microwave_oven);
@@ -746,12 +731,6 @@
ic->ic_flags & IEEE80211_F_SCAN ? "" : "!"));
WI_LOCK(sc);
- /*
- * Don't force the channel if we're not scanning; we may
- * be called back on entering the AUTH and/or RUN state
- * but the firmware gets unhappy as it's join primitive
- * handles the channel change.
- */
wi_write_val(sc, WI_RID_OWN_CHNL,
ieee80211_chan2ieee(ic, ic->ic_curchan));
#if NBPFILTER > 0
@@ -776,14 +755,7 @@
/*
* Switch device to monitor mode.
*/
- switch (sc->sc_firmware_type) {
- case WI_LUCENT:
- wi_write_val(sc, WI_RID_PORTTYPE, WI_PORTTYPE_ADHOC);
- break;
- case WI_INTERSIL:
- wi_write_val(sc, WI_RID_PORTTYPE, WI_PORTTYPE_APSILENT);
- break;
- }
+ wi_write_val(sc, WI_RID_PORTTYPE, sc->sc_monitor_port);
if (sc->sc_firmware_type == WI_INTERSIL) {
wi_cmd(sc, WI_CMD_DISABLE | WI_PORT0, 0, 0, 0);
wi_cmd(sc, WI_CMD_ENABLE | WI_PORT0, 0, 0, 0);
@@ -894,10 +866,9 @@
wi_write_txrate(sc, vap);
/* Configure WEP. */
- if (ic->ic_caps & IEEE80211_C_WEP) {
- sc->sc_cnfauthmode = vap->iv_bss->ni_authmode;
+ if (ic->ic_caps & IEEE80211_C_WEP)
wi_write_wep(sc, vap);
- } else
+ else
sc->sc_encryption = 0;
/* NB: only Intersil supports HOSTAP so this works for now */
==== //depot/projects/vap/sys/dev/wi/if_wivar.h#11 (text+ko) ====
@@ -115,13 +115,9 @@
int sc_porttype;
u_int16_t sc_portnum;
- u_int16_t sc_max_datalen;
- u_int16_t sc_system_scale;
- u_int16_t sc_cnfauthmode;
- u_int16_t sc_roaming_mode;
u_int16_t sc_microwave_oven;
- u_int16_t sc_authtype;
u_int16_t sc_encryption;
+ u_int16_t sc_monitor_port;
/* RSSI interpretation */
u_int16_t sc_min_rssi; /* clamp sc_min_rssi < RSSI */
@@ -159,7 +155,6 @@
#define WI_FLAGS_HAS_MOR 0x0010
#define WI_FLAGS_HAS_ROAMING 0x0020
#define WI_FLAGS_HAS_DIVERSITY 0x0040
-#define WI_FLAGS_HAS_SYSSCALE 0x0080
#define WI_FLAGS_BUG_AUTOINC 0x0100
#define WI_FLAGS_HAS_FRAGTHR 0x0200
#define WI_FLAGS_HAS_DBMADJUST 0x0400
More information about the p4-projects
mailing list