Design flaw? Polyfuses for USB current limiting

I got my replacement Pi from RS - despite the 14 day turnround promised on the official RS returns form this took over a month.

I Posted it to Corby by recorded delivery on 5th May, tracking confirmed that RS got it on 6th May,

I received the replacement yesterday after many phone calls and gentle reminders, I would also point out that despite the request for email address and phone number on the returns form - both supplied, I never even got an email to confirm receipt, and had no emails or phone calls at all from the returns department during the month it took to process it - even the tracked 24hr Express delivery they used to return the replacement was unheralded, necessitating re-delivery after I found a card on the mat on Wednesday!

Shocking customer service! - progress reports would be nice, especially if they are not meeting the claimed turnaround. I would rather have had a 'Sorry chaps, it's currently taking six weeks to process returns at the moment' email than the stony silence which was all they delivered in the first month.

Having unpacked the Pi - it's clear that even after supplying a duff Pi in the first place and being given the high resistances of F1 and F2 as the reason for return, no effort is made to ensure that the replacement is any better - the seals on the anti-static bag and packaging were undisturbed, and the resistances measure even higher on the replacement Pi.

F1 = 8.0RF2 = 5.7RF3 = 0.5R

I haven't even bothered plugging it in, and I'm going shopping for a powered USB hub.

I spent some time yesterday trying various combinations of things in the USB, and came across some rather strange things which didn't follow previous experience:

With a powered usb hub (D-Link with attached +5v to pi) in one usb port and a small unpowered hub in the second pi port with keyboard there was no problem. If I then powered the unpowered hub the other usb port stopped working - until I removed the power again.

With an powered usb hub (Pluscom with +5v not connected to pi), with keyboard and mouse in small unpowered hub on second pi port everything worked, even to desktop. Was able to remove keyboard and mouse and plug into powered usb hub and it continued working. However on reboot that configuration failed.

With the 5V connected, the power-up sequence may be important. A powered huib may source or sink more current than the RaspPi can handle, so If the hub is powered on before the RaspPi, or even vice-versa, then the polyswith may trigger.

Bigwol wrote:Having unpacked the Pi - it's clear that even after supplying a duff Pi in the first place and being given the high resistances of F1 and F2 as the reason for return, no effort is made to ensure that the replacement is any better - the seals on the anti-static bag and packaging were undisturbed, and the resistances measure even higher on the replacement Pi.

F1 = 8.0RF2 = 5.7RF3 = 0.5R

I haven't even bothered plugging it in, and I'm going shopping for a powered USB hub.

Typical restance values for these types of fuses.

Be careful choosing your Powered hub. Many suck power from the USB host even when powered. e.g. Logik L4THUB10. This is a small 4 port hub with power supply. PSU rating is however only 5v @ 2.0A. e.g. 4 x 500mA for the 4 ports and 0mA to power the internal electronics of the hub. Measuring current on the host USB port it takes approx 78mA whatever is connected to it or even if nothing is connected. My mouse (optical) and keyboard together only take about 21mA average, absolute max 26mA for keyboard when all three LEDs are on, and mouse absolute max 33mA if you lift it off the mouse mat and the LEDs are set to max brightness. So with those it's better power wise to throw away the hub if it's a Logik!! and plug them directly into the Pi - but then where can I plug my wifi. OK I do have a decent hub which takes no power from the Pi but is no longer manufactured. Belkin F5U224.

Unfortunately not. The D-Link hub uses the presence of the +5v line to swap between "charger" mode and "hub" mode. With no +5 all you get is 1A power on the first two ports and no hub functionality on any of them.

I've switched back to the shoddy ebay cheapie hub, but usb functionality is very hit and miss requiring reboots till things seem to work.

I still don't understand why putting power into a hub attached to one port will stop the devices on the other port attached to a powered hub from working. Same result with 2 different sources of power.

Even when "working" things may or may not work as soon as startx is started. Yesterday I had wifi and mouse working, but no keyboard! Similar reports litter the forum.

The only fully stable configuration I have found is keyboard in one pi port, mouse in the other, and wired ethernet.

There doesn't seem to be bug tracker to report these issues & a formal way to document findings in a way that might help people get to the bottom of the problems.

piglet wrote:I still don't understand why putting power into a hub attached to one port will stop the devices on the other port attached to a powered hub from working. Same result with 2 different sources of power.

it begins to look like there are other problems than power. The trouble is that it takes a lot of doing to conclusively rule out power.

