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

    Silicom PXG6BPi or PXG4BPi FreeBSD driver source code Needed…

    Scheduled Pinned Locked Moved 2.2 Snapshot Feedback and Problems - RETIRED
    20 Posts 2 Posters 6.0k 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

      Is the source not available on the Silicom site?
      I seem to remember it was if you registered on the site some while ago. There was a thread about it I think.

      Steve

      1 Reply Last reply Reply Quote 0
      • J
        joe_cowboy
        last edited by

        Yes, you can download the drivers from www.silicom-usa.com but like you said you have to have an account.  But, to get on you have to send a request to them to get an account.  I am still waiting on a response from them.

        Thanks for the quick reply.

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

          See: https://forum.pfsense.org/index.php?topic=80843.msg441218#msg441218  ;)

          As I said in that thread though the drivers are old (and still are).

          Steve

          1 Reply Last reply Reply Quote 0
          • J
            joe_cowboy
            last edited by

            Thanks so much for the link.  I downloaded the drivers now the fun in trying to set up FreeBSD 10.1 on VMware.  I will let you know how it goes.  And thanks again!!!

            1 Reply Last reply Reply Quote 0
            • J
              joe_cowboy
              last edited by

              I was able to get the two drivers compiled and load fine.  Had a few issues that I had to fix with the code that kept raising errors.

              bypass.ko compiled just fine.
              if_silbpi.ko required code fixes.

              Only issue I have now is with "Configuring WLAN1 interface…" will not load causes a crash and reboot.  This is a USB WiFi interface.

              Thanks again for your help.

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

                Hmm, well that's good. Surprising though, I would have expected fairly extensive changes.
                I assume you're familiar with coding, drivers, BSD?

                What usb wifi device do you have?

                Steve

                1 Reply Last reply Reply Quote 0
                • J
                  joe_cowboy
                  last edited by

                  The interface comes up as run0 and run1 because I have two USB Wifi nics.

                  I can break out of the loading and bring up the interface using ifconfig run0 up or ifconfig run0_wlan0 up and causes kernel panic, crashes and reboots.

                  I was looking at this bug thread on FreeBSD: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=189405

                  Index: sys/dev/usb/wlan/if_run.c

                  –- sys/dev/usb/wlan/if_run.c (revision 268563)
                  +++ sys/dev/usb/wlan/if_run.c (working copy)
                  @@ -3948,9 +3948,19 @@
                  static void
                  run_update_beacon(struct ieee80211vap *vap, int item)
                  {
                  +    if (vap == NULL)
                  +        return;
                  struct ieee80211com *ic = vap->iv_ic;
                  +    if (ic == NULL)
                  +        return;
                  +    if (ic->ic_ifp == NULL)
                  +        return;
                  struct run_softc *sc = ic->ic_ifp->if_softc;
                  +    if (sc == NULL)
                  +        return;
                  struct run_vap *rvp = RUN_VAP(vap);
                  +    if (rvp == NULL)
                  +        return;
                  int mcast = 0;
                  uint32_t i;

                  @@ -3971,6 +3981,12 @@
                  }

                  setbit(rvp->bo.bo_flags, item);

                  • if (rvp->beacon_mbuf == NULL) {
                  • rvp->beacon_mbuf = ieee80211_beacon_alloc(vap->iv_bss,
                  • &rvp->bo);
                  • if (rvp->beacon_mbuf == NULL)
                  • return;
                  • }
                    ieee80211_beacon_update(vap->iv_bss, &rvp->bo, rvp->beacon_mbuf, mcast);

                  i = RUN_CMDQ_GET(&sc->cmdq_store);

                  Looks like the if statement if (rvp->beacon_mbuf == NULL) { has made it into head but the first if statements have not.

                  I was able to compile the if_run.c module with the changes but since pfsense has it built into the kernel can't load the driver to check to see if this will prevent my issue.  Any ideas?  Thanks!!!

                  1 Reply Last reply Reply Quote 0
                  • J
                    joe_cowboy
                    last edited by

                    stephenw10 thanks for your help.  I was wondering.  Where do you disable the interface from the command prompt so pfsense will stop trying to load it.  I tried modifying the config.xml on the run0 and run1 but WLAN1 and WLAN2 still want to come up.

                    Also, can you point me in the direction of maybe where to get the current snapshot and I can try compiling the kernel with the mods to the if_run.c into the Pfsense kernel to see if it fixes the kernel panic when trying to bring up the interface.

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

                      You can probably just stop the run firmware from loading to stop the interfaces coming up. Can't you just unplug them?

                      To build pfSense you need access to the pfsense-tools repo which means jumping through a couple of hoops, nothing too taxing. See:
                      https://forum.pfsense.org/index.php?topic=76132.0

                      I'm not sure if this applies to USB drivers but with other network drivers it's possible to load a newer/modified driver to override the in kernel driver as long as you do it at boot using loader.conf.local. You can't kload the modules after boot as you've probably found.

                      Steve

                      1 Reply Last reply Reply Quote 0
                      • J
                        joe_cowboy
                        last edited by

                        Well, I could unplug them but they are inside my pfsense box and I would have to tear it apart.  I modded a Neoware thin client case so I could put external antenna on it.  I tried adding to loader.conf.local the line if_run_load="YES" but when it boots it says run already loaded.

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

                          Maybe not for USB drivers then.  :(

                          Steve

                          1 Reply Last reply Reply Quote 0
                          • J
                            joe_cowboy
                            last edited by

                            I am surprised I am the only one with this issue with this run0 USB interface.  I remember when Pfsense 2.0 was in dev hostap setting was an issue with the php setting it in the web interface.  But this is now a driver issue and hostap with in the driver according to that bug report.  But will not be sure unless the dev team was nice enough to try that fix with their code.  Or I get the nerve up and compile the Pfsense kernel myself and like you said go through the hoops to set up an account.

                            If I could just disable the interfaces from coming up for now so I can finish the upgrade…  :o

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

                              Can you not just remove those sections from the config.xml file?

                              I have a run USB device and it works fine. It won't run as client but in hostap mode no issues. Might not be the same chipset as yours.
                              https://wikidevi.com/wiki/TP-LINK_TL-WN7200ND

                              Steve

                              1 Reply Last reply Reply Quote 0
                              • J
                                joe_cowboy
                                last edited by

                                I tried removing those from the config.xml, cause interface mismatch, kernel panic and reboot.  :-\

                                1 Reply Last reply Reply Quote 0
                                • J
                                  joe_cowboy
                                  last edited by

                                  Is there a way to upgrade from the Pfsense command prompt using the latest.tgz.  Since the console menu is not loaded.

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

                                    The command called by the console menu is:

                                    php -f /etc/rc.initial.firmware_update
                                    

                                    You could try that.

                                    Steve

                                    1 Reply Last reply Reply Quote 0
                                    • J
                                      joe_cowboy
                                      last edited by

                                      Thanks for the command!!!  I looked high and low for that.  Well, I was able to roll back to Pfsense 2.1.5.

                                      I am wondering why when it gives you interface mismatch, it crashes and it doesn't prompt you for setting up your interfaces?

                                      I will be cracking the box open here in a few days when I get my 6 port version of the card in.  Right now I have the 4 port of the bypass card installed.  It's been a rock solid card.  What I am going to do is get away from the USB Nics I have installed on the box so my interfaces will stop going up and down on them.  The axe drivers for it never could keep the interface up for a very long time before I had to reset it.  I looked into that issue too and with the newer 9.x and newer of the kernel should fix that issue according to forum threads on FreeBSD.

                                      My thing is getting the two run USB WiFi interfaces to come up with out a kernel panic and crash.  I will get you the actual USB WiFi interface when I take the unit apart.  When I bought the USB WiFi stick it was one that was recommended; I remember that.

                                      They are rock solid under Pfsense 2.1.5 and I know it's kernel 8.3 but the issue does seem like the issue I posted the link to….

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

                                        Dropping to the interface assign menu is the expected behaviour, hard to say why your system isn't doing that. You say it only started after you enabled the interfaces? Are they identical? It might be worth trying only one.

                                        Steve

                                        1 Reply Last reply Reply Quote 0
                                        • J
                                          joe_cowboy
                                          last edited by

                                          It only started it after I upgraded the system to Pfsense 2.2 because Pfsense 2.1.5 both of the Wifi interfaces work perfectly.

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