USB cable hacking

Daniel Dadap daniel at digsoc.com
Wed Aug 27 15:00:46 CEST 2008


Hello Community,

I just bought a portable USB battery pack ( one of these:
http://apc.com/products/family/index.cfm?id=314 ) to use with my
FreeRunner so that I could keep tangogps running to log a track for me
during a bike ride. It worked quite well: I was able to keep the unit
powered on for over 12 hours and still had some juice left over to
make some phone calls at the end of the day. However, I noticed that
the FR was only drawing 100mA. I was sort of hoping that the battery
pack would emulate a USB host and negotiate current, but it looks like
it just has available power.

Anyway, I saw on http://wiki.openmoko.org/wiki/USB_charger that the
included AC adapter has a 47.5 kOhm resistor betwen ID and GND. Like
many other people on this list, I have dozens of USB A to Mini-B
cables cluttering the house, and I figured it might be a neat idea to
cut a cable, splice it short (about 20cm or so), and add a resistor.
This cable would be used only for charging with the battery pack. I
don't like the idea of having to switch the FR to force fast charge,
possibly forgetting to switch it back before plugging it into a
computer, and possibly destroying the USB port on the computer and/or
the FR. A dedicated charging cable would make this simpler.

Problem is, the ID pin apparently exists only on the Mini-B connector,
and doesn't have a corresponding wire inside the USB cable. Has
anybody on the list done USB connector hacking, and have any tips on
how to get a resistor in there without interfering with plug in
operation?

Also, what part of the software exactly is responsible for charger
detection? I guess another possibility is to hack the software to
recognize shorted data pins as a charger. I have another device with a
charger that identifies itself by shorted data pins, but more
importantly, shorting the data pins is a much easier mod to perform on
a USB cable.

I suppose the easiest option would be to cut off the end of a FR
charger (or other compatible charger with a resistor across GND and
ID) and splice it with a USB cable... but I would like to hear other
suggestions that people may have.




More information about the community mailing list