The problem is the 8 pin MOSFET power switch that controls the power to the USB ports. This chip labeled U5 for the left USB ports and U11 for the right USB ports. The chip is a G545-B1 MOSFET power switch. It has +5v on its input pins (pin 2 and 3) and bad supply at its output pins (pins 6, 7 and 8). Its output pins go directly to the USB ports. Pin 4 is the control pin (high=on low=off) and should read +3.3v. Pin 5 is open-drain output, to report over-current or over-temperature event and should read +3.3v. If you are getting correct voltages at every other pin, this confirms its bad. Supplying an external +5v to the output pins (6,7,8) proves this, as the USB ports start working as soon as the voltage is applied.
The G545-B1 MOSFET chip is hard to find, but can be successfully replaced with TPS2065 (made by TI).
The chip is in a very tiny MSOP package, and replacing it is not an easy task (unless you have speciality tools). Even with my many years of electronics and soldering experience, it took a long time and many many uses of foul language to get it done using a standard soldering iron.
Remember that if you mess up whilst trying to replace the chip, you could potentially kill the laptop. Do not even attempt to replace it if you are new to soldering. Its cheaper to pay a professional electronics engineer to replace it for you than to buy a new laptop!
Here is the schematic of the left or 'U5' USB power circuit. The right USB power circuit is very similar:
This picture that shows the size of the G545 chip: