Audio and video
This development cycle once again saw hundreds of major and minor changes to the Alsa framework and drivers (including 1, 2, 3, 4, 5). Audio support in Linux 2.6.29 is, according to information in the kernel, now at the level of Alsa 1.0.18a, but will in fact include many of the changes in the current 1.0.19 Alsa driver version. These include, for example, the driver for HD audio codecs being split into multiple files and support for audio output via HDMI on Intel and Nvidia chipsets (e.g. 1). The energy saving features for HD audio and AC97 chips are no longer considered experimental – users wanting to extend their laptop's battery life should therefore, where the kernel version of the Linux distribution they are using has not already done so, activate this feature during kernel configuration or subsequently.
It's not just the audio subsystem that's been souped up –, the video4Linux/DVB subsystem has also been extended or modified by hundreds of patches (1, 2, 3, 4, 5, 6). Two new Gspca drivers have been added – ov534 addresses the Sony Playstation EYE, whilst stv06xx is tailored to various older Logitech Quickcam cameras. Until now, the latter have usually required one of two drivers going by the name qc-usb, which have never made the leap into the Linux main development tree.
USB and FireWire
The WiMAX stack, driven primarily by Intel developers and developed as part of the Linux WiMAX project, has found its way into the main development tree in 2.6.29 via USB subsystem maintainer Greg Kroah-Hartman. Linux 2.6.29 thus contains a basic infrastructure for the WiMAX wireless broadband networking technology, on which the i2400m driver – also developed by the WiMAX project and taken into the kernel at the same time – sits. This addresses Intel's WiMAX Connection 2400 WiMAX chip, which is predominantly used in the Intel Wireless WiMAX/Wi-Fi Link 5150 and 5350 (codename: Echo Peak) WLAN/WiMAX modules built into newer Centrino laptops. Details and background information on the Linux kernel's new WiMAX infrastructure can be found in the e-mail request for the patches' inclusion and on the Linux WiMAX website. The website also offers downloads of the i2400m firmware and associated userspace software.
Stefan Richter has introduced numerous extensions into the FireWire subsystem, which he maintains (e.g. 1, 2). These provide enhancements for asynchronous data transfer and remove the 800 MB/s maximum speed limit from the old FireWire stack. Very late in the second half of the development cycle, the firedtv (formerly firesat) V4L/DVB driver found it's way into the main development tree via the FireWire development tree. It supports the FireDTV and FloppyDTV FireWire TV hardware developed by Digital Everywhere and marketed by El Gato.
Driver Staging
Following the incorporation of the staging kernel branch into the main development branch in 2.6.28, many further drivers which fail to meet the kernel development team's quality standards have found their way into the kernel's staging area via the self-styled "maintainer of crap". These include the rt2860 and rt2870 WLAN drivers for the eponymous Ralink chips, used in some recent netbooks and cheaper laptops. The otus driver for Atheros' UB81, UB82 and UB83 802.11n USB WLAN chips, which were released in October, and the agnx and rtl8187se drivers for Airgo's AGNX00 and Realtek's RTL8187SE WLAN chips are also newly arrived in the staging area. There has also been substantial work on tidying up and restructuring the code for the wlan-ng framework, which was already included in 2.6.28. The benet network driver for ServerEngines' 10GB BladeEngine (EC 3210) network adaptor is another addition to the staging area.
The commit for the openPOWERLINK network stack from Systec Electronic weighs in at a (for the kernel) massive 2 MB. The commit which adds Meilhaus' ME-IDS drivers totals around 1.2 MB. The kernel development team have also added the Comedi framework and numerous kernel extensions from Google's Android to the staging area.
Whether or not users of mainstream distributions and the kernels they contain will feel any tangible benefit from the inclusion of all these staging drivers depends on the distribution, since, given that they are not yet up to the quality standards required by the kernel development team, distribution administrators either don't activate the staging drivers or activate only some. This is also the reason why the kernel is marked as "TAINT_CRAP" when loading staging drivers, so that users can clearly see from error reports that a dodgy driver has besmirched the kernel and may be (partly) responsible for any problems. Users who just want their hardware to work will, given the lack of alternative drivers, frankly not give a damn, as long as the driver doesn't cause any major problems.