Update: This modification will probably void your warranty and comes with no guarantees. Use at your own risk.
I have been struggling with USB power issues with my Raspberry Pi for weeks now. I had issues getting USB Wi-Fi adapters and Bluetooth Adapters working. I would have issues when using non-powered USB hubs. The Wi-fi adapter would freeze and start producing USB errors when trying to download files.
The recommended solution from the Raspberry Pi foundation is to use a powered USB Hub. So I ended up buying the Gear Head 4-Port Powered USB Hub. It solved all my problems. This solution was frustrating because of its price ($20 = 50% of the Raspberry Pi price!), and how large it was. Here is a picture of my make-shift Lego Raspberry Pi case with powered USB Hub:
discussing USB power issues. There are a number of proposed solutions, but the the one that worked best for me was suggested by user mahjongg. The solution is to solder a 1 ohm 1/4Watt resistor in parallel to each of the F1 and F2 fuses.
To understand why this works, one must understand what causes the USB power issues. The Raspberry Pi has 2 fuses (F1, F2 on the board) which are used to limit the current supplied to the 2 USB ports on the board. The fuse resistance increases linearly with applied current up to a maximum of about 7 ohms. A 7 ohm resistance at 100mA causes a 0.7V drop. This will cause the voltage being supplied on the USB port to be 4.3V which is too low for most USB devices. The fuse is designed to limit USB current to 100mA. This is much less than what is needed by a Wi-fi adapter.
By attaching a 1Ohm resistor in parallel, we reduce the maximum voltage drop at 100mA to 0.1V only, and at 300mA to 0.3V. This will allow a voltage of 4.9V and 4.7V respectively to be seen by the USB device at those 2 currents. These voltages are okay for most USB devices. Below are a couple pictures of my modification.
Thanks to mahjongg on the Raspberry Pi forums for this great tip!