How to guess if a USB cable will power the devices

cablechargingpower supplyusb

I've had problems with one long (4 meter) USB Mini-B to USB Type-A cable not being able to boot a 2.5'' external hard disc due to not supplying enough current. On top of that, the cable used a Type-A to Mini-B adapter for the Mini-B part, which probably made things worse.

Three different shorter cables I got around made the hard disk work without extra current, so it was definitively the cable's fault. However, if I plugged the hard disk to the power, and used the long cable just for data it worked.

Here is some related information on powering through USB cables:

I have not any long cables that don't have an intermediary Type-A to Mini-B adapter to try them out.

My question is: is there a way to guess if a cable will provide enough power for charge/disk drive power? Is it related to the length of the cable, to the build quality of the cable, or the fact that uses intermediary adapters?

Updates:

Thanks for the answers guys. The computer is a Macbook Pro 13' (2010), so the USB connector is directly soldered to the motherboard (no front panel USB).

Up so far the most convincing explanations seem the ones from @user12889 (the USB device being over the spec and causing problems because of that) and @Tog (the adapter in the cable causing the power loss), although everybody else provided useful information too.

Best Answer

Unless it is a really low quality cable, your voltage drops are most likely to be caused by the connections. Using adapters could make it worse.

If this is a PC with a front panel USB connector, it would be worth checking to make sure that you have a good connection at the mother board end of the front panel lead. As the current drawn through the cable increases, so the voltage drop across any poor connections increases, so your cable may not be able to provide the correct voltage for the HDD.

Signal lines, however, don't draw a lot of current, so the voltage drop could be insufficient to affect the logic levels involved.

Related Question