<?xml version="1.0" encoding="utf-8"?>
<!-- name="generator" content="pyblosxom/1.4.2 8/16/2007" -->
<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">

<rss version="0.91">
<channel>
<title>The Geekess   </title>
<link>http://sarah.thesharps.us</link>
<description>Linux, bicycling, open source, gardening, amateur rockets, and other seemingly unrelated hobbies.</description>
<language>en</language>
<item>
  <title>Installing a custom kernel with USB 3.0 support</title>
  <link>http://sarah.thesharps.us/2009-06-09-13-30.html</link>
  <description><![CDATA[
<p>This documents my personal flow for downloading and installing a Linux kernel
with my xHCI and USB 3.0 code.  Until the code is in the upstream kernel and
shipping in Linux distributions, you'll have to follow these directions to get
Linux USB 3.0 support.</p>

<p><p class="readmore"><a href="http://sarah.thesharps.us/2009-06-09-13-30.rss">Read more &raquo;</a></p>
]]></description>
</item>

<item>
  <title>USB 3.0 support: coming soon to a Linux kernel near you!</title>
  <link>http://sarah.thesharps.us/2009-06-07-20-00.html</link>
  <description><![CDATA[
<p><img
src="http://lh5.ggpht.com/_KnE2M8e3X8Q/STQ4kNz0RFI/AAAAAAAABJ0/z7CV74jd6V0/s144/ss-logo.jpg"
align="left"> The xHCI (USB 3.0) host controller driver and initial support for
USB 3.0 devices is now publicly available on my kernel.org <a
href="http://git.kernel.org/?p=linux/kernel/git/sarah/xhci.git;a=summary">git
tree</a>.  Greg K-H 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 <a
href="http://www.dailytech.com/NEC+Introduces+First+USB+30+Host+Controller/article15178.htm">producing
1 million xHCI PCI express add-in cards in September</a>.</p>

<p>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.</p>

<p>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.</p>

<p>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.</p>

]]></description>
</item>

<item>
  <title>USB 3.0 and Linux</title>
  <link>http://sarah.thesharps.us/2008-12-07-13-35.html</link>
  <description><![CDATA[
<p>USB is getting a facelift!</p>

<p>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).</p>

<p><center>
<img src="http://lh5.ggpht.com/_KnE2M8e3X8Q/STQ4kNz0RFI/AAAAAAAABJ0/z7CV74jd6V0/s400/ss-logo.jpg" alt="SuperSpeed Logo - image copyright 2008 Sarah
Sharp" title="" />
</center></p>

<p>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
<a href="http://www.usb.org/developers/presentations/">"SuperSpeed" Developers Conference</a>.</p>

<p><center>
<embed id="VideoPlayback"
src="http://video.google.com/googleplayer.swf?docid=-6015621370324169356&amp;hl=en&amp;fs=true"
style="width:400px;height:326px" allowFullScreen="true"
allowScriptAccess="always" type="application/x-shockwave-flash"></embed>
</center></p>

<p>This is a demo showing a USB 3.0 Mass Storage Device (commonly called a USB
drive, thumb drive, or flash drive) prototype running under Linux with an
unmodified Mass Storage Device driver.  My Linux xHCI driver is necessary to
communicate with the USB 3.0 device through the xHCI host controller prototype.
The FPGA prototype was provided by Fresco Logic, a company that sells host
controller and device IP.</p>

<p>The demo showed speeds that were about 3.5 times faster than USB 2.0 high speed
devices.  I expect this demo to be even faster when the device and host
controller are implemented in silicon.</p>

<h2>Details about USB 3.0</h2>

<p>USB 3.0 is 10 times faster than USB 2.0.  Roughly speaking, it means that a file
that takes 30 minutes to transfer over USB 2.0 could take 3 minutes to transfer
under USB 3.0.</p>

<p>USB 3.0 also provides better power management, which translates to longer laptop
battery life.  USB 3.0 is backwards compatible.  That means you can plug all
your USB 2.0 devices into a USB 3.0 port, or plug your USB 3.0 device into a USB
2.0 port.  The USB 3.0 device will work at USB 2.0 speeds in the latter case,
but that means consumers don't have to upgrade their PC or laptop to use USB 3.0
devices at the slower speed.</p>

<p><p class="readmore"><a href="http://sarah.thesharps.us/2008-12-07-13-35.rss">Read more &raquo;</a></p>
]]></description>
</item>

