USB 3.0 support: coming soon to a Linux kernel near you!

#tags usb,usb3,linux,open source

The xHCI (USB 3.0) host controller driver and initial support for USB 3.0 devices is now publicly available on my kernel.org git tree. Greg Kroah-Hartman has queued the patches for 2.6.31, so Linux users should have official USB 3.0 support around September 2009. This is impeccable timing, since NEC recently announced they’ll be producing 1 million xHCI PCI express add-in cards in September.

This means that Linux will be the first operating system with official USB 3.0 support. I’m working with Keve Gabbert (the OSV person in my group at Intel) to make sure that Linux distributions like Ubuntu and Red Hat pick up the xHCI driver. Advanced users can always compile their own kernel on a standard distro install.

I hope that some USB 3.0 vendors who have prototypes will test with my driver. Instructions on how to compile a kernel using my git tree will follow.

This is a giant project that I’ve been working on for the past year and a half. It’s gratifying to see the code finally released, and exciting to know that hardware is on its way.

USB 3.0 and Linux

USB is getting a facelift!

In the beginning, there was USB 1.1, with the “low speed” and “full speed” devices (at 1 Mbps and 12 Mbps, respectively). Then USB 2.0 came along with “high speed” devices that ran at 480 Mbps. Now the new USB 3.0 bus specification defines “SuperSpeed” devices that run at 5 Gbps (5,120 Mbps).

SuperSpeed Logo - image copyright 2008 Sarah Sharp
Now that the bus specification is public, I can finally talk about the code I’ve been developing at work. I’ve been writing a Linux driver for xHCI (the new USB 3.0 host controller), and changing the Linux kernel stack to support USB 3.0 devices. On November 17th, I got to demo my work at the world’s first USB 3.0 “SuperSpeed” Developers Conference.

Continue reading

Portland State Aerospace Society meeting notes for 2008-05-07

I have become the official blogger for the Portland State Aerospace Society (PSAS). If you haven’t heard about PSAS, watch my five minute Ignite Portland 2 talk and follow along with the sides.

In this PSAS weekly episode, I talk about the rocket airframe and the software for the avionics sensor nodes.

Airframe

Tim showed off pictures of his setup for creating the light-weight fiberglass shell that goes around our rocket:

Continue reading