To USB or Not to USB


Too Few USB Ports, USB is Hard because it’s Easy, International Happiness Day

Not Enough USB Ports

The most common complaint I hear now is that PC’s don’t offer enough USB 3.0 ports.

In the most recent blog from Jeff Cable, he talks about how he bought a MacPro that has only 4 USB 3.0 ports

Jeff Cable says:

“The only bad thing is that the new Mac Pro only has 4 USB ports, which are all filled now. I have so many devices (Wacom Cintiq, Epson R2000 printer, video adaptor, Dymo Labelwriter 450 printer, keyboard, Intuos tablet, card reader) that I am short one port. I have ordered a 7 port USB 3.0 hub, but I can’t understand why Apple would put only 4 USB ports when they have 6 Thunderbolt ports. The Thunderbolt ports can daisy chain up to 30 devices, but the USB ports can’t. A small oversight in my opinion.” Jeff Cable

The good thing is he could actually buy a DisplayLink USB Docking station that would help out with all of this, or a USB 3.0 Hub which solves all his problems.

I have the same complaint about my laptop, except that I have a docking station which takes care of this 90% of the time.

For my Parents and my wife I simply purchased cheap USB 2.0, and now USB 3.0 Hubs as cheap docking stations.  I’m getting the DisplayLink based Docking station this year because the Ultrabooks they’ve purchased don’t have a VGA output, so USB 3.0 is the way to go.

USB – Hard because it’s Easy

The funny thing about selling USB IP is the perception that USB “just works” 

The idea back in the mid-90s was to make it as easy to use as plugging a power plug into the wall.

So all the sophistication was pushed into the controllers, the PHYs, and the drivers.  The USB-IF put in place it’s extensive interoperability and testing to make it “just work”

And most of the problems actually continue to be in the DRIVERS.  The PHYs and Controllers, the hardware, are more than capable of delivering USB traffic (at least Synopsys’ are).

If you make a mistake in the controller, you risk a hardware problem that causes frequent failures.

If you make a mistake in the PHY, you risk either a complete failure, OR a performance degradation of up to 90 or more% because you can’t read the data off a USB cable

But since we test for these, generally, this isn’t a problem (at least for our customers).  The problem most often lies in the DRIVERS.

How do we know this?

Well, we’ve now supported over 3000 design wins.  So there’s that bit of data we’ve accumulated on this.

Also, if you look back, all the way back to Windows 2000, Microsoft had gotten so sick of defending their OS, and trying to improve the user experience that they launched a tool called “Driver Verifier”.  When enabled, it would help identify Driver failures.   In fact, once they did this, they found that almost all problems were due to Driver issues, not OS issues, not hardware issues but Driver issues.  People still blamed Microsoft, but with the Driver Verifier, at least product makers could debug their drivers more, before shipping.

I can’t find the original references to this, but I can tell you that this was a huge thing at the time because suddenly all the root cause analysis was through back onto system makers of webcams and printers makers because their drivers were terrible.  I remember seeing the Driver Verifier in use during USB Plugfests and used with Windows XP extensively.  It’s probably one of the reasons why Windows XP was better received than any previous OS.

I can personally attest to Driver issues. I used to buy a single brand of WebCam 1998 to 2005 because they were reviewed well, and had great images, but they constantly blue-screened.  After spending over $1000 buying cameras for my parents, sister and myself, I stopped buying them. The drivers were never moved forward.

I have a pile of these in a drawer.  I found out later that this massive company was using one driver engineer, a contractor to write their WebCam drivers.   It didn’t surprise me that these failures were so common as to make me lose my mind with blue screens.

My point is that after spending 100’s of thousands of dollars on the chip, for some reason software is still seen as simple/cheap and the investment and testing can be severely underestimated, completely destroying the user experience.

Do Not Underestimate the effort and attention you need to put into your USB Drivers.  It’s an important part of your development, (after you’ve chosen Synopsys IP).

Doing a good job with USB drivers makes it easier for your customers/consumers to use, and reduces your overall support effort.  Don’t be cheap. Be smart.

Today is International Happiness Day, the 2nd ever.

The (United Nations) General Assembly,[…] Conscious that the pursuit of happiness is a fundamental human goal,[…] Recognizing also the need for a more inclusive, equitable and balanced approach to economic growth that promotes sustainable development, poverty eradication, happiness and the well-being of all peoples, Decides to proclaim 20 March the International Day of Happiness, Invites all Member States, organizations of the United Nations system and other international and regional organizations, as well as civil society, including non-governmental organizations and individuals, to observe the International Day of Happiness in an appropriate manner, including through education and public awareness-raising activities[…]

United Nations General AssemblyResolution adopted by the General Assembly on 28 June 2012[1]

So watch these videos below for fun.  They put me in a good mood. The first one is in Sidney. The second in Cologne.

Try to get through the first minute at least of the Sidney video, then switch to the Cologne version



Then watch this video which is the best use ever of a wearable USB sports camera ever.

Thanks to Agent K for the MacPro article

Share and Enjoy:
  • Digg
  • Facebook
  • Google Bookmarks
  • Print
  • Twitter
  • StumbleUpon
  • LinkedIn
  • RSS