<item>
  <title>Portland State Aerospace Society meeting notes for 2008-05-07</title>
  <link>http://sarah.thesharps.us/2008-05-07-22-00.html</link>
  <description><![CDATA[
<p>I have become the official blogger for the Portland State Aerospace Society
(PSAS).  If you haven't heard about PSAS, watch my five minute <a
href="http://www.youtube.com/watch?v=nYLIYab6-OY">Ignite Portland 2 talk</a> and
<a href="http://psas.pdx.edu/~sarah/ignite-portland2-pres.pdf">follow along with
the sides</a>.</p>

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

<p><u>Airframe</u></p>

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

<p><center>
<a
href="http://picasaweb.google.com/saharabeara/BlogPics/photo#5200443040451087362"><img
src="http://lh5.ggpht.com/saharabeara/SCuvZGS9TAI/AAAAAAAAALM/hDGzwoOfhAY/s400/05072008%28004%29.jpg"
/></a>
</center></p>

<p><p class="readmore"><a href="http://sarah.thesharps.us/2008-05-07-22-00.rss">Read more &raquo;</a></p>
]]></description>
</item>

<item>
  <title>USB 3.0 FAQ</title>
  <link>http://sarah.thesharps.us/usb3.html</link>
  <description><![CDATA[
<p><b>What is USB 3.0?</b></p>

<p><a href="http://www.usb.org/developers/docs/">USB 3.0</a> is a new Universal
Serial Bus specification that was released in November 2008.  It promises wire
speeds of 5Gbps, bi-directional communication, and better power management.</p>

<p><b>What is xHCI?</b></p>

<p>The eXtensible Host Controller Interface (xHCI) is the hardware on your PC that
talks to USB 3.0 devices and legacy USB devices.  The xHCI specification
details can be found on <a
href="http://www.intel.com/technology/usb/xhcispec.htm">Intel's website</a>.</p>

<p><!--BREAK---></p>

<p><b>Wasn't USB 2.0 good enough? Why is USB 3.0 cool?</b></p>

<p>USB 3.0 is expected to be 10 times faster than USB 2.0.  It's also more power
efficient, which translates into longer laptop battery life.  Since USB 3.0
packets are routed instead of broadcast, idle links can be automatically put
into low power states without the help of an operating system.  USB 3.0 also
adds the concept of endpoint "streams", which are used to submit multiple SCSI
commands and get better performance out of USB attached SCSI hard drives and
flash drives.</p>

<p><b>What about all my old USB devices?</b></p>

<p>Older USB devices will still work when you plug them into a USB 3.0 port on an
xHCI host controller.  They will still operate at their original speeds.</p>

<p><b>Can I plug a USB 3.0 device into my old computer?</b></p>

<p>If you plug a USB 3.0 device into an EHCI host controller, it will work at USB
2.0 speeds.  To get 5Gbps wire speed, you need an xHCI host controller.</p>

<p><b>USB 3.0 sounds pretty cool.  When will Linux support it?</b></p>

<p>The Linux xHCI driver has been merged into 2.6.31.  The git development tree
for the driver can be found on <a
href="http://git.kernel.org/?p=linux/kernel/git/sarah/xhci.git;a=summary">kernel.org</a></p>

<p><b>Is there any mailing list for xhci driver related discussions?</b></p>

<p>You can subscribe to the linux-usb mailing list at <a
href="http://www.linux-usb.org/mailing.html">http://www.linux-usb.org/mailing.html</a>
I'll also post updates on my blog.</p>

<p><b>I found a bug in the xHCI driver.  What should I do?</b></p>

<p>Enable xHCI debugging in your kernel (<code>CONFIG_USB_XHCI_HCD_DEBUGGING</code>) and send
your dmesg output to sarah.a.sharp@linux.intel.com.  Please CC the Linux USB
mailing list linux-usb@vger.kernel.org.</p>

<p><b>You didn't answer my question; where can I find more info?</b></p>

<p>See <a href="">a longer blog post</a> for more information.</p>

]]></description>
</item>

</channel>
</rss>
