11n ifmedia doesn't pick up monitor mode correctly.
ok?
Index: ieee80211.c
===================================================================
RCS file: /cvs/src/sys/net80211/ieee80211.c,v
retrieving revision 1.51
diff -u -p -r1.51 ieee80211.c
--- ieee80211.c 27 Nov 2015 04:03:45 -0000 1.51
+++ ieee80211.c 15 Dec 2015 17:05:34 -0000
@@ -366,6 +366,8 @@ ieee80211_media_init(struct ifnet *ifp,
if (ic->ic_caps & IEEE80211_C_HOSTAP)
ADD(ic, IFM_AUTO, mopt | IFM_IEEE80211_HOSTAP);
#endif
+ if (ic->ic_caps & IEEE80211_C_MONITOR)
+ ADD(ic, IFM_AUTO, mopt | IFM_IEEE80211_MONITOR);
for (i = 0; i < IEEE80211_HT_NUM_MCS; i++) {
if (!isset(ic->ic_sup_mcs, i))
continue;
@@ -378,6 +380,9 @@ ieee80211_media_init(struct ifnet *ifp,
ADD(ic, IFM_IEEE80211_HT_MCS0 + i,
mopt | IFM_IEEE80211_HOSTAP);
#endif
+ if (ic->ic_caps & IEEE80211_C_MONITOR)
+ ADD(ic, IFM_IEEE80211_HT_MCS0 + i,
+ mopt | IFM_IEEE80211_MONITOR);
}
ic->ic_flags |= IEEE80211_F_HTON; /* enable 11n by default */
}