Slashdot Mirror


Serious Problems With USB and Ethernet On the Raspberry Pi

First time accepted submitter rephlex writes "The USB controller used in the Broadcom BCM2835 (which is the SoC the Raspberry Pi uses) has buggy drivers which have been causing problems for many of its users. In addition to this, the Pi can only supply an unusually low amount of current to its USB devices, just 140 mA approximately, and using a powered hub to sidestep this limit exacerbates the issues caused by the USB drivers. Even Ethernet is affected as the Ethernet controller used on the Raspberry Pi is connected to the SoC via USB. This has resulted in packet loss and even total loss of network connectivity in certain situations. Attempts have been made in the past to fix the buggy USB drivers as there are other devices which use this problematic controller. None of these attempts seem to have achieved very much."

12 of 202 comments (clear)

  1. FIRST POST by pscottdv · · Score: 5, Funny

    Posted from my Raspberry Pi...

    --

    this signature has been removed due to a DMCA takedown notice

  2. Fix for the USB by Thantik · · Score: 5, Informative

    If you place a 1 ohm resistor in parallel with F1 and F2, you can get the voltage drop and current higher - fixing a lot of the issues with the USB.

    1. Re:Fix for the USB by Thantik · · Score: 5, Informative

      Can't delete or edit...crap: Voltage drop less, and current higher - Here's the site for said modification: http://himeshp.blogspot.com/2012/07/raspberry-pi-usb-power-issues-ultimate.html

  3. So fix it. by dgatwood · · Score: 5, Informative

    The data sheet (in particular p. 203-ish) talks about the workarounds required to work around PHY bugs and other USB hardware. Doesn't look particularly complex.

    --

    Check out my sci-fi/humor trilogy at PatriotsBooks.

  4. Quite reliable in my experience by sehgalanuj · · Score: 5, Informative

    I got the Raspberry Pi while ago and this is the first time I am hearing of this issue. Of course, that is only because I haven't encountered it. So far I am using it extensively on my network without problems and it is even handling the load I throw at it quite gracefully.

    It is a home VPN, DNS, Backup, File and Print server. On top of this, it is even the endpoint for my IPv6 tunnel and it runs a routing advertisement daemon to hand out v6 addresses on the network. So far it handles the v6 network load without any slowdown from my old machine that took care of this. I even threw in a USB stick to talk to 6LoWPAN devices I use at home and it works flawlessly with that too. So obviously both my USBs and the Ethernet are used up.

    All this for a $35 computer that eats up a whole lot lesser energy than my old solution. Even if I had to solder a resistor to fix a problem that I haven't had, I am not sure what can beat this.

  5. It's open! But with proprietary drivers. by Anonymous Coward · · Score: 5, Interesting

    I'm still confused as to what the appeal of the Pi is.

    They keep touting the damned thing as "open", yet you require binary blobs in the kernel just to get it to boot. The hardware is only "hacker friendly" so long as you're using USB based devices or something that sticks off the GPIO ports, the hardware itself (especially the SoC they're using) is hardly hacker friendly because the entire thing is a proprietary solution that requires proprietary drivers to run.

    So can someone please tell me why this platform should be considered "open" at all? It seems to go against everything Linux strives towards. I could see a nice x86 based SoC with a S3 VGA adapter being "open"- all the hardware is well understood and open source drivers exist for everything. The Pi seems to be the exact opposite of that though.

    1. Re:It's open! But with proprietary drivers. by marcansoft · · Score: 5, Informative

      For the record, you can get ARM SoCs that are almost entirely open - the TI OMAP series does a pretty decent job, and last I checked they have excellent open documentation. Sure, the PowerVR graphics crap is proprietary, but you don't have to use it - it's purely a coprocessor that renders to a framebuffer. The video output hardware is independent, open, and documented (i.e. the equivalent of an S3 VGA adapter).

      Broadcom, though, is pretty much the antithesis of open documentation.

  6. Re:Slightly exaggerated I feel by SomePgmr · · Score: 5, Informative

    Indeed. And these "buggy drivers" haven't presented me with any problems for USB or ethernet so far.

    The amount of current the usb port will supply was supposed to be an issue, but I tried out a wifi dongle without using a powered hub, and no issues.

    I'm sure problems exist for some people, and I'm sure they'll iron them out. For my part, I've gotten more than $35 worth of utility out of mine already.

  7. Use a better power source and quit complaining by adosch · · Score: 5, Insightful

    I've had two Raspberry Pi's running side-by-side since June and I did initially experience 'network choke' as described but it was from improperly powering my Pi's. I was using a 5v microUSB adapter but with too low of an amp draw. Pay particular attention to what you're using as a power source would be my first bit of advice.

    My second bit is a bit of a rip FTFA. The quote "As I said, the Pi is currently being worked over by a crowd of skilled techno-people" is a bit of a stretch. I'd say maybe20% of Pi users actually have their shit together with enough well-rounded-ness of hardware/EE/development in their background to be productive with the Pi. The other 80% are just trying to use this device as a $35 desktop replacement who want to try and hook up 4 1TB SATA devices to it, followed a long with a board load of "pamper-me" forum posts that will make a self-respective real "geek" nauseated.

    Issues like this are seen ALL the time in the 'real hardware engineering world', and they are worked out. Let's not be so quick to judge this device all the time, and see the Pi for what it is: A very easy-to-work-with low cost ARM platform that far beats out the overheard of working with any SBC or emebedded hardware platform that would need JTAG, flash map, kernel/bootloader support to get going ...on your own.

  8. Re:Slightly exaggerated I feel by hairyfeet · · Score: 5, Funny

    I'd say the bigger question is this....WTF did you expect out of a $35 device? Seriously? Its $35 fricking bucks people! Sure they could have used more robust and thus less likely to fuck up chips, but it wouldn't be $35 then would it?

    It looks like people are buying a $35 device and then bitching when it doesn't run like a $200+ device...well duh, really? Hell its a miracle the damned thing works as good as it does considering the BOM, so if you don't like it? Plenty of $200+ Android devices out there that doesn't have those issues..sheesh, talk about a sense of entitlement, its fricking $35!

    --
    ACs don't waste your time replying, your posts are never seen by me.
  9. USB driver may not be fixable by Anonymous Coward · · Score: 5, Informative

    The USB driver may not be fixable, the jury is still out on this one. There are three key problems:

    1) Documentation on the Broadcom USB controller is proprietary and is not made openly available by the Raspberry Pi Foundation.

    2) The USB core for the Broadcom SoC was bought from a 3rd party, and we are told that not even Broadcom has full documentation, nor understands the driver.

    3) The Foundation has discovered that the controller and its driver expect realtime response from the ARM core, and if Linux's non-realtime scheduling doesn't respond in 1 ms, a split transaction USB event can be dropped. Not surprisingly, this occurs regularly and produces lost mouse clicks, stuck keyboard keys, etc..

    That's a pretty nasty combination of problems, and it means that assuming that it's fixable may not be a safe prediction. We'll have to wait and see.

    For the time being though, USB and networking (which is implemented over USB) have a large catalogue of issues and incompatibilities. All boards have this inherent problem but YMMV on whether the issues bite you, as it depends on exactly what devices you have connnected and what you're doing with the board.

    In addition to the above faults, the community discovered a PCB track layout error on the board which causes a proportion of the USB chips to overheat owing to an incorrect connection. It doesn't appear to be critical but wastes power and the heat may shorten board or device lifetime.

    Relations are very tense on the forum, and the Foundation has banned people who express their concern about the faults.

    1. Re:USB driver may not be fixable by Anonymous Coward · · Score: 5, Informative

      I work in a company who does SOC and we have one our SOC that use this USB core IP.

      This USB core had so many problem that we end up making it work only in full speed mode (and not high speed one). As you said split transaction don't work well (in our case we had seen irq storm that make linux freeze).

      BTW we have full documentation of the chip (broadcom should have this), but the driver is so complex that it is very hard to fix/rewrite (AFAIK samsumg rewrite it).

      Also for our newer SOC we used another USB IP made by chipidea, but the funny part is there were brought by synopsis and synopsis want people to buy there crappy dwc USB core...