Silicom PXG6BPi or PXG4BPi FreeBSD driver source code Needed…
-
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!!!
-
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.
-
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.0I'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
-
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.
-
Maybe not for USB drivers then. :(
Steve
-
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
-
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-WN7200NDSteve
-
I tried removing those from the config.xml, cause interface mismatch, kernel panic and reboot. :-\
-
Is there a way to upgrade from the Pfsense command prompt using the latest.tgz. Since the console menu is not loaded.
-
The command called by the console menu is:
php -f /etc/rc.initial.firmware_update
You could try that.
Steve
-
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….
-
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
-
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.