In association with heise online

11 January 2009, 16:08

Kernel Log: What's new in 2.6.29 - Part 1: Dodgy Wifi drivers and AP support

  • Twitter
  • Facebook
  • submit to slashdot
  • StumbleUpon
  • submit to reddit

See – Part 2 of Whats new in 2.6.29.

Scarcely two weeks after the release of Linux 2.6.28, Linus Torvalds has integrated comprehensive changes for kernel version 2.6.29 into the main development branch. As of Friday morning, he had added a whopping 7550 patches that changed 8388 files and included more than 1,061,513 new, changed, or moved, lines of code. Over the weekend, the merge window closed and the second phase of the development cycle, which usually lasts some eight to ten weeks, has started with the release of 2.6.29-RC1. In the second phase only corrections, or small changes that do not threaten the code, will find their way into the main development branch.

A significant part of the changes integrated up to now includes a long list of improvements in the kernel's network support features. Since the network support features are the most significant additions to the kernel, a round-up of these changes kicks off this "What's new in 2.6.29" series. Should any other noteworthy patches for the network subsystem find their way into the main development branch in the coming weeks, we will sum them up in the final instalment of this series – shortly before Torvalds releases 2.6.29. On the occasion of the release, a comprehensive Kernel Log will again sum up the most important changes reported in the course of the "What's new in 2.6.29" series.

Dodgy network drivers

Following the integration in 2.6.28 of Greg Kroah-Hartman's staging kernel branch into the Linux main development branch, the self-styled "maintainers of crap" have added numerous additional drivers, in the kernel's staging area, that do not meet the kernel developers' quality standards. Among the offenders were the rt2860 and rt2870 Wifi drivers for the Ralink Wifi chips found in some of the new netbooks and low-end notebooks. Other new entries in the staging area are the otus driver, released in October, for the Atheros UB81, UB82 and UB83 WLAN chips, as well as the agnx and rtl8187se drivers for the Airgo AGNX00 WLAN chip and the Realtek RTL8187SE WLAN chip. There was also a comprehensive scrub and restructuring done on the code for the wlan-ng framework included in 2.6.28. Developers swapped the at76_usb staging driver, also included in 2.6.28, for a variant based on the mac80211 Linux WLAN stack – actually, the author of the driver had another solution in mind, so it would be no surprise if additional changes are made to the patch, or if it is withdrawn entirely.

Also, the benet network driver for ServerEngines' BladeEngine (EC 3210) 10Gb network adapter is a new addition to the staging area. Whether users of the mainstream distributions and their kernels will see tangible advantages from the inclusion of all these staging drivers depends on which distribution they are using. Administrators of the distributions' kernels activate only some of the staging drivers, or only partially activate them, since they do not meet the normal quality standards of the kernel developers. The drivers' failure to meet these standards is also the reason the kernel is marked with a "TAINT_CRAP" flag when it is loading them. This makes it clear in users' error reports that a "crappy" driver has "besmirched" the kernel and may have been responsible, or partly responsible, for problems. However, in the absence of other drivers, users who simply want to use their hardware may not give a hoot about the driver, as long as it does not cause any serious problems. Network manager/developer Dan Williams made it known in a recent Fedora list post that he does not think much of the staging drivers (1, 2). He said that he would ignore bugs involving staging drivers, "Basically, I'm going to ignore any issues that come in from these drivers because they aren't accepted upstream wireless drivers, despite what gregkh (who's not a wireless developer) tries to make them."

More than a thousand other changes

Network subsystem administrator David S. Miller did not leave it to Greg Kroah-Hartman alone to submit all of the network updates; he collected more than a thousand network-related patches himself and sent them to Torvalds. (1, 2, 3).

New and removed WLAN drivers, AP mode

Support for operation as an access point (AP), which has been in the kernel's Wifi stack for some time, albeit deactivated, has now been activated (documentation, support in nl80211). However, the kernel does not handle the actual AP administration functions itself, but rather leaves them to the current versions of hostapd. The WLAN drivers have to support AP mode as well, although this is not the case with the kernel's drivers for the Intel WLAN modules found in Centrino notebooks and others. Developers are expanding the ath5k and p54 WLAN drivers, to support AP mode (1, 2).

The kernel hackers have extended the Ath9k WLAN driver, which has been AP-compatible for some time, to make it support the AR9285 Atheros WLAN chip (1, 2). Developers have comprehensively revised the rate control API and HT handling for the mac80211 WLAN stack (1, 2, 3). Also, the kernel hackers have added 802.11d support to cfg80211 and mac80211. Parts of the outdated Linux WLAN stack, still needed for the ipw2x00 and hostap drivers, have been shuffled around and hidden, which can cause problems when compiling some WLAN drivers that are dependent on the official Linux kernel.

LAN related changes

The Generic Receive Offload (GRO) Infrastructure has been added for LAN drivers. Other new additions include the smsc911x driver for SMSC 's LAN911x and LAN921x LAN chips, as well as the smsc9420 driver for the 100 Mb LAN9420 chip also made by SMSC. The bnx2 driver is now compatible with the BCM5716S Broadcom chip and the Broadcom PHY module now works with the BCM57780 and BCM50610 chips. There are new improvements for the 5785 chip in the tg3 driver for Marvell LAN chips, as well as support for the 5761S and 57780 chips.

Following the network subsystem and subsystem drivers administrators' initially cool reception of the split in 2.6.27 between drivers and firmware, the kernel developers have now implemented the separation in numerous network drivers -- in 2.6.29 the split has been implemented in the acenic, e100, starfire and tg3 drivers. Developers have removed the eepro100 driver for Intel 100 Mb LAN chips, which was replaced long ago by the e100 driver. The hci_usb Bluetooth driver also had to go, since it was made obsolete by the btusb driver some time ago.

Still more changes

The changes noted so far are the key network related updates in 2.6.29. As always, however, there is a whole host of other less important, but not insignificant updates that the kernel developers have implemented in the Linux kernel source code administration system. See – Part 2 of Whats new in 2.6.29.


LAN specific:

WLAN specific:


Further background and information about developments in the Linux kernel and its environment can also be found in previous issues of the kernel log at heise open:

Older Kernel logs can be found in the archives or by using the search function at heise open. (thl/c't)


Print Version | Send by email | Permalink:

  • July's Community Calendar

The H Open

The H Security

The H Developer

The H Internet Toolkit