Check the pins on the controller's end of the USB. Are any of them bent or dirty? A short due to a bent pin or dirt blocking a connection could be causing the issue. It also would not hurt to give the controller's usb pins a cleaning with contact cleaner to ensure a clean connection. I would also recommend checking the cable itself, to see if their are any kinks in or exposed wiring. If that doesn't it fix it, then its most likely a problem within the controller's PCB board.