User:Thisrod/Wireless networking under Linux

The main support for wireless networking on Linux is the Wireless Extensions. These provide a common API in the kernel through which applications can control the drivers for various cards. There have been some complicated licencing issues around these drivers, because many wireless adapters include proprietary firmware. Also, manufacturers of radio equipment must ensure it complies with the radio spectrum laws, which creates some tension with the freedom to modify software granted by the GPL. These issues have led to the drivers developing rapidly, often leaving their documentation far behind.

Summary of Wireless Networking Protocols
The 802.11 series of networking protocols, commonly known as Wi-Fi, have generally developed smoothly with improvements in radio technology. The exception has been the encryption methods used to protect data broadcast over the airwaves. The early standards specified a specially invented cipher, called Wireless Equivalent Privacy (WEP). Like most proprietary ciphers, it was soon cracked. The replacement is called WPA. This is a weak point of the linux system. Not all network adapters support it in hardware or firmware, and the Wireless Extensions do not yet include a standard way to access it on those that do. Linux provides a software implementation, wpa_supplicant, but this interacts differently with the different kernel drivers, so users need to know about them to use it.