Slow boot with USB hub connected + 100% CPU on one core.

Discussion in 'Computer Information' started by R. Giggs., May 21, 2011.

  1. R. Giggs.

    R. Giggs. Guest

    OK, so I got a 4 port usb hub a while back, it seemed to work well, very
    well infact
    I have less problems with devices connected to it.

    However.....then I noticed the boot time was long and PC seemed sluggish.
    I turns out when it boots up one core on my AMD X2 (3800) was running
    at 100% however this onl;y showed up on Windows task manager when you looked
    at the performance window (the graphs for CPU usage) one core is at about
    however overall it might say only 2% or so usage, + looking at the processes
    show a high value apart from systemm idle of say 98%.

    Anyhow I found an easy way to fix this is to put the PC to sleep and then
    wake it
    up again. That cures the problem and the PC runs fine, nice and fast, no
    100% cpu
    on any core.

    I had suspected the USB hub and indeed when I remove the hub and connect
    devices direct and reboot it boot up fine no problems at all.

    Although I can work around the problem by using the sleep thing or plugging
    in the USB
    hub after boot (which) works fine I am looking for a 'proper solution' and
    was wondering
    if anyone had any ideas.

    I found one thing on google about a drive USB drive causing a similar
    problem and it said
    to disable booting from USB (or something lilke) that in the set-up however
    the only thing I
    couold find was some 'network boot', which I disabled but that made no

    So anyone got any ideas?

    I read somethig about 'process exploerer' or similar which you can use to
    see which processors
    are using the CPU when it does not show up on Windows Task Manager, but that
    is very hard for me to

    I would welcome any ideas TIA!!
    R. Giggs., May 21, 2011
    1. Advertisements

  2. R. Giggs.

    Paul Guest

    If you look at Device Manager, there are some "USB Roor Hub" entries. In there,
    in the Power Management tab, is an option:

    Allow the computer to turn off this device to save power

    You could try un-ticking that box, so the computer is forced to
    keep the USB port running. Perhaps there is some issue with
    changing power states. And there is no particular reason
    to be using a setting like that. The power isn't going to be
    that much (on a desktop).

    You might also take a look around for any "hotfixes" for USB, and
    see if one of the descriptions matches what you're doing.

    Some chipsets have errata (with workarounds), and that might be
    another thing to investigate. Perhaps one of your cores is being
    chewed up, responding to an interrupt storm. You would be looking
    for a Southbridge errata. AMD doesn't make that public for all their
    Southbridge, so it's kinda hit and miss.

    You can check with Process Explorer, for total interrupts, and
    see if anything suspicious is going on. This is like Task
    Manager, only it includes interrupts and DPC (DPC is a delayed
    procedure call to finish processing an interrupt at non-interrupt
    run level).

    Paul, May 22, 2011
    1. Advertisements

  3. R. Giggs.

    R. Giggs. Guest

    Thanks a lot for that, I realy appreciate it, I will look into it later and
    report back.
    I know you know your stuff, and if you can't help sort it I will probably
    a mystery for ever!!

    Thanks again!!
    R. Giggs., May 22, 2011
  4. R. Giggs. banged his head on his keyboard to write :
    You don't have a flash drive kept plugged into the hub, do you? That
    could cause some problems depending on the drive. Flash drives should
    be disconnected from the hubs when not in use. You probably already
    know that, but just in case.

    Also, don't rule out your hub is going out on you - nothing lasts
    forever, and nowadays, some things don't last long at all.

    Other than that, you probably need to poke around in your Device
    Manager under the USB hub in question and see what's in Properties.
    Your answer may be lurking there.

    -There are some who call me...

    "Do, or do not. There is no 'try'."
    - Yoda ('The Empire Strikes Back')
    James D Andrews, May 22, 2011
  5. R. Giggs.

    R. Giggs. Guest

    No I don't, at the moment I have a usb webcam and a usb digital TV dongle
    (to watch and record TV on my PC).

    I guess I could try without anything connected to the hub, but that kind of
    defeats the object of the exercise really.
    R. Giggs., May 22, 2011
  6. R. Giggs.

    R. Giggs. Guest

    Well I tried the USB power management thing, I think I got the right
    entry (were 3 listed) but that made no diference.

    Also I seem toe remember I had this issue with 100% CPU on one core
    before, however I only vaugely remember the problem and I have no idea
    what I did to fix it!! Indeed I may have posted here about it but as I said
    I cannot remember.

    The interupt thing sounds promising, I can imagine that things like
    that could be missed off from the task manager cpu usage indicator.

    I will see if I can have at look at things with process explorer, but that
    manas booting up with a half crippled computer.

    Will also see if I can find out what happend when I had a simialr
    problem before I got the hub.
    R. Giggs., May 22, 2011

  7. For the purposes of diagnosing the problem, it is the object of the
    exercise, not a defeat of it.

    You have something that is shutting down that is supposed to be issuing a
    heartbeat. The process is looking for the missing heartbeat, but can't find
    it. Alternatively, a heartbeat might be issued that the process doesn't know
    what to do with, and the system locks as it tries to figure out where the
    signal should be going.

    Proper diagnosis is to unplug the stuff from the hub and see if the problem
    clears up. Then plug stuff in one thing at a time and wait to see if the
    problem comes back.

    Since you have a desktop machine, I'd be looking at the Screen Saver
    Settings (right click the Desktop, choose Properties>Screen Saver>Monitor
    Power, and make selections that NEVER put the machind into System Standby.
    You can turn the monitor off, then turn the HDD off, but do not put the
    machine into System Standby. You should be invoking the Screen Saver, then
    turn off the monitor, then shut off the HDD. Do not invoke the screen saver
    after the monitor or HDD are turned off. I invoke the screen saver after 5
    minutes, turn the monitor off after 10 minutes, and the HDD goes off after
    30 minutes. If you are shutting things off in the wrong order, then they
    wake up in the wrong order too, and this can cause the machine to hang.
    Consider that you turn the HDD off before the monitor goes to sleep. When
    you come back and move themouse to wake the machine, the monitor is off
    because the HDD is off, not because the time-out has passed. So, when the
    mouse moves to turn the HDD on again THEN the time-out for the monitor to go
    to sleep is invoked, so the machine is struggling to turn the monitor on and
    off at the same time, and the conflict causes stuff to run slow.

    Perhaps the example is poor, but the idea is good -- make sure you are
    turning things off in the correct order.
    Jeff Strickland, May 22, 2011
  8. R. Giggs.

    R. Giggs. Guest

    OK I have found the old problem, I am unsure what cured that problem,
    I seemed to think at the time it might be caused by badly seated RAM at the

    Here is the tread and indeed I ws talking to you about it (I'm "Colin

    The upshot of all that was I sent the memory stick back as it showed faults
    memtest, I never got any more memory after that, I just stuck with 1GIG

    None of the above helps much really, infact it seems to confuse things more.
    I didn't know the 'sleep trick' which cures the problem, at that time.

    A few other points, I had an older USB hub which never worked, as I recall,
    that is probably not a surprise as I got it from Poundland for £1 - lol.
    I also had a USB extension from there which never worked either.

    I guess I could possible try plugging the hub into another port, but when I
    ports before it required me to reinstall the USB TV dongle software (which
    seemed odd).

    Anyway I will have a look at a few thinns and play around with it a bit and
    see if that helps>
    R. Giggs., May 22, 2011
  9. R. Giggs.

    Paul Guest

    R. Giggs. wrote:

    For the benefit of future generations, your motherboard...

    Hp PC with MS-7184 (AmethystM), S939, Northbridge: ATI RS482, Southbridge: ATI SB400

    The SB400 is known to be one of the slowest USB2 implementations in a chipset.
    Whereas other chipsets might manage 30+ MB/sec to a USB2 hard drive, the
    SB400 is 20-25 (don't know the exact number off hand, but it's enough slower
    to end up at the bottom of a chart of USB2 transfer speeds).

    Now, this person has a motherboard with SB400 Southbridge, and notes an
    interrupt storm via OHCI. Not every OS sees the problem.

    There is a reference here, to OHCI being used with USB 1.1

    In the same article, you can see a competing standard for USB 1 level stuff
    is UHCI. The history here, explains in an off-hand way, why OHCI is the
    standard used on your chipset.

    "Universal Host Controller Interface (UHCI) was created by Intel for USB 1.0
    (full and low speeds). Far from being "universal", it is actually proprietary
    and is incompatible with OHCI. Intel and VIA controllers generally use UHCI,
    while other vendors use OHCI."

    When you look in Device Manager, in the USB section, an entry with "Enhanced" in
    it is USB2 and is known as EHCI. The non-enhanced one, when you check the details
    and the driver files, may help confirm it is OHCI.

    Now, if we take that FreeBSD user report at face value, that certain OSes
    tested had an interrupt storm on the INT line used by OHCI, then it might
    explain how you could be seeing an interrupt storm (this causes high CPU usage,
    but without good observability in the Task Manager process list). Using the
    Sysinternals program, which can display interrupts and DPCs, should confirm
    the storm is present, and a high number of interrupts per second are
    being serviced.

    So first thing I'd look for - is there anything connected on the USB
    ports that insists on running all the time at USB 1.1 rates. A keyboard
    would be an example. If you have a PS/2 keyboard and mouse available to
    you, and the motherboard has green and purple PS/2 connectors, give those
    a try. That'll get rid of one source of USB 1.1 (OHCI) activity.

    The way the USB port works, is if you plug in a USB2 device, there may be
    a short interval where USB 1.1 protocols are used, followed by switching to
    USB2. Without knowing the mechanism of the interrupt storm, it's pretty
    hard to guess whether USB2 devices would trigger it or not.

    In the BIOS, you can have options like PIC or APIC. These are options for
    the flavor of interrupt combiner and controller used by the motherboard.
    APIC is Advanced Programmable Interrupt Controller, and on a multi-core processor,
    actually allows interrupts to be steered to any one particular core. With that
    disabled, and using the older PIC standard, it could be that all the interrupts
    go to Core 0. The interrupt numbers also span a different range, with PIC being
    0..15 and APIC being 0..23 at least. With APIC, PCI slot cards will be using
    16..23. The details aren't really important here, except as a possible way to
    "kick" the PC out of its bad habits. If one setting has the problem (APIC), then
    switch to PIC and retest.

    There have also been particular peripheral chips, with "overactive" interrupt
    signal, such that the chip goes nuts and keeps interrupting the processor. So there
    are other mechanisms to get an interrupt storm.

    Depending on your skills with working inside the PC, another option you
    can investigate, is buy a PCI USB2 card with NEC chipset on it. Then
    plug the card into a spare slot. The AmethystM has three PCI slots, so
    there is room for a card. Note that each PCI card slot, may be connected
    to a different physical interrupt line. In some cases, the card may have
    to be moved from one slot to another, if there are problems. Normally,
    this advice would not be required, except in your case, we know
    there is an issue with interrupts, so this must be kept in mind. If
    the interrupt storm is still present, you'd move the PCI USB2 card to
    a different slot and try again. The process of picking the "right" PCI
    slot is aided on retail purchased motherboards, by means of an interrupt
    routing table in the manual. Your HP will lack such documentation,
    so a more empirical approach will be required. If you "get it right"
    on the first try, then no further work is required. (3 PCI slots)

    By plugging all the fancy USB devices (hub included) into the PCI card,
    then the SB400 has fewer potential trigger events to cause a storm. And
    the PCI card may manage to achieve 30+ MB/sec transfer rates with USB2.

    Note that, it's possible that if you plug a USB keyboard and mouse
    into a PCI USB card, that the BIOS cannot "see" those HID devices during
    POST (power on self test). This makes it impossible to press Del or F2 or
    whatever key would get you in the BIOS normally. On older systems, with
    their available PS/2 connectors, the workaround is to simply use PS/2 keyboard
    and mouse. On modern systems, if the USB is acting up, well, you're kinda
    screwed. It's very important on this year's motherboards, that the USB work
    properly. There are fewer and fewer practical options now that PS/2 is

    Paul, May 22, 2011
  10. R. Giggs.

    R. Giggs. Guest

    Actually I just notice that they were all unticked initialy so
    I actually turned one entry *on* but that made no difference.
    Not even sure if I got the right entry anyway.
    R. Giggs., May 23, 2011
  11. R. Giggs.

    R. Giggs. Guest

    OK I will try that.

    What I already know is if I boot up without he hub Ii get no probs.
    I can then plug in the hub with the other devices connnected to it and it
    works fine.

    My guess is I wil still have the problem with no devices attatched to the
    But we will see.

    They are all already set to never, although I do not recalled setting them
    like that - lol, I though I had set values. It never worked to well anyway.
    It would go off and come right backon sometimes.
    OK I will justreboot now with nothing attatched to the hub and see what

    Back soon!!
    R. Giggs., May 23, 2011
  12. R. Giggs.

    R. Giggs. Guest

    Back now, pretty soon after.

    Well well well!! That was a little surprising, perhap, it booted up fine!!

    No CPU problems what so ever.
    I have plugged in the USB device that were on the hub as well, and after an
    initial splurge of activity the CPU usage dropped back to near zero.

    Well that tell us something, perhaps?

    I am just going to try another quick reboot to make sure the problem comes
    back (or not!).
    R. Giggs., May 23, 2011
  13. R. Giggs.

    R. Giggs. Guest

    LOL well, another surprise!! I left the USB hub connected with the USB
    camera and
    TV dongle attatched to it and it booted up fine, no 100% CPU problems what
    so ever.

    Thus the problem seems to be cured!!

    Rather difficult to say exactly what the problem was though, pretty weird
    stuff really!
    When I had the problem before it was difficult to say what cured it too,
    other than
    tinkering around with the memory.
    Seems it may be due to a poor connection somewhere or something, dificult to
    say really!!

    R. Giggs., May 23, 2011
  14. R. Giggs.

    R. Giggs. Guest

    Well thanks for all that Paul, however I though I would reply to Jeffs post
    first least
    not because it was somewhat easier to understand!!

    Anyway the upshot of it all was I tried the UBS hub connected with nothing
    connected to the hub
    and it booted up wth no problems at all. Then I thought I may as well reboot
    with it all connected
    up just to make sure the problem came back, however much to my surprise the
    never reappeared!!

    So... I don't really know what to make of that at all!!

    Completely mystifying, the problem has gone, but it is hard to say why, I
    have changed
    nothing else, apart from unticking the usb power box I had ticked, basically
    putting it
    back to as it was when I had the problem.

    Maybe the problem will reappear at a later date, but for the time being
    there is not really
    anything I can to do to as there is no problem to fix at the moment.

    One thing I will say is that I used to have lots of problems with USB
    before, particularly with
    the webcam and also with an (mainly older) USB Tv dongle.
    Half the time they would not work and I was forever switching ports and
    This USB hub however has been great apart from the CPU problem (which was
    easy to
    fix but annoying), I havbe never had any problem with either the cam or TV
    dongle, they
    work every time.

    There is one other thing, somewhat unrelated and that is why are USB drives
    I presume USB (2) is fast enough to cope and is not the bottle neck, then I
    think I was told
    (perhaps by you!) that it was because the drives were slow because they were
    cheap and had no fan.

    Anyway thanks for the info, it may come in useful at a later date but for
    them moment I
    guess I had better leave well alone (touch wood!!).

    R. Giggs., May 23, 2011
  15. R. Giggs.

    Paul Guest

    It's possible there is an interrupt storm related to a bug in the USB
    implementation of the SB400 Sourhbridge. If you don't like your
    current workaround, you can try a PCI USB2 card as a source of
    properly working USB ports.

    Paul, May 23, 2011
  16. R. Giggs.

    R. Giggs. Guest

    OK, I will see how it goes for the time being as I have only had one
    boot on this configuration, the problem may well reappear next time I reboot
    or some other time in the future. The main reason I bought it us that the
    TV dongle is pretty thick and tended to block other ports on the computer.
    It's less of a problem on the hub, where it blocks onolyo one port or indeed
    if I stick it in the end slot. That would leave me with 4 free ports which
    is more
    than enough given I already have 5 devices connected in total.

    One thing perhaps worth mentioning is that my internet is connected via USB
    at the
    moment (I sometimes switch from ethernet to USB to force my ISP
    to change my IP), however I doubt that has anything to do with it.

    Then there is another matter, if you use a hub surely you are limiting the
    speed of
    the devices on the hub and they cannot all run at full speed?

    Anyway I will see how thing go for the time being, thanks once again!
    R. Giggs., May 23, 2011
  17. R. Giggs.

    R. Giggs. Guest

    Actually I suppose a PCI USB card would get round that problem as it
    is not feeding into another USB port!!

    However I am not sure if I woudl get a bottle neck problem with it as it
    works fine which a TV card (which is a considerable amount of data!).
    I suppose the most taxing thing is an external hard drive?
    R. Giggs., May 23, 2011
  18. R. Giggs.

    Paul Guest

    You're right, in that you should think about the architecture and the
    bandwidth available.

    On the SB400, you might be seeing something like this. These are logic
    blocks and not "ports" as such. The first two are USB 1.1 and the typical
    sharing ratio, is one block controls two ports. That tells me there are
    four USB ports on the motherboard. The second logic block type is USB2
    and is shared over more ports. Since the USB 1.1 block count defined
    four ports, it tells me there is a single USB2 block shared over all four
    ports (a port either runs at 1.1 or 2.0 but doesn't use both logic
    block types at the same time). The sharing rules changed slightly
    on a few of the newer ATI chipsets, but this is a guess based on
    the era of the chipset. Some of the new ones, share a USB 1.1 controller
    over three ports, and there are also more USB2 logic blocks provided.

    USB1 Controller ATI SB400 - USB Controller
    USB1 Controller ATI SB400 - USB Controller
    USB2 Controller ATI SB400 - USB 2.0 Controller

    So your total USB2 bandwidth is 60MB/sec (fairy tale limit) based
    on having the one logic block shared. Now, if the protocol was so good,
    a hard drive could easily max that out. The protocol is a "polling type"
    and is not very efficient. That means there is high overhead (wasted USB
    packets) needed to move data over the bus. Your TV dongle may be assigned
    an isochronous channel (a way of guaranteeing some bandwidth) and the
    hard drive may get any remaining bandwidth. I don't know right off hand,
    whether you could get say 30MB/sec for the hard drive and 3MB/sec
    for the TV or not, or whether it becomes 27MB/sec for the hard
    drive and 3MB/sec for the TV.

    Years ago, capturing TV would have used around 20MB/sec. The PCI TV tuner
    card I have, converts NTSC from its tuner module, in the form of pixmaps
    in uncompressed form. That was "analog" TV.

    The more modern tuners, may be ATSC digital, where the stream is
    compressed at the TV station, and the receiver receives digital packets
    that represent a TV picture (it's sorta like unidirectional Wifi). Since
    they're compressed, the data rate is much lower.

    "A terrestrial (over-the-air) transmission carries 19.39 megabits
    of data per second."

    "exactly 38.8 Mbit/s for the "high-data-rate" mode (e.g., cable television)"

    Dividing that by 8 to get bytes, gives 2.4MB/sec for the first one and 4.8MB/sec
    for the second one. So that is not quite as taxing as the old method of transferring
    pixmaps. If the old method was used, and stationed on a USB dongle, it would
    have come pretty close to saturating the practically available USB2 bandwidth.
    (It might have been tempted to use shorter USB2 packets.)

    You may be able to measure that for yourself somehow, and verify the numbers
    and see if they make sense or not.

    The thing is, a PCI USB2 card, has as many USB2 logic blocks (1) as your current
    motherboard. The PCI bus has a practical bandwidth of around 110MB/sec. So at
    least one PCI USB2 card can fit in that limitation, without a problem.

    I'd say it should work about as well as your current setup, plus have perhaps
    an extra 5MB/sec of transfer bandwidth (as the NEC or VIA controller on
    the PCI card, wouldn't have the slightly lower transfer rate of the SB400).

    If you were recording TV to an external USB drive, you'd have 4.8MB/sec
    on one USB port and 4.8MB/sec being written out to disk, for a total of 9.6MB/sec
    and less than the 30+ MB/sec you might expect from the thing. You might be able to
    support a second TV dongle, in terms of recording rate, and still fit it within
    one USB2 logic block limit.

    I don't recollect any multidevice USB2 test results, so I don't know what
    happens when things share. Whether the inefficient polled protocol sets
    the shared limit at around 30+MB/sec or not. But there should be enough
    there in this example, of recording digital TV to the hard drive, that
    it doesn't matter. There seems to be enough there.

    OK, I took two USB flash drives and ran two copies of HDTune.
    One drive achieves 19MB/sec read rate on its own (it is a single
    channel design internally). The second drive achieves 29MB/sec read
    rate (it is a dual channel design with two flash chips plus controller).
    Now, if both copies of HDTune are run at the same time, I see 19+23 or a
    total of 42MB/sec total (the 29MB/sec one slows down by 6MB/sec when
    there is sharing going on). So it looks like a single USB2 controller may be
    able to share 60MB/sec, but any one USB jack may have a practical limit
    on its own of 30MB/sec. This test would have been better, if I had two
    USB external HDD enclosures, but I don't have two of them. I only own one.
    It would have been more fun to test with things that I'm sure can always
    reach the 30+ MB/sec number.

    Paul, May 23, 2011
  19. R. Giggs.

    R. Giggs. Guest

    OK thanks for that, I willl read that later but I need to first report that
    the problem
    has returned!!

    So I am probably going to investigate that further, I am going to repeat
    what I did before
    which seemed to clear the problem and see if I can clear the problem again,
    That might or might not give some clues to what the problem is.
    Any how I have some other stuff to do right now so it seems like a good time
    to do
    some reboots!!
    R. Giggs., May 23, 2011
  20. R. Giggs.

    R. Giggs. Guest

    I had replied to you earlier reporting that the problem had cleared, however
    post seems to have gone missing.
    Anyway the short story is I had cleared the problem totally once, it
    worked with nothing connected to the hub and also worked after that once
    with both devices connected, howver next time the problem reappeared.

    Going to see if I can repeat it.
    R. Giggs., May 23, 2011
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.