* [[MateuszPiotrowski/Drivers/802.11|802.11]] * [[MateuszPiotrowski/Drivers/FreeBSD|FreeBSD]] * [[MateuszPiotrowski/Drivers/Linux|Linux]] * [[MateuszPiotrowski/Drivers/WiFi101|WiFi101]] ==== Main websites / references ==== ==== See also ==== ---- ---- ==== What's missing from iwm? ==== * iwm needs fixing in how it interacts with the net80211 state machine (for associating/disassociating with access points and so on). * iwm is not loaded automatically during installation * See TODO list on [[/WiFi]] ---- === MIMO === %%OpenBSD%%-current should have MIMO support although it hasn't been tested by Imre personally. There is an ''%%IWM_STA_FLG_MIMO_EN_MSK%%'' flag in ''%%if_iwmreg.h%%'' which if set means that a device has a support for MIMO. Here's a part of the ''%%if_iwm.c%%'' suggesting that MIMO is supported (MIMO is not supported yet, it is just a flag): static int iwm_mvm_sta_send_to_fw(struct iwm_softc *sc, struct iwm_node *in, int update) { /* ... */ add_sta_cmd.station_flags_msk |= htole32(IWM_STA_FLG_FAT_EN_MSK | IWM_STA_FLG_MIMO_EN_MSK); On the other hand we later read in the same file that: static void iwm_setrates(struct iwm_softc *sc, struct iwm_node *in) { /* ... */ /* * are these used? (we don't do SISO or MIMO) * need to set them to non-zero, though, or we get an error. */ lq->single_stream_ant_msk = 1; lq->dual_stream_ant_msk = 1; No, iwm does not support MIMO yet: static void iwm_mvm_fill_sf_command(struct iwm_softc *sc, struct iwm_sf_cfg_cmd *sf_cmd, struct ieee80211_node *ni) { /* ... */ #ifdef notyet if (ni->ni_rxmcs[2] != 0) watermark = IWM_SF_W_MARK_MIMO3; else if (ni->ni_rxmcs[1] != 0) watermark = IWM_SF_W_MARK_MIMO2; else #endif ---- === 11n support === %%OpenBSD%%-stable has basic 11n support in iwm thanks to Stefan Sperling (stsp at %%OpenBSD%%). From [[WiFi/80211n]]: * 802.11n LDPC encoding * 802.11n DFS support - the current support only functions with 802.11a channels * 802.11n rate control/selection in net80211 - currently, the rate control modules in net80211 only know about legacy rates ---- === 11ac support === [[/WiFi]] suggests that 11ac is barely (or not at all) supported in %%FreeBSD%% Things needed for 11ac support in %%FreeBSD%%: [[WiFi/FixUpThings]] 802.11ac TODO list: [[WiFi/80211ac]] ---- === See also === * [[/Networking]] ---- ==== What's already there? ==== * 11a, 11bg support: https://lists.freebsd.org/pipermail/freebsd-wireless/2017-March/007552.html ---- ==== Related files in the source tree ==== sys/dev/iwm sys/net80211 ---- ==== FreeBSD networking stack ==== * ''%%ifnet(9)%%'': https://www.freebsd.org/cgi/man.cgi?query=ifnet&sektion=9&apropos=0&manpath=FreeBSD+11.0-RELEASE+and+Ports ---- //indicates that I've not read it yet (and most often just scanned through)// \\ //indicates that I've got to investigate whether it is true or not// Special thanks to :-):-):-):-):-):-):-):-):-):-):-):-):-):-)