This can be a problem if there is a temporary power outage and the router does not automatically re-establish the PPPoE link - that is if I am not at home to sort it out
Please let me know if I can supply any log files that may help in isolating this bug.
Hopefully the OP is still around on this because I have some info that might help on this.
Several months ago I posted on how to access your DSL modem's web interface. The suggestions was to put an ifconfig and several iptables commands in the uci_firewall script.
I think that this problem may be related to those commands. Once I removed them I think that PPPoE is coming up correctly after reboot.
So my question to the original poster and anyone else having this issue is to ask if they have the mentioned commands in their uci_firewall script. If so remove the commands and report if that improves this problem for you.
Not sure yet how the two are related but this is what I have noticed.
I have never used the uci_firewall script but am also experiencing this bug - my router *never* automatically re-establishes a PPPoE link after power up.
I have checked the the "uci_firewall.sh" file on the router and it looks unmodified i.e.
Could you enable your pppd log file and see if you get the same message as I am getting? The log file name can be found in /etc/ppp/options. Just change it to /tmp/ppplog
It would be really helpful if you could install/configure 8.09.2 and see if you still see the problem. I suspect you will (since I've barely touched PPPoE configuration code), but it would be good to confirm.
Plugin rp-pppoe.so loaded.
Timeout waiting for PADO packets
Unable to complete PPPoE Discovery
Timeout waiting for PADO packets
Unable to complete PPPoE Discovery
Timeout waiting for PADO packets
Unable to complete PPPoE Discovery
PPP session is 3133
Using interface ppp0
Connect: ppp0 <--> eth0.1
Couldn't increase MTU to 1500
Couldn't increase MRU to 1500
PAP authentication succeeded
PAP authentication succeeded
peer from calling number 00:90:1A:A0:BF:3B authorized
It is interesting that OpenWRT retries the connection at 30 second intervals until is succeeds. Now I saw this same behavior once with Gargoyle but most of the time there is only one try.
This may be an important clue. How does the system time initialization of Gargoyle differ from that of OpenWRT? It may be that this initialization is interfering with the retry mechanism.
Ahhh... you may have found the problem (but not necessarily what the solution should be.)
The problem is that the bandwidth monitor and quotas absolutely rely on having the right date. If the date goes back to 1970, data is lost (because it thinks the time has massively changed). However, the initial date is set by ntpclient which gets the exact time from the network. If that's slow in coming up, all bandwidth monitor data would disappear unless another mechanism were in place.
So, in the ntpclient init script (/etc/init.d/ntpclient), I load a time backup file from /usr/data/time_backup, which gets written every 4 hours (note a cron job also gets setup here to do this). That way, the time is set to somewhere that is at least in the ballpark, which the bandwidth monitor can handle a lot better than if the time is at 1970. This may be interfering with PPoE getting initialized.
Pbix, since you have a PPPoE connection to test this easily and now have commit access, can you look into this, see if 1) removing the automatic time update at the beginning of /etc/init.d/ntpclient causes PPPoE to work correctly and 2) if this is the problem see if you can find a clever solution that can restore time properly for bandwidth monitor/quotas, but doesn't kill PPPoE? One option may be to split the initial time restore from ntpclient and put the priority before the network script (low START, STOP priority numbers).
date -u -s $(cat /usr/data/time_backup) >/dev/null 2>&1
in ntpclient to see if that would change anything. I can report that if I do this it seems that the pppd retries just like OpenWRT and eventually it connects. So this line seems related to this problem.
Now the solution I am still thinking about. I tried changing ntpclient to run just before network thinking that if the time change occurred before pppd started to run that would fix things. The result is that the original issue returns. One retry followed by this "time change detected" message.
I also tried moving the time change fragment into set_kernal_timezone but still no luck.
So now I am pondering. I looked at the source code for pppd and it seems to me that pppd itself does not care about time changes. The message is just informative and the code should work regardless.
It seems to me that this problem is occurring in the program that is calling pppd trying to start the link. That program stops retries when this time change occurs. Can you outline how this retry mechanism works?