| Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision |
| docs:guide-user:network:wifi:wireless.overview [2023/01/27 20:37] – [Table] typo bjorn_helgaas | docs:guide-user:network:wifi:wireless.overview [2023/06/22 22:24] – [Wireless Drivers in OpenWrt] Grammar and capitalization memicinn19 |
|---|
| ====== Wireless overview ====== | ====== Wireless overview ====== |
| This article deals with 802.11 wireless. OpenWrt supports other wireless devices too, see | This article deals with 802.11 wireless. OpenWrt supports other wireless devices too, see |
| [[docs:guide-user:hardware:bluetooth:start|Bluetooth]], 802.15.4 ([[https://dev.openwrt.org/changeset/45348|r45348]]) or RTL-SDR ([[http://blog.y3xz.com/blog/2014/04/24/feeding-data-to-flightradar24-dot-com/|RTL-SDR on TL-WR703n]]) | [[docs:guide-user:hardware:bluetooth:start|Bluetooth]], 802.15.4 ([[https://dev.openwrt.org/changeset/45348|r45348]]) or RTL-SDR ([[https://yuv.al/blog/feeding-data-to-flightradar24-dot-com/|RTL-SDR on TL-WR703n]]) |
| |
| ===== Introduction ===== | ===== Introduction ===== |
| * for some broadcom WNICs, there are also three drivers available: broadcom proprietary drivers (''broadcom-wl''), broadcom mac80211-based drivers (the ''b43'') and the brcmSmac- and brcmFmac drivers | * for some broadcom WNICs, there are also three drivers available: broadcom proprietary drivers (''broadcom-wl''), broadcom mac80211-based drivers (the ''b43'') and the brcmSmac- and brcmFmac drivers |
| * to set up and configure **[[https://wireless.wiki.kernel.org/en/users/documentation/iw|wireless utilities]]** are available, however on OpenWrt we rather use UCI: ''[[docs:guide-user:network:wifi:basic|/etc/config/wireless]]'' and ''[[docs:guide-user:base-system:basic-networking|/etc/config/network]]''. | * to set up and configure **[[https://wireless.wiki.kernel.org/en/users/documentation/iw|wireless utilities]]** are available, however on OpenWrt we rather use UCI: ''[[docs:guide-user:network:wifi:basic|/etc/config/wireless]]'' and ''[[docs:guide-user:base-system:basic-networking|/etc/config/network]]''. |
| * There are two different types of WNICs to distinguish: [[http://www.linuxwireless.org/en/developers/Documentation/Glossary?highlight=%28softmac%29#SoftMAC|SoftMAC]] and [[http://www.linuxwireless.org/en/developers/Documentation/Glossary?highlight=%28FullMAC%29#FullMAC|FullMAC]] devices; also see //[[https://wireless.wiki.kernel.org/en/developers/documentation/mac80211|About mac80211]]//. | * There are two different types of WNICs to distinguish: [[https://wireless.wiki.kernel.org/en/developers/documentation/glossary#:~:text=(Access%20Point)-,SoftMAC,-SoftMAC%20is%20a|SoftMAC]] and [[https://wireless.wiki.kernel.org/en/developers/documentation/glossary#:~:text=or%20terminal%20emulator.-,FullMAC,-FullMAC%20is%20a|FullMAC]] devices; also see //[[https://wireless.wiki.kernel.org/en/developers/documentation/mac80211|About mac80211]]//. |
| * Many drivers might require firmware blobs. Most firmware code is closed source. (Exception carl9170, [[https://wireless.wiki.kernel.org/en/developers/gsoc/2012/ath9k_htc_open_firmware|ath9k_htc]]) | * Many drivers might require firmware blobs. Most firmware code is closed source. (Exception carl9170, [[https://wireless.wiki.kernel.org/en/developers/gsoc/2012/ath9k_htc_open_firmware|ath9k_htc]]) |
| * Atheros ath9k does not require firmware. | * Atheros ath9k does not require firmware. |
| |
| ==== Regulation in law ==== | ==== Regulation in law ==== |
| Available Frequencies, Bands and Channels are subject to regulation in each state. | Available frequencies, bands and channels are subject to regulation in each state. |
| Please see: http://git.kernel.org/cgit/linux/kernel/git/wireless/wireless-regdb.git/tree/db.txt | Please see: https://git.kernel.org/pub/scm/linux/kernel/git/sforshee/wireless-regdb.git/tree/db.txt |
| |
| |
| ===== Wireless Drivers in OpenWrt ===== | ===== Wireless Drivers in OpenWrt ===== |
| Wireless drivers are pulled on a more or less regularly basis from [[http://git.kernel.org/cgit/linux/kernel/git/wireless/wireless-testing.git/|wireless-testing]] and the OpenWrt-patches which are not mainlined yet are adjusted, see e.g. [[https://dev.openwrt.org/changeset/36939/trunk|r36939]]. | Wireless drivers are pulled on a more or less regular basis from [[http://git.kernel.org/cgit/linux/kernel/git/wireless/wireless-testing.git/|wireless-testing]] and the OpenWrt patches which are not mainlined yet are adjusted, see e.g. [[https://dev.openwrt.org/changeset/36939/trunk|r36939]]. |
| OpenWrt does not use Kernel drivers. The package is called mac80211. | OpenWrt does not use kernel drivers. The package is called mac80211. |
| * [[https://dev.openwrt.org/log/trunk/package/kernel/mac80211|history of commits to OpenWrt trunk regarding mac80211]] | * [[https://dev.openwrt.org/log/trunk/package/kernel/mac80211|history of commits to OpenWrt trunk regarding mac80211]] |
| * [[https://dev.openwrt.org/search?ticket=on&q=mac80211|tickets on mac80211]], better is a custom query in [[wp>Trac]]: e.g. [[https://dev.openwrt.org/query?status=accepted&status=assigned&status=new&status=reopened&description=~mac80211&max=20&order=priority|custom query]] | * [[https://dev.openwrt.org/search?ticket=on&q=mac80211|tickets on mac80211]], better is a custom query in [[wp>Trac]]: e.g. [[https://dev.openwrt.org/query?status=accepted&status=assigned&status=new&status=reopened&description=~mac80211&max=20&order=priority|custom query]] |
| |
| Similar work (brand new drivers for older Kernel) is done by the [[https://backports.wiki.kernel.org/index.php/Main_Page|backports]] project [[http://marc.info/?l=linux-backports&m=136490878702448|April 2013 announcement]], previously called compat-wireless or compat-driver. OpenWrt does not use this, despite referencing it by name. | Similar work (brand new drivers for older kernel) is done by the [[https://backports.wiki.kernel.org/index.php/Main_Page|backports]] project [[http://marc.info/?l=linux-backports&m=136490878702448|April 2013 announcement]], previously called compat-wireless or compat-driver. OpenWrt does not use this, despite referencing it by name. |
| |
| ===== Wireless Utilities in OpenWrt ===== | ===== Wireless Utilities in OpenWrt ===== |
| | iw | 32.100 | cfg80211 interface configuration utility | | | iw | 32.100 | cfg80211 interface configuration utility | |
| | wireless-tools | 23.153 | Contains ''[[man>iwconfig]]'', ''[[man>iwlist]]'' and ''[[man>iwpriv]]''; tools for configuring wireless adapters implementing the WExt. | | | wireless-tools | 23.153 | Contains ''[[man>iwconfig]]'', ''[[man>iwlist]]'' and ''[[man>iwpriv]]''; tools for configuring wireless adapters implementing the WExt. | |
| | crda | 9.627 | The [[http://www.linuxwireless.org/en/developers/Regulatory/CRDA|Central Regulatory Domain Agent]] serves one purpose: tell Linux kernel what to enforce. In essence it is a udev helper for communication between the kernel and userspace. You only need to run this manually for debugging purposes. For manual changing of regulatory domains use iw (''iw reg set'') or wpa-supplicant (feature yet to be added). | | | crda | 9.627 | The [[https://wireless.wiki.kernel.org/en/developers/regulatory/crda|Central Regulatory Domain Agent]] serves one purpose: tell Linux kernel what to enforce. In essence it is a udev helper for communication between the kernel and userspace. You only need to run this manually for debugging purposes. For manual changing of regulatory domains use iw (''iw reg set'') or wpa-supplicant (feature yet to be added). | |
| | libnl-tiny | 13.529 | This package contains a stripped down version of libnl | | | libnl-tiny | 13.529 | This package contains a stripped down version of libnl | |
| |