element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Raspberry Pi
  • Products
  • More
Raspberry Pi
Raspberry Pi Forum USB discussions getting a bit heated
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Raspberry Pi to participate - click to join for free!
Featured Articles
Announcing Pi
Technical Specifications
Raspberry Pi FAQs
Win a Pi
Raspberry Pi Wishlist
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 87 replies
  • Subscribers 680 subscribers
  • Views 13531 views
  • Users 0 members are here
Related

USB discussions getting a bit heated

Former Member
Former Member over 13 years ago

On the other forum, discussions of USB and networking problems have been

getting a bit heated recently, with one user, Sulge, banned yesterday by abishur

for a 1-week cooling off period.  Maybe we will see him here soon.

 

http://www.raspberrypi.org/phpBB3/viewtopic.php?f=28&t=12097&start=177

http://www.raspberrypi.org/phpBB3/viewtopic.php?f=24&t=14151

http://www.raspberrypi.org/phpBB3/viewtopic.php?f=28&t=5249

 

Some of the USB issues are being blamed on Linux latency, which

doesn't sound easy to fix.

  • Sign in to reply
  • Cancel
Parents
  • johnbeetem
    johnbeetem over 13 years ago

    From what I've read, it seems that the fundamental problem is that the BCM2835 SoC has a bare-bones USB host controller which requres a lot of the ARM processor.  Such a USB host controller works fine in BCM2835 intended applications, such as Roku, but if you try to use the ARM11 as a high-performance GNU/Linux engine talking to dozens of USB devices you will run into limitations.  It also sounds like documentation for the SoC's USB host controller is not available and that the low-level "open source" software suffers from "security through obscure code".  If this is indeed the case, it will be hard to improve things.

     

    Please let me know if my impressions are incorrect.  I would be delighted to hear that open documentation for the USB host controller is available (link?) and that the low-level driver is perfectly understandable and well-documented (link?).

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • johnbeetem
    johnbeetem over 13 years ago

    From what I've read, it seems that the fundamental problem is that the BCM2835 SoC has a bare-bones USB host controller which requres a lot of the ARM processor.  Such a USB host controller works fine in BCM2835 intended applications, such as Roku, but if you try to use the ARM11 as a high-performance GNU/Linux engine talking to dozens of USB devices you will run into limitations.  It also sounds like documentation for the SoC's USB host controller is not available and that the low-level "open source" software suffers from "security through obscure code".  If this is indeed the case, it will be hard to improve things.

     

    Please let me know if my impressions are incorrect.  I would be delighted to hear that open documentation for the USB host controller is available (link?) and that the low-level driver is perfectly understandable and well-documented (link?).

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
Children
  • Former Member
    Former Member over 13 years ago in reply to johnbeetem

    Apparently the documentation for the USB controller isn't even available

    to Broadcom, and they are apparently trying to figure out how it works by

    reading the code for the driver.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 13 years ago in reply to Former Member

    they are apparently trying to figure out how it works by

    reading the code for the driver.

    Some people, outside the rpf, looked at doing that to get a working driver into the 3.5 porting effort. They gave up after a while, the code seems to be a steaming pile of.......

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • morgaine
    morgaine over 13 years ago in reply to johnbeetem

    John Beetem wrote:

     

    From what I've read, it seems that the fundamental problem is that the BCM2835 SoC has a bare-bones USB host controller which requres a lot of the ARM processor.  Such a USB host controller works fine in BCM2835 intended applications, such as Roku, but if you try to use the ARM11 as a high-performance GNU/Linux engine talking to dozens of USB devices you will run into limitations.  It also sounds like documentation for the SoC's USB host controller is not available and that the low-level "open source" software suffers from "security through obscure code".  If this is indeed the case, it will be hard to improve things.

     

    This is EXACTLY the same conclusion that I have reached.

     

    The Pi is in reality not a general purpose computer.  It's half a computer, with the ARM being used to fill in the hardware gaps that let the SoC be designed at the lowest possible cost.  If you try to use the ARM at the same time for normal computing, you can kiss your SoC's correct functioning goodbye.

     

    It's this that is wreaking havoc when you attach a correctly-working self-powered hub with added devices downstream.  Linux accepts it, because it doesn't realize what the purpose of the ARM is within the BCM2835.  In reality it should say "Sorry Dave, I don't have the CPU headroom for that" and refuse to attach.

     

    Morgaine.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 13 years ago in reply to morgaine

    it should say "Sorry Dave, I don't have the CPU headroom for that" and refuse to attach.

    LOL...  but does sound work well enough for it to sing the song ?

    image

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • johnbeetem
    johnbeetem over 13 years ago in reply to morgaine

    Morgaine Dinova wrote:

     

    The Pi is in reality not a general purpose computer.  It's half a computer, with the ARM being used to fill in the hardware gaps that let the SoC be designed at the lowest possible cost.  If you try to use the ARM at the same time for normal computing, you can kiss your SoC's correct functioning goodbye.

    The BCM2835 is a powerful media processor with a cheap ARM11 hanging off the side as an I/O processor to take care of housekeeping tasks like USB.  We're allowed to use the housekeeping processor for pretty much anything we want, and it's a pretty nice little GNU/Linux processor.  It's sure a lot more powerful than the PDP-11/45 I first used for Unix image  We have limited access to the media processor, i.e., we've been given a book of spells and we're allowed to invoke those spells but have no idea what magic makes the spells work.

     

    RasPi does meet its requirements for being a good platform for learning about programming.  Kudos.  RasPi is cheap enough that you can play without worrying about breaking the family PC, and it's a very responsive platform for compiling and running reasonably sized programs.  It can also be a nice little platform for some embedded projects, such as the Pi in the Sky.

     

    I like to compare RasPi to a supercomputer.  It has a powerful supercomputing engine, but we're only allowed free access to the I/O processor.  It's disappointing for people who see that RasPi could so easily be so much more if they would just release documentation, but sometimes life is like that.  There are plenty of alternatives for people who want a more open system.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • morgaine
    morgaine over 13 years ago in reply to johnbeetem

    John Beetem wrote:

     

    We're allowed to use the housekeeping processor for pretty much anything we want, and it's a pretty nice little GNU/Linux processor.

     

    We're allowed to use it, sure.  The trouble is that when we do start to use it, the SoC's housekeeping is compromised and perfectly normal computer operations (like receiving USB events) start failing.

     

    The ARM core is working perfectly, but that's not the whole computer.  Add in the I/O systems and it is no longer working perfectly.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • Former Member
    Former Member over 13 years ago in reply to johnbeetem

    John Beetem wrote:

    RasPi does meet its requirements for being a good platform for learning about programming.  Kudos.  RasPi is cheap enough that you can play without worrying about breaking the family PC, and it's a very responsive platform for compiling and running reasonably sized programs.  It can also be a nice little platform for some embedded projects, such as the Pi in the Sky.

    If everything worked as it should, it would be ideal for everything you mentioned. However if one can't rely on it to function reliably, then instead of worrying about breaking the PC, one has to worry about having the right setup to get the Pi to work. image

     

    Morgaine wrote:

     

    It should be pointed out that this isn't a case of the community being over-demanding, and the complaints aren't coming from people intent on destructive stress testing.  They come from ordinary users who are expecting (shock horror!) that when they attach a common USB device and it is recognized by an available driver, that it should then work.

     

    +1

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube