[ltp] Re: Cardbus USB2 card for Thinkpad X30

Bjørn Mork linux-thinkpad@linux-thinkpad.org
Wed, 26 Aug 2009 18:19:49 +0200


Richard Neill <rn214@hermes.cam.ac.uk> writes:

> * I did some USB power stuff once, and, while testing, accidentally
> shorted the USB port. No permanent harm done, but I instantly crashed
> the computer.

Oh, that bring back memories...

I've found that I'm even less accurate when soldering than I'm when
programming.  A couple of years ago I had some ideas involving a
Microchip PIC with an USB interface.  I solderend a type B connector to
it and connected it to my laptop (IBM Thinkpad T42 to keep this slightly
close to topic).  And got only a few weird messages in the log.  Even
stranger, the port shut down and stayed like that for a few seconds.
And the USB cable became noticably warm and a bit softer...

Well, this was rather early in the morning and the caffeine had not
worked it's way into my brain yet.  So instead of leaning back and think
for a second, I decided to try another PIC.  This time I "optimized" the
design a bit when soldering the type B connector to the breadboard.
Connected it to the laptop again and got even stranger results.  The
device identified itself as "low speed" and not "full speed" as I
expected.  Weird. Then the caffeine hit.  For those who don't know the
inner workings of the USB protocol: The difference is whether the device
pulls up D+ or D-.  See http://www.beyondlogic.org/usbnutshell/usb2.htm
for a more detailed explanation.  What I had done in my second attempt
this morning was switching D+ with D-.  No wonder it didn't work :-)

And those smarter than an average rock probably figured out what was
wrong with the first attempt too.  Yes, I had switched Vbus and ground,
basically grounding Vbus.  That explained the warm cable. No wonder the
port shut down.

But there was no damage to the laptop.  USB ports do have over-current
protection, and it's not just a fuse but some circuitry resetting itself
when the over-current condition disappears.  The USB port continued to
work and still does it's job.


Bjørn