PPPoE reconenction fix - mpd fix ($100)
-
pfsense 2.0 uses mpd5 but the current version is 5.5, any1 care to test it out manually?
pfsense's mpd5 is actually mpd v5.5 (you can check via "mpd5 -v")
-
Can someone here who can reproduce this look over the items I posted in this thread to see if anything there helps?
-
Can someone here who can reproduce this look over the items I posted in this thread to see if anything there helps?
i tried it out doesnt work, after editing the linkdown file, once i unplug the cable i start getting the below stuff in log as wella s serial console
vr1: vr_link_task: Tx/Rx shutdown error – resetting
vr1: restarting
vr1: vr_stop: Rx shutdown error
vr1: Using force reset command.and still the pppoe wont reconnection on replugging the cable, needs a reboot only
can we have a custom solution till this issue is traced and fixed of making pfsense reboot once 5 connection attempts fail coz i will be going out of town a month from now and i need to keep my connection alive at all times so by a reboot, pppoe reconnects fine so atleast this way there wont be any internet connection loss while im away as there wont be any1 to physically reboot it
-
What you can do as a quick workaround for yourself is put a '/usr/local/sbin/pfSctl -c 'interface reload $iface' where $iface is wan/lan/optX
That should kick a restart of mpd after link is down.
-
where do i put this
/usr/local/sbin/pfSctl -c interface reload $iface
-
oh on the down script that jim told you.
-
so i replace the below
/usr/sbin/ngctl shutdown $1:
with ur line right?
-
Just add the line and do not touch anything else.
But since you ask add after that line :) -
tried it and has no effect
-
Show the system logs please?
-
its the same as before but mayb a vr1 down is additional but in all cases it still doesnt reconnect untill a reboot
-
here is the system log when disconnect button is pressed from interfaces (this situation works fine and has been from long)
Nov 3 12:14:43 syslogd: kernel boot file is /boot/kernel/kernel Nov 3 12:15:58 syslogd: exiting on signal 15 Nov 3 12:15:59 syslogd: kernel boot file is /boot/kernel/kernel Nov 3 12:18:30 check_reload_status: Configuring interface wan Nov 3 12:18:37 check_reload_status: Configuring interface wan Nov 3 12:18:37 check_reload_status: Rewriting resolv.conf Nov 3 12:18:44 check_reload_status: Configuring interface wan Nov 3 12:18:44 check_reload_status: Rewriting resolv.conf Nov 3 12:18:46 php: : rc.newwanip: Failed to update wan IP, restarting... Nov 3 12:18:46 check_reload_status: Configuring interface wan Nov 3 12:18:46 apinger: ALARM: WAN(195.229.252.27) *** down *** Nov 3 12:18:51 check_reload_status: Rewriting resolv.conf Nov 3 12:18:53 php: : rc.newwanip: Failed to update wan IP, restarting... Nov 3 12:18:56 check_reload_status: Reloading filter Nov 3 12:18:58 check_reload_status: Configuring interface wan Nov 3 12:18:58 check_reload_status: Rewriting resolv.conf Nov 3 12:19:01 php: : rc.newwanip: Failed to update wan IP, restarting... Nov 3 12:19:01 check_reload_status: Configuring interface wan Nov 3 12:19:06 check_reload_status: Rewriting resolv.conf Nov 3 12:19:07 php: : Could not find gateway for interface(wan). Nov 3 12:19:07 php: : Could not find gateway for interface(wan). Nov 3 12:19:08 dnsmasq[3112]: reading /etc/resolv.conf Nov 3 12:19:08 dnsmasq[3112]: using nameserver 198.153.192.1#53 Nov 3 12:19:08 dnsmasq[3112]: using nameserver 208.67.222.222#53 Nov 3 12:19:08 dnsmasq[3112]: using nameserver 213.42.20.20#53 Nov 3 12:19:08 dnsmasq[3112]: using nameserver 8.8.8.8#53 Nov 3 12:19:08 dnsmasq[3112]: ignoring nameserver 127.0.0.1 - local interface Nov 3 12:19:08 dnsmasq[3112]: ignoring nameserver 127.0.0.1 - local interface Nov 3 12:19:11 php: : rc.newwanip: Failed to update wan IP, restarting... Nov 3 12:19:11 check_reload_status: Configuring interface wan Nov 3 12:19:07 php: : Could not find gateway for interface(wan). Nov 3 12:19:07 php: : Could not find gateway for interface(wan). Nov 3 12:19:08 dnsmasq[3112]: reading /etc/resolv.conf Nov 3 12:19:08 dnsmasq[3112]: using nameserver 198.153.192.1#53 Nov 3 12:19:08 dnsmasq[3112]: using nameserver 208.67.222.222#53 Nov 3 12:19:08 dnsmasq[3112]: using nameserver 213.42.20.20#53 Nov 3 12:19:08 dnsmasq[3112]: using nameserver 8.8.8.8#53 Nov 3 12:19:08 dnsmasq[3112]: ignoring nameserver 127.0.0.1 - local interface Nov 3 12:19:08 dnsmasq[3112]: ignoring nameserver 127.0.0.1 - local interface Nov 3 12:19:11 php: : rc.newwanip: Failed to update wan IP, restarting... Nov 3 12:19:11 check_reload_status: Configuring interface wan Nov 3 12:19:11 check_reload_status: Configuring interface wan Nov 3 12:19:17 check_reload_status: Configuring interface wan Nov 3 12:19:17 check_reload_status: Rewriting resolv.conf Nov 3 12:19:22 php: : rc.newwanip: Failed to update wan IP, restarting... Nov 3 12:19:22 check_reload_status: Configuring interface wan Nov 3 12:19:22 dnsmasq[3112]: reading /etc/resolv.conf Nov 3 12:19:22 dnsmasq[3112]: using nameserver 198.153.192.1#53 Nov 3 12:19:22 dnsmasq[3112]: using nameserver 208.67.222.222#53 Nov 3 12:19:22 dnsmasq[3112]: using nameserver 213.42.20.20#53 Nov 3 12:19:22 dnsmasq[3112]: using nameserver 8.8.8.8#53 Nov 3 12:19:22 dnsmasq[3112]: ignoring nameserver 127.0.0.1 - local interface Nov 3 12:19:22 dnsmasq[3112]: ignoring nameserver 127.0.0.1 - local interface Nov 3 12:19:37 dnsmasq[3112]: reading /etc/resolv.conf Nov 3 12:19:37 dnsmasq[3112]: using nameserver 198.153.192.1#53 Nov 3 12:19:37 dnsmasq[3112]: using nameserver 208.67.222.222#53 Nov 3 12:19:37 dnsmasq[3112]: using nameserver 213.42.20.20#53 Nov 3 12:19:37 dnsmasq[3112]: using nameserver 8.8.8.8#53 Nov 3 12:19:37 dnsmasq[3112]: ignoring nameserver 127.0.0.1 - local interface Nov 3 12:19:37 dnsmasq[3112]: ignoring nameserver 127.0.0.1 - local interface Nov 3 12:19:42 dnsmasq[3112]: reading /etc/resolv.conf Nov 3 12:19:42 dnsmasq[3112]: using nameserver 198.153.192.1#53 Nov 3 12:19:42 dnsmasq[3112]: using nameserver 208.67.222.222#53 Nov 3 12:19:42 dnsmasq[3112]: using nameserver 213.42.20.20#53 Nov 3 12:19:42 dnsmasq[3112]: using nameserver 8.8.8.8#53 Nov 3 12:19:42 dnsmasq[3112]: ignoring nameserver 127.0.0.1 - local interface Nov 3 12:19:42 dnsmasq[3112]: ignoring nameserver 127.0.0.1 - local interface Nov 3 12:19:42 php: : ROUTING: setting default route to 195.229.252.27 Nov 3 12:19:42 apinger: Exiting on signal 15. Nov 3 12:19:43 check_reload_status: Reloading filter Nov 3 12:19:43 apinger: Starting Alarm Pinger, apinger(22415) Nov 3 12:19:43 php: : DynDns: updatedns() starting Nov 3 12:19:43 php: : DynDns debug information: 92.96.212.240 extracted from local system. Nov 3 12:19:43 php: : DynDns: Current WAN IP: 92.96.212.240 Cached IP: 92.99.207.73 Nov 3 12:19:43 php: : DynDns debug information: DynDns: cacheIP != wan_ip. Updating. Cached IP: 92.99.207.73 WAN IP: 92.96.212.240 Nov 3 12:19:43 php: : DynDns: DynDns _update() starting. Nov 3 12:19:44 php: : DynDns: DynDns _checkStatus() starting. Nov 3 12:19:44 php: : DynDns: Current Service: dyndns Nov 3 12:19:44 php: : DynDns debug information: 92.96.212.240 extracted from local system. Nov 3 12:19:45 php: : phpDynDNS: updating cache file /conf/dyndns_wandyndns'xbipin.dyndns.org'.cache: 92.96.212.240 Nov 3 12:19:45 php: : phpDynDNS: (Success) IP Address Changed Successfully! (92.96.212.240) Nov 3 12:19:51 php: : Resyncing OpenVPN instances for interface WAN. Nov 3 12:19:51 php: : The command '/usr/bin/killall 'ntpd'' returned exit code '1', the output was 'killall: warning: kill -TERM 17243: No such process' Nov 3 12:19:51 php: : OpenNTPD is starting up. Nov 3 12:19:51 php: : pfSense package system has detected an ip change 92.99.207.73 -> ... Restarting packages. Nov 3 12:19:51 check_reload_status: Starting packages Nov 3 12:19:58 php: : Restarting/Starting all packages. Nov 3 12:20:43 apinger: Error while feeding rrdtool: Broken pipe
will give u more logs in some time with the modem reset and cable unplug situation
-
here is the system log with wan cable unplug and replug and the endless loop of pppoe reconnection
Nov 3 12:25:13 syslogd: exiting on signal 15 Nov 3 12:25:13 syslogd: kernel boot file is /boot/kernel/kernel Nov 3 12:25:20 kernel: vr1: vr_link_task: Tx/Rx shutdown error -- resetting Nov 3 12:25:20 kernel: vr1: link state changed to DOWN Nov 3 12:25:20 check_reload_status: Linkup starting vr1 Nov 3 12:25:21 kernel: vr1: restarting Nov 3 12:25:21 kernel: vr1: vr_stop: Rx shutdown error Nov 3 12:25:21 kernel: vr1: Using force reset command. Nov 3 12:25:30 apinger: ALARM: WAN(195.229.252.27) *** down *** Nov 3 12:25:40 check_reload_status: Reloading filter Nov 3 12:26:26 check_reload_status: Configuring interface wan Nov 3 12:26:26 check_reload_status: Rewriting resolv.conf Nov 3 12:26:33 dnsmasq[3112]: using nameserver 198.153.192.1#53 Nov 3 12:26:33 dnsmasq[3112]: using nameserver 208.67.222.222#53 Nov 3 12:26:33 dnsmasq[3112]: using nameserver 213.42.20.20#53 Nov 3 12:26:33 dnsmasq[3112]: using nameserver 8.8.8.8#53 Nov 3 12:26:33 dnsmasq[3112]: ignoring nameserver 127.0.0.1 - local interface Nov 3 12:26:33 dnsmasq[3112]: ignoring nameserver 127.0.0.1 - local interface Nov 3 12:27:19 check_reload_status: Linkup starting vr1 Nov 3 12:27:19 kernel: vr1: link state changed to UP
after rebooting pfsense only connection is successful
-
i reported the same to freebsd mailing list as well as the mpd bug list but there is no outcome, mpd developer blames pfsense for it and the mailing list just recommended some settings which didnt work and ppl left the topic down the list and forgot about it
-
Failing that, give this a try: Edit usr/local/sbin/ppp-linkdown and comment out or remove this line (keep an unaltered copy around though so you can restore the copy if it doesn't help)
/usr/sbin/ngctl shutdown $1:
This worked for me! Sorry it took this long for me to be able to test this.
It appears that the change to that file did survive a reboot, but will it survive an upgrade (can I just say I'm so happy that 2.0 is final)? Better yet, here's to hoping this can be fixed for 2.1.
-
Failing that, give this a try: Edit usr/local/sbin/ppp-linkdown and comment out or remove this line (keep an unaltered copy around though so you can restore the copy if it doesn't help)
/usr/sbin/ngctl shutdown $1:
This worked for me! Sorry it took this long for me to be able to test this.
It appears that the change to that file did survive a reboot, but will it survive an upgrade (can I just say I'm so happy that 2.0 is final)? Better yet, here's to hoping this can be fixed for 2.1.
doesnt still work for me, while ur at it, can u test without using a switch between pfsense and ur isp modem etc?
-
I can try that but I can't make any guarantee about timeline, as this is a production system.
-
take ur time
-
if adding a switch does make it work along with the patch then i would need to replace my existing switch instead of buying a dedicated one just to make pppoe reconnect in which case can some1 recommend me the cheapest 10/100mbps switch with VLAN support or would it be possible to use one switch without vlan and use 6 ports for LAN and 2 ports for pppoe (1 from pf wan to switch and 1 from isp modem to switch).
im just trying to avoid using a dedicated switch simply for pppoe and even though if there is a power failure, it still wont reconnect untill pfsense is rebooted
or to make things easier, im ready to pay $50 if some1 could simply make me a patch which would detect the unsuccessful pppoe reconnects for about 5mins or so and then reboot pfsense, i have cron package installed and running
-
I had 30 minutes and came back to this and looking at the code i have another option for you xibpin.
Edit /etc/inc/interfaces.incRemove the comment made on line 166 to 177
The diff below maybe explains it better. Not sure why that has been done and try again.diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc index 3f67e5d..a20936c 100644 --- a/etc/inc/interfaces.inc +++ b/etc/inc/interfaces.inc @@ -167,11 +167,11 @@ function interface_netgraph_needed($interface = "wan") { PPP interfaces are found above in the previous if ($found == false) block. This block of code is only entered for OPTx interfaces that are configured for PPPoE modem access, so $realif != $ppp['if'] +*/ if ($realif == $ppp['if']) { $found = true; break; } -*/ $ports = explode(',',$ppp['ports']); foreach($ports as $pid => $port){ $port = get_real_interface($port);