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

    Igb drivers

    Scheduled Pinned Locked Moved Hardware
    12 Posts 3 Posters 11.7k 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.
    • P
      pheleven
      last edited by

      Hello everyone,

      I just got in a new server for a pfsense install. It's very modern hardware (new Xeon supermicro server).

      The primary issue is that it has a quad GigE Intel PRO/1000 ET NIC 82576. It should use the igb drivers, and is supported/included in FreeBSD 7.2. The card is not working, and the only thing i can see at all is a PCI NIC in the dmesg that doesnt find drivers.

      Anyone have any suggestions? Unfortunately this is not a good candidate for 2.0 as it will be the main firewall for a rather large office.

      As far as I can tell, the igb drivers are either not there, or just not working properly.

      -Mike

      1 Reply Last reply Reply Quote 0
      • jimpJ
        jimp Rebel Alliance Developer Netgate
        last edited by

        I don't know that igb was built into the 1.2.3 kernel, and I don't think the module was built either.

        If you want to try the igb driver from another 7.2 install, you can try one I copied up to my site. You can download it like so:

        # fetch -o /boot/kernel/if_igb.ko http://pingle.org/files/if_igb.ko
        

        You can then load it like so:

        # kldload if_igb
        

        It may automatically load at boot, if it doesn't, you may need to add it to loader.conf, like this:

        if_igb_load="YES"
        

        You'll probably also want to add igb to the vlan arrays in /etc/inc/globals.inc

        Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

        Need help fast? Netgate Global Support!

        Do not Chat/PM for help!

        1 Reply Last reply Reply Quote 0
        • P
          pheleven
          last edited by

          That is about where I left off last night. Thanks for the link though! I was going to dig it out of a livecd.

          Unfortunately when i tried to load the kernel module it said it was already there. Specifically it says:

          modules_register: module pci/igb already already exists!
          Module pci/igb failed to register: 17

          I'm going to pop in a live 7.2 cd in a few minutes when it finishes burning to see if the adapter works with it. I'll report back shortly.

          1 Reply Last reply Reply Quote 0
          • P
            pheleven
            last edited by

            Oh what fun.

            The onboard CDrom drive wont boot a 7.2 or 8.0 disk, so I plugged in a USB CDrom and booted them up. The FreeBSD 8.0 disk auto-detects the NIC and the 7.2 does not, which is quite unfortunate. Is it reasonable to rip the igb drivers out of the pfSense kernel and load the 8.0 drivers with kldload? Or is there an 8.0 version of 1.2.3 still (I'm fairly sure there was at least at one point)? If so, is it stable and where can i get it?

            What is the best way to edit the kernel w/ pfsense? I know that you removed the sysinstall utility…

            1 Reply Last reply Reply Quote 0
            • jimpJ
              jimp Rebel Alliance Developer Netgate
              last edited by

              No, there is no 1.2.3 version based on FreeBSD 8 (nor was there ever…) there were far too many changes for 8 to make that feasible.

              If FreeBSD 8 sees your card, pfSense 2.0 should. If not, we may just need to add igb to the kernel config if it's not there already.

              You can't mix and match modules between 7.x and 8.x, so that wouldn't work either.

              Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

              Need help fast? Netgate Global Support!

              Do not Chat/PM for help!

              1 Reply Last reply Reply Quote 0
              • P
                pheleven
                last edited by

                Thanks for the reply again Jim,

                It appears that the igb drivers in 7.2 don't work for the quad version of the NIC for some reason. The igb drivers on 8.0 do work. Intel offers the drivers on their site which in theory should work. I'll get around to that in a few hours to see if they'll install/work, but I think that there are igb drivers already there in the pfSense build, just they dont appear to work for my card. I suspect I will not be able to load the drivers though since the igb drivers are built into the kernel and I'm not sure how to edit the kernel in pfSense directly.

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

                  Pretty much all drivers now have a table of IDs of devices they recognise. Its quite possible your quad port card came out too recently for its IDs to be in the table of the igb driver in pfSense 1.2.3.

                  If you provide the output of the shell command```

                  pciconf -l

                  1 Reply Last reply Reply Quote 0
                  • jimpJ
                    jimp Rebel Alliance Developer Netgate
                    last edited by

                    There are some test builds of 1.2.3 against FreeBSD 7.3 (or what will be 7.3), which may do the job for you. Not sure anyone has done a recent one though.

                    You can always try a custom build:
                    http://devwiki.pfsense.org/DevelopersBootStrapAndDevIso

                    Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

                    Need help fast? Netgate Global Support!

                    Do not Chat/PM for help!

                    1 Reply Last reply Reply Quote 0
                    • P
                      pheleven
                      last edited by

                      Rather than continue messing with this and trying to get the Intel Quad ET NIC to work with the 7.2 kernel, I called iXsystems and asked if they would swap me for an older chipset that either uses the em drivers or definitely works with the igb drivers in 7.2. They were great, very understanding and even apologetic that they used that card when they knew (sort of) that i was doing a pfSense build. A couple of their engineers called, listened to my concern (mostly that if I have to hack the kernel I cant just reinstall pfSense super quickly like I otherwise could) and then they offered to test their PT based quad NIC they had in stock with 7.2 to make sure it works by default and then overnight it assuming it does (to swap). It's nice to get competent people and great customer service… made me even more appreciative that I decided to purchase the massively overkill firewall from them.

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

                        If you can provide the output from # pciconf -l that I requested earlier it could prove useful for diagnosing possible future problems with this card.

                        1 Reply Last reply Reply Quote 0
                        • P
                          pheleven
                          last edited by

                          pciconf -l printout here:

                          http://pastebin.org/116670

                          Sorry for the delay, been quite busy and this firewall needs a crapload of configuring so I can do the install.

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

                            pheleven: Thanks for the pciconf output. The four NICs are these devices:

                            none13@pci0:9:0:0:      class=0x020000 card=0xa02b8086 chip=0x10e88086 rev=0x01 hdr=0x00
                            none14@pci0:9:0:1:      class=0x020000 card=0xa02b8086 chip=0x10e88086 rev=0x01 hdr=0x00
                            none15@pci0:8:0:0:      class=0x020000 card=0xa02b8086 chip=0x10e88086 rev=0x01 hdr=0x00
                            none16@pci0:8:0:1:      class=0x020000 card=0xa02b8086 chip=0x10e88086 rev=0x01 hdr=0x00

                            The device id 0x10e8 (upper half of what pciconf lists as the chip value) is identified in the FreeBSD 8.0 sources as E1000_DEV_ID_82576_QUAD_COPPER in source file e1000/e1000_hw.h which is referenced in e1000/if_igb.c in a table of IDs for supported devices. This entry is missing from the equivalent table in the FreeBSD 7.2 sources.

                            The FreeBSD 7.2 table includes these 82576 devices: E1000_DEV_ID_82576, E1000_DEV_ID_82576_FIBER,  E1000_DEV_ID_82576_SERDES

                            The FreeBSD 8.0 table includes these 82576 devices: E1000_DEV_ID_82576, E1000_DEV_ID_82576_NS,  E1000_DEV_ID_82576_FIBER,  E1000_DEV_ID_82576_SERDES, E1000_DEV_ID_82576_SERDES_QUAD, E1000_DEV_ID_82576_QUAD_COPPER

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