Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    {irq16: em1 ehci0} taking up 75% of cpu

    Scheduled Pinned Locked Moved Hardware
    54 Posts 6 Posters 23.8k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • W
      wallabybob
      last edited by

      I think Steve's suggestion was that you disable USB2 and USB3. From what you said you disabled USB1 and USB3. Please try Steve's suggestion. USB keyboard and mouse should work fine with USB1.

      1 Reply Last reply Reply Quote 0
      • stephenw10S
        stephenw10 Netgate Administrator
        last edited by

        I would try disabling 'high speed' with that loader tunable. You clearly don't need high speed, ehci, for a keyboard.

        Steve

        1 Reply Last reply Reply Quote 0
        • B
          Bai Shen
          last edited by

          @wallabybob:

          I think Steve's suggestion was that you disable USB2 and USB3. From what you said you disabled USB1 and USB3. Please try Steve's suggestion. USB keyboard and mouse should work fine with USB1.

          Those were the only options in the BIOS for USB.

          @stephenw10:

          I would try disabling 'high speed' with that loader tunable. You clearly don't need high speed, ehci, for a keyboard.

          Steve

          I'll give that a shot.  Which ones do you suggest?  All three or just the last one?

          1 Reply Last reply Reply Quote 0
          • stephenw10S
            stephenw10 Netgate Administrator
            last edited by

            I would probably try no_hs first then lost interupt.
            The sysctl OIDs are listed in the 8.1 source code, here, but I don't have them on my system. Perhaps because I'm not using USB.  :-\

            Steve

            1 Reply Last reply Reply Quote 0
            • B
              Bai Shen
              last edited by

              @stephenw10:

              I would probably try no_hs first then lost interupt.
              The sysctl OIDs are listed in the 8.1 source code, here, but I don't have them on my system. Perhaps because I'm not using USB.  :-\

              Steve

              No luck with no_hs.  It ran fine for a little bit, but then quickly returned to it's previous state.  Is there a way to make sure that it's recognizing the loader.conf.local?

              And I don't really have a choice on using USB.  I don't have any PS2 ports. :)

              1 Reply Last reply Reply Quote 0
              • stephenw10S
                stephenw10 Netgate Administrator
                last edited by

                I would expect to be able to see the sysctl OIDs but all I see is:

                
                [2.0-RC3][root@pfsense.fire.box]/root(1): sysctl hw.usb
                hw.usb.no_boot_wait: 0
                hw.usb.debug: 0
                hw.usb.usb_lang_mask: 255
                hw.usb.usb_lang_id: 9
                hw.usb.template: 0
                hw.usb.power_timeout: 30
                hw.usb.uath.regdomain: 0
                hw.usb.uath.countrycode: 0
                hw.usb.urtw.preamble_mode: 2
                hw.usb.urtw.debug: 0
                hw.usb.ucom.cons_baud: 9600
                hw.usb.ucom.cons_unit: -1
                
                

                No EHCI at all.

                Steve

                1 Reply Last reply Reply Quote 0
                • B
                  Bai Shen
                  last edited by

                  @stephenw10:

                  I would expect to be able to see the sysctl OIDs but all I see is:

                  
                  [2.0-RC3][root@pfsense.fire.box]/root(1): sysctl hw.usb
                  hw.usb.no_boot_wait: 0
                  hw.usb.debug: 0
                  hw.usb.usb_lang_mask: 255
                  hw.usb.usb_lang_id: 9
                  hw.usb.template: 0
                  hw.usb.power_timeout: 30
                  hw.usb.uath.regdomain: 0
                  hw.usb.uath.countrycode: 0
                  hw.usb.urtw.preamble_mode: 2
                  hw.usb.urtw.debug: 0
                  hw.usb.ucom.cons_baud: 9600
                  hw.usb.ucom.cons_unit: -1
                  
                  

                  No EHCI at all.

                  Steve

                  I get hw.usb.ehci.no_hs 1 when I do it.  So it's picking it up.  I guess it's time to try the others.

                  1 Reply Last reply Reply Quote 0
                  • B
                    Bai Shen
                    last edited by

                    None of them worked.

                    Also, my keyboard no longer works.

                    Any other suggestions?

                    1 Reply Last reply Reply Quote 0
                    • W
                      wallabybob
                      last edited by

                      @stephenw10:

                      The sysctl OIDs are listed in the 8.1 source code, here, but I don't have them on my system. Perhaps because I'm not using USB.  :-\

                      Some device drivers don't register sysctls until they have successfully attached at least one device. I don't know the specifics of the USB sysctls.

                      @Bai:

                      None of them worked.

                      Also, my keyboard no longer works.

                      Any other suggestions?

                      Suggestions:

                      • Use  a motherboard with a chipset that has been available for at least six months at the time of release of FreeBSD 8.1. (I recall that I saw an older pfSense release lock up on startup on a motherboard with AMD chipset if USB was enabled. The next version of pfSense which had a more recent FreeBSD worked fine on the same motherboard when USB was enabled.)

                      • Keep searching - maybe a FreeBSD user has found a solution for FreeBSD 8.1

                      • Ignore it, you still have three working cores which is probably much more than you need.

                      • Disable motherboard USB entirely and use a PCI USB 2.0 card (which almost certainly will have a  USB chipset that has been around for a while and consequently has well debugged drivers). I don't know if the BIOS will support this.

                      • Disable motherboard USB and set BIOS to ignore "no keyboard". What do you need the keyboard for once the system is configured.

                      1 Reply Last reply Reply Quote 0
                      • stephenw10S
                        stephenw10 Netgate Administrator
                        last edited by

                        @wallabybob:

                        Some device drivers don't register sysctls until they have successfully attached at least one device. I don't know the specifics of the USB sysctls.

                        That's what I thought, and yet:

                        
                        [2.0-RC3][root@pfsense.fire.box]/root(2): sysctl -a | grep ehci
                        dev.usbus.2.%parent: ehci0
                        dev.ehci.0.%desc: Intel 6300ESB USB 2.0 controller
                        dev.ehci.0.%driver: ehci
                        dev.ehci.0.%location: slot=29 function=7
                        dev.ehci.0.%pnpinfo: vendor=0x8086 device=0x25ad subvendor=0x8086 subdevice=0x25ad class=0x0c0320
                        dev.ehci.0.%parent: pci0
                        
                        

                        Hmmm.  :-\

                        @Bai Shen. If it has disabled your keyboard it is clearly doing something. Do you still have Legacy USB disabled in the bios? Perhaps you have ended up disabling ehci when that is all that was left still functioning.

                        Steve

                        1 Reply Last reply Reply Quote 0
                        • B
                          Bai Shen
                          last edited by

                          @wallabybob:

                          • Keep searching - maybe a FreeBSD user has found a solution for FreeBSD 8.1

                          Not as far as I can tell.  There's a bug filed for it, but no resolution so far.

                          @wallabybob:

                          • Ignore it, you still have three working cores which is probably much more than you need.

                          That's what I'm doing.  The biggest annoyance is that it prevents the processor from idling and therefore uses more power than it should.

                          @wallabybob:

                          • Disable motherboard USB entirely and use a PCI USB 2.0 card (which almost certainly will have a  USB chipset that has been around for a while and consequently has well debugged drivers). I don't know if the BIOS will support this.

                          Maybe.  But right now I'm using all of the PCI slots for NICs.  I'll be picking up PCIe NICs later, but for now I'm using the ones I have.

                          @wallabybob:

                          • Disable motherboard USB and set BIOS to ignore "no keyboard". What do you need the keyboard for once the system is configured.

                          I've thought about doing that.  But I've had instances before where I had to use the console on the actual box to reset/change configurations.  So I'm hesitant to do that atm.  Plus I'm not sure how it'll work to turn it back on as there's no other way to connect a keyboard.

                          1 Reply Last reply Reply Quote 0
                          • B
                            Bai Shen
                            last edited by

                            @stephenw10:

                            @Bai Shen. If it has disabled your keyboard it is clearly doing something. Do you still have Legacy USB disabled in the bios? Perhaps you have ended up disabling ehci when that is all that was left still functioning.

                            Steve

                            No, I made sure to turn legacy and usb3 back on before messing with the loader.conf.local.

                            1 Reply Last reply Reply Quote 0
                            • stephenw10S
                              stephenw10 Netgate Administrator
                              last edited by

                              Serial console instead of keyboard?
                              I would definitely leave USB3 disabled.
                              Perhaps you can force one of the two devices onto a different IRQ.

                              Steve

                              Edit: Assuming you are still using the DH67CL, are you running the lastest bios?

                              Edit: It seems (though I can't find detailed instruction) that you should be able to set IRQ 16 as unavailable to PCI auto configuration. That should force your LAN card onto a different IRQ.

                              1 Reply Last reply Reply Quote 0
                              • B
                                Bai Shen
                                last edited by

                                @stephenw10:

                                Serial console instead of keyboard?

                                I don't think it has a serial port, but I could be wrong.  I don't have any infrastructure to support that either.

                                @stephenw10:

                                I would definitely leave USB3 disabled.

                                How come?

                                @stephenw10:

                                Perhaps you can force one of the two devices onto a different IRQ.

                                Steve

                                Edit: Assuming you are still using the DH67CL, are you running the lastest bios?

                                Edit: It seems (though I can't find detailed instruction) that you should be able to set IRQ 16 as unavailable to PCI auto configuration. That should force your LAN card onto a different IRQ.

                                Yep, I'm running the latest bios.

                                I'll have to look through the bios at the PCI config.  I don't recall seeing anything like that before, but I wasn't looking for it.  How does setting the NIC to a different IRQ fix the problem?  Wouldn't I still get the interrupts from the ehci?

                                1 Reply Last reply Reply Quote 0
                                • stephenw10S
                                  stephenw10 Netgate Administrator
                                  last edited by

                                  @Bai:

                                  @stephenw10:

                                  I would definitely leave USB3 disabled.

                                  How come?

                                  Because it's highly probable that FreeBSD didn't support it when 8.1 was released. Does it even support it now?

                                  @Bai:

                                  I'll have to look through the bios at the PCI config.  I don't recall seeing anything like that before, but I wasn't looking for it.  How does setting the NIC to a different IRQ fix the problem?  Wouldn't I still get the interrupts from the ehci?

                                  It may be an IRQ conflict causing the interrupt storm.

                                  @Technical:

                                  Any interrupts set to Available in Setup are considered to be available for
                                  use by the add-in card.

                                  Implies that you can set to unavailable.

                                  Steve

                                  1 Reply Last reply Reply Quote 0
                                  • B
                                    Bai Shen
                                    last edited by

                                    @stephenw10:

                                    Because it's highly probable that FreeBSD didn't support it when 8.1 was released. Does it even support it now?

                                    No idea.  I'm not using them, but figured I'd leave them on so I don't plug something in down the road and wonder why it's not working. :)

                                    @stephenw10:

                                    It may be an IRQ conflict causing the interrupt storm.

                                    Ah, gotcha.

                                    @stephenw10:

                                    @Technical:

                                    Any interrupts set to Available in Setup are considered to be available for
                                    use by the add-in card.

                                    Implies that you can set to unavailable.

                                    Steve

                                    -nods-  I'll take a look when I get home.

                                    1 Reply Last reply Reply Quote 0
                                    • B
                                      Bai Shen
                                      last edited by

                                      I ended up being sidetracked by other things and never messed with the box any more.  This weekend, I shut it down to rearrange some cables.  Since I brought it back up, I haven't seen the problem again.  No idea what the difference is as I don't recall changing anything.

                                      Just wanted to give y'all an update.

                                      1 Reply Last reply Reply Quote 0
                                      • stephenw10S
                                        stephenw10 Netgate Administrator
                                        last edited by

                                        Strange.
                                        Perhaps something to do with the cable routing as you suggest.

                                        Steve

                                        1 Reply Last reply Reply Quote 0
                                        • B
                                          Bai Shen
                                          last edited by

                                          @stephenw10:

                                          Strange.
                                          Perhaps something to do with the cable routing as you suggest.

                                          Steve

                                          All I did was unplug the Kill-A-Watt from the power cable.  Dunno.

                                          1 Reply Last reply Reply Quote 0
                                          • C
                                            clarknova
                                            last edited by

                                            This looks like a problem I had on an i3 550 that went out the door. I believe the fix was to turn off USB legacy support in the BIOS.

                                            db

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.