/802.11 /FreeBSD /Linux /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
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 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: 1 , 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: #linux-wireless
indicates that I've not read it yet (and most often just scanned through)
Special thanks to
PaulFertser @ Freenode/#linux-wireless