In about 2000, Microsoft fixed a bug that had first been introduced in Windows 95, where any PC left switched on for over 49 days would crash. It had taken them five years to find the bug, presumably because up until then all PCs crashed before that point due to other bugs.

rurwin wrote:In about 2000, Microsoft fixed a bug that had first been introduced in Windows 95, where any PC left switched on for over 49 days would crash. It had taken them five years to find the bug, presumably because up until then all PCs crashed before that point due to other bugs.

That's probably fair comment and many desktop users turned their machines off overnight so few would likely ever see the problem.

I ran servers on 98SE and was bitten by the bug. I solved it with an app which re-booted every month and, apart from having to do that, it never had any crashes or BSOD for a number of years. But I'll admit it was a different case for my desktop and I planned for complete re-installs every 6 months or so having by then done something to really mess up stability.

Hmmm, given some of the rather surprising voltage drops that have been reported along the power lines of certain USB cables, plus the non-isolatednes of USB comms (even though it is complementary pair), I'm wondering if certain user configurations are suffering from ground reference / noise issues, as well as the possible +5 volt sag and (maybe) software wrinkles.

I'm willing to help to the (unfortunately rather limited) extent of my ability and knowledge. How best to help pin down the issue? What steps to take? What measurements to make?

My observation of the threads on the forum makes me wonder about the robustness design of the crystal & usb hub arrangement for usb ports and ethernet. The crystal sometimes doesn't seem to start (multiple threads, different solutions to make it work). The ports seem too closely coupled to what is happening the board side (ie. "startx" leads to ethernet/usb/some devices on attached hubs stopping working). They also seem oversensitive to changes after the port (hotplugging causes problems, just connecting the 5v causes problems, sometimes you can plug and unplug other times not).

I got a bargain from Curry's today, they were selling off 'Old Stock' and I got a brand new Belkin 4 port USB 2.0 powered hub complete with 5V 2.6A power supply and USB A to mini usb cable for the astonishing price of £2.97 including VAT.

There is a God.

For those of you thinking of heading for Curry's the product description on the receipt is BELKIN 4PORT BROWN and the product code is 0000550398

In order to do any sort of sensible evaluation of this board I need to resolve the power issue so I've tacked a couple of wires from the supply directly to the USB connectors

Wiring for direct USB power.

DSCF1794_modified.JPG (57.99 KiB) Viewed 3557 times

With this arrangement I had 4.9V at the USB port and 4.78V at TP1 initially and everything worked smoothly. After about an hour I had 'sticky keys' and checking the voltages again the supply had dropped to 4.86V and the TP1 was 4.73V. Rechecking about 2 hours later the supply had risen to 4.89 and TP had followed suit to 4.77V. So this demonstrates a lack of stability in my charger, not much but enough, and shows that the resistance of F3 is constant (I had concerns about it). I also substituted another power lead which was about 800mm longer (my wall wart is the type with a USB socket) and with it the supply at the USB port was 4.75V so that's a fairly graphic demo of how the lead can affect it.I guess to ensure a good supply I'm going to have to drop a short across F3.

I have been watching with interest the discussions re fusing and current draw from usb ports and have a few observations to make from my own experience.

I had a lot of problems initially with the pi with intermittent resetting or not booting at all so did some investigations into the power supply rails. I have also watched, on an oscilloscope, the brief but significant current spikes (100-200mA) (and the resultant voltage dips) especially with Ethernet activity. These can easily exceed the 750mA quoted for the model B.

It appears that the voltage on the input (mini usb) is critical along with the current capabilities of the supply feeding it. Anything under 5.1volts causes variable results.I also noted that feeding the output USB ports into another powered USB hub to get the drive requirements for peripherals also back feeds the pi as there is no diode isolation to prevent this. This actually helps the supply of the pi but is not a good idea.Also without the external hub all the power for the USB ports goes through the main fuse as well (fuses on fuses) which reduces the power available to the pi itself.

My fix For my pi is to remove the 2 x 140mA usb fuses and replace them with 500mA. I will cut the track and link the power from the mini USB side of the main fuse via a schotky diode.This will make the USB ports power independent of the pi power.So long as the external input power supply source can deliver 2 amps it will be perfect.I also noted that when the pi is turned off but with the HDMI connector still connected to a live device (monitor) this also back feeds volts to the 5 volt rail ( via pin 15 and pin 16 on HDMI).This gives a voltage on the pi of 2.5 volts due to the dropping resistors R13/14 (1K8). The 3.3 and 2.5v rails are off but the 1.8 volt rail is up and running.The Pi will not boot of course but is in an indeterminate state which may impact start-up next time.

My fixI propose to put diodes in series each of these pull-up resistors. This will not impact the function of these two data/clock lines but will block the back feed.

Other than that my pi is now working very well indeed and I think the future can only be even better.Next step is to integrate it further into my media centre using some of the GPIO.

For the last few days I was trying, in vain, to get my wifi dongle (RT2770 based) to work. But all the erratic behaviour I was seeing vanished after I ran a wire from the Raspberry Pi 5V input to the USB sockets pins 1 (effectively bridging the fuses).

In conclusion:1. If you can't get your wifi dongle or other USB device to work with the Raspberry Pi, you might be able to fix it by bridging F1 and/or F22. Current limiting on the USB ports (its implementation or even having it at all) may need to be rethought.

Best regardsSimon Brouwer

Hi SimonIf you bridged the input 5 volts before the main fuse (1A) and after the 140mA fuses (paralleled) without removing them you will be back feeding the pi and hence providing more than 1A to the pi.

I would recommend removing the two 140mA fuses at least to isolate the pi and better still including a 500mA or 1A fuse in your "usb link". That way the usb ports are protected.

ianwill wrote:My fix For my pi is to remove the 2 x 140mA usb fuses and replace them with 500mA. I will cut the track and link the power from the mini USB side of the main fuse via a schotky diode.This will make the USB ports power independent of the pi power.So long as the external input power supply source can deliver 2 amps it will be perfect.

That may work fine, but be aware that the microUSB connector is usually rated for somewhat under 2 amps. If you push the current rating I would expect the connector to get hot, and also perhaps have more voltage drop than expected. If I was going to do this much rework on the PCB, I think I'd also add a different input power connector like a 2.1/5.5mm jack (of course, then it's up to you to make sure the voltage and polarity is also correct!)

That may work fine, but be aware that the microUSB connector is usually rated for somewhat under 2 amps. If you push the current rating I would expect the connector to get hot, and also perhaps have more voltage drop than expected. If I was going to do this much rework on the PCB, I think I'd also add a different input power connector like a 2.1/5.5mm jack (of course, then it's up to you to make sure the voltage and polarity is also correct!)

Mattylad wrote:Problems like this and how many units have been shipped?

Are the foundation team having any of these problems? and is there another model to be made that changes how the USB is powered?

I've been generally OK with the Logitech keyboard and Dell mouse, as long as the power suplly is up to the job (i.e. a cheap chinese 1A power supply fails, but powering from the USB port of my dekstop is fine). Tried on 3 different Pi's with different USB combinations ,no problem.

Volunteer at the Raspberry Pi Foundation, helper at Picademy September, October, November 2014.

5 Ohms is quite normal, either the fuse hasn't "popped", or it has recovered already.

In hindsight it quite easy to see how the choice for these polyfuses came to be:

First it was established that many low cost chargers were able to uphold 5V at 700mA.the (alpha) prototype had clearly established the board needed about 500mA max, so a 700mA charger had enough reserves for two 100mA low power USB devices, that is a wired keyboard and a wired mouse, both "single current unit devices", so it was determined to add two fuses for 100mA devices, and as it happened 140mA polyfuses were the lowest rated fuses available, so perfect...Were it not that these fuses are indeed 4 to 6 Ohms, so would at 100mA drop 0.4 to 0.6 volt, but as it happens, these particular devices are designed to allow one diode drop in the power line, and a normal diode at these kinds of currents will drop 0.6 Volt, so the devices are designed to work with 4,4 Volt, and they got that! So all was well, for the intended function, that is a PI powered by a 700mA adapter, with a normal USB keyboard and mouse. but only a normal USB keyboard and mouse! Not devices using more than the arranged 100mA, or not working with 4,4 Volt. Even If the power supply drops to 4.8 Volt, a 50mA keyboard will still get 4.8- (0.05 x 6) = 4.5 Volt, and will still work.

I agree about the "clear warning", but the faq says it all:

Model A has one USB port and Model B has 2. Beyond this, mice, keyboards, network adapters and external storage will all connect via a USB hub.

You need at least a keyboard and a mouse, so anything more and you will need a (powered) hub.I agree it could have been more explicit.

I should have posted I was using the Raspi "headless" i.e. without keyboard/mouse/monitor having previously set up SSH and a web server on it, so the USB memory stick was the only USB device plugged in.

BTW the polyfuse didn't pop immediately, just after a couple of minutes.

I agree with other posts that it would be better practice to power F1, F2, F3 separately off the microUSB plug given the USB current draw (via F3) impact on the voltage for the chips on the Raspi.