Free Software

http://www.h-online.com/

Linux 2.6.31 will support USB 3.0, although the corresponding hardware is not yet available. Distributions are to use the new FireWire stack that now offers LAN support. CUSE emulates the Open Sound System via a userspace program. Another new addition is a driver for Acer’s Aspire One netbook.

Last Friday, Linus Torvalds released the eigth pre-release version of Linux 2.6.31. As the lead developer stressed in the release announcement, it will be the last pre-release version. He is on holiday diving for the next week and hopes to present the 2.6.31 release on the Labor Day US Holiday, which falls on September 7th this year.

Because, until then, only bug fixes will be fed into the main development branch, we are presenting the fifth and final part of the Kernel Log mini series now, concluding the detailed overview of the new features in the forthcoming kernel version. This edition will discuss all the subsystems that were left unmentioned in the previous parts – mainly the drivers and driver-related infrastructures like the ACPI and PCI subsystems. In the “Latecomers” section of this article we also mention a few stragglers from the areas already covered in previous editions.

For other articles on 2.6.31 and links to the other four parts of the “Coming in 2.6.31″ series, see The H’s Kernel Log - 2.6.31 Tracking page.
Fast transmissions

As expected, changes to the USB subsystem include the code to support USB 3.0 controllers with their Extensible Host Controller Interface (xHCI) (for example 1, 2, 3, 4, 5). Although various vendors have already released details about USB 3.0 hardware, so far, no actual products have become available. The USB 3.0 support in Linux is, therefore, not particularly relevant for now – but this will probably change in the long run; after all, the previous two USB interface generations have been resoundingly successful.

An overview of the changes to the FireWire code is available in the two main git-pull requests submitted by FireWire maintainer Stefan Richter (1, 2). Among other things, the maintainer highlights the added support for “IPv4 over IEEE 1394″ (networks via FireWire) in the more recent of the Linux kernel’s two FireWire stacks. He also points out that the more recent “firewire” stack is no longer classified as experimental, and that the distributions should, therefore, give it preference in the future. According to the maintainer, the new stack offers better performance, better compatibility, more features and improved security. However, he also points out that the old “ieee1394″ stack is still the best choice for audio hardware and for the FireWire DVB devices supported by the firedtv driver.
Drawing devices

With 2.6.31, the FUSE (Filesystem in Userspace)-based CUSE (Character device in Userspace) feature will be integrated into Linux. It allows userspace programs to emulate virtual devices that are accessible to other programs via the usual character-oriented device files in the same way as “proper” character devices implemented via a kernel driver.

This enables programmers to develop, for example, a userspace program that emulates the obsolete OSS (Open Sound System); it implements the devices expected by OSS programs via CUSE and then uses these devices to accept the data, process it and output it using the current ALSA sound system. The developer of CUSE, a Novell employee, has released such an OSS proxy for testing. Find further background information about CUSE and its potential uses in an article released on LWN.net some time ago.
Specials corner

The staging area with its drivers that don’t live up to the kernel hackers’ quality standards has reached quite a considerable size. However, in the current development cycle it has actually shrunk a bit, as Greg Kroah-Hartman pointed out in his git-pull request for the changes to the staging area (”We are removing more crap than we are adding, looks like progress to me! :)”). This is mainly due to the reorganisation of several drivers for Ralink Wi-Fi chip-sets, as already discussed in the Kernel Log.

In addition to the rtl8192su and vt6655 Wi-Fi drivers mentioned there, the staging area now contains the new octeon-ethernet network driver for SoCs (Systems on a Chip) from Cavium’s Octeon family. Further kernel additions at the tail end of the current development cycle are the cpc-usb CPC-CAN-USB driver and the rudimentary udlfb framebuffer driver (1, 2) for DisplayLink devices.

The developers removed serqt_usb because a kernel hacker has developed a completely new alternative driver for the same hardware – it is not the first and probably won’t be the last time the kernel developers have decided to replace a staging driver with a completely new driver instead of trying to improve a “dodgy” one.