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 191.1k 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

      here is the output before and after

      when normally connected after reboot

      
      $ ngctl list
      There are 17 total nodes:
        Name: <unnamed>Type: socket          ID: 0000001c   Num hooks: 0
        Name: <unnamed>Type: socket          ID: 0000001b   Num hooks: 0
        Name: <unnamed>Type: pppoe           ID: 00000011   Num hooks: 2
        Name: <unnamed>Type: socket          ID: 00000010   Num hooks: 0
        Name: ng0             Type: iface           ID: 0000000d   Num hooks: 1
        Name: mpd10888-wan_link0-lt Type: tee             ID: 0000000f   Num hooks: 2
        Name: vr1             Type: ether           ID: 00000002   Num hooks: 1
        Name: vr2             Type: ether           ID: 00000003   Num hooks: 0
        Name: bridge0         Type: ether           ID: 00000018   Num hooks: 0
        Name: mpd10888-stats  Type: socket          ID: 00000012   Num hooks: 0
        Name: mpd10888-cso    Type: socket          ID: 0000000b   Num hooks: 0
        Name: mpd10888-wan-mss Type: tcpmss          ID: 00000013   Num hooks: 2
        Name: mpd10888-wan    Type: ppp             ID: 0000000e   Num hooks: 3
        Name: mpd10888-eso    Type: socket          ID: 0000000c   Num hooks: 0
        Name: mpd10888-lso    Type: socket          ID: 0000000a   Num hooks: 1
        Name: wlan0           Type: ether           ID: 00000017   Num hooks: 0
        Name: ngctl4052       Type: socket          ID: 00000023   Num hooks: 0</unnamed></unnamed></unnamed></unnamed> 
      

      when endless loop of reconenction

      
      $ ngctl list
      There are 16 total nodes:
        Name: <unnamed>Type: socket          ID: 0000001c   Num hooks: 0
        Name: <unnamed>Type: socket          ID: 0000001b   Num hooks: 0
        Name: <unnamed>Type: pppoe           ID: 00000011   Num hooks: 2
        Name: <unnamed>Type: socket          ID: 00000010   Num hooks: 0
        Name: ng0             Type: iface           ID: 0000000d   Num hooks: 0
        Name: mpd10888-wan_link0-lt Type: tee             ID: 00000028   Num hooks: 2
        Name: vr1             Type: ether           ID: 00000002   Num hooks: 1
        Name: vr2             Type: ether           ID: 00000003   Num hooks: 0
        Name: ngctl23563      Type: socket          ID: 0000002d   Num hooks: 0
        Name: bridge0         Type: ether           ID: 00000018   Num hooks: 0
        Name: mpd10888-stats  Type: socket          ID: 00000012   Num hooks: 0
        Name: mpd10888-cso    Type: socket          ID: 0000000b   Num hooks: 0
        Name: mpd10888-wan    Type: ppp             ID: 0000000e   Num hooks: 1
        Name: mpd10888-eso    Type: socket          ID: 0000000c   Num hooks: 0
        Name: mpd10888-lso    Type: socket          ID: 0000000a   Num hooks: 2
        Name: wlan0           Type: ether           ID: 00000017   Num hooks: 0</unnamed></unnamed></unnamed></unnamed> 
      
      1 Reply Last reply Reply Quote 0
      • X
        xbipin
        last edited by

        @ermal:

        Can you do me a 'ngctl list' when in this situation?

        any luck?

        1 Reply Last reply Reply Quote 0
        • X
          xbipin
          last edited by

          still no fix for this

          1 Reply Last reply Reply Quote 0
          • D
            dhatz
            last edited by

            Have your tried pfsense 2.1-DEVEL just in case the latest mpd 5.6 improves things?

            1 Reply Last reply Reply Quote 0
            • X
              xbipin
              last edited by

              havent tried it coz its not much in a usable state currently for light production, mayb later

              1 Reply Last reply Reply Quote 0
              • D
                dhatz
                last edited by

                Try adding

                set bundle no noretry

                src: http://unix.derkeiler.com/Mailing-Lists/FreeBSD/questions/2007-09/msg01895.html

                Apparently it was also discussed here a couple of years ago:

                According to http://mpd.sourceforge.net/doc5/mpd4.html

                Changes since version 4.1rc2:
                Bundle's noretry option is enabled by default now.

                1 Reply Last reply Reply Quote 0
                • X
                  xbipin
                  last edited by

                  i tried to feed that line in using edit file from the web GUI but it seems pfsense seems to remove that entry if rebooted or even if i goto interfaces and click disconnect and then connect

                  any help regarding some php code change to keep that entry intact?

                  1 Reply Last reply Reply Quote 0
                  • X
                    xbipin
                    last edited by

                    i managed to edit the interfaces.inc so it adds the line which it does now but i guess mpd ignores it as the system log gives the below message

                    ppp: mpd_wan.conf:31: Incorrect context for: 'set bundle no noretry'

                    1 Reply Last reply Reply Quote 0
                    • X
                      xbipin
                      last edited by

                      actually the command to use was this

                      set link no noretry

                      it didnt help coz the original issue which u mentioned in that first link was his connection wasnt redialing that was due to noretry defaulting to yes but that was in mpd4 and i guess pfsense uses mpd5 in v2.0.1 so thats y that command isnt recognized, only max-redial is the command available which cant be set to some number or 0 for unlimited and -1 to disable redial which pfsense defaults it to 0 so my connection is actually redialed but due to some other reason and the isp's fiber optic modem or their bras server, mpd isnt able to reconnect untill its rebooted so obviously something different happens during pfsense reboot time connection or mayb because the vr1 resets which then allows pfsense to connect fine on reboot but to replicate that i removed the network cable as well and tried and try replugging it in but doesnt help.

                      1 Reply Last reply Reply Quote 0
                      • D
                        dhatz
                        last edited by

                        xbipin,

                        Let me try to recap:

                        • You had no problem with PPPoE auto-reconnection with pfsense 1.2.3

                        • You only started having problems with 2.0-something (BETA, RC etc)

                        • You are able to reproduce the problem at will

                        • There are others who have a similar problem, but most pfsense users don't

                        I think your best option would be to obtain logs with full verbosity and post them along your mpd config files to the mpd-forum at http://sourceforge.net/projects/mpd/forums/forum/44692

                        1 Reply Last reply Reply Quote 0
                        • X
                          xbipin
                          last edited by

                          i already did that in their mailing list, hardly got any reply at all and there r many others with the problem but they r either using 1.2.3 or trying to live with 2.0.1 like me. the basic reconnection issue is mpd attempts but is unable to reconnect and if u read the past posts, i have provided logs, config etc etc almost more than 50 times now till date.

                          bytheway, all routers available in the market etc work very well over the same link, then y does mpd have issues?

                          1 Reply Last reply Reply Quote 0
                          • D
                            dhatz
                            last edited by

                            @xbipin:

                            there r many others with the problem but they r either using 1.2.3 or trying to live with 2.0.1 like me.

                            Then why aren't any others bidding here to try to get it fixed?

                            1 Reply Last reply Reply Quote 0
                            • X
                              xbipin
                              last edited by

                              coz officially ermal was on this to get it solved but then mayb he realized its not a easy fix by simply patching some php code so this thread went old as i was out of town and got abandoned so most might not have read it also now but if u look at other threads here and there in the complete forum then there r quiet a few ppl suffering the same and it was already discussed many many times but didnt yield any permanent solution.

                              after a lot of tracing in the past also it came to light that there was something to do with the isp BRAS or pppoe server or whatever they call it and some security measures but my point is that how do commercial routers overcome this and pfsense or mpd doesnt

                              1 Reply Last reply Reply Quote 0
                              • w0wW
                                w0w
                                last edited by

                                Looks like I've run into  the same issue, not absolutely the same, but similar and solution for the problem is the same - reboot of pfsense always helps.
                                Is there the way to reboot pfsense automatically after XX PPPoE connection retries? I know this is not the best way, but at least it works always for me.

                                1 Reply Last reply Reply Quote 0
                                • E
                                  eri--
                                  last edited by

                                  not really i backed off just other priorities first.

                                  Sorry about that.

                                  1 Reply Last reply Reply Quote 0
                                  • w0wW
                                    w0w
                                    last edited by

                                    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.

                                    1 Reply Last reply Reply Quote 0
                                    • X
                                      xbipin
                                      last edited by

                                      @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

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

                                        1 Reply Last reply Reply Quote 0
                                        • w0wW
                                          w0w
                                          last edited by

                                          @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

                                            how do we find out the device name?

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