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

    Is the Broadcom BCM957414A4142CC (BCM57414) 25G NIC supported?

    Scheduled Pinned Locked Moved Hardware
    42 Posts 4 Posters 7.3k 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.
    • stephenw10S
      stephenw10 Netgate Administrator
      last edited by

      System Patches can only address run-time scripts they cannot change compiled binaries, like drivers.
      Running in promiscuous mode is probably not going to make much difference in general use. The problem will be if you apply something that unintentionally takes it out of promisc mode...

      Steve

      Y 1 Reply Last reply Reply Quote 0
      • Y
        Yves_ @stephenw10
        last edited by

        @stephenw10 Ah okay... Can I as a FreeBSD noob "recompiling a driver against FreeBSD 12-stable" or should I ask on a freelancer plattform for someone who does it for me? Is there like a tutorial on this?

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

          It's certainly possible to try it. Install FreeBSD 12-stable with the build tools. Apply that patch to the bnxt driver code. Run 'make' to build the driver module. Copy the result across into pfSense and load it.
          Of course things become more complex if the patch doesn't apply or the result fails to build...
          It's been a while since I've done that so the precise details are no longer with me.

          Steve

          Y 1 Reply Last reply Reply Quote 0
          • Y
            Yves_ @stephenw10
            last edited by

            @stephenw10 btw. should this not be against freebsd 12.3 stable? since pfsense 2.6 is running 12.3?

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

              It shows as 12.3 because 12.4 has not been branched from it but it's 12-stable. Though I'd expect either to work. If it will work at all!

              Steve

              Y 2 Replies Last reply Reply Quote 0
              • Y
                Yves_ @stephenw10
                last edited by

                @stephenw10 Okay, I have a VM with FreeBSD 12-stable up and running. Now I need to figure out what to do :-) I will make a tutorial for anyone later.

                1 Reply Last reply Reply Quote 0
                • Y
                  Yves_ @stephenw10
                  last edited by Yves_

                  @stephenw10 okay... so I am compiling now. changes worked well. but am i correct to assume that if I run kldstat -v | grep bnxt and it says "94 pci/bnxt" that the bnxt driver is inside of the kernel? so I don't have to replace only the driver for the bnxt. i have to replace the whole kernel?

                  okay... i guess i just figured out that the compiled network modules are located in /boot/kernel so I need to replace the if_bnxt.ko with the new one :-)

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

                    No you can probably load the module in preference to the in kerne driver. Most drivers allow that.
                    Create /boot/loader.conf.local and add to it:

                    if_bnxt_load="YES"
                    if_bnxt_name="/path/to/module/if_bnxt.ko"
                    

                    Recompiling a kernel to use in pfSense is a lot more involved. You need to build against the full pfSense sources.

                    Steve

                    Y 2 Replies Last reply Reply Quote 0
                    • Y
                      Yves_ @stephenw10
                      last edited by

                      Recompiling a kernel to use in pfSense is a lot more involved. You need to build against the full pfSense sources.

                      Steve

                      yeah this is where i would have given up. but if i can just replace the module. i am very happy :-) to try that out and make a small "idiot" tutorial after

                      1 Reply Last reply Reply Quote 0
                      • Y
                        Yves_ @stephenw10
                        last edited by

                        @stephenw10 said in Is the Broadcom BCM957414A4142CC (BCM57414) 25G NIC supported?:

                        No you can probably load the module in preference to the in kerne driver. Most drivers allow that.
                        Create /boot/loader.conf.local and add to it:

                        if_bnxt_load="YES"
                        if_bnxt_name="/path/to/module/if_bnxt.ko"
                        

                        Recompiling a kernel to use in pfSense is a lot more involved. You need to build against the full pfSense sources.

                        Steve

                        so if I understand you correctly I should not replace the if_bnxt.ko in /boot/kernel... I should put the new .ko file somewhere and tell the loader.conf (i don't have a loader.conf.local) to load this new driver?

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

                          Create loader.conf.local and use that. It won't be overwritten by other config changes.

                          You can either replace the existing module or put it somewhere else and give it the path. I prefer the latter.

                          Steve

                          Y 1 Reply Last reply Reply Quote 0
                          • Y
                            Yves_ @stephenw10
                            last edited by

                            @stephenw10 Okay, I have done it the quick and dirty way. Just name the existing if_bnxt.ko to if_bnxt.ko.old and insert the newly compiled into /boot/kernel/if_bnxt.ko. I still had to run ifconfig bnxt0 promisc to make the system work again :-( can I somehow check what pfSense loaded? Maybe it ignored if_bnxt.ko and it is somehow in the kernel after all?

                            Y 1 Reply Last reply Reply Quote 0
                            • Y
                              Yves_ @Yves_
                              last edited by

                              @yves_ update! replacing does not work... because the module is built into /boot/kernel/kernel

                              Now I tried to load it with kldload /boot/kernel/if_bnxt.ko

                              KLD if_bnxt.ko: depends on kernel - not available or version mismatch
                              linker_load_file: /boot/kernel/if_bnxt.ko - unsupported file type
                              

                              I guess back to squer one ;-)

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

                                At the console you should see it report that loading at boot before the kernel boots. Or an error if it can't load. You might also try changing a description line in the driver so you can see that in thr boot logs or sysctls where it reports it.

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

                                  Ah, yes, like that!

                                  Mmm, definitely not a 32bit module?

                                  Y 1 Reply Last reply Reply Quote 0
                                  • Y
                                    Yves_ @stephenw10
                                    last edited by

                                    @stephenw10 well I used FreeBSD 12.3 Stable amd64 should I use FreeBSD 12.0 i386?

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

                                      No, it should be 64bit but if you'd accidentally used 32bit it would have presented similarly to that.

                                      Try building against 12.3-release instead, assuming you are running 2.6?

                                      Or update to a 2.7 snapshot and try the 12-stable module there.

                                      Steve

                                      Y 1 Reply Last reply Reply Quote 0
                                      • Y
                                        Yves_ @stephenw10
                                        last edited by

                                        @stephenw10 I made a little mistake I used 12.3-Release amd64... if I do it with that one. Which I did. Can it happen that I mistakely compiled it 32bit? is just ran "make kernel"

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

                                          No it will have built a 64bit module.

                                          Do you actually see an updated module though? The file dates from when you compiled it?
                                          The default install will already have the old module?

                                          I would just try whatever you can. It might be that driver requires an absolute specific kernel version in which case you're probably out of luck.

                                          Steve

                                          Y 1 Reply Last reply Reply Quote 0
                                          • Y
                                            Yves_ @stephenw10
                                            last edited by

                                            @stephenw10 said in Is the Broadcom BCM957414A4142CC (BCM57414) 25G NIC supported?:

                                            Do you actually see an updated module though? The file dates from when you compiled it?
                                            The default install will already have the old module?

                                            I would just try whatever you can. It might be that driver requires an absolute specific kernel version in which case you're probably out of luck.

                                            Steve

                                            I see the new date on the if_bnxt.ko so I guess this means it compiled the new module. But I did it on 12.3 Release now I downloaded 12.3 Stable and will do it again.

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