From dc828029188af18eb8a3fe2a552ebd456dc98e50 Mon Sep 17 00:00:00 2001 From: Kevin Lo Date: Mon, 12 Oct 2015 08:17:21 +0000 Subject: [PATCH] Accept any correct frames from any source when MONITOR mode is used. Submitted by: Andriy Voskoboinyk Differential Revision: https://reviews.freebsd.org/D3812 --- sys/dev/usb/wlan/if_urtwn.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/sys/dev/usb/wlan/if_urtwn.c b/sys/dev/usb/wlan/if_urtwn.c index d1275c02b5a2..5aca1a4f07c1 100644 --- a/sys/dev/usb/wlan/if_urtwn.c +++ b/sys/dev/usb/wlan/if_urtwn.c @@ -1632,6 +1632,19 @@ urtwn_newstate(struct ieee80211vap *vap, enum ieee80211_state nstate, int arg) /* Enable Rx of data frames. */ urtwn_write_2(sc, R92C_RXFLTMAP2, 0xffff); + /* Enable Rx of ctrl frames. */ + urtwn_write_2(sc, R92C_RXFLTMAP1, 0xffff); + + /* + * Accept data/control/management frames + * from any BSSID. + */ + urtwn_write_4(sc, R92C_RCR, + (urtwn_read_4(sc, R92C_RCR) & ~(R92C_RCR_APM | + R92C_RCR_CBSSID_DATA | R92C_RCR_CBSSID_BCN)) | + R92C_RCR_ADF | R92C_RCR_ACF | R92C_RCR_AMF | + R92C_RCR_AAP); + /* Turn link LED on. */ urtwn_set_led(sc, URTWN_LED_LINK, 1); break;