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

PPPoE reconenction fix - mpd fix ($100)

Scheduled Pinned Locked Moved Expired/Withdrawn Bounties
243 Posts 24 Posters 188.4k 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.
  • X
    xbipin
    last edited by May 24, 2012, 9:02 AM

    @w0w:

    ermal, at least you are monitoring  ::)

    Looks like I've found the solution, that works at least for me
    I've added two lines to the end of ppp-linkdown

    ifconfig em0 down
    ifconfig em0 up

    And looks like reconnection bug is gone.
    P.S. em0 is interface, where PPPoE is
    P.P.S. I think it's related to driver.

    can u mention the location of the file and where exactly did u put those lines, ill give it a try too

    1 Reply Last reply Reply Quote 0
    • E
      eri--
      last edited by May 24, 2012, 10:28 AM

      Certainly that will reset the device by doing up/down.
      Just not a generic solution :)

      1 Reply Last reply Reply Quote 0
      • W
        w0w
        last edited by May 24, 2012, 1:38 PM May 24, 2012, 1:30 PM

        @xbipin:

        @w0w:

        ermal, at least you are monitoring  ::)

        Looks like I've found the solution, that works at least for me
        I've added two lines to the end of ppp-linkdown

        ifconfig em0 down
        ifconfig em0 up

        And looks like reconnection bug is gone.
        P.S. em0 is interface, where PPPoE is
        P.P.S. I think it's related to driver.

        can u mention the location of the file and where exactly did u put those lines, ill give it a try too

        usr/local/sbin

        You can also use Commands-Find File in WinSCP if you have windows

        
        #!/bin/sh
        if [ -f /tmp/$1up ] && [ -f /conf/$1.log ]; then
                seconds=$((`date -j +%s` - `/usr/bin/stat -f %m /tmp/$1up`))
                /usr/local/sbin/ppp-log-uptime.sh $seconds $1 &
        fi
        if [ "$3" != "" ]; then
        	echo "Removing states from $3" | logger -t ppp-linkdown
        	/sbin/pfctl -k 0.0.0.0/0 -k $3/32
        	/sbin/pfctl -k $3/32
        	pfctl -K $3/32
        fi
        if [ "$4" != "" ]; then
        	echo "Removing states to $4" | logger -t ppp-linkdown
        	/sbin/pfctl -b 0.0.0.0/32 -b $4/32
        
        	if [ -f "/tmp/${interface}_defaultgw" ]; then
        		route delete default $4
        	fi
        
        fi
        # delete the node just in case mpd cannot do that
        /usr/sbin/ngctl shutdown $1:
        if [ -f "/var/etc/nameserver_$1" ]; then
        	# Remove old entries
        	for nameserver in `cat /var/etc/nameserver_$1`; do
        		/sbin/route delete $nameserver >/dev/null 2>&1
        	done
        	/bin/rm -f /var/etc/nameserver_$1
        fi
        # Do not remove gateway used during filter reload.
        /bin/rm -f /tmp/$1_router
        /bin/rm -f /tmp/$1up
        /bin/rm -f /tmp/$1_ip
        /usr/local/sbin/pfSctl -c 'service reload dns'
        ifconfig em0 down
        ifconfig em0 up
        
        

        Do not forget to replace em0 with your own device name.

        1 Reply Last reply Reply Quote 0
        • X
          xbipin
          last edited by May 24, 2012, 1:48 PM

          how do we find out the device name?

          1 Reply Last reply Reply Quote 0
          • M
            marcelloc
            last edited by May 24, 2012, 2:03 PM

            @xbipin:

            how do we find out the device name?

            on status interface, you can see interface name and device.

            WAN interface (em0)

            Treinamentos de Elite: http://sys-squad.com

            Help a community developer! ;D

            1 Reply Last reply Reply Quote 0
            • X
              xbipin
              last edited by May 24, 2012, 2:07 PM

              on that it shows this
              WAN interface (pppoe0)

              where as im using a alix and my wan port is vr1 so should i use pppoe0 or vr1?

              1 Reply Last reply Reply Quote 0
              • W
                w0w
                last edited by May 24, 2012, 2:16 PM May 24, 2012, 2:10 PM

                vr1

                You need to restart physical (port) interface, not virtual PPPoE, that I've tried to do also, by killing mpd and starting again with no luck

                xxxx.jpg
                xxxx.jpg_thumb
                xxx2.jpg
                xxx2.jpg_thumb

                1 Reply Last reply Reply Quote 0
                • X
                  xbipin
                  last edited by May 24, 2012, 2:15 PM

                  well then i see this

                  CropperCapture[1].jpg
                  CropperCapture[1].jpg_thumb

                  1 Reply Last reply Reply Quote 0
                  • X
                    xbipin
                    last edited by May 24, 2012, 2:20 PM

                    anyways i tried vr1 and rebooted and checked, it fixes the issue partially, meaning, if my isp fiber optic device is switched off and on then pfsense would connect fine once the device is booted which means one issue solved, but there is a reset switch on that isp device and suppose if i press that then once its booted, pfsense wont connect and fall into endless reconnection loop and one easier way to solve this is to pull the wan wire which connects isp device to pfsense and then pfsense reconnects instead of rebooting pfsense

                    1 Reply Last reply Reply Quote 0
                    • X
                      xbipin
                      last edited by May 24, 2012, 2:26 PM

                      yes there was vr1 on it.

                      this means when power is on on the isp device port coz its reset then the solution doesnt work but if its switched off and on or cable unplugged then the port looses power and then once reconnected pppoe reconnects fine.

                      the reason y i try to do the reset scenario coz in a few instances, the isp device gets a firware update and then it reboots, this leaves the power on and then pfsense wont reconnect

                      1 Reply Last reply Reply Quote 0
                      • W
                        w0w
                        last edited by May 24, 2012, 2:32 PM

                        @xbipin:

                        anyways i tried vr1 and rebooted and checked, it fixes the issue partially, meaning, if my isp fiber optic device is switched off and on then pfsense would connect fine once the device is booted which means one issue solved, but there is a reset switch on that isp device and suppose if i press that then once its booted, pfsense wont connect and fall into endless reconnection loop and one easier way to solve this is to pull the wan wire which connects isp device to pfsense and then pfsense reconnects instead of rebooting pfsense

                        You can also not to push reset switch on your magic ISP device :) Just power off and on to reset it  8)

                        Can you show the System and  PPP log, when you have pressed the reset switch and pfsense won't reconnect?

                        1 Reply Last reply Reply Quote 0
                        • X
                          xbipin
                          last edited by May 24, 2012, 2:38 PM

                          like i said, i dont need to reset it, but due to a firmware update from isp or even a remotely trigerred reboot from isp causes this, the log is same as here
                          http://forum.pfsense.org/index.php/topic,41061.msg225631.html#msg225631

                          1 Reply Last reply Reply Quote 0
                          • W
                            w0w
                            last edited by May 24, 2012, 2:48 PM

                            I hope that you have restored your original pppoe-linkdown file after playing with
                            /usr/sbin/ngctl shutdown $1:
                            and
                            /usr/local/sbin/pfSctl -c 'interface reload $iface'
                            that was suggested in november 2011

                            1 Reply Last reply Reply Quote 0
                            • W
                              w0w
                              last edited by May 24, 2012, 2:56 PM

                              And I can't see system log anywhere, PPP only

                              1 Reply Last reply Reply Quote 0
                              • X
                                xbipin
                                last edited by May 24, 2012, 2:58 PM

                                yes the linkdown file is the standard one without any edits coz those edits didnt help, ill get u the system log now, frankly speaking i have already posted logs so many times that i got tired of doing the same again and again when some1 tries to help

                                1 Reply Last reply Reply Quote 0
                                • X
                                  xbipin
                                  last edited by May 24, 2012, 3:11 PM May 24, 2012, 3:08 PM

                                  here r system log and ppp log when isp device reset

                                  May 24 19:03:16 	syslogd: exiting on signal 15
                                  May 24 19:03:16 	syslogd: kernel boot file is /boot/kernel/kernel
                                  May 24 19:03:38 	check_reload_status: Linkup starting vr1
                                  May 24 19:03:38 	kernel: vr1: link state changed to DOWN
                                  May 24 19:03:46 	apinger: ALARM: ExpressVPN(107.6.112.170) *** down ***
                                  May 24 19:03:46 	apinger: ALARM: WAN(195.229.252.27) *** down ***
                                  May 24 19:03:56 	check_reload_status: Reloading filter
                                  May 24 19:04:39 	check_reload_status: Rewriting resolv.conf
                                  May 24 19:04:46 	dnsmasq[6884]: reading /etc/resolv.conf
                                  May 24 19:04:46 	dnsmasq[6884]: using nameserver 198.153.192.1#53
                                  May 24 19:04:46 	dnsmasq[6884]: using nameserver 208.67.222.222#53
                                  May 24 19:04:46 	dnsmasq[6884]: using nameserver 213.42.20.20#53
                                  May 24 19:04:46 	dnsmasq[6884]: using nameserver 8.8.4.4#53
                                  May 24 19:04:46 	dnsmasq[6884]: ignoring nameserver 127.0.0.1 - local interface
                                  May 24 19:04:46 	dnsmasq[6884]: ignoring nameserver 127.0.0.1 - local interface
                                  May 24 19:04:53 	filterdns: host_dns: failed looking up "pptp-uk1.expressnetwork.net": hostname nor servname provided, or not known
                                  May 24 19:04:54 	check_reload_status: Linkup starting vr1
                                  May 24 19:04:54 	kernel: vr1: link state changed to UP
                                  May 24 19:05:40 	kernel: ovpnc1: link state changed to DOWN
                                  May 24 19:05:40 	check_reload_status: Reloading filter
                                  May 24 19:05:51 	filterdns: host_dns: failed looking up "pptp-uk1.expressnetwork.net": hostname nor servname provided, or not known
                                  
                                  
                                  May 24 19:04:39 	ppp: [wan] IFACE: Down event
                                  May 24 19:04:39 	ppp: [wan] IPCP: Down event
                                  May 24 19:04:39 	ppp: [wan] IPCP: LayerFinish
                                  May 24 19:04:39 	ppp: [wan] Bundle: No NCPs left. Closing links...
                                  May 24 19:04:39 	ppp: [wan] IPCP: state change Closing --> Initial
                                  May 24 19:04:39 	ppp: [wan_link0] LCP: SendTerminateReq #2
                                  May 24 19:04:39 	ppp: [wan_link0] LCP: LayerDown
                                  May 24 19:04:41 	ppp: [wan_link0] LCP: SendTerminateReq #3
                                  May 24 19:04:43 	ppp: [wan_link0] LCP: state change Stopping --> Stopped
                                  May 24 19:04:43 	ppp: [wan_link0] LCP: LayerFinish
                                  May 24 19:04:43 	ppp: [wan_link0] PPPoE: connection closed
                                  May 24 19:04:43 	ppp: [wan_link0] Link: DOWN event
                                  May 24 19:04:43 	ppp: [wan_link0] LCP: Down event
                                  May 24 19:04:43 	ppp: [wan_link0] LCP: state change Stopped --> Starting
                                  May 24 19:04:43 	ppp: [wan_link0] LCP: LayerStart
                                  May 24 19:04:43 	ppp: [wan_link0] Link: reconnection attempt 1 in 4 seconds
                                  May 24 19:04:47 	ppp: [wan_link0] Link: reconnection attempt 1
                                  May 24 19:04:47 	ppp: [wan_link0] PPPoE: Connecting to ''
                                  May 24 19:04:56 	ppp: [wan_link0] PPPoE connection timeout after 9 seconds
                                  May 24 19:04:56 	ppp: [wan_link0] Link: DOWN event
                                  May 24 19:04:56 	ppp: [wan_link0] LCP: Down event
                                  May 24 19:04:56 	ppp: [wan_link0] Link: reconnection attempt 2 in 3 seconds
                                  May 24 19:04:59 	ppp: [wan_link0] Link: reconnection attempt 2
                                  May 24 19:04:59 	ppp: [wan_link0] PPPoE: Connecting to ''
                                  May 24 19:05:08 	ppp: [wan_link0] PPPoE connection timeout after 9 seconds
                                  May 24 19:05:08 	ppp: [wan_link0] Link: DOWN event
                                  May 24 19:05:08 	ppp: [wan_link0] LCP: Down event
                                  May 24 19:05:08 	ppp: [wan_link0] Link: reconnection attempt 3 in 4 seconds
                                  May 24 19:05:12 	ppp: [wan_link0] Link: reconnection attempt 3
                                  May 24 19:05:12 	ppp: [wan_link0] PPPoE: Connecting to ''
                                  May 24 19:05:14 	ppp: PPPoE: rec'd ACNAME "WE1"
                                  May 24 19:05:21 	ppp: [wan_link0] PPPoE connection timeout after 9 seconds
                                  May 24 19:05:21 	ppp: [wan_link0] Link: DOWN event
                                  May 24 19:05:21 	ppp: [wan_link0] LCP: Down event
                                  May 24 19:05:21 	ppp: [wan_link0] Link: reconnection attempt 4 in 3 seconds
                                  May 24 19:05:24 	ppp: [wan_link0] Link: reconnection attempt 4
                                  May 24 19:05:24 	ppp: [wan_link0] PPPoE: Connecting to ''
                                  May 24 19:05:24 	ppp: PPPoE: rec'd ACNAME "WE1"
                                  May 24 19:05:33 	ppp: [wan_link0] PPPoE connection timeout after 9 seconds
                                  May 24 19:05:33 	ppp: [wan_link0] Link: DOWN event
                                  May 24 19:05:33 	ppp: [wan_link0] LCP: Down event
                                  May 24 19:05:33 	ppp: [wan_link0] Link: reconnection attempt 5 in 2 seconds
                                  May 24 19:05:35 	ppp: [wan_link0] Link: reconnection attempt 5
                                  May 24 19:05:35 	ppp: [wan_link0] PPPoE: Connecting to ''
                                  May 24 19:05:35 	ppp: PPPoE: rec'd ACNAME "WE1"
                                  
                                  

                                  the below is when it doesnt reconnect and i have to pull plug and replug to make it connect

                                  May 24 19:06:35 	kernel: vr1: vr_stop: Rx shutdown error
                                  May 24 19:06:35 	kernel: vr1: Using force reset command.
                                  May 24 19:06:43 	check_reload_status: Linkup starting vr1
                                  May 24 19:06:43 	kernel: vr1: link state changed to UP
                                  May 24 19:06:55 	miniupnpd[45337]: ioctl(s, SIOCGIFADDR, ...): Can't assign requested address
                                  May 24 19:06:55 	miniupnpd[45337]: ioctl(s, SIOCGIFADDR, ...): Can't assign requested address
                                  May 24 19:07:06 	php: : ROUTING: setting default route to 195.229.252.27
                                  May 24 19:07:06 	dnsmasq[6884]: reading /etc/resolv.conf
                                  May 24 19:07:06 	dnsmasq[6884]: using nameserver 198.153.192.1#53
                                  May 24 19:07:06 	dnsmasq[6884]: using nameserver 208.67.222.222#53
                                  May 24 19:07:06 	dnsmasq[6884]: using nameserver 213.42.20.20#53
                                  May 24 19:07:06 	dnsmasq[6884]: using nameserver 8.8.4.4#53
                                  May 24 19:07:06 	dnsmasq[6884]: ignoring nameserver 127.0.0.1 - local interface
                                  May 24 19:07:06 	dnsmasq[6884]: ignoring nameserver 127.0.0.1 - local interface
                                  May 24 19:07:06 	apinger: Exiting on signal 15.
                                  May 24 19:07:07 	check_reload_status: Reloading filter
                                  May 24 19:07:07 	apinger: Starting Alarm Pinger, apinger(27426)
                                  May 24 19:07:07 	php: : DynDns: updatedns() starting
                                  May 24 19:07:07 	php: : DynDns debug information: 92.99.234.53 extracted from local system.
                                  May 24 19:07:07 	php: : DynDns: Current WAN IP: 92.99.234.53 Cached IP: 92.99.239.90
                                  May 24 19:07:07 	php: : DynDns debug information: DynDns: cacheIP != wan_ip. Updating. Cached IP: 92.99.239.90 WAN IP: 92.99.234.53
                                  May 24 19:07:07 	php: : DynDns: DynDns _update() starting.
                                  May 24 19:07:09 	php: : DynDns: DynDns _checkStatus() starting.
                                  May 24 19:07:09 	php: : DynDns: Current Service: dyndns
                                  May 24 19:07:09 	php: : DynDns debug information: 92.99.234.53 extracted from local system.
                                  May 24 19:07:09 	php: : phpDynDNS: updating cache file /conf/dyndns_wandyndns'***.dyndns.org'.cache: 92.99.234.53
                                  May 24 19:07:09 	php: : phpDynDNS: (Success) IP Address Changed Successfully! (92.99.234.53)
                                  May 24 19:07:15 	php: : Resyncing OpenVPN instances for interface WAN.
                                  May 24 19:07:16 	check_reload_status: Reloading filter
                                  May 24 19:07:16 	php: : The command '/usr/bin/killall 'ntpd'' returned exit code '1', the output was 'killall: warning: kill -TERM 23775: No such process'
                                  May 24 19:07:16 	php: : OpenNTPD is starting up.
                                  May 24 19:07:16 	php: : pfSense package system has detected an ip change 92.99.239.90 -> ... Restarting packages.
                                  May 24 19:07:16 	check_reload_status: Starting packages
                                  May 24 19:07:20 	kernel: ovpnc1: link state changed to UP
                                  May 24 19:07:20 	check_reload_status: rc.newwanip starting ovpnc1
                                  May 24 19:07:24 	php: : Restarting/Starting all packages.
                                  May 24 19:07:27 	php: : rc.newwanip: Informational is starting ovpnc1.
                                  May 24 19:07:27 	php: : rc.newwanip: on (IP address: 10.14.40.38) (interface: opt2) (real interface: ovpnc1).
                                  May 24 19:07:27 	php: : Removing static route for monitor 107.6.112.170 and adding a new route through 10.14.40.37
                                  May 24 19:07:27 	apinger: Exiting on signal 15.
                                  May 24 19:07:28 	check_reload_status: Reloading filter
                                  May 24 19:07:28 	apinger: Starting Alarm Pinger, apinger(11588)
                                  May 24 19:07:32 	dnsmasq[6884]: reading /etc/resolv.conf
                                  May 24 19:07:32 	dnsmasq[6884]: using nameserver 198.153.192.1#53
                                  May 24 19:07:32 	dnsmasq[6884]: using nameserver 208.67.222.222#53
                                  May 24 19:07:32 	dnsmasq[6884]: using nameserver 213.42.20.20#53
                                  May 24 19:07:32 	dnsmasq[6884]: using nameserver 8.8.4.4#53
                                  May 24 19:07:32 	dnsmasq[6884]: ignoring nameserver 127.0.0.1 - local interface
                                  May 24 19:07:32 	dnsmasq[6884]: ignoring nameserver 127.0.0.1 - local interface
                                  May 24 19:07:38 	apinger: ALARM: ExpressVPN(107.6.112.170) *** down ***
                                  
                                  
                                  May 24 19:06:59 	ppp: [wan_link0] PROTOCOMP
                                  May 24 19:06:59 	ppp: [wan_link0] MRU 1492
                                  May 24 19:06:59 	ppp: [wan_link0] MAGICNUM 155baca3
                                  May 24 19:06:59 	ppp: [wan_link0] LCP: rec'd Configure Request #29 (Req-Sent)
                                  May 24 19:06:59 	ppp: [wan_link0] MRU 1492
                                  May 24 19:06:59 	ppp: [wan_link0] AUTHPROTO PAP
                                  May 24 19:06:59 	ppp: [wan_link0] MAGICNUM 57dcb580
                                  May 24 19:06:59 	ppp: [wan_link0] LCP: SendConfigAck #29
                                  May 24 19:06:59 	ppp: [wan_link0] MRU 1492
                                  May 24 19:06:59 	ppp: [wan_link0] AUTHPROTO PAP
                                  May 24 19:06:59 	ppp: [wan_link0] MAGICNUM 57dcb580
                                  May 24 19:06:59 	ppp: [wan_link0] LCP: state change Req-Sent --> Ack-Sent
                                  May 24 19:06:59 	ppp: [wan_link0] LCP: rec'd Configure Ack #4 (Ack-Sent)
                                  May 24 19:06:59 	ppp: [wan_link0] PROTOCOMP
                                  May 24 19:06:59 	ppp: [wan_link0] MRU 1492
                                  May 24 19:06:59 	ppp: [wan_link0] MAGICNUM 155baca3
                                  May 24 19:06:59 	ppp: [wan_link0] LCP: state change Ack-Sent --> Opened
                                  May 24 19:06:59 	ppp: [wan_link0] LCP: auth: peer wants PAP, I want nothing
                                  May 24 19:06:59 	ppp: [wan_link0] PAP: using authname "******"
                                  May 24 19:06:59 	ppp: [wan_link0] PAP: sending REQUEST #1 len: 20
                                  May 24 19:06:59 	ppp: [wan_link0] LCP: LayerUp
                                  May 24 19:06:59 	ppp: [wan_link0] PAP: rec'd ACK #1 len: 5
                                  May 24 19:06:59 	ppp: [wan_link0] LCP: authorization successful
                                  May 24 19:06:59 	ppp: [wan_link0] Link: Matched action 'bundle "wan" ""'
                                  May 24 19:06:59 	ppp: [wan_link0] Link: Join bundle "wan"
                                  May 24 19:06:59 	ppp: [wan] Bundle: Status update: up 1 link, total bandwidth 64000 bps
                                  May 24 19:06:59 	ppp: [wan] IPCP: Open event
                                  May 24 19:06:59 	ppp: [wan] IPCP: state change Initial --> Starting
                                  May 24 19:06:59 	ppp: [wan] IPCP: LayerStart
                                  May 24 19:06:59 	ppp: [wan] IPCP: Up event
                                  May 24 19:06:59 	ppp: [wan] IPCP: state change Starting --> Req-Sent
                                  May 24 19:06:59 	ppp: [wan] IPCP: SendConfigReq #4
                                  May 24 19:06:59 	ppp: [wan] IPADDR 0.0.0.0
                                  May 24 19:06:59 	ppp: [wan] IPCP: rec'd Configure Nak #4 (Req-Sent)
                                  May 24 19:06:59 	ppp: [wan] IPADDR 92.99.234.53
                                  May 24 19:06:59 	ppp: [wan] 92.99.234.53 is OK
                                  May 24 19:07:00 	ppp: [wan] IPCP: SendConfigReq #5
                                  May 24 19:07:00 	ppp: [wan] IPADDR 92.99.234.53
                                  May 24 19:07:00 	ppp: [wan] IPCP: rec'd Configure Ack #5 (Req-Sent)
                                  May 24 19:07:00 	ppp: [wan] IPADDR 92.99.234.53
                                  May 24 19:07:00 	ppp: [wan] IPCP: state change Req-Sent --> Ack-Rcvd
                                  May 24 19:07:00 	ppp: [wan] IPCP: rec'd Configure Request #168 (Ack-Rcvd)
                                  May 24 19:07:00 	ppp: [wan] IPADDR 195.229.252.27
                                  May 24 19:07:00 	ppp: [wan] 195.229.252.27 is OK
                                  May 24 19:07:00 	ppp: [wan] IPCP: SendConfigAck #168
                                  May 24 19:07:00 	ppp: [wan] IPADDR 195.229.252.27
                                  May 24 19:07:00 	ppp: [wan] IPCP: state change Ack-Rcvd --> Opened
                                  May 24 19:07:00 	ppp: [wan] IPCP: LayerUp
                                  May 24 19:07:00 	ppp: [wan] 92.99.234.53 -> 195.229.252.27
                                  May 24 19:07:00 	ppp: [wan] IFACE: Up event
                                  
                                  
                                  1 Reply Last reply Reply Quote 0
                                  • W
                                    w0w
                                    last edited by May 24, 2012, 6:02 PM

                                    I can't see any other software fix, instead on initiating reboot. This looks like more complex problem then driver or mpd only. So we need to write the if function to the ppp-linkdown, that checks for running shutdown process, and if it does not exists, starts one like 'shutdown -r +10', that means if script is running for the first time it always wants to restart pfsense after 10 minutes. And we need to add one line only to the ppp-linkup that looks like
                                    'pkill shutdown'.

                                    I don't have knowledge to write the if function correctly, so I just added to the end of ppp-linkdown
                                    shutdown -r +1

                                    and

                                    pkill shutdown
                                    to the ppp-linkup file.
                                    Every reconnect starts own shutdown process but you don't have them much in one minute (yes +1 is a minute) before first of them restarts the pfsense. And if the PPPoE is coming up in less then 1 minute then shutdown process will be killed.
                                    It would be good if somebody helps to write if function described above.

                                    1 Reply Last reply Reply Quote 0
                                    • W
                                      w0w
                                      last edited by May 24, 2012, 6:51 PM May 24, 2012, 6:31 PM

                                      My friend suggested me to modify his old SQL check script, so it would be

                                      ppp-linkdown

                                      
                                      #!/bin/sh
                                      if [ -f /tmp/$1up ] && [ -f /conf/$1.log ]; then
                                              seconds=$((`date -j +%s` - `/usr/bin/stat -f %m /tmp/$1up`))
                                              /usr/local/sbin/ppp-log-uptime.sh $seconds $1 &
                                      fi
                                      if [ "$3" != "" ]; then
                                      	echo "Removing states from $3" | logger -t ppp-linkdown
                                      	/sbin/pfctl -k 0.0.0.0/0 -k $3/32
                                      	/sbin/pfctl -k $3/32
                                      	pfctl -K $3/32
                                      fi
                                      if [ "$4" != "" ]; then
                                      	echo "Removing states to $4" | logger -t ppp-linkdown
                                      	/sbin/pfctl -b 0.0.0.0/32 -b $4/32
                                      
                                      	if [ -f "/tmp/${interface}_defaultgw" ]; then
                                      		route delete default $4
                                      	fi
                                      
                                      fi
                                      # delete the node just in case mpd cannot do that
                                      /usr/sbin/ngctl shutdown $1:
                                      if [ -f "/var/etc/nameserver_$1" ]; then
                                      	# Remove old entries
                                      	for nameserver in `cat /var/etc/nameserver_$1`; do
                                      		/sbin/route delete $nameserver >/dev/null 2>&1
                                      	done
                                      	/bin/rm -f /var/etc/nameserver_$1
                                      fi
                                      # Do not remove gateway used during filter reload.
                                      /bin/rm -f /tmp/$1_router
                                      /bin/rm -f /tmp/$1up
                                      /bin/rm -f /tmp/$1_ip
                                      /usr/local/sbin/pfSctl -c 'service reload dns'
                                      ifconfig em0 down
                                      ifconfig em0 up
                                      
                                      #initiate reboot if PPPoE reconnection fails.
                                      
                                      PID=`ps auxww | grep shutdown | grep -v grep | awk '{ print $2 }'`
                                      if  ps auxww | grep -e shutdown | grep -v grep > /dev/null ; then
                                      	echo "shutdown running on PID $PID"
                                      	else
                                      	echo "starting shutdown/reboot of pfsense"
                                      	shutdown -r +10
                                      fi
                                      
                                      

                                      Tested OK!

                                      ppp-linkup

                                      #!/bin/sh
                                      
                                      # let the configuration system know that the ip has changed.
                                      /bin/echo $4 > /tmp/$1_router
                                      /bin/echo $3 > /tmp/$1_ip
                                      /usr/bin/touch /tmp/$1up
                                      
                                      ALLOWOVERRIDE=`/usr/bin/grep dnsallowoverride /conf/config.xml | /usr/bin/wc -l`
                                      if [ $ALLOWOVERRIDE -gt 0 ]; then
                                      	# write nameservers to file
                                      	if [ $6 = "dns1" ]; then
                                      		echo $7 > /var/etc/nameserver_$1
                                      		/sbin/route change $7 $4
                                      	fi
                                      
                                      	if [ $8 = "dns2" ]; then
                                      		echo $9 >> /var/etc/nameserver_$1
                                      		/sbin/route change $9 $4
                                      	fi
                                      	/usr/local/sbin/pfSctl -c 'service reload dns'
                                      	/bin/sleep 1
                                      fi
                                      
                                      /usr/local/sbin/pfSctl -c "interface newip $1"
                                      pkill shutdown
                                      exit 0
                                      
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • W
                                        w0w
                                        last edited by May 31, 2012, 9:22 PM May 31, 2012, 9:42 AM

                                        Please use 'shutdown -r +5' instead of 'shutdown -r +10'
                                        I've found that it is impossible to kill the shutdown process if using +10 (10 minutes).
                                        When tested I've used less then 5 minutes delay.

                                        
                                        [2.1-DEVELOPMENT][root@pfhacom.xxxnetxxx]/root(326):                                                            
                                        *** System shutdown message from root@pfhacom.xxxnetxxx ***
                                        System going down in 10 minutes
                                        
                                        [2.1-DEVELOPMENT][root@pfhacom.xxxnetxxx]/root(327): ps auxww | grep shutdown | grep -v grep  
                                         root    2293  0.0  0.1  3316  1124  ??  I
                                        ``` ~~after "pkill shutdown"
                                        
                                        

                                        ps auxww | grep shutdown | grep -v grep
                                        root   25185  0.0  0.1  3316  1124  ??  S

                                        
                                        *** System shutdown message from root@pfhacom.xxxnetxxx ***
                                        System going down in 5 minutes
                                        
                                        I can kill the process by pkill shutdown. WTF? What am I doing wrong?
                                        
                                        If I start shutdown -r +10 or any number in console, I can always kill it.~~~~
                                        1 Reply Last reply Reply Quote 0
                                        • X
                                          xbipin
                                          last edited by Jun 19, 2012, 8:35 AM

                                          i havent tried this as yet, will do so soon

                                          1 Reply Last reply Reply Quote 0
                                          • First post
                                            Last post
                                          Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.
                                            This community forum collects and processes your personal information.
                                            consent.not_received