Wireless network interface controller
A wireless network interface controller (WNIC) is a network interface controller which connects to a wireless network, such as Wi-Fi or Bluetooth, rather than a wired network, such as a Token Ring or Ethernet. A WNIC, just like other NICs, works on the layers 1 and 2 of the OSI model and uses an antenna to communicate via radio waves. A wireless network interface controller may be implemented as an expansion card and connected using PCI bus or PCIe bus, or connected via USB, PC Card, ExpressCard, Mini PCIe or M.2. The low cost and  ubiquity of the Wi-Fi standard means that many newer mobile computers have a wireless network interface built into the motherboard. The term is usually applied to IEEE 802.11 adapters; it may also apply to a NIC using protocols other than 802.11, such as one implementing Bluetooth connections. Modes of operation. An 802.11 WNIC can operate in two modes known as "infrastructure mode" and "ad hoc mode": Specifications. The IEEE 802.11 standard sets out low-level specifications for how all 802.11 wireless networks operate. Earlier 802.11 interface controllers are usually only compatible with earlier variants of the standard, while newer  cards support both current and old standards. Specifications commonly used in marketing materials for WNICs include: Most Bluetooth cards do not implement any form of the 802.11 standard. Range. Wireless range may be substantially affected by objects in the way of the signal and by the quality of the antenna. Large electrical appliances, such as refrigerators, fuse boxes, metal plumbing, and air conditioning units can impede a wireless network signal. The theoretical maximum range of IEEE 802.11 is only reached under ideal circumstances and true effective range is typically about half of the theoretical range. Specifically, the maximum throughput speed  is only achieved at extremely close range (less than or so); at the outer reaches of a device's effective range, speed may decrease to around 1 Mbit/s before it drops out altogether. The reason is that wireless devices dynamically negotiate the top speed at which they can communicate without dropping too many data packets. FullMAC and SoftMAC devices. In an 802.11 WNIC, the "MAC Sublayer Management Entity" (MLME) can be implemented either in the NIC's hardware or firmware, or in host-based software that is executed on the main CPU. A WNIC that implements the MLME function  in hardware or firmware is called a "FullMAC" WNIC or a "HardMAC" NIC and a NIC that implements it in host software is called a "SoftMAC" NIC. A FullMAC device hides the complexity of the 802.11 protocol from the main CPU, instead providing an 802.3 (Ethernet) interface; a SoftMAC design implements only the timing-critical part of the protocol in hardware/firmware and the rest on the host. FullMAC chips are typically used in mobile devices because: Popular example of FullMAC chips is the one implemented on the Raspberry Pi 3. Linux kernel's "mac80211" framework provides capabilities for SoftMAC  devices and additional capabilities (such as mesh networking, which is known as the IEEE 802.11s standard) for devices with limited functionality. FreeBSD also supports SoftMAC drivers.