What I really need for my 3100 are three different retractable cables.
1) A plug to mini-B
2) mini-A to A socket
3) mini-A to mini-B
The first one is readily available on Ebay. The other two are mythical creatures of legendary myth.
However, I can build them myself if I have some mini-A plugs...
Crap.
Mini-A plugs are even more mythical and legendary than the legendary and mythical cables they grow on.
But mini-B plugs are a lot easier (and cheaper) to come by, even if it means harvesting them from other cables. Can a mini-B plug be coerced into acting like a mini-A? Yes!
There are two functional differences between the mini-B and the mini-A plug:
1) The plug shape is different, so a mini-A plug will only go into sockets that support usb host.
2) The ID pin of the mini-A plug is shorted to ground. On the mini-B this pin is unconnected.
Also, mini-A plugs have white overmoulds, whereas mini-B's are black.
The first difference isn't a problem, since I can trust myself to only ever put the modified plugs into my Z. However I will be using white heatshrink on the modified plugs as a reminder to their new function.
The second difference requires some work to short the ID and ground pins on the mini-B plug. Lucky for us they are next to each other.
My first attempt used conductive silver paint; I just poked some down between the pins with a suitable instrument, made sure there was a connection, then plugged it into my Z. The Z turned off immediately. (!!) After verifying that my Z was undamaged (and allowing my heartrate to get back to normal), I did some reading of the USB standard. Apparently the ID pin needs less than 10ohms between it and ground, and the silver paint just wasn't conductive enough to do the job.
Therefore the only option was to rip apart the mini-B connector and do the mod the right way - with a soldering iron and a manic gleam in my eye.
You will also need: scalpel/stanley knife/hobby knife, pliers, small flathead screwdriver, solder, reckless disregard for life and limb.
Remove the overmould by using the knife to slice down the seams, and then a bit of muscle power to pull it apart. Hold the plug in one hand with cable facing away from you, then press the point of the blade into the plastic with the blade also away from you and the blunt edge parallel to the connector. This way you can't hurt yourself or the plug if the blade gets away from you.
If you only need to open one side then great; but I had to slice down both sides of the mould. Leave some plastic on one side holding the two sides together like a lopsided clamshell, you will find it easier to reassemble later if it is still in one piece.
Things may be slightly different on other connectors, but with the overmould removed I found a two-piece metal box with the plug on the end.
Use pliers to open up the stress relief at the end of the cable.
Use the small screwdriver or pliers to gently pry apart and remove half of the metal casing.
A bit more prying of the second half to release the plastic block, and the plug will slide out in the direction of the cable.
Now you can see the pins; in this photo (taken after the mod) the two pins to bridge are at the top. You want to connect them as far away from the end of the plug as possible; that way any bumps will be less likely to affect the socket.
Edit: I've since come up with a slightly less horrible (but still annoying) method for this step. Instead of soldering the pins together on the plug side, which is still detailed below, you can get at the pins from the wire side. The catch is they are embedded in that big rubber block. You can tell it's not the same moulded plastic as the rest of the plug, it's been poured into the metal box after assembly and let set before the overmould is done.
Pliers and the knife will get it off. Take your time; it's tough and flexible so it really doesn't want to cut or tear, and it was poured in as a liquid so it is around and between all the wires. You don't want to cut a wire or pull any of the pins out of the plug, but you really have to apply some force to get the wretched stuff to come away.
Once it's gone you should see the solder terminals for the pins; four of which go to the wires and one which is unconnected. Solder a short wire between the unconnected pin and the ground pin next to it.
Original method is below:
{
Now for the disclaimer (ha!) Everything will go horribly wrong when you try to solder the pins together.
1) You will push at least one hot pin through the thin plastic of the plug and have a rotten time trying to pry it back out, and may even ruin the plug completely in the attempt.
2) You will make a perfect low-profile solder bridge across two pins. Pity they won't be the right ones, and you will risk point 1 happening while you try to clean up the errant solder.
3) You will bend a pin or two upwards and find it impossible to get them to lay perfectly flat again.
4) When you finally get a workable bridge between the right pins it will not be far enough away from the end of the plug and it won't go into the socket properly.
Use your knife to shave away at the solder bridge until it's nearly flush with the pins. The solder is soft, so you can do this easily enough. But don't go too deep! Also run the knife gently between the other pins to make sure there aren't any other shorts, and blow out any remaining solder flakes.
}
Slide the plug back into the metal surround and try plugging it into the Z (make sure it's off first!) You should not need to force the plug in; if it resists take it back out and try to flatten out the solder and the pins more.
With the Z on, plug your modded cable into the Z and run "lsusb" in a console. If the plug is working, you will see "Bus 001 Device 001". The following photo shows the output of lsusb before and after inserting the plug:
Reassemble the plug. If you used the new method and removed the rubber block, make sure the wires don't short out against the metal box. Or you can do what I did, which was to put the plug in the first half of the metal box and use it as a mould to pour in some liquid electrical tape. Leave it to set for a while. I didn't wait for it to properly set (probably takes days in a blob like this) and just reassembled the other half of the box around it.
Make sure the box locks back together again snugly. Use the pliers to reassemble the stress relief - the long fingers from one side of the box should go over the shorter finger from the other side, locking the pieces together and holding the cable firmly.
Cut a piece of white heatshrink the length of the overmould, and thread it onto the cable. The piece I used was marked as being 10mm diameter, although you can't measure that easily. Flatten the tube and measure it crease to crease; it should be ~16mm. (Which a bit of math shows is pretty darn close to 10mm diameter.)
Put the overmould back onto the plug (which will be easier if you kept it in one piece) and slide the heatshrink up to keep it together. It was a very tight fit on mine.
With a hot air gun or other tool (even a toaster can be used in a pinch), shrink the heatshrink. Since it was already a tight fit over the mould in my case, I needed to hold together the mould using a pair of pliers until after it had cooled - otherwise the warm heatshrink would be stretched out by the mould instead of contracting around tightly.
Now you should test the cable to make sure the plug works... but there's an A plug at the other end of the cable! You can't use that! So, for a final quick and dirty hack you can use this...
[ Invalid Attachment ]
...ABOMINATION.
I have *no* idea why such a thing was ever manufactured. I doubt the suppliers will ever recoup their costs - as nobody in their right mind would ever buy one. But they're perfect for the purposes of our test.
My cable worked perfectly. I was actually surprised Now all I need to do is wait for my cheapo ebay retractable cables to arrive and I can start splicing.