* [[MateuszPiotrowski/Drivers/802.11|802.11]] * [[MateuszPiotrowski/Drivers/FreeBSD|FreeBSD]] * [[MateuszPiotrowski/Drivers/Linux|Linux]] * [[MateuszPiotrowski/Drivers/WiFi101|WiFi101]] ==== Main websites / references ==== * Linux Wireless: [[https://wireless.wiki.kernel.org/en/users]] * glossary: [[https://wireless.wiki.kernel.org/en/developers/documentation/glossary]] * iwlwifi: [[https://wireless.wiki.kernel.org/en/users/Drivers/iwlwifi]] * repository with fixes for the current kernel release cycle: https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes.git * repository with features for the next kernel release cycle: https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next.git * Linux 802.11 Driver Developer’s Guide: https://www.kernel.org/doc/html/latest/driver-api/80211/ * Linux Device Drivers, Third Edition: [[https://lwn.net/Kernel/LDD3/]] * Chapter 17: Network Drivers * ''%%drivers/net/wireless/intel/iwlwifi%%'': http://elixir.free-electrons.com/linux/latest/source/drivers/net/wireless/intel/iwlwifi ==== Network device drivers development ==== * Writing Network Device Drivers for Linux: http://linuxgazette.net/156/jangir.html * How to learn the structure of Linux wireless drivers (mac80211)? [[http://stackoverflow.com/q/7157181/4694621]] ==== See also ==== * %%YouTube%% Documentation section: [[https://wireless.wiki.kernel.org/en/users/documentation]] * Wi-Fi testing for Linux: https://wireless.wiki.kernel.org/en/developers/testing/wifi-test \\ :idea: I wonder if it is possible to use it to test drivers on %%FreeBSD%%. * %%WiFi%% overview by Johannes Martin Berg (2009): [[http://linuxwireless.sipsolutions.net/attachments/en/developers/Documentation/overview.pdf]] * ''%%iwm(4)%%'' * Wifi 802.11n standard support in Linux (2010): [[http://www.linux-kongress.org/2010/slides/2010-09-21-LinuxKongressNuremberg-presentation.pdf]] ---- ==== mac80211 ==== mac80211 is a framework for writing %%SoftMAC%% drivers (see ''%%net80211(4)%%'' for %%FreeBSD%% counterpart). Its website at [[https://wireless.wiki.kernel.org/en/developers/documentation/mac80211|wireless.wiki.kernel.org]] has not been updated since 2015. The latest documentation is probably available in Linux 802.11 Driver Developer’s Guide. Most of the 802.11 standards should be implemented on the ''%%mac80211%%'' common %%SoftMAC%% layer. Notes about mac80211 API (2015, outdated): https://wireless.wiki.kernel.org/en/developers/documentation/mac80211/api Interesting sequence diagrams: [[https://wireless.wiki.kernel.org/en/developers/documentation/mac80211/auth-assoc-deauth|1]] , [[https://wireless.wiki.kernel.org/en/developers/documentation/mac80211/hw-scan|2]] %%PaulFertser%% told me that if I really want to know how to use 802.11ac in Linux I should study the mac80211 driver for %%MediaTek%% MT76x2 802.11ac chips ([[https://github.com/openwrt/mt76]] ) as it is a relatively thin wrapper around real hardware functions in contrast to iwlwifi. === Johannes Berg's presentation === Johannes Berg's presentation (2009, Intel): https://wireless.wiki.kernel.org/_media/en/developers/documentation/mac80211.pdf \\ The most important mac80211 header to driver developers: ''%%include/net/mac80211.h%%''\\ Other files are in ''%%net/mac80211/%%''. ---- ==== 802.11n and 802.11ac support for Intel hardware ==== https://wireless.wiki.kernel.org/en/users/drivers suggests that iwlwifi supports A/B/G/N/AC PHY modes. ---- ==== Community ==== * **IRC** * Server: irc://irc.freenode.net * Channel: [[https://webchat.freenode.net/?channels=%23linux-wireless|#linux-wireless]] ---- //indicates that I've not read it yet (and most often just scanned through)// Special thanks to * %%PaulFertser%% @ Freenode/#linux-wireless :-):-):-):-):-):-):-):-):-):-):-):-):-):-)