The kernel's Wi-Fi stack will offer "basic" Wake on Wireless LAN (WoWLAN) configuration support (1, 2). Another new addition is the rtl8192se driver for Realtek's RTL8191SE and RTL8192SE PCIe Wi-Fi chips (for example 1). This is the third driver mainly developed by Realtek itself that has recently been integrated into the kernel's network subsystem. Kernel hacker Larry Finger was involved in the integration of all three drivers; the developer is now working to prepare fully functional Wi-Fi drivers for RTL8192DE and RTL8191SU chips; however, a staging driver for the latter two is already part of the kernel.
Another new addition is the mwifiex driver for the SD8787, an SDIO Wi-Fi chip that is mainly used in the embedded area. Now that the carl9170 driver has become established, the developers have removed the older ar9170usb driver, which supported the same chips. The ath9k driver can now address the Atheros AR9340.
One of the developers of Broadcom's b43 Wi-Fi driver has submitted a driver for a protocol variant of the Advanced Microcontroller Bus Architecture (AMBA) – this driver is required with some components if the Wi-Fi drivers are to access the Broadcom chips' Wi-Fi functionality.
Rt2x00 Wi-Fi driver
From Linux 3.0, the kernel drivers the developers create for Ralink Wi-Fi chips within the Rt2x00 project will offer experimental support for series RT5370 USB Wi-Fi chips. The driver for the RT53xx family continues to be classified as experimental, but it is now said to fully support these PCI Wi-Fi chips and work better. The situation is similar with the drivers for series RT33xx PCI and USB chips, which no longer have "experimental" status.
The Ralink drivers can now also be instructed to address a specific PCI, PCIe, or USB device via sysfs. This is necessary if the driver doesn't address a Wi-Fi device automatically because its PCI, PCIe or USB ID is missing in the driver's list of supported devices. The lists are only updated every now and then, and occasionally even in the stable and long-term kernels, as there is little danger that such additions will cause problems for users who have previously used the drivers with other hardware.
Every kernel version comes with dozens, if not hundreds, of changes that extend the drivers' lists of supported PCI, PCIe and USB IDs. The Kernel Log usually links to such commits in the "minor gems" section. Such rather inconspicuous changes noticeably improve the hardware support of Linux over time. A good example in Linux 3.0 are three commits submitted for Ralink's rt2800usb USB Wi-Fi driver that will allow the driver to automatically support more than 30 additional USB Wi-Fi devices by various manufacturers without requiring any user interaction (1, 2, and 3); however, such adaptations are frequently necessary with USB hardware because the hardware manufacturers use separate device IDs far more often than the manufacturers of PCI and PCIe devices.
The drivers for Ralink chips have now matured far enough for the kernel developers to throw out the rt2860sta and rt2870sta drivers that were developed by Ralink and were later integrated into the staging branch. This is another example of drivers that don't mature in the staging branch but are instead replaced by completely different drivers which have largely been developed independently. The ath6kl staging driver for Atheros AR600x chips is another driver the developers have decided not to improve in the staging area, but rather outside of it.