USB - VBus reverse current protection - Page 1
Forum section: electronics / projects

author: 0xdeadbeef
author_rank: Super Contributor
timestamp: May 28, 2014, 07:35:21 pm
content: I just tried to connect a (relatively) cheap USB3 hub (GL3520) from eBay to a brand new USB3 controller (based on Fresco Logic FL1100, replaced a VL800 based one).The USB3 hub is marked as "bus powered" on its package, but has a 5V supply connector and the seller added a 5V/2A supply.So while everything worked fine at first, I noticed the power LED of my PC wouldn't turn go out when I turned off the PC.I noticed that the new USB3 hub obviously supplied (parts of) the 5V line of my PC and its supply got pretty hot.I opened the hub and there doesn't seem to be any kind of protection or transistor switch that would separate the VBus of the USB connector from the 5V supply.Indeed I'm pretty sure that they are directly connected even though I was too lazy to really measure it.I then looked inside an older USB2 hub of the same manufacturer. In this case it's clearly visible that the 5V DC input is directly connected to VBus on the USB connector.However this hub doesn't have the same effect on my PC. The USB2 devices are connected to my mainboard's USB2 connector (Intel chipset), so I assume that in this case, the mainboard has a reverse current protection.In a nutshell: is the hub crap or the controller or both? Isn't there any general agreement that either a (powered) hub or the controller or both should avoid current flowing from the hubs/devices into the controller and then into the PC?To use the hub (always) powered, I guess it should suffice to cut the 5V line going to the Vbus pin on the USB connector. I think I already spotted a 0Ohm resistor that could do the trick.Then again I wonder what would be the proper solution. Would it be enough to use a P-FET as in a normal reverse current protection scheme?Like gate is connected to ground, drain to Vbus on the connector, source to 5V supply. So the channel is deactivated if Vgs is below the threshold and the body diode blocks current from the 5V line back into Vbus.

author: Monkeh
author_rank: Super Contributor
timestamp: May 28, 2014, 07:51:16 pm
content: The hubs are crap. USB specs explicitly disallow sourcing current upstream.See 7.2.1 of the USB 2.0 spec and 11.4.1 of the USB 3.1 spec.

author: Andreas
author_rank: Super Contributor
timestamp: May 28, 2014, 09:23:24 pm
content: Try to use a 7 or 11 port hub.Theese should only work from AC adapter.with best regardsAndreas

author: 0xdeadbeef
author_rank: Super Contributor
timestamp: May 28, 2014, 10:29:56 pm
content: Hm, both hub I mentioned are 7-port hubs. Both connect the 5V DC input directly to VBus.

author: Andreas
author_rank: Super Contributor
timestamp: May 29, 2014, 04:45:01 am
content: Quote from: 0xdeadbeef on May 28, 2014, 10:29:56 pm-> This is wrong wiring-> I would disconnect the +5V DC from the Host connector.With best regardsAndreas

author: 0xdeadbeef
author_rank: Super Contributor
timestamp: May 29, 2014, 08:32:12 am
content: Well, this was clear in my 1st post I guess. Unfortunately, I can't access the upper side of the PCB without desoldering at least 7 switches and I'm not so optimistic that cutting lines on the lower side of the PCB is such a good idea if I can't see what's going on on the other side. I guess I'm still going to do it but first I need to fix my bike

author: 0xdeadbeef
author_rank: Super Contributor
timestamp: May 29, 2014, 10:59:24 am
content: Ok, I couldn't resist and desoldered all the 7 switches which was not so much fun. In the end, I found proven what I already assumed: the 0Ohm resistor on the accessible side of the PCB connects 5V DC to Vbus on the connector. I removed it and now the hub only works if supplied with 5V DC and not bus powered anymore. So it also doesn't power the bus anymore if the PC is off.Pretty crappy manual soldering btw. on the through-hole parts.