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

    HP Qlogic NC523SFP Driver install Freebsd 11 pfsense kernal recompile

    Scheduled Pinned Locked Moved Problems Installing or Upgrading pfSense Software
    31 Posts 9 Posters 9.2k 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.
    • I
      ibysmalls
      last edited by

      Hi Guys,

      Basically, I have a Dell R210, Trying to get the HP Qlogic NC523SFP+ Dual 10G Fiber Card to work with it.

      BIOS is recognising it, however I am unsure on how to recompile the kernal with the information speicfied here:

      https://www.freebsd.org/cgi/man.cgi?query=qlxgb&sektion=4&manpath=freebsd-release-ports

      Can anyone please kindly show me what I might have to do?

      I've edited loader.conf with the information, but kernal I have no idea where to start.

      Thanks
      Ibrahim

      1 Reply Last reply Reply Quote 1
      • dotdashD
        dotdash
        last edited by

        You would need to load up a machine with FreeBSD 11.2, compile the module according to the directions, then copy the compiled module to your pfSense box and add the line to loader.conf.

        1 Reply Last reply Reply Quote 1
        • I
          ibysmalls
          last edited by

          Thank you very much for the reply.

          I can't see any instructions on that website on how to compile the driver.

          1 Reply Last reply Reply Quote 0
          • dotdashD
            dotdash
            last edited by dotdash

            Best source is the handbook.
            https://www.freebsd.org/doc/handbook/kernelconfig.html

            Edit- Actually, that's for compiling it into the kernel. You should just be able to copy the file from a stock FreeBSD install.

            1 Reply Last reply Reply Quote 1
            • I
              ibysmalls
              last edited by

              Ahh,

              So what you mean is that I go ahead and install FreeBSD with this NIC installed, then copy over the modules over to pfsense?

              Thanks
              Ibrahim

              1 Reply Last reply Reply Quote 1
              • dotdashD
                dotdash
                last edited by

                Yes. You should be able to find if_qlxgb.ko in /boot/kernel/ on the stock FreeBSD box.
                Copy this over to the same location on pfsense and add the line to /boot/loader.conf.local (create /boot/loader.conf.local if needed)

                1 Reply Last reply Reply Quote 2
                • RicoR
                  Rico LAYER 8 Rebel Alliance
                  last edited by

                  Here you go.
                  0_1548447903141_if_qlxgb.zip

                  -Rico

                  1 Reply Last reply Reply Quote 2
                  • I
                    ibysmalls
                    last edited by

                    Yes yes lad!

                    Thanks - I appreciate that. It's recognised now on the pfsense gui!

                    Thank you once again!!

                    1 Reply Last reply Reply Quote 1
                    • RicoR
                      Rico LAYER 8 Rebel Alliance
                      last edited by

                      Glad you have it working now. ☺

                      -Rico

                      1 Reply Last reply Reply Quote 1
                      • R
                        ronaldnwb
                        last edited by

                        Hello everyone. This is my first time in this forum and I found this thread explaining exactly what I was looking for. I don't know much about freeBSD, my previous experiences are only writing code for Arduinos... so a big step for me - literally, I just started yesterday with freebsd CL (please don't yell at me or make fun of me, everybody has to start somewhere)
                        I'm building a pfsense router (Asus P9D-c4L / e5 1268L V3 / 8GB PC3-10600E / NIC NC523SFP based on Qlogic 8200 // qlxgb driver) to connect to my freeNAS box and ESXI PC. The NIC is supported in both and is recognized automatically.
                        I currently have 2 VMs running, one pfsense 2.4.4 p1 and the second freeBSD 11.2... I'm staring at both screens and I don't know where to go from here...

                        How do I copy qlxgb.ko from FreeBSD? to what physical/virtual media? how do I copy it to pfsense? how do I open loader.conf.local and add the line? I'm guessing the line is if present, "yes" run the driver.

                        As basic as it might sound to you, I need to do this to get my home network fully working. If you might point me to a thread where it is more "step-by-step" explained, so I could see the commands used, syntax... I would really appreciate it. Thanks in advance! and thanks to @Rico for sharing the module. I guess I only need to add it to pfsense. But as I said before, I would really like to see all the commands used to achieve it. (learning opportunity for me)

                        1 Reply Last reply Reply Quote 1
                        • R
                          ronaldnwb
                          last edited by ronaldnwb

                          a follow up note... correct me if I'm wrong, please.

                          could I use the file @Rico uploaded and save it to a USB drive and then in pfsense...

                          mount -t msdosfs /dev/da0s1 /mnt
                          cp -iprv /dev/da0s1/if_qlxgb.ko /boot/kernel/

                          to enter the new line

                          vi boot/loader.conf.local
                          i

                          if_qlxgb_load="YES"

                          :wq!

                          so I did it in the VM and it said it created a new file... 1 line 19 characters... So I guess I was successful at creating the conf in the VM... no luck coping qlxgb.ko yet.

                          Thanks everyone.

                          1 Reply Last reply Reply Quote 1
                          • I
                            ibysmalls
                            last edited by

                            Hi,

                            The way I copied the file to the machine was through FileZilla SFTP client. Easy that way.

                            1 Reply Last reply Reply Quote 2
                            • RicoR
                              Rico LAYER 8 Rebel Alliance
                              last edited by

                              Yeah, SCP or SFTP is the easy way. :-)

                              -Rico

                              1 Reply Last reply Reply Quote 1
                              • R
                                ronaldnwb
                                last edited by

                                Hey guys! you're the best!!! you deserve a beer... I thought it was going to be something really complicated as building the install from source, but it only took me like 5 minutes to get everything up and running after reading your advice. I used WINSCP so it was pretty much drag and drop.
                                Thanks @ibysmalls and thanks @Rico

                                1 Reply Last reply Reply Quote 1
                                • H
                                  homelabber
                                  last edited by homelabber

                                  I followed the above steps, super helpful. Thank you all.

                                  I'm getting the following errors when setting up the interface. I use the following command:

                                  ifconfig ql0 up

                                  ql0: qla_init_rcv_cntxt: Q8_CMD_CREATE_RX_CNTXT failed
                                  ql0: qla_issue_cmd: cmd[0x001b2218] = 0x80000012
                                  sig[0x001b2228] = 0xcafe0100
                                  arg1[0x001b221c] = 0x00000000
                                  arg2[0x001b2220] = 0x000005ee
                                  arg3[0x001b2224] = 0x00000000
                                  ql0: qla_issue_cmd: exit (ret = 0xffffffff)
                                  rsp = 0x80000012
                                  arg1 = 0x00000000
                                  arg2 = 0x000005ee
                                  arg3 = 0x00000000
                                  ql0: qla_set_max_mtu: Q8_CMD_RD_MAX_MTU failed

                                  ql0: qla_issue_cmd: cmd[0x001b2218] = 0x80000002
                                  sig[0x001b2228] = 0xcafe0100
                                  arg1[0x001b221c] = 0x00000000
                                  arg2[0x001b2220] = 0x00000000
                                  arg3[0x001b2224] = 0x00000000

                                  ifconfig yields the followings results with a DAC plugged in and connected to my SFP+ switch

                                  ql0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
                                  options=8013b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,TSO4,LINKSTATE>
                                  ether 2c:59:e5:xx:xx:xx
                                  hwaddr 2c:59:e5:xx:xx:xx
                                  nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
                                  media: Ethernet autoselect
                                  status: no carrier
                                  ql1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
                                  options=8013b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,TSO4,LINKSTATE>
                                  ether 2c:59:e5:xx:xx:xx
                                  hwaddr 2c:59:e5:xx:xx:xx
                                  nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
                                  media: Ethernet autoselect
                                  status: no carrier

                                  Any thoughts about possible issues? What version of firmware is your card using?

                                  P 1 Reply Last reply Reply Quote 0
                                  • P
                                    pragalbh @homelabber
                                    last edited by

                                    @homelabber Try doing
                                    Go To System >> Advance >> System Tunables >> add new
                                    Tunables : if_qlxgb_load
                                    Value: YES
                                    Discription : SFP+ (or anything you can remember)
                                    Save
                                    After this go to the interface and set the mtu = 9000

                                    Also read [FreeBSD Manual Pages QLXGB(4)] (https://www.freebsd.org/cgi/man.cgi?query=qlxgb&sektion=4&manpath=FreeBSD+12.1-RELEASE+and+Ports)

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

                                      @pragalbh said in HP Qlogic NC523SFP Driver install Freebsd 11 pfsense kernal recompile:

                                      Go To System >> Advance >> System Tunables >> add new
                                      Tunables : if_qlxgb_load
                                      Value: YES

                                      That won't work there, it's a loader varialble you need to put it in /boot/loader.conf.local as @dotdash described above.

                                      The system tunables section there is for sysctls, it equates to sysctl.conf in FreeBSD.

                                      Steve

                                      1 Reply Last reply Reply Quote 0
                                      • viktor_gV
                                        viktor_g Netgate
                                        last edited by

                                        In 2.4.5-p1:
                                        Added support for QLogic 10Gbit/s Ethernet interfaces (qlxgb)

                                        https://www.netgate.com/blog/pfsense-2-4-5-release-p1-now-available.html

                                        1 Reply Last reply Reply Quote 2
                                        • M
                                          maartenv
                                          last edited by

                                          I have this card installed in pfSense 2.4.5-RELEASE-p1 (amd64) but unfortunately I get for both Lan Interfaces lq0 and lq1 "No-Carrier" and status down. Though the bios and also pfSense recognize the card and the driver also seems to be loaded.

                                          Can anybody help me to get this card working?

                                          Output following commands
                                          : sysctl kern.conftxt | grep qlx
                                          device qlxgb
                                          : strings /boot/kernel/kernel | grep qlxgb
                                          device qlxgb
                                          : kldstat -v | grep qla80xx
                                          637 pci/qla80xx

                                          : ifconfig
                                          re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
                                          options=8209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,LINKSTATE>
                                          ether a8:a1:59:27:d2:04
                                          hwaddr a8:a1:59:27:d2:04
                                          inet6 fe80::aaa1:59ff:fe27:d204%re0 prefixlen 64 scopeid 0x1
                                          inet 192.168.1.80 netmask 0xffffff00 broadcast 192.168.1.255
                                          nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
                                          media: Ethernet autoselect (1000baseT <full-duplex>)
                                          status: active
                                          ql0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
                                          options=8003b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,LINKSTATE>
                                          ether a0:1d:48:98:02:78
                                          hwaddr a0:1d:48:98:02:78
                                          inet6 fe80::a21d:48ff:fe98:278%ql0 prefixlen 64 scopeid 0x2
                                          inet 192.168.10.1 netmask 0xffffff00 broadcast 192.168.10.255
                                          nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
                                          media: Ethernet autoselect
                                          status: no carrier
                                          ql1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
                                          options=8003b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,LINKSTATE>
                                          ether a0:1d:48:98:02:7c
                                          hwaddr a0:1d:48:98:02:7c
                                          inet6 fe80::a21d:48ff:fe98:27c%ql1 prefixlen 64 scopeid 0x3
                                          inet 192.168.20.1 netmask 0xffffff00 broadcast 192.168.20.255
                                          nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
                                          media: Ethernet autoselect
                                          status: no carrier
                                          enc0: flags=0<> metric 0 mtu 1536
                                          nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
                                          groups: enc
                                          lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
                                          options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
                                          inet6 ::1 prefixlen 128
                                          inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5
                                          inet 127.0.0.1 netmask 0xff000000
                                          nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
                                          groups: lo
                                          pfsync0: flags=0<> metric 0 mtu 1500
                                          groups: pfsync
                                          pflog0: flags=100<PROMISC> metric 0 mtu 33160
                                          groups: pflog
                                          ue0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
                                          ether 00:e0:4a:68:95:52
                                          hwaddr 00:e0:4a:68:95:52
                                          nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>

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

                                            Try running ifconfig -vvvm ql0 when it's connected.

                                            Does the card itself show link? Does whatever it's attached to?

                                            Steve